嵌入式系統及應用課程設計——基於STM32的溫溼度監測系統
大三上學期期末總結,嗯,沒錯上學期,寫在新學期開始,hhh。
上學期學了一門嵌入式系統及應用的課程,期末的課程設計題目是 基於STM32的溫溼度監測系統 。
記得剛開始做課程設計的時候,聽說先設計畫出原理圖,然後製作PCB板,再交付制板商制板,購買原件,焊接原件,通電,下載程式,最後除錯執行,書寫課程設計論文。瓦特?我們嵌入式系統課上學習了ARM架構,只記得理論特高深,記憶深的是先給STM32開發板上Linux作業系統,然後在Linux作業系統下編寫程式,然後使用MakeFile檔案快速編譯,最後執行。為什麼課程設計需要使用DXP這個之前見都沒見過的軟體(如下圖所示),從原理圖開始?
心中奔過好幾萬只。。。,但是令我感到意外的是我們學校雖然渣,我們班的同學在簡單的抱怨,被老師回懟了一通之後,竟然慢慢開始學習使用這個軟體了,先把老師給的資料下載下來,開始搭建環境。看著大家認真的樣子,我也開始。。。混了起來,沒錯先混一段時間再說,hhhh。不過我也在東跑西看的發現大家的問題,從一開始的下載DXP需要破解的問題,然後畫原理圖的時候注意先將元件匯入元件庫中,然後根據老師給的原理圖,一步一步的把一部分一部分的原理圖畫出來,注意網路標號不要弄錯,畫了大概一週吧,老師突然發現一部分電路是錯誤的(暗自慶幸先混了一段時間)。最後等到大家把坑都趟完了,我才開始慢慢悠悠的畫了起來。
接下來就是根據之前畫的原理圖,然後挑選合適的板子(雙層單層,厚度等等),然後匯入之前的原理圖,仔細看一下元器件少了沒有,再開始擺放元器件,走線。最後就是根據提示使用手動佈線的方式,將網路標號相同的介面通過導線連線起來。其中有些線需要改變一下粗細才能更合理,更安全的佈線,其中我記得是需要5V的電源線都要比其他的線粗一些。PCB畫完之後就可以交付制板商制板了。
在大家的不懈努力之下,最終還是完成了PCB的製作。然後順利的將老師之前準備的好的PCB板發給了紙板商,沒錯,就是老師之前準備好的,因為我們畫的根本不能用,單獨的不同板子需要定製,價錢也更貴,而且我們畫的板子我們自己都不敢用,萬一,不,二一花了定製的價錢還買了一塊廢板子,豈不是耽誤時間,還浪費錢?不過這期間我們起碼懂得了一個嵌入式系統應用的硬體開發流程,體驗了一次硬體工程師的快樂(慘如狗啊)日常。
然後印刷版和元器件回來了,如下圖所示。
剛開始看的時候,哇,感覺無從下手啊,我的心就像這一堆零件一樣,撒了一桌子,於是我就又開始了開心的混子生活,先混一段時間再說吧。然後看著大家每天認真的跑到實驗室開始焊了起來,在老師的細心示範下,叫我們怎麼先把STM32晶片焊上,告訴了我們,把晶片焊好,這個板子就成功了一半。焊接晶片,首先要使用扁平的烙鐵頭,然後先上一點焊錫,然後一點一點的刮出來,最後只留下引腳上一點焊錫即可。
看著大家熱火朝天的幹著,終於到了明天下午就要驗收成品的日子。我才慌的一批的把元器件拿到實驗室,吸取他們的教訓,開始一點一點的焊接了起來。首先是晶片,我的室友已經忙活幾天了,聽說已經焊了好幾塊晶片了,他看到我準備焊的時候一把揪住了我,說,我來吧,這個很重要。然後我就又開心的當起了混子,順便充當大佬的把其他幾個焊糊的同學修了幾下(體驗一下)。由於之前焊接過微控制器的板子,剩下的元器件還是我來焊了。這一坐就是一下午,一直到晚上七八點,終於焊完了。能不能成功,按老師說的,就是屍體也是個全屍了吧,hhh。
第二天上午給板子燒上程式(程式是老師之前給的,大致看了一下也沒懂),首先看到燈亮了,同學說,有脈搏,是個活的,然後一看螢幕就是不會出現之前設定的字元,不會是個植物人吧,同學說,別急,先把液晶顯示屏的亮度調一下,調完之後發現還是不會顯示。拿了同學的板子仔細對照了一下,沒問題,初步判定是線路的問題,然後使用萬用表的蜂鳴器一條一條的測了一遍,並沒有發現什麼問題。最後在我想放棄的時候,僥倖拿來同學的液晶屏換了一下,發現能用,那就是液晶屏的問題了,最後欣喜的換了一塊液晶屏,順利完工,成品如下圖所示。
到此也就基本完成了該課程設計,後期的論文只是將材料組合一下,有點小遺憾的是沒有親自焊接一下晶片,沒有耐下心來寫一下控制程式(那個時候在寫JAVA的課程設計), 需要的同學可以在 百度網盤 下載一下我的課程論文和使用的資料,包括需要匯入的元器件和軟體以及程式和設計論文(可能比較大,因為有DXP) 。
本次課程設計中實現了一個基於STM32F103ZET6的智慧溫溼度檢測系統,目的是實現溫溼度的採集和顯示,溫溼度的採集是作為自動化科學中一個必須掌握的檢測技術,也是一項比較實用的技術。
寫在最後,總的來說通過這一門課程,我們認識到了嵌入式系統的軟體和硬體的設計、實現流程,讓我們懂得了如果想要深入學習應該需要具備哪些技能, 比如瞭解ARM晶片,會使用Linux作業系統,完成程式的編寫及下載,需要懂得數電模電的知識,設計電路,使用DXP完成原理圖和PCB圖的製作,然後焊接,除錯 。