學習一種單片機最快的方式莫過于用它實際制作一個作品了,前些天看到有人在玩平衡小車,感覺非常有趣,于是就決定自己動手制作一個基于stm32的兩輪平衡小車。從電路板設計,到程序編寫,一步一步的,希望自己在這個過程中有一定的收獲。
這篇博客先寫最開始的電路設計,之后會更新后續(xù)的代碼編寫和小車調(diào)試。
電路設計的基本過程一般是這樣的:需求分析——元件選型——原理圖設計——PCB設計——焊接調(diào)試。
需求分析:在這里,主要是確定小車需要哪些模塊、外設或接口。首先,stm32最小系統(tǒng)是必須的,這是小車控制的核心。然后小車的兩個輪子需要兩個H橋驅動和編碼器接口。需要陀螺儀感知小車的姿態(tài)(包括傾角,轉向角,角速度等)。需要一些調(diào)試和指示用的外設(蜂鳴器,LED等)。需要電源電路為系統(tǒng)供電。需要電池電壓采集電路來實時采集電池電壓,做低壓報警,防止電池過放。需要下載接口和調(diào)試用的串口。基本就是根據(jù)自己想要實現(xiàn)功能,然后確定需要那些部分的電路。
元件選型:為需要的各個部分電路選擇元件,一般來說,主要是選擇何種型號、什么封裝的芯片,對于一些比較特殊的電路,即使是電阻電容這樣常見的無源器件也需要認真選擇,然而平衡小車的電路中并不需要一些高精度或很高速的電路部分,所以,下面主要介紹如何選擇各個電路部分的主要芯片。
1.最小系統(tǒng):考慮到小車的主控板可以作為今后做四軸或其他更高級的機器人的基礎電路,所以主控選擇了stm32F405RGT6,這款主控是M3內(nèi)核的,主頻可以達到168M,有豐富的外設資源可以使用,性能非常強悍,非常適合以后的開發(fā)和拓展。
2.電機驅動:小車的兩個輪子電機需要兩個H橋驅動。驅動的選擇和電機的參數(shù)緊密相關。我選用的電機的正常工作電流360mA,并且考慮到小車在正常情況下基本不會出現(xiàn)賭轉的情況,并且為了盡量減小PCB板的面積,所以選擇了東芝的電機驅動芯片TB6612,該芯片有兩個集成的H橋,可以同時驅動兩個電機,每個H橋可以持續(xù)輸出1.2A的電流,PWM頻率可以到100kHz,芯片的供電電壓最大可以到15V,適合用3S電池供電,并且芯片封裝很小,節(jié)省PCB面積。
3.電源電路:主要考慮輸入電壓、輸出電壓、輸出電流等。小車電池采用3S鋰聚合物電池,放電率25C,以后做四軸還能用。電池的滿電電壓12.6V左右,電路中需要5V和3.3V的電源,因此需要選擇兩款款芯片將12V電壓降壓到5V,然后再將5V降壓到3.3V。12V-5V的芯片可以選擇MPS公司的DCDC降壓芯片MP2482,該芯片支持最大5A電流輸出,最大28V電壓輸入,0.8至25V可調(diào)電壓輸出,符合需求。5V-3.3V選用常見的AMS1117-3.3。
4.陀螺儀:選用MPU6050模塊,模塊自帶了軟件濾波算法,采用串口對外輸出數(shù)據(jù),在115200波特率的情況下,每秒鐘可以輸出100幀的數(shù)據(jù)。
原理圖設計:
1.最小系統(tǒng):包括stm32f405rgt6,晶振電路,復位電路。R2和R3用于配置啟動方式。C9和C12是單片機內(nèi)部電源變換部分的濾波電容。最小系統(tǒng)基本都是一樣的,按照常用的電路設計一般沒有錯。那幾個電容式芯片的去耦電容,注意一下,模擬電壓、模擬地和數(shù)字電源、數(shù)字地之間用磁珠隔離,防止數(shù)字電路的高頻噪聲影響到模擬電路的精度。
2.電源電路:R22和R23將電池電壓分壓到1.2V,接到單片機內(nèi)部的ADC引腳,監(jiān)控電池電壓,防止過放。
3.電機驅動和編碼器電路:基本就是按照芯片datasheet上的參考電路設計的,注意做好電源去耦,因為電機的電壓較高、電流較大,容易通過電源網(wǎng)絡對其它電路產(chǎn)生影響。
4.陀螺儀:集成的模塊,沒啥好說的,把引腳連到單片機上就好了,簡單在電源腳上并一個電容做一下電源去耦(不做也無妨,因為模塊內(nèi)部已經(jīng)做了)。
5.CAN通信:在小車上并沒有用到CAN通信,但是CAN通信在現(xiàn)在的機器人設計中應用的非常廣泛。并且我們做小車本來就是要學東西的,加上調(diào)一下,多學習些知識,何樂而不為呢?CAN通信用的芯片是飛利浦的TJA1050,這是一個CAN收發(fā)器,stm32內(nèi)部集成了CAN控制器。R4是阻抗匹配的電阻,在整個CAN通信網(wǎng)絡中有且只有兩個節(jié)點焊接此電阻,電阻阻值為120ohm?,F(xiàn)在也還沒有深入學習CAN通信相關的知識,在以后調(diào)試CAN通信的時候再詳細學習吧。(^.^)
6.調(diào)試電路和其他的接口:SWD下載接口,USART調(diào)試串口,藍牙接口(根據(jù)選擇的藍牙模塊不同確定接口不同引腳的用途,比如使能腳、狀態(tài)輸入腳等,后面寫藍牙的時候詳細描述)。蜂鳴器和雙色LED燈用于調(diào)試和指示。另外又引出了幾個定時器的引腳,可以留作拓展使用。
PCB設計:不詳細說了吧,工程文件在附件里有。注意事項主要有電源去耦(具體做法可以參考我之前關于電源去耦的博文)、線寬控制(大電流的走線要盡量寬)、開關電源的布局布線(一般來說主要記住三點就好了:一是芯片的SW的信號是電壓高,頻率高的開關信號,會對其他電路產(chǎn)生嚴重的干擾,要盡量遠離敏感的電路。二是反饋網(wǎng)絡是很敏感的網(wǎng)絡,盡量避免受干擾。三是電源的電流較大,注意線寬和過孔的數(shù)量、孔徑等,保證有能力通過這么大的電流。注意了這三點,集成的DCDC電路一般沒有問題)等。這里貼一下板子正反兩面的3D效果圖
焊接調(diào)試:也不多說了,平時多練練手,0603 QFP這些封裝的元件就能輕松搞定了。焊接的時候先焊接電源部分,上電測試電源沒有問題的話再焊接其他部分,否則一旦電源有問題,整板全白焊了。。下面貼一個焊接調(diào)試好了的實物圖。
嗯,就先寫這么些吧。上面寫的比較啰嗦,也沒有什么高大上的技術,差不多都是硬件電路設計需要的基礎知識吧。只是希望將自己設計這塊平衡小車電路板的過程比較系統(tǒng)和通俗的介紹一下,能將自己這實踐過程中學到的只是和經(jīng)驗分享出來,沒怎么接觸過這方面的朋友可以將其當作參考,快速入門。同時希望各位高手和達人能多多指教。
-
編碼器
+關注
關注
45文章
3645瀏覽量
134580 -
代碼
+關注
關注
30文章
4790瀏覽量
68654 -
平衡小車
+關注
關注
1文章
39瀏覽量
12508
原文標題:stm32學習——兩輪平衡小車之硬件設計
文章出處:【微信號:all4lib,微信公眾號:開源Block】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論