平衡小車,這個(gè)開源項(xiàng)目已經(jīng)出來(lái)很多年了,雖然是一個(gè)比較基礎(chǔ)的項(xiàng)目,但也牽扯到方方面面的知識(shí), 單片機(jī)程序開發(fā)、硬件 電路設(shè)計(jì)、焊接手法等。 在許多朋友咨詢信盈達(dá)小編, 電子設(shè)計(jì)入門,該選什么項(xiàng)目時(shí),小編都會(huì)首推這個(gè)。 那么,如果一個(gè)新手,或者對(duì)電子設(shè)計(jì)興趣但有不知道從何下手時(shí),看這篇文章就對(duì)了。 我將平衡小車分為三種技術(shù)路線,不同的技術(shù)路線都可以實(shí)現(xiàn)完成平衡小車,不同的路線,針對(duì)不同的基礎(chǔ)的人群,難度都不同。 1、模塊拼接+手工焊接布線 1.1 車架 1.2 電路如何設(shè)計(jì)? 有了車架,還差電路部分,如何設(shè)計(jì)? 為了讓大家快速熟悉平衡小車的系統(tǒng)電路,加快開發(fā)速度。 第一條路線,我們采用模塊化的設(shè)計(jì)方式。 也就是,電路部分都采用模塊,將各個(gè)模塊電路連接起來(lái)即可完成電路設(shè)計(jì)。 那么需要哪些模塊電路呢? 單片機(jī)最小系統(tǒng):這個(gè)是用來(lái)寫入程序的。 電機(jī)驅(qū)動(dòng):用來(lái)驅(qū)動(dòng)電機(jī);單片機(jī)IO電流不夠,不足以驅(qū)動(dòng)電機(jī)。 姿態(tài)傳感器:MPU6050(用來(lái)獲取小車姿態(tài)數(shù)據(jù),來(lái)保持平衡)。 電源模塊:用來(lái)做電源升降壓,給各個(gè)單元電路(單片機(jī)、電機(jī)驅(qū)動(dòng)MPU6050)供電。 電池:給整個(gè)系統(tǒng)供電。 無(wú)線模塊:用來(lái)做遙控,控制小車移動(dòng)行走。 1.3 手工焊接 將各個(gè)系統(tǒng)模塊化之后,根據(jù)電路原理圖,要進(jìn)行的就是,手工焊接。 針對(duì)完全不熟悉的朋友而言,更推薦此種方式,此種方式能讓我們更快速且有效的去搭建起電路,并去驗(yàn)證我們的電路。 畢竟PCB的繪制以及腐蝕都是需要時(shí)間的,更加不說(shuō)那些對(duì)PCB設(shè)計(jì)不熟悉的朋友了。 手工焊接,需要一塊和車架板差不多大小的洞洞板,方便我們的板子后面安裝在車上。 手工焊接和PCB設(shè)計(jì)一樣,需要考慮各個(gè)模塊以及元件的布局。也就是各個(gè)模塊的擺放位置。 模塊位置的擺放正確與否,能讓我們少走錫,少布跳線。 能讓我們省去許多精力,到底能多省。 用烙鐵去體會(huì)! 2、模塊+PCB繪制 第二條路線,模塊化+PCB繪制。 同樣的,第二條路線也采用模塊化設(shè)計(jì),但與第一條不同的是,在于不再使用洞洞板焊接,但此種方法路線,針對(duì)于基礎(chǔ)較好,對(duì)PCB繪制以及一些單片機(jī)基本電路較為熟悉的朋友。 當(dāng)然,用第一種方法完成平衡小車的設(shè)計(jì)之后,可以采用第二種方法進(jìn)行進(jìn)階學(xué)習(xí),可以通過(guò)此方法來(lái)學(xué)習(xí)或加強(qiáng)PCB設(shè)計(jì)。 畢竟,別人的電路板,哪有自己設(shè)計(jì)的香。 本質(zhì)上,此種方法路線與第一種沒有什么不同。省去了人工焊接布線,使用機(jī)器布線,再通過(guò)自我腐蝕或發(fā)廠打樣制作。來(lái)完成整個(gè)電路板的設(shè)計(jì)。 3、集成化主板 第三條路線:集成化主板。 同樣的,第三條路線都可以作為第一條、第二條的進(jìn)階學(xué)習(xí)之路。 想要完成集成化主板的設(shè)計(jì),需要對(duì)單片機(jī)系統(tǒng)以及外圍電路非常熟悉,能進(jìn)行自我電路設(shè)計(jì),包括一些基本的電源電路等。 當(dāng)然,網(wǎng)上也有許多電路可以進(jìn)行參考,畢竟做的人特別多。 我也為大家準(zhǔn)備了一套完整的電路和程序。 下圖就是我們信盈達(dá)工程師設(shè)計(jì)的主板和小車。 即可獲取該平衡小車資料網(wǎng)盤下載鏈接,開源所有設(shè)計(jì)資料。 4、程序設(shè)計(jì)思路 講完了三種硬件搭建路線之后,需要談?wù)摰膽?yīng)該是程序部分了。 我為大家已經(jīng)準(zhǔn)備好了各個(gè)“單詞”,只要大家學(xué)會(huì)拼即可。 如何做? 在資料包中,我準(zhǔn)備好了MPU6050測(cè)試、電機(jī)驅(qū)動(dòng)測(cè)試、藍(lán)牙測(cè)試程序。 我們可以通過(guò)程序?qū)蝹(gè)模塊電路進(jìn)行測(cè)試,一步一步的移植拼接。 比如: 第一步,先測(cè)試MPU6050程序,通過(guò)測(cè)試程序正確讀取出6050數(shù)據(jù)。 第二步,單獨(dú)再調(diào)試單片機(jī)和電機(jī),單片機(jī)程序是否能正確控制電機(jī)驅(qū)動(dòng),使得電機(jī)正反轉(zhuǎn)、加減速。 第三步,以MPU6050程序?yàn)榛A(chǔ),將電機(jī)轉(zhuǎn)動(dòng)程序加入其中,并添加PID控制函數(shù),以6050數(shù)據(jù)為閉環(huán)入口參數(shù),調(diào)節(jié)PID參數(shù),計(jì)算出控制PWM,來(lái)控制電機(jī)轉(zhuǎn)動(dòng),保持小車車身平衡。 第四部,小車控制平衡后,對(duì)藍(lán)牙測(cè)試程序進(jìn)行單獨(dú)測(cè)試,并將藍(lán)牙控制信號(hào)輸入到PID控制函數(shù)中,作為速度環(huán)和轉(zhuǎn)向環(huán)的一個(gè)控制變量,來(lái)達(dá)到控制小車前后左右移動(dòng)的效果。 以上,是小車程序的整體設(shè)計(jì)思路。 課程咨詢:C語(yǔ)言,單片機(jī),Linux電路設(shè)計(jì),PCB軟件測(cè)試,python,JAVA,C++,QT等課程培訓(xùn)提升,面授線上學(xué)習(xí),有需要加18025267692(微信)私聊 5、最后 最后,想要表明一點(diǎn),關(guān)于平衡小車設(shè)計(jì),說(shuō)來(lái)簡(jiǎn)單且粗暴,但實(shí)施起來(lái),需要花費(fèi)的時(shí)間和精力不言而喻。 因?yàn)槠浜w軟硬件設(shè)計(jì),對(duì)于新手而言,工作量確實(shí)較高,但等完成之后,回過(guò)頭再看,腦子里覺得沒什么工作量。 但手上卻多了各種技術(shù)活。
|