讀書時也學過單片機,不過那是應付考試用的,而且當時用的是匯編語言,太難懂了。畢業后發現單片機的用途相當廣泛,特別是想做一些功能處理,用模擬跟數字電路都要比較復雜才能解決的問題,用單片機卻可以輕松搞掂,那時已有重學之心,但后來又由于各種原因總是一拖再拖。直到上幾個月,覺得還是趁著年輕,多學一兩項技術傍身吧,自用也好,謀生也罷,懂多一點總是有用的,于是重學單片機又再放上日程了。上網查看了一下,原來現在的編譯器已經支持C語言了,大喜!一拖再拖不想學單片機,就是因為當時的編繹語言是匯編語言,難懂移植性低且枯燥,但C語言可是我的強項,讀書時就能用C語言編些小病毒來捉弄一下同學了(后來那程序還發表上《電腦愛好者》,印像中賺了100塊的稿酬)……
接著從網上訂回了一塊功能較齊全的51單片機學習板,幾天就到貨了,正式開啟了我的單片機之路 。
跟著資料學習了一個星期后,接到了第一個工程任務,就是幫一臺老式的電冰箱裝控制器。 這款老式的冰箱溫度控制器是機械式,就是那種熱電偶形式,通過熱電偶的熱漲冷縮去接通或斷開冰箱壓縮機,從而達到恒溫原理。但這個控制器已損壞,于是正好用51單片機做一個控制器,可以達到高精度控制。由于人家并沒有提出具體的交貨時間,所以可以邊學邊寫程序,慢慢來,畢竟這時才正式學習單片機1個星期。
然后在選材上就用DS18B20這個做溫度檢測,就一個IC,通過跟單片機的協議通信,就可以直接得出檢測溫度了,簡單可靠。于是又從網上訂來了DS18B20IC跟單片機最小系統板。順便下載了一個參考案例協助編寫程序。
psb1.jpg (155.32 KB, 下載次數: 149)
下載附件
2013-8-2 18:00 上傳
看似簡單,但實際操作起來還是相當的麻煩的,因為溫度傳感器是走單總線形式, 編程上還是相當的麻煩的,最重要的是,這個參考資料居然是有錯誤的!!按它的程序,完全無法得到正確的溫度,后來只能看著IC的功能介紹,一步一步慢慢調試,終于在花掉兩個晚上后,成功地在學習板上顯示出正確的溫度值了。
psb2.jpg (77.95 KB, 下載次數: 154)
下載附件
2013-8-2 18:00 上傳
然后拿自家的冰箱不斷做測試跟調整程序 。按照人家的要求,初步設計三檔選擇,低檔為急凍室溫度在-3度時壓縮機停機,升到-1度時壓縮機再次工作制冷,中檔是-4到-2度,高檔是-6至-3度,然后設計了一個防錯值,若選擇開關信號不良,則自動在-4到-1度運行。對于這種雙閥值的設計,若用普通的模擬電路來實現,相當困難了,但單片機來說則只是寫程序而已,輕松完成。又花了一晚的時間,總算把所有功能都在學習板上調試完成通過了。
接著畫好原理接線圖,買齊各種零件,開始實物電路組裝了。為了讓單片機更穩定地工作,所以把晶震也用慢一點的8MHZ,這個晶震就是決定單片機的工作頻率了,最高支持到40MHZ,但頻率越高,工作穩定性越差。總供電電壓為12V,而由于單片機使用工作電壓為5V,所以還要有一個5V的三端穩壓管,繼電器用12V驅動,減輕5V三端穩壓管的負載,單片機通過ULN2003驅動繼電器,原本打算用分立原元做降低成本,但后來還是覺得用IC穩定可靠一點。
psb3.jpg (169.85 KB, 下載次數: 156)
下載附件
2013-8-2 18:00 上傳
原本以為這只是一件很輕松的事,畢竟外圍電路相當簡單。誰知接好后居然完全不能工作!暈得一陣陣,多方排查無果!最后實在沒法,唯有查成品的單片機最小系統的電路了,這一查還真查出問題了,原來訂回來的最小系統板訂錯了,訂的是AVR的系統板,外觀跟我要的51單片機系統板外觀幾乎一樣,但就是完全不通用的!怪不得死活不工作了!就這個最小系統板,訂的時候沒注意看,結果浪費了我大量的時間,悲~~
psb4.jpg (141.69 KB, 下載次數: 177)
下載附件
2013-8-2 18:00 上傳
由于打算趕在五一放假前交貨,再訂系統板趕不及了,于是把插座焊下來,再手工搭橋吧!還好自己的焊接功底還可以,不到一個小時間就重新整理完成線路板了。橙色線就是高中低的選擇端,插到下面的三個針上代表選擇。
psb5.jpg (192.47 KB, 下載次數: 160)
下載附件
2013-8-2 18:00 上傳
再次試驗,終于程序能正常運行了!但試了一會兒,問題又來了,繼電器不能保證每次都能良好吸合!測量過繼電器是沒有問題的,ULN2003也是好的,單片機也是好的!學習板上驅動繼電器的也是ULN2003,每次都工作得好好的,但在這里單片機卻有時會驅動不起ULN2003,無奈唯有給ULN2003的驅動腳接了個10K的上拉電阻,終于能每次都能可靠地通斷繼電器了。
五一時把電路板裝到冰箱上了,看到工常工作,并兩次循環正常后,才有點放下心來。 但其實內心還有點小不安的,因為最大的隱患是我這個設備沒有裝上看門狗電路,萬一單片機運行到神馬時候死機了,沒看門狗那它永遠就無法自行復位,那冰箱的壓縮機要么就是一直制冷,要么就是一直不制冷,所以還是屬于有缺陷的設計,還好,現在得到的消息是,那家伙不間斷工作了一個星期,未曾死過機,且我裝上去的是52單片機,理論上比51單片機的穩定性要高得多,而且52單片機支持軟件看門狗,可以用程序做看門狗,遲點學習好后,把新的程序刷寫到這個單片機上就行了。
|