一、作品創意
上個學期做了一款紅外控制顯示時間溫度及避障的單片機小車其實現的功能,有“紅外控制”“時間” “溫度” ,以及“避障”; 不足點,有“沒有用串口通信”“pwm波控制馬達的占空比”“攝像頭”,51單片機的“代碼數過多”,“以及“沒用用自己做的板子”。
于是在暑假之前就開始嘗試串口同步通信, 于是便想做一個用串口控制的水下無人機基本上控制方式和無人機相似相當于用51做了一個紅外及wifi舵機控制器。
二、作品制作
制作材料
1、 電調:
電調連接12v的電源可以產生10-60A的電流為無刷電機提供電力,其次電調還會產生一個5v的電源,用于給單片機供電,操作過程和舵機相近也是pwm波。
通過單片機產生一個2.5ms 的50hz 的階躍電壓傳給電調,電調初始化然后依次傳入2.4ms,,23ms …… ,0.5ms的階躍電壓,電調讀取到最大和最小后即可精確的控制電調對無刷電機供電。
2、無刷電機:
用無刷電機的主要原因還是其轉速驚人空轉狀態下每秒鐘20000轉+-不超過0.05;
無刷電機正好滿足了無人機的動力需求,本身就是用來做無人機的電機所以產生的轉數十分強大。
3、舵機模塊:
舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms-2.5ms范圍內的角度控制脈沖部分,總間隔為2ms。以180度角度伺服為例,那么對應的控制關系是這樣的:
4、 WiFi模塊
該模塊相當于一個路由器經過安裝操作系統后,裝入了攝像頭驅動,模塊將攝像傳輸的視頻傳送到192.168.8.1。通過上位機可以同步讀取攝像頭視頻和串口通信控制潛水艇的運動,但是由于其串口損壞我用一個藍牙模塊代替。
5、攝像頭

連接wifi模塊讀取攝影影像信息。云臺有兩個舵機組成可以360度攝影,但是由于裝不下就沒有放入云臺。
6、hc-05
替代損壞的wifi模塊,對無人機進行無線操控。51單片機串口中斷通信
7、電路板和51
8、機身
用的廢棄的可樂瓶雪碧瓶。用膠槍,螺絲刀,焊盤做出來的。
制作過程:
可以參考圖片,過程表達起來很復雜,想做的私聊我。
理論加實踐
程序中用到了
時間中斷0 控制pwm的釋放0.01ms的控制電流
時間中斷1 與串口中斷配合使用的
外部中斷1 紅外通信
串口中斷 藍牙WiFi通信
以上的優點就是 紅外通信的結果不會導致pwm波的釋放出現紊亂因為不會中斷時間中斷。
硬件就是需要代碼數少用最少的代碼數實現最多的功能,我這里用不到400行就完成了這些功能,其實是代碼優化,減少不必要代碼的結果。
三、困難與展望
1、下位機開發中遇到的問題
1. 串口通信存在的問題一開始就用的12m晶振不然暑假就不需要一直迷惑了估計暑假之前就可以做出來成品、
2.51本身的水平有限要達到開四個中斷不沖突而且完美運行是十分困難的,中途bug不計其數此處忽略不計。
3.在紅外傳感器上,bug多的我就不說了、
4.做的板子一開始就不知道能不能用我也不說了,因為從來沒人做這種東西所以,我估計是第一個所以一度懷疑自己做的東西就不能夠達到要求,想放棄,但是最后還是做出來了。
2、作品展望
1. 改為遠距離傳輸用32做做多通信渠道一方如果斷連接,其余補連輔助通信。
2. 同時32本身功能強大可以完美帶動我的需求,強大的中斷數目估計可以日后彌補我所需要的說不定日后還可以用32做交換機這是51永遠都達不到的。
3. 學習3dsmax進行未來的建模但是聽說工作室的3d打印機不能打出可以防水的材料,漏水嚴重還是算了 略學 寒假答辯還是選一些別的東西32做的自平衡小車我覺得就不錯,雖然很多人做過但是增加控件估計會很好 所以下次做自平衡小車好了。
4. 用無人機專用的wifi通信模塊 工作室有1100m的但是還是不夠網上4km的也才幾十塊錢可以考慮但是還是用工作室的吧,不要錢原理是一樣的。
|