來源于:冰雪網絡科技
小這樣的場景:一個電腦天才做在電腦旁,在黑色的背景下輸入綠色的字符:"open the door",房間的門就自動打開了;若是輸入"Lighten the light",屋內的燈便會自動打開。。。這一切對于我來說太神奇了,自己也做一個全數字化控制的房間也成了我兒時的夢想。上個學期學完了數電,模電,這 個學期又上了單片機,終于對于電子知識有了個大概的了解,于是又重新拾起兒時的夢想。可是,具體做點什么呢?電腦控制的燈泡?RS232 + MCU51 + 繼電器 就行了,可是感覺好像不怎么好玩,于是最終思考下來,選擇了做一個電腦控制的小車。
正文(寫在車子成功運行的激動時刻):
流程圖:

VB程序界面:
附上小車的玉照:
側視圖:
前視圖:
電機+輪子:
兩個L298:
串口通訊及LED:
注:
1。由于我以前購買過一套51學習板,故51主板,MAX232,LED均采用現成模塊。
2。此車為有線版,我計劃有時間的話將其改為無線版,擬采用NRF401。
3。本VB程序不能正確地接收單片機返回的數據(已經確定單片機能夠正確的反饋數據);另外,本VB程序存在間歇性無法正確關閉串口的問題。期待高手指點。
4。希望高手能夠給與指點,也希望我的文章能夠給一些新手帶來一些幫助。歡迎拍磚。
附:做車子的坎坷經歷
當 主題選定后,我想怎樣對小車進行精確的控制呢?這時我想到了用繼電器來控制直流電機的正轉反轉,可是我猜想延時應該會有些大。當然后來我才知道有 PWM(Pulse Width Modulation脈沖寬度調節)這個東西,呵呵。這個時候有個同學告訴了我有一種電機叫做步進電機,可以精確控制,每給一個脈沖它才走一步。之后我便 上網查找了些步進電機的資料,基本上搞清楚了步進電機的工作原理。
在這里我必須向大家推薦兩個網頁,他們對于我了解步進電機起到了極大的幫助:
在選擇步進電機的功率放大芯片時,因為據說用三極管等便宜器件進行放大時由于相同器件的個體差異比較大,容易造成不穩定,最終選擇了用L298作為步進電機的功率放大芯片。
PC 的數據發送由于不要求速率,但要求通訊的距離,于是便選擇了串口。串口的編程的問題我想了幾種方法,一個是自己編寫API,另一個是調用 MicroSoft的MSComm組件,或是干脆練習一下這個學期微機原理學過的匯編語言,用MASM寫算了。后來還是決定用最容易實現的方法,調用 MSComm組件。在編寫這個VB程序的時候,我參考了葉帆源碼,在此以示感謝。
構思完成后便是去買器件了,這期間可是問題多多。首先是找遍了西安終于在電子大樓找到了一個有賣步進電機的地方,傻傻的認為0.1kg.cm的力矩能夠帶的動車子。
電機如圖:
自己做的輪子由兩部分組成,第一部分,一個四驅車的輪子:
第二部分,在模型店買到的專業飛機模型用輪(中間部分被我挖去,用以裝入四驅車的輪子):
兩者結合起來構成最終的輪子:
當時想采用電腦機箱上的泡沫作為車體,如圖:
電機在車體上放置的位置,如圖:
把輪子安裝到車子上后,如圖:
后來發現這個設計問題多多:
1。泡沫車體的剛度太差,加上負重后車輪會歪曲;
2。電機的扭矩不夠,想找齒輪組卻找了很久也找不到
后 來事實證明上圖那個25BY步進電機的扭矩實在太小,于是便想找減速的步進電機,可是無奈找了很久也沒有找到便宜的。無奈之下,還是只好去郵購了兩個馬力 稍微大一點的步進電機,加上輪子(自己做實在太麻煩)一共還是花了100元(在西安買的話可能得200呢),心疼啊。。。不過這樣一來,自己就可以不用再 去找輪子和齒輪組了,的確簡單了不少。(當初我還不知道有PWM這個東西,并且認為減速電機的慣性會很大不能精確控制,但后面我才知道這個觀點是錯誤的。 呵呵,早知道,買幾個減速電機來做可能就節約money了。而且不會出現在車子馬力不足的問題)
電機和輪子買完以后我便開始思考如何固定的問題,這時候我想到了用自己以前買的51學習套件上的一塊大板子來當車體(后來才知道這東西就是專門用來當機器人底板的),如圖:
固定電機的時候,我想用我曾經見過的一種有側孔的銅柱,可是又是找遍西安沒有找到(有個老板告訴我如果我要1000個以上可以為我訂做,呵呵)。正當我為如何固定電機感到煩惱的時候,突然想到了用尼龍扎帶試試,結果一試,效果還真不錯。如圖:
后來發現加上電機以后板子前后方向有些彎曲,于是又再加了一根前后方向銅柱固定板子,如圖:
做到這個程度,我找了不知道多久的萬向輪也突然跳進了我的視野,原來西安西門附近的機械產品市場有賣(本來我都打算用兩個軸承自己來做一個萬向輪的了)。把萬向輪固定在車板上后,如圖:
這些東西都做好后的小車底部圖:
至此,車子的機械部分已經完全做完,我也舒了一口氣。回想起做機械部分的經歷,真是太痛苦了,為了買點東西,不知道跑了多少地方。。。我想我是學電子的,應該把主要的精力放在研究電路、程序上啊。呵呵。
其 后便是做電路了,由于電路較為簡單,并且我已經有了一個51試驗板,故只買了一個面包板將兩個L298焊了上去。當然最關鍵的是程序了,這一部分我到沒有 感覺到多少困難,很快就做完了。只是直到現在我的VB程序還是有在上面提到的反饋信息接收的問題(SendData總等于1),我也找不到錯誤在哪,并且 串口的關閉也間歇性的出現問題,再次希望高人幫我指點一下。 并且,新買的步進電機動力還是有些偏小,整車我用的銅柱固定,也加大了車子的重量(早知道就用鋁柱了)。
此車我計劃改成無線版,以后我還想加入尋跡功能(用紅外傳感器)。其實我最想做的是無線視頻車,在車子上放一個攝像頭,高速的無線傳過來,我在PC上控制,呵呵。不過這些東西我現在都不太懂,而且我猜東西也應該挺貴。我想我等1月份考研以后來做吧。。
這 就是我的PC串口控制的小車的全部了,呵呵,我的處女電子制作。就我自己而言,我現在覺得親手做點東西確實能夠極大的提高自己的綜合水平,無論是動手能力 還是理論水準。在校的電子類大學生確實應該做點東西。還有就是如果有示波器和車床那將會是多么完美的事情啊,呵呵。。。
|