本文來聊聊ROS移動機(jī)器人中控制器與樹莓派進(jìn)行傳輸信號的通信接口電路設(shè)計。在此之前回顧下在本項目第一篇文章中提到的硬件框圖,如下圖所示:
從圖中可以清楚地看出,樹莓派通過wifi和PC機(jī)通信,同時樹莓派通過串口與控制器通信。 目前市面上的樹莓派3B,4B在電路設(shè)計時已經(jīng)加入了WIFI模塊,可以通過編程與PC機(jī)通信,這里的電路設(shè)計我們不用考慮。 樹莓派與主控進(jìn)行通信時需要使用USART通信協(xié)議。 此時常用的方法是使用TTL模塊將USB協(xié)議轉(zhuǎn)成USART協(xié)議,這時就不可避免的在樹莓派上插入USB轉(zhuǎn)TTL模塊,然后通過杜邦線與主控連接。
使用這種方法,看似方便,但是系統(tǒng)的整體布線看起來會顯得非常凌亂,還會存在接觸不良的問題,引起控制系統(tǒng)的不穩(wěn)定。 對于電路設(shè)計集成度和完美主義追求者,這點是不能容忍的。 所以在控制器設(shè)計中,直接將通信協(xié)議轉(zhuǎn)換電路集成到了PCB板中,提高了系統(tǒng)集成度和系統(tǒng)的穩(wěn)定性。
USB轉(zhuǎn)TTL電路設(shè)計
在控制器原理圖設(shè)計中,集成了如下USB轉(zhuǎn)TTL電路。 這個電路比較常見,它支持串口通信,與STM32程序一鍵下載功能(可省去購買仿真器)。
在電路中VD10用于防止電流倒灌,防止在STM32不需要供電時,CH340G芯片的TX引腳依然給主控芯片供電引起的程序的錯誤執(zhí)行情況。
芯片中V3引腳除了在不同電壓供電模式下接法不同,對于電容數(shù)值選用也是需要注意的。 V3引腳的電容用于內(nèi)部電源節(jié)點退耦,來改善USB傳輸過程中的EMI,通常容量在4700pF到0.1uF范圍,建議容量為0.01uF。
在CH340G芯片設(shè)計中需要外接12M石英晶振和與之匹配的22pf高頻起振電容。 為芯片在通信過程中提供時鐘基準(zhǔn)。 在PCB布局和布線時需要保證晶振走線盡可能短,在晶振走線下方不要布其他信號線,當(dāng)條件允許時,可以對晶振走線進(jìn)行包地處理,以防止時鐘信號受到干擾。
STM32一鍵下載電路實現(xiàn)原理
下面我們來看看CH340G是如何實現(xiàn)STM32一鍵下載功能的。
STM32有以下三種啟動模式:
從表中可以知道,使用串口燒寫程序,需要配置BOOT0為1,BOOT1為0,如果想STM32一復(fù)位就運行代碼,需要配置BOOT0為0,BOOT1配置為什么都可以,為了實現(xiàn)這個功能,可以設(shè)計一個電路,通過CH340G芯片的DTR#和RTS#引腳的信號來控制電路狀態(tài),從而間接控制STM32的RESET和BOOT0引腳的信號, 實現(xiàn)一鍵下載功能。 控制電路如下圖所示:
當(dāng)使用FlyMcu軟件時需要選擇DTR的低電平復(fù)位,RTS高電平進(jìn)BootLoader模式,如下圖所示,這樣在進(jìn)行程序燒寫時,DTR和RTS引腳就能夠進(jìn)行控制一鍵下載電路在適當(dāng)?shù)臅r刻,使STM32復(fù)位引腳和BOOT0處于正確的電平,實現(xiàn)STM32復(fù)位與程序燒寫。
首先FlyMcu控制DTR置低,則DTR#輸出高電平,同時RTS置高,則RTS#輸出低電平。 這時三極管Q1和Q2同時導(dǎo)通,NRST引腳被拉低單片機(jī)復(fù)位,BOOT0引腳拉高為1。 延時一段時間后FlyMcu控制DTR為高電平,則DTR#為低電平,RTS#持續(xù)保持為低電平,三極管Q1截止單片機(jī)停止復(fù)位,此時BOOT0依然維持高電平1,單片機(jī)進(jìn)入ISP模式,這時就可以實現(xiàn)STM32一鍵燒寫程序了。 其中DTR#和RTS#的波形如下圖所示。
-
接口電路
+關(guān)注
關(guān)注
8文章
469瀏覽量
57688 -
控制器
+關(guān)注
關(guān)注
114文章
17113瀏覽量
184355 -
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
365044 -
移動機(jī)器人
+關(guān)注
關(guān)注
2文章
789瀏覽量
34148 -
ROS
+關(guān)注
關(guān)注
1文章
288瀏覽量
17752
發(fā)布評論請先 登錄
資料:移動機(jī)器人能否自動充電?
Labview My RIO 移動機(jī)器人
機(jī)器人、協(xié)作機(jī)器人和移動機(jī)器人,你分的清楚嗎
如何實現(xiàn)移動機(jī)器人的設(shè)計?
請問怎么設(shè)計一種室外移動機(jī)器人組合導(dǎo)航定位系統(tǒng)?
什么是移動機(jī)器人軟硬件系統(tǒng)問題
最實用的STM32和ROS機(jī)器人的串口通信方案
差速移動機(jī)器人軌跡跟蹤控制方法
移動機(jī)器人的三種主要運動系統(tǒng)
如何利用掃地機(jī)輪子制作ROS移動機(jī)器人地盤
電機(jī)在ROS移動機(jī)器人系統(tǒng)中的作用
基于Matlab和VR技術(shù)的移動機(jī)器人建模及仿真
制作ROS移動機(jī)器人地盤

評論