專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)智能小車設(shè)計(jì)

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年11月19日   【字體:

小車升級(jí)為無線遙控啦!去年買的遙控直升機(jī)沒玩幾次就摔壞了,后來買了個(gè)配件,玩了兩回又摔壞了,實(shí)在不想修了。前一段時(shí)間小車做好后,一直想用無線遙控,想了很長時(shí)間,也沒想什么 好的方法來做一個(gè)漂亮的遙控器。后來我把注意打到了遙控直升機(jī)遙控器了。我想,要是能把它改成小遙控器,那操作手感一定很棒。起先還準(zhǔn)備用示波器破解直升機(jī)遙控器和直升機(jī)之間傳輸?shù)男盘?hào),研究了一段時(shí)間,才發(fā)現(xiàn)自己很幼稚,因?yàn)樵韴D也沒有,什么資料都沒,就只知道遙控器的無線頻率是2.4GH了,這樣要破解的話,比登天還難。后來想想用STC單片機(jī)做一個(gè)也不是很難。于是乎,我一下狠心就把飛機(jī)遙控器給拆了。我先把里面的控制電路板拆下來。再用斜口鉗把按鈕和電源開關(guān)那部分電路板給剪下來,裝回去,當(dāng)然,兩個(gè)操縱桿是要保留的,其實(shí)就是4個(gè)電位器。然后焊了一個(gè)單片機(jī)最小系統(tǒng),把按鈕和電位器往上一接硬件就算完事了。然后又把STC單片機(jī)的ADC例程一改,再把USART例程一改,往上一加。軟件也就完事了。我的自定義協(xié)議是:一次用串口發(fā)送21字節(jié)數(shù)據(jù),ADC的分辨率為256級(jí),每個(gè)電位器用3 字節(jié)ACSII碼表示,所以前12個(gè)字節(jié)是4 個(gè)電位器數(shù)據(jù),后8個(gè)字節(jié)用來表示8 個(gè)按鈕,按下發(fā)ACSSII碼 ‘6’ ,否則發(fā)‘0’。最后一個(gè)固定為0xaa,用于檢察通訊是否錯(cuò)誤。  好了就寫這了,有空再接著寫吧。


前段時(shí)間買了個(gè)STM32最小系統(tǒng)板,把我那個(gè)神舟IV板換了下來。



那個(gè)小板是無線模塊;宋也簧馘X。














這個(gè)就是用直升機(jī)遙控器改的。里面也有個(gè)無線模塊,無線模塊是帶串口透?jìng)餍偷。因(yàn)镾PI接口和SI4432研究的還不是很熟。慚愧!

這回升級(jí)后效果是非常好的,小車很靈活?梢栽谖覀兊乃奚崂镒杂纱┬。


每個(gè)學(xué)單片機(jī)的都會(huì)做個(gè)小車,我也不愿意例外,這是這幾個(gè)星期的成果。 
小車的功能有:紅外遙控功能(可用雙遙控,舵機(jī)驅(qū)動(dòng)轉(zhuǎn)向功能,無級(jí)調(diào)速功能,倒車功能,
停車制動(dòng)功能,超聲波避障功能,有警笛,測(cè)速功能待擴(kuò)展。

這是制作現(xiàn)場(chǎng),比較亂。

條件簡陋啊!




這是超聲波避障器,至今還沒調(diào)試好,距離測(cè)的還比較準(zhǔn)確,就是不好完美整合到整個(gè)程序中。用TIM3的第一通道用輸入捕獲方式超聲波回聲的高電平寬度的。

主控板用的是神舟IV實(shí)驗(yàn)板。中間那個(gè)像三極管的是紅外接收頭。我是用TIM3的第二通道用輸入捕獲方式測(cè)紅外脈沖寬度解碼的。

一個(gè)是TCL監(jiān)控顯示器上的,一個(gè)是天敏電視盒上的。TCL的紅外協(xié)議比較亂套,不過我有USB模擬示波器,看到波形就好辦了。天敏用的是NEC紅外協(xié)議,但不完全是,兩地址碼不是反碼關(guān)系。感覺買個(gè)USB模擬示波器結(jié)學(xué)單片機(jī)非常有幫助。也不貴,我的才100多。

用TIM2的第一通道,以PWM波驅(qū)動(dòng)舵機(jī),舵機(jī)是MG995。用第二通道以PWM波驅(qū)動(dòng)主馬達(dá)。整個(gè)后輪部分是從舊玩具車上拆下的。

小車的動(dòng)力來自兩節(jié)鋰電池,是從我的筆記本電腦上拆下來的,電腦一直插著電源,感覺電池沒在上面也沒什么用,還不如拆下來搞實(shí)驗(yàn)有價(jià)值。



繼電器是用來倒車用的,這個(gè)繼電器是6V 雙刀雙擲的,還是很少見的,我好像是從應(yīng)急燈的電路板上拆下來的。右下邊的三極管是用來驅(qū)動(dòng)主馬達(dá)的。

靠舵機(jī)左邊的是一個(gè)警笛。用一個(gè)8050三極管驅(qū)動(dòng)。

主要用到就是STM32的定時(shí)器功能,32的定時(shí)器功能確實(shí)強(qiáng)大。51的和它都沒法比。它的復(fù)雜讓我暈了很久,現(xiàn)在算是比較清楚了。
可以說小車是一個(gè)載體,是一個(gè)移動(dòng)實(shí)驗(yàn)平臺(tái)。以后各種功能都可往上加,比如機(jī)械手什么的。現(xiàn)在用的是紅外遙控,這只是暫時(shí)的,等無線模塊玩熟了,將改成無線的。那才適合控制小車,昨天試車發(fā)現(xiàn)一到強(qiáng)烈的陽光下紅外遙控就失靈了,后來想了一下,正常啊,陽光中有很強(qiáng)的紅外線足以干擾遙控器了。還有電視遙控控制轉(zhuǎn)向根本跟不上,因?yàn)橐焖俎D(zhuǎn)向時(shí),控制的關(guān)系根本不是線性關(guān)系。我想用無級(jí)操縱桿應(yīng)該很合適。以前就研究過操縱桿,以后會(huì)買個(gè)好一點(diǎn)來控制小車。
 
關(guān)閉窗口

相關(guān)文章