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

前段時間買了個STM32最小系統板,把我那個神舟IV板換了下來。

那個小板是無線模塊。花了我不少錢。






這個就是用直升機遙控器改的。里面也有個無線模塊,無線模塊是帶串口透傳型的。因為SPI接口和SI4432研究的還不是很熟。慚愧啊!

這回升級后效果是非常好的,小車很靈活。可以在我們的宿舍里自由穿行。
每個學單片機的都會做個小車,我也不愿意例外,這是這幾個星期的成果。
小車的功能有:紅外遙控功能(可用雙遙控,舵機驅動轉向功能,無級調速功能,倒車功能,
停車制動功能,超聲波避障功能,有警笛,測速功能待擴展。

這是制作現場,比較亂。

條件簡陋啊!


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

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

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

用TIM2的第一通道,以PWM波驅動舵機,舵機是MG995。用第二通道以PWM波驅動主馬達。整個后輪部分是從舊玩具車上拆下的。

小車的動力來自兩節鋰電池,是從我的筆記本電腦上拆下來的,電腦一直插著電源,感覺電池沒在上面也沒什么用,還不如拆下來搞實驗有價值。


繼電器是用來倒車用的,這個繼電器是6V 雙刀雙擲的,還是很少見的,我好像是從應急燈的電路板上拆下來的。右下邊的三極管是用來驅動主馬達的。

靠舵機左邊的是一個警笛。用一個8050三極管驅動。

主要用到就是STM32的定時器功能,32的定時器功能確實強大。51的和它都沒法比。它的復雜讓我暈了很久,現在算是比較清楚了。
可以說小車是一個載體,是一個移動實驗平臺。以后各種功能都可往上加,比如機械手什么的。現在用的是紅外遙控,這只是暫時的,等無線模塊玩熟了,將改成無線的。那才適合控制小車,昨天試車發現一到強烈的陽光下紅外遙控就失靈了,后來想了一下,正常啊,陽光中有很強的紅外線足以干擾遙控器了。還有電視遙控控制轉向根本跟不上,因為要快速轉向時,控制的關系根本不是線性關系。我想用無級操縱桿應該很合適。以前就研究過操縱桿,以后會買個好一點來控制小車。