嵌入式系统及应用课程设计——基于STM32的温湿度监测系统

时间:2021-11-19 06:43:11

  大三上学期期末总结,嗯,没错上学期,写在新学期开始,hhh。

  上学期学了一门嵌入式系统及应用的课程,期末的课程设计题目是基于STM32的温湿度监测系统。

  记得刚开始做课程设计的时候,听说先设计画出原理图,然后制作PCB板,再交付制板商制板,购买原件,焊接原件,通电,下载程序,最后调试运行,书写课程设计论文。

  瓦特?我们嵌入式系统课上学习了ARM架构,只记得理论特高深,记忆深的是先给STM32开发板上Linux操作系统,然后在Linux操作系统下编写程序,然后使用MakeFile文件快速编译,最后运行。

  为什么课程设计需要使用DXP这个之前见都没见过的软件(如下图所示),从原理图开始?

嵌入式系统及应用课程设计——基于STM32的温湿度监测系统

  心中奔过好几万只。。。,但是令我感到意外的是我们学校虽然渣,我们班的同学在简单的抱怨,被老师回怼了一通之后,竟然慢慢开始学习使用这个软件了,先把老师给的资料下载下来,开始搭建环境。

  看着大家认真的样子,我也开始。。。混了起来,没错先混一段时间再说,hhhh。

  不过我也在东跑西看的发现大家的问题,从一开始的下载DXP需要破解的问题,然后画原理图的时候注意先将元件导入元件库中,然后根据老师给的原理图,一步一步的把一部分一部分的原理图画出来,注意网络标号不要弄错。

  画了大概一周吧,老师突然发现一部分电路是错误的(暗自庆幸先混了一段时间)。最后等到大家把坑都趟完了,我才开始慢慢悠悠的画了起来。

  接下来就是根据之前画的原理图,然后挑选合适的板子(双层单层,厚度等等),然后导入之前的原理图,仔细看一下元器件少了没有,再开始摆放元器件,走线。

  最后就是根据提示使用手动布线的方式,将网络标号相同的接口通过导线连接起来。其中有些线需要改变一下粗细才能更合理,更安全的布线,其中我记得是需要5V的电源线都要比其他的线粗一些。PCB画完之后就可以交付制板商制板了。

  在大家的不懈努力之下,最终还是完成了PCB的制作。然后顺利的将老师之前准备的好的PCB板发给了纸板商,没错,就是老师之前准备好的。

  因为我们画的根本不能用,单独的不同板子需要定制,价钱也更贵,而且我们画的板子我们自己都不敢用,万一,不,二一花了定制的价钱还买了一块废板子,岂不是耽误时间,还浪费钱?

  不过这期间我们起码懂得了一个嵌入式系统应用的硬件开发流程,体验了一次硬件工程师的快乐(惨如狗啊)日常。

  然后印刷版和元器件回来了,如下图所示。

嵌入式系统及应用课程设计——基于STM32的温湿度监测系统

  刚开始看的时候,哇,感觉无从下手啊,我的心就像这一堆零件一样,撒了一桌子,于是我就又开始了开心的混子生活,先混一段时间再说吧。

  然后看着大家每天认真的跑到实验室开始焊了起来,在老师的细心示范下,叫我们怎么先把STM32芯片焊上,告诉了我们,把芯片焊好,这个板子就成功了一半。

  焊接芯片,首先要使用扁平的烙铁头,然后先上一点焊锡,然后一点一点的刮出来,最后只留下引脚上一点焊锡即可。

  看着大家热火朝天的干着,终于到了明天下午就要验收成品的日子。我才慌的一批的把元器件拿到实验室,吸取他们的教训,开始一点一点的焊接了起来。

  首先是芯片,我的室友已经忙活几天了,听说已经焊了好几块芯片了,他看到我准备焊的时候一把揪住了我,说,我来吧,这个很重要。然后我就又开心的当起了混子,顺便充当大佬的把其他几个焊糊的同学修了几下(体验一下)。

  由于之前焊接过单片机的板子,剩下的元器件还是我来焊了。这一坐就是一下午,一直到晚上七八点,终于焊完了。能不能成功,按老师说的,就是尸体也是个全尸了吧,hhh。

  第二天上午给板子烧上程序(程序是老师之前给的,大致看了一下也没懂),首先看到灯亮了,同学说,有脉搏,是个活的,然后一看屏幕就是不会出现之前设定的字符,不会是个植物人吧,同学说,别急,先把液晶显示屏的亮度调一下,调完之后发现还是不会显示。

  拿了同学的板子仔细对照了一下,没问题,初步判定是线路的问题,然后使用万用表的蜂鸣器一条一条的测了一遍,并没有发现什么问题。

  最后在我想放弃的时候,侥幸拿来同学的液晶屏换了一下,发现能用,那就是液晶屏的问题了,最后欣喜的换了一块液晶屏,顺利完工,成品如下图所示。

嵌入式系统及应用课程设计——基于STM32的温湿度监测系统

  到此也就基本完成了该课程设计,后期的论文只是将材料组合一下,有点小遗憾的是没有亲自焊接一下芯片,没有耐下心来写一下控制程序(那个时候在写JAVA的课程设计),需要的同学可以在百度网盘下载一下我的课程论文和使用的资料,包括需要导入的元器件和软件以及程序和设计论文(可能比较大,因为有DXP)。

  本次课程设计中实现了一个基于STM32F103ZET6的智能温湿度检测系统,目的是实现温湿度的采集和显示,温湿度的采集是作为自动化科学中一个必须掌握的检测技术,也是一项比较实用的技术。

  写在最后,总的来说通过这一门课程,我们认识到了嵌入式系统的软件和硬件的设计、实现流程,让我们懂得了如果想要深入学习应该需要具备哪些技能,比如了解ARM芯片,会使用Linux操作系统,完成程序的编写及下载,需要懂得数电模电的知识,设计电路,使用DXP完成原理图和PCB图的制作,然后焊接,调试。