如果此項目有朋友已經(jīng)做過,可以越過不看。
回歸正題,
平衡小車
,這個開源項目已經(jīng)出來很多年了,雖然是一個比較基礎的項目,但也牽扯到方方面面的知識,單片機程序開發(fā)、硬件電路設計、焊接手法等。
在許多朋友咨詢我,電子設計入門,該選什么項目時,我都會首推這個。
那么,如果一個新手,或者對電子設計興趣但有不知道從何下手時,看我這篇文章就對了。
我將平衡小車分為
三種技術路線
,不同的技術路線都可以實現(xiàn)完成平衡小車,不同的路線,針對不同的基礎的人群,難度都不同。
當一個人對平衡小車這個項目完全不熟悉時,如何開展?
同樣,要想完成平衡小車,首先我們應該要搭建好硬件平臺。
當然,首要的,既然是做小車,應該要有輪子、電機、車架。
直接網(wǎng)上買一套平衡小車底盤,100元以內(nèi)足以,太貴的沒必要買。一般來說,車底盤都含有電機、輪子、車板。
PS:
偷偷告訴你們,圖中有我的淘寶店【大魚電子】
這個紅黑騷氣的就是我店里的,哈哈哈,歡迎各位來購買,報我名字有特大優(yōu)惠!
為了讓大家快速熟悉平衡小車的系統(tǒng)電路,加快開發(fā)速度。
也就是,電路部分都采用模塊,將各個模塊電路連接起來即可完成電路設計。
-
單片機最小系統(tǒng):這個是用來寫入程序的。
-
電機驅(qū)動:
用來驅(qū)動電機;單片機IO電流不夠,不足以驅(qū)動電機。
-
姿態(tài)傳感器:
MPU6050(用來獲取小車姿態(tài)數(shù)據(jù),來保持平衡)。
-
電源模塊:
用來做電源升降壓,給各個單元電路(單片機、電機驅(qū)動MPU6050)供電。
-
-
單片機最小系統(tǒng)(10~20元):
根據(jù)自己的單片機型號來選擇,喜歡用32的可以買32,喜歡用51的可以用51,等等。
電機驅(qū)動(10~15元):
根據(jù)購買的電機電壓來購買,比如,你的電壓是12V,應該選用工作在12V下的電機驅(qū)動。
一般來說,由于平衡小車的電機功率都不大,常用的電機驅(qū)動有三種,TB6612,L298N,A4950。這三種都是常用的驅(qū)動IC,可以驅(qū)動7V~12V之間的電機。
A4950還會更高一些,從數(shù)據(jù)手冊看,可以驅(qū)動二十幾V的電機。但我沒用過,有興趣的可以自行測試。
姿態(tài)傳感器(10元):
這個基本不用考慮其他的,常用的就是MPU6050,當然,還有其他的一些數(shù)字的、模擬的姿態(tài)傳感器,像icm20602+ak8975+spl06-001 等。
但我建議大家選用MPU6050,因為用的人多,相應的資料也會多一些。
電池和電源模塊:
為了方便,多少V的電機就選多少V的電池,一般而言,現(xiàn)在都是12V的直流減速電機。直接選用12V的航模電池套裝即可。切記,選配充電器。航模電池大都比較昂貴,電池和充電器一套得要好幾十塊錢。
嫌貴的,可以選配18650電池,一節(jié)3.7V,幾節(jié)串聯(lián)即可。
唯一的缺點,18650的放電電流較小,不過單單用來做平衡小車的供電,足以。
電池準備好之后,要根據(jù)單片機和傳感器的工作電壓對電池進行降壓。
較為常見的降壓模塊LM2596,也別其他,這個太便宜了,就用這個。簡直不要太香!
如果需要同時降壓到5V和3.3V,用2個LM2596即可。
無線模塊:無線模塊建議選用藍牙,HC05/06主從一體。串口通信,便宜,主要是,可以直接連接手機藍牙,用手機APP直接對小車進行控制。這還不“騷”?
將各個系統(tǒng)模塊化之后,根據(jù)電路原理圖,要進行的就是,
手工焊接。
針對完全不熟悉的朋友而言,我更推薦此種方式,此種方式能讓我們更快速且有效的去搭建起電路,并去驗證我們的電路。
畢竟PCB的繪制以及腐蝕都是需要時間的,更加不說那些對PCB設計不熟悉的朋友了。
手工焊接,需要一塊和車架板差不多大小的洞洞板,方便我們的板子后面安裝在車上。
手工焊接和PCB設計一樣,需要考慮各個模塊以及元件的布局。也就是各個模塊的擺放位置。
模塊位置的擺放正確與否,能讓我們少走錫,少布跳線。
同樣的,第二條路線也采用模塊化設計,但與第一條不同的是,在于不再使用洞洞板焊接,但此種方法路線,針對于基礎較好,對PCB繪制以及一些單片機基本電路較為熟悉的朋友。
當然,用第一種方法完成平衡小車的設計之后,可以采用第二種方法進行進階學習,可以通過此方法來學習或加強PCB設計。
本質(zhì)上,
此種方法路線與第一種沒有什么不同。省去了人工焊接布線,使用機器布線,再通過自我腐蝕或發(fā)廠打樣制作。來完成整個電路板的設計。
視頻中,綠色是STM32F103C8T6,黑色是MPU6050??刂浦靼宥际悄K化設計,基本上可以直接拔插,如果燒毀某器件,可以直接進行更換。
此種電路設計方法,非常適合大家在完成某系統(tǒng)設計的前期試驗,能節(jié)省不少時間。并且調(diào)試及其方便。
值得一提的是,車上除了紅色的TB6612FNG模塊從網(wǎng)上購買,其他電路部分都是自己設計。
同樣的,第三條路線都可以作為第一條、第二條的進階學習之路。
想要完成集成化主板的設計,需要對單片機系統(tǒng)以及外圍電路非常熟悉,能進行自我電路設計,包括一些基本的電源電路等。
當然,網(wǎng)上也有許多電路可以進行參考,畢竟做的人特別多。
關注公眾號【
大魚機器人
】,后臺回復關鍵詞【
大車
】
即可獲取該平衡小車資料網(wǎng)盤下載鏈接,開源所有設計資料。
如果網(wǎng)盤鏈接失效了,可以加我微信:
well_xiaolong
,我單獨再發(fā)。
講完了三種硬件搭建路線之后,需要談論的應該是程序部分了。
寫程序就像是學英語一般,先記單詞、學基本語法,再學著去造句。
我為大家已經(jīng)準備好了各個“單詞”,只要大家學會拼即可。
關注公眾號【大魚機器人】,后臺回復關鍵詞【大車】即可獲取該程序。
在資料包中,我準備好了MPU6050測試、電機驅(qū)動測試、藍牙測試程序。
我們可以通過程序?qū)蝹€模塊電路進行測試,一步一步的移植拼接。
第一步,先測試MPU6050程序,通過測試程序正確讀取出6050數(shù)據(jù)。
第二步,單獨再調(diào)試單片機和電機,單片機程序是否能正確控制電機驅(qū)動,使得電機正反轉(zhuǎn)、加減速。
第三步,以MPU6050程序為基礎,將電機轉(zhuǎn)動程序加入其中,并添加PID控制函數(shù),以6050數(shù)據(jù)為閉環(huán)入口參數(shù),調(diào)節(jié)PID參數(shù),計算出控制PWM,來控制電機轉(zhuǎn)動,保持小車車身平衡。
第四部,小車控制平衡后,對藍牙測試程序進行單獨測試,并將藍牙控制信號輸入到PID控制函數(shù)中,作為速度環(huán)和轉(zhuǎn)向環(huán)的一個控制變量,來達到控制小車前后左右移動的效果。
最后,想要表明一點,關于平衡小車設計,說來簡單且粗暴,但實施起來,需要花費的時間和精力不言而喻。
因為其涵蓋軟硬件設計,對于新手而言,工作量確實較高,但等完成之后,回過頭再看,腦子里覺得沒什么工作量。
本文授權(quán)轉(zhuǎn)載自公眾號“大魚機器人”,作者:張巧龍
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!