• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

《來實戰(zhàn)》第7期:基于STM32來DIY一款炫酷的mini平衡車

2021/04/23
6805
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

全部資料打包.zip

共1個文件

此處最終顯示為電路方案的作者信息(僅在“來實戰(zhàn)”模板下生效)

親愛的工程師朋友和喜愛電子的朋友,大家好,我是zero,一名熱愛diy的在校學(xué)生,很高興能來到這個平臺分享自己做的產(chǎn)品,來這個平臺的目的最主要想跟大家分享一下自己做東西的時候遇到的問題和理解,想讓大家一起進步。

? ? 本期我做的是平衡車,平衡車大家應(yīng)該很熟悉不過了,很多相關(guān)專業(yè)的學(xué)生或者工程師一般都應(yīng)該有所了解,或者自己也動手做過,但是我想把我做的過程分享出來,我想把我的心得和體會也分享給大家,希望對大家有所幫助,以下如果有講的不對的地方還望大家提出來,我也隨著一起進步。

? ?為了節(jié)省大家時間,我主要講一下我接下來要給大家講的,以及可能對大家有幫助的地方;

? ? 1.平衡車的硬件搭建。

? ? 2.平衡車的程序編寫。

? ? 3.平衡車的PID調(diào)節(jié)。(主要講一下,我想把我的pid調(diào)節(jié)心得給大家,絕對好用)

? ? 4.機械外殼制作。(主要是如何將自己制作的pcb結(jié)合建模軟件制作外殼)

? ? 5.拓展功能。(應(yīng)該是沒有時間做了,但是我會給大家流出來程序接口,供大家拓展)

? ??6.我下面主要解釋一下,上面我說的這幾點;

我想在接下來的過程當中主要給大家講一講如何處理mpu6050的數(shù)據(jù),如果大家在實際當中可能遇到過mpu6050的應(yīng)該了解,有一種現(xiàn)成的處理方式叫做DMP,我們不采用這種,采用四元數(shù)解算出歐拉角的方式。

我會告訴大家過程中應(yīng)該注意的事項,以及濾波算法選擇等等應(yīng)該注意的事項,其中我會結(jié)合matlab給大家更直觀的分析數(shù)據(jù),證明我們的濾波算法選擇的可行性,不是空談。

最主要想給大家講講PID的調(diào)節(jié),PID一直都是我們比較頭疼的問題,我想把我遇到以及自己的經(jīng)驗告訴給大家,希望在以后的diy過程中會有所用途。

(其中這個過程當中很多是我自己的理解,如果有不對的地方,也希望大家給提出來。)

最后我會跟大家簡單說一下,如何將自己制作的pcb導(dǎo)入到3d建模軟件中,制作自己的產(chǎn)品的外殼。

我會把我制作過程中的代碼分成兩種一種是非操作系統(tǒng)的(先寫的),一種freeRTOS操作系統(tǒng)的供大家參考(后改的),還有其他所有制作過程中所需要的軟件等;

? ?7.最后祝大家都能學(xué)到知識,都成為大佬。

好啦,第一期就嘮嗑到這里啦,接下來,我將陸續(xù)分享“基于STM32來DIY一款炫酷的mini平衡車”項目的各個步驟的內(nèi)容,如果對這個項目感興趣,想深入了解和溝通,請在右欄浮動模塊中掃碼申請加入“來實戰(zhàn)技術(shù)交流群”(Q群)。

歡迎點擊下方【收藏按鈕】收藏本項目,持續(xù)更新中,敬請關(guān)注...

步驟一:初步設(shè)計方案

本期我們主要是簡單陳述一下平衡車的總體概況,包括我們需要什么軟件,平衡車的總體框架是什么,這為我們下一步電路繪制和程序編寫起到鋪墊作用,因為我們設(shè)計了什么樣的電路,也就意味著以后的功能的局限性。

圖1:平衡車的總體框架

圖2:OLED顯示模塊

圖3:電機

圖4:編碼器接線方法

硬件方面

首先先說一下我為什么選擇stm32f103tu這塊芯片,最主要原因它是f10x系列最小的stm32芯片,而且最主要原因它是QFN封裝的,在我們非機器焊接的時候遇到最難的也就是QFN封裝,stm32的球體封裝一般廠商難以做出來,工藝太高,做出來也是高層板和高價格,對于我們來說那就是給我們自己找麻煩。所以這樣可以鍛煉我們焊接的基本功,在我們?nèi)粘5腄IY過程中,難免會遇到硬件軟件一起抓,芯片選型等等一系列的工作,所以不要讓焊接功底成為我們的攔路虎。

軟件方面

視頻中只是給大家介紹了一下我在制作過程中所用到的軟件,不限于別的軟件。接下來的視頻中大家可以留意一下J-scope的使用,真的很好用,如果不喜歡的同學(xué)亦可以使用自帶的藍牙模塊使用透傳,電腦端使用串口調(diào)試助手來實現(xiàn)。

安裝方面

所有的視頻我并不講軟件的安裝方式,伸手黨很可恥,我們動動小手都能搞定。

PS:在過程中可能會遇到很多同學(xué)沒聽明白或者不清楚,都可以留言,在一段時間內(nèi)我都回答大家的問題,如果我沒有及時回復(fù)大家,大家可以度娘搜索關(guān)鍵詞,一般都可以搞定。最后我想說的是,在錄制視頻的時候一直很緊張,錄了很多遍都一樣,所以大家請諒解。

如果有不明白的可以給我留言,我會及時回復(fù)的。

預(yù)告:下一期主要講講電路圖架構(gòu),為了節(jié)省大家的時間我會把所有的電路和原理圖繪制完成,最后給大家講講中間應(yīng)該注意的問題。我們下一期見!

步驟二:硬件系統(tǒng)設(shè)計

?? ?本期我們主要講如何設(shè)計硬件原理圖和PCB制圖,在我們做之前我們要想好我們想要什么功能,這涉及到我們設(shè)計硬件原理圖的時候要將這些功能添加進去,我們在DIY過程中,一定要把我們想實現(xiàn)的功能想周全,這樣后期就不會因為設(shè)計前想的不周到而造成自己想要實現(xiàn)功能卻無法實現(xiàn)。

圖1:電路板3D圖

圖2:電路板反面布線圖

圖3:電路板正面布線圖

?? ?首先我們先把我們的電源,最小系統(tǒng),藍牙,oled電機驅(qū)動電路一部分一部分的畫好,我們在設(shè)計的過程中還要檢查一遍,我們設(shè)計的原理圖是不是有問題,硬件原理不能出現(xiàn)問題,這時候我們可以選擇芯片的datasheet,在芯片資料中會明確說明每個引腳的作用,有的芯片還會給出參考的最小系統(tǒng)設(shè)計,我們完全可以按照它給定的和規(guī)定的設(shè)計,這樣也是對我們設(shè)計的原理圖的一種糾錯,確認沒有任何錯誤之后我們就可以進行下一步PCB制圖的制作。

圖4:電路板面3D圖

圖5:電路板整體SW圖

?? ?在PCB制圖之前我們要先得到我們pcb板子的大小和形狀,這時候我們就需要SW了,我們在SW中建好相應(yīng)元器件的模型,我們將這些模型堆砌到一起,最后由我們自己確定最后的電路板板框圖,導(dǎo)出板框圖,我們的電路最終就在電路板的板框圖上繪制。在繪制過程中,我們可以按照實際當中電路的需要而實時更改電路的原理圖,以便我們能更好地布線,布的更美觀,在布線當中我們要分清信號線和電源線,電源線我們要加粗處理,以防載流值不夠燒壞電路板,注意其中我們設(shè)計的螺絲孔,不要忘記它的周圍不要放元器件,在銅皮上寫logo的時候不要忘記加上阻焊層,畫好之后我們最終用3D圖功能看一下我們的電路板,以防我們在設(shè)計當中出現(xiàn)錯誤能及時發(fā)現(xiàn)。最后我們將電路板打樣,此階段完成。

? ? PS:我在視頻當中有口誤的地方,這時候大家不要聽我說的,可以看我的操作,最后說一下,下期我將更新平衡車的軟件部分(程序編寫)。

步驟三:軟件系統(tǒng)設(shè)計

?? ??? ?軟件模塊的程序編寫主要是依據(jù)硬件設(shè)計來的,我們主要設(shè)計的硬件功能有OLED顯示模塊,藍牙模塊,陀螺儀模塊,電機驅(qū)動模塊,和RGB顯示模塊和電壓采集模塊。

1、OLED顯示模塊

主要的人機交互模塊,驅(qū)動方式我們選擇的是軟件IIC,沒有選擇硬件IIC,因為STM32的硬件IIC有BUG,咱們索性也就不用了吧,驅(qū)動見程序源碼。我們主要完成的功能是把我們想要顯示的內(nèi)容通過屏幕顯示出來,由于我沒有過多的顯示出內(nèi)容,只是顯示出來了平衡車的LOGO,更多功能大家可以自己自定義去實現(xiàn)。

?? ?2、藍牙模塊

藍牙模塊傳輸原理就是藍牙透傳模式,也就是我們電腦或者手機連上藍牙的時候不用專門寫驅(qū)動,我們可以通過串口的方式將我們的數(shù)據(jù)讀取出來。由于我并不用藍牙來調(diào)試主要是為了后續(xù)加入手機APP的功能而加入的,在程序中我們就正常初始化STM32的串口功能,TX,RX相反鏈接就可以了。

?? ?3、陀螺儀模塊

我們平衡車當中最重要的一部分,我們主要依靠陀螺儀確定平衡車的姿態(tài)。陀螺儀也是用的軟件IIC。具體源碼見程序源碼。

?? ?4、電機驅(qū)動

電機驅(qū)動如果想驅(qū)動電機我們必須用至少一路pwm和兩個GPIO,所以我們在程序中初始化一個定時器為pwm模式,剩下我們可以任意找兩個IO口當作方向。

?? ?5、電壓采集和RGB燈光

電壓采集我們主要用的STM32的硬件外設(shè)ADC來完成,我們通過外部設(shè)計電路將電壓用電阻分壓的方式分到3.3V以下,這個時候我們就可以用內(nèi)置的ADC采集電壓,之后當ADC采集完成,我們再按照比例反推回去,我們就可以知道電源的電壓了。RGB模塊其實就是一個LED燈里面同時裝了紅、藍、綠三種顏色的燈珠,我們可以將RGB模塊當作正常的燈珠使用就好,注意的是當同時點亮兩個或者三個的時候會有混光。

 

PS:軟件設(shè)計完成差不多我們的項目也就完成,最后我會給大家演示一下平衡車平衡,希望大家學(xué)到。

 

步驟四:實物制作+項目總結(jié)

 

最后跟大家說一下軟件版本:
1、AD 16
2、KEIL-MDK 5.20以上
3、SW 2016
4、CAD 2010

如果大家下載下來的開源包都是好用的,大家可以盡情下載,下載方式SWD,不支持JTAG下載,我在程序中給禁用了,焊接溫度最好保持在220度左右。
版權(quán)聲明:本文內(nèi)容為電路城原創(chuàng)內(nèi)容,未經(jīng)授權(quán)禁止轉(zhuǎn)載,侵權(quán)必究!

  • 全部資料打包.zip
    下載
    描述:全部資料

相關(guān)推薦