色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

簡易mini版平衡小車具體制作過程

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 作者:STM32嵌入式開發(fā) ? 2022-06-23 09:49 ? 次閱讀

STM32平衡小車大家應該見到過很多了,作為學生或者DIY愛好者做一輛小型的mini平衡小車還是可以實現(xiàn)的。給大家?guī)聿┲骼夏咧谱鞯拿阅愕钠胶庾孕熊図椖浚嘈盼覀兡軓闹袑W到一些新東西。在本文將會介紹平衡自行車的具體制作過程,包括機械、電路和代碼。

本項目要說的簡易mini版平衡小車。

自行車平衡理論

模型分析

1 倒立擺

很顯然我們知道自行車在左右方向上不穩(wěn)定,這是一個很常見的物理模型——倒立擺。

b3fa0110-f291-11ec-ba43-dac502259ad0.png

顧名思義,倒立擺的意思就是倒著的擺,比如一個倒著的桿,

b40e828e-f291-11ec-ba43-dac502259ad0.png

倒立擺的特性:不穩(wěn)定,只要偏離平衡位置,就會有一個力(重力的分力)使系統(tǒng)更加偏離平衡位置,這樣偏差就會越來越大。

一般倒立的桿在前后左右方向都有可能倒下,在二維的平面上不穩(wěn)定;而自行車僅在左右方向上可能倒下,是一維的倒立擺,這要簡單一些。

2 自行車的平衡控制

自行車屬于倒立擺模型,倒立擺是不穩(wěn)定的,那么倒立擺應該如何控制才能平衡呢?

我們把問題拆分一下:

怎樣的狀態(tài)才叫平衡?

我們能控制的是什么?

如何控制才能穩(wěn)定平衡?

2.1 怎樣的狀態(tài)才叫平衡

我們要對”平衡”進行數(shù)學描述,所謂的平衡其實就是倒立擺的傾角穩(wěn)定在一個我們想要的值。

b40e828e-f291-11ec-ba43-dac502259ad0.png

通常我們想要平衡在θ = 0處。

2.2 我們能控制的是什么

對于倒立擺模型,通常我們能控制的是底端的力或速度或位置,不同的控制量對應的控制方法不同。

對于自行車來說,它的控制方式不像通常的倒立擺那樣直接控制底部,而是間接地通過轉向來控制,當自行車以一個固定的速度前進時,自行車把手以一定角度進行轉向(設為α),自行車會做相應半徑的圓周運動,產(chǎn)生相應大小的”離心力”。

在自行車這個費慣性系里看來,只要對把手進行一定角度的轉向(α),就會產(chǎn)生一個相應大小的橫向力:

b43a8014-f291-11ec-ba43-dac502259ad0.png

這就是我們進行平衡控制時的實際控制量——把手轉角α,只要控制它就能控制回復力。

2.3 如何控制才能平衡

上面我們已經(jīng)能夠通過轉向產(chǎn)生回復力,這個回復力可以把倒立擺”掰回”平衡位置,有往回掰的回復力就能穩(wěn)定平衡了嗎?

并不是這樣,我們再來回顧一下中學物理:

過阻尼狀態(tài)的擺會以較慢的速度回到平衡位置;欠阻尼狀態(tài)的擺會很快回到平衡位置,但會在平衡位置來回擺動;臨界阻尼狀態(tài)的擺會以最快的速度穩(wěn)定在平衡位置。

結合到實際的自行車平衡中就是:

如果恢復力不夠大,就無法矯正,或者矯正速度很慢,這會導致系統(tǒng)不穩(wěn)定;如果回復力過大,就會導致矯正過度,這也會導致系統(tǒng)不穩(wěn)定;我們最希望的狀態(tài)就是回復力剛剛好,剛好使倒立擺快速回到平衡位置,又不至于矯正過度。

這是一個復雜的數(shù)學計算過程,回復力大小會在系統(tǒng)運行時不斷地計算(本平衡自行車是20ms計算一次),用到的是PID算法,會在后面詳細介紹。

3 自行車平衡需要解決的基本問題

獲取左右方向傾角θ

以合適的算法控制轉角α使系統(tǒng)穩(wěn)定平衡

這將會在下面詳細討論。

姿態(tài)檢測

1 檢測的是什么

檢測的是自行車左右傾斜的角度。

2 怎么檢測

用一個叫gy521的模塊,里面用的是mpu6050芯片,帶有陀螺儀和加速度傳感器

gy521的具體使用會在第三篇-實踐篇介紹,這里我們知道通過這個模塊我們可以得到自行車各個方向的加速度和角速度。注意哦,我們不能直接得到傾斜角度,我們的到的是各個方向的加速度和角速度,需要進行一些復雜的計算才能得到正確的傾斜角度。

常用的算法有互補平衡濾波、卡爾曼濾波。

PID算法

前面已經(jīng)分析了,我們通過控制把手轉角來控制回復力,我們需要實時計算一個合適的回復力使系統(tǒng)穩(wěn)定平衡。

b4451772-f291-11ec-ba43-dac502259ad0.png

有一個小球在光滑球面上,小球的位置是x,光滑球面頂端在L處,我們可以控制小球水平方向力F,現(xiàn)在要求讓小球穩(wěn)定平衡在x0處。

先看簡單情況x0=L,此時偏差為L-x,

我們給出一個比例項(P) F = kp*(L-x),這樣就會有一個回復力,當偏差存在時就會有一個力把小球拉回L處。

這存在的問題是,小球接近L時是會有一定速度的,小球越來越接近L,此時的力仍然是在把小球往L處拉,這會導致小球到達L時(我們想要的位置)速度很大,小球無法立刻停下來,而是會沖過去。

這樣小球就會在L附近來回擺動,這是不穩(wěn)定的狀態(tài),屬于欠阻尼狀態(tài)。

為了解決上述問題需要加一個微分項(D) F = kd*dx/dt = kd*v,所謂”微分”指的是位置x對時間的微分,說白了就是速度。

意思就是當速度越大,就產(chǎn)生一個反向的力使速度減小,這樣就可以防止出現(xiàn)上面小球沖過去的。

可以認為這一項具有”預測”功能,預測小球下一時刻的狀態(tài)從而提前做出反應,預測小球將要到達L處,提前減速。

也可以認為這一項具有阻尼作用,相當于系統(tǒng)中有一個和速度成比例的阻尼力。

這個”阻尼力”調得過小會導致欠阻尼狀態(tài),調得過大會導致過阻尼狀態(tài)。

積分項此時可以不用,積分項是當平衡位置x0不等于L時使用的,

當平衡位置不是L處,那么當小球靜止在平衡位置x0時,由于在坡道上會有一個恒定的橫向偏移力,此時比例調節(jié)作用為0(Δx=0),微分調節(jié)作用也是0(v=0),所以小球在該處無法平衡,會在更遠離平衡位置處達到平衡,那么就會有一個長時間存在的偏差。

積分作用就是檢測偏差進行累積,對于上面這個長時間存在的偏差進行積分(累積疊加),使系統(tǒng)在長時間范圍可以穩(wěn)定在要求的平衡位置。

平衡自行車-實踐篇

在本文將會介紹平衡自行車的具體制作過程,包括機械、電路和代碼。

材料

機械

b45b85f2-f291-11ec-ba43-dac502259ad0.png

電路

b46e61f4-f291-11ec-ba43-dac502259ad0.png

動力部分

傳動方式

如圖,我用的是皮帶或者齒輪傳送的方式,因為比較好實現(xiàn)。

b478877e-f291-11ec-ba43-dac502259ad0.png

電機選擇

這個DIY是不考慮變速情況的,平衡的參數(shù)都是按照一個固定速度調的。

所以動力部分的作用就是提供一個恒定的速度,并且這個速度盡可能穩(wěn)定,盡可能不受外部影響。

電機應選擇扭力大一些、轉速穩(wěn)定的減速電機。

電機供電

電機是直接供電還是使用升壓模塊供電要根據(jù)電機特性,有些電機用升壓模塊可以提高功率,有些大電流電機用升壓模塊反而可能限制了電流。

我這里用升壓模塊升到12v給N20電機供電的。

另外,電機通過三極管受stm32控制,通過控制占空比也可以限制電機輸出的功率。

轉向部分

轉向部分用一個舵機帶動把手轉動即可。

電路

在GitHub工程里有詳細的引腳連接表

https://github.com/nicekwell/balance_bike

供電

用3.3v穩(wěn)壓芯片給整個控制系統(tǒng)供電,包括單片機、GY521模塊、藍牙模塊。

用5v穩(wěn)壓芯片給舵機供電。

用12v升壓模塊給電機供電。

下載

我是用串口給stm32下載程序的。

b4cc1326-f291-11ec-ba43-dac502259ad0.png

GY521

這個模塊通過i2c通信,只需要連接4根線。

3.3v

GND

PB0 GY521 I2C SCL

PB1 GY521 I2C SDA (用的是IO模擬i2c)

電機

點擊用12v升壓模塊供電,由于不需要反轉,用三極管即可直接驅動,電路圖如下:

b4d76cbc-f291-11ec-ba43-dac502259ad0.png

加三極管的目的是為了可以通過調節(jié)PWM占空比來限制輸出功率,但我的實際情況是100%輸出時動力才勉強足夠。相關推薦:STM32中PWM的配置與應用詳解。所以如果你不需要限制電機輸出功率,或者通過其他方式限制輸出功率,也可以不要三極管,不通過單片機控制。

舵機

舵機是用5v供電的,而單片機是3.3v電平,對于PWM控制腳可以通過2個三極管實現(xiàn)同相的電平轉換:

b4e0cfd2-f291-11ec-ba43-dac502259ad0.png

藍牙模塊

下圖是我使用的藍牙串口模塊,可以實現(xiàn)串口透傳,只需要4根線連接:vcc、gnd、txd、rxd。

b4f0e106-f291-11ec-ba43-dac502259ad0.png

藍牙模塊是用來調試和遙控的,沒有它也能跑。建議還是加上這個模塊,在調試PID擦數(shù)時會非常方便。相關文章:PID算法原理介紹。

代碼結構

代碼提交在GitHub,點擊閱讀原文直達。

主要分為3個部分:

基礎的驅動程序,實現(xiàn)電機、舵機、gy521數(shù)據(jù)讀取;

平衡控制系統(tǒng),核心是一個20ms定時器,每20ms進行一次數(shù)據(jù)采集、計算和響應;

遙控和調試系統(tǒng),實現(xiàn)log輸出、接收遙控信息

b507bd7c-f291-11ec-ba43-dac502259ad0.png

平衡控制

main函數(shù)會初始化一個定時器20ms中斷一次,調用 main/balance.c 里的 balance_tick 函數(shù),平衡算法在 main/balance.c 實現(xiàn)。

每20ms到來會執(zhí)行一次:

讀取傳感器加速度和角速度信息。

互補平衡濾波計算當前姿態(tài)。

用PID算法計算出前輪轉角。

遙控和調試

兩部分:狀態(tài)輸出和指令接收。

狀態(tài)輸出

在main函數(shù)的while循環(huán)里,利用串口中斷構建一個簡單的界面顯示狀態(tài)。

指令接收

串口接收到的數(shù)據(jù)會傳給main/control.c,該文件分析串口數(shù)據(jù),解釋成相應的操作。主要是PID參數(shù)調節(jié)。

點擊閱讀原文,可以獲取平衡自行車完整的代碼

老倪

http://nicekwell.net/blog/20180123/ping-heng-zi-xing-che-shi-jian-pian.html

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3253

    瀏覽量

    48874
  • 平衡小車
    +關注

    關注

    1

    文章

    39

    瀏覽量

    12508

原文標題:STM32平衡自行車項目,你也可以試試!文末附代碼

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    半導體制過程解析

    在這篇文章中,我們將學習基本的半導體制過程。為了將晶圓轉化為半導體芯片,它需要經(jīng)歷一系列復雜的制造過程,包括氧化、光刻、刻蝕、沉積、離子注入、金屬布線、電氣檢測和封裝等。
    的頭像 發(fā)表于 10-16 14:52 ?654次閱讀
    半導<b class='flag-5'>體制</b>造<b class='flag-5'>過程</b>解析

    簡述DMA控制器的工作過程

    DMA(Direct Memory Access)控制器的工作過程是一個復雜但高效的硬件執(zhí)行過程,它實現(xiàn)了內(nèi)存與外設之間直接的數(shù)據(jù)傳輸,顯著減輕了CPU的負擔,提高了數(shù)據(jù)處理的效率。
    的頭像 發(fā)表于 08-20 10:35 ?1111次閱讀

    STM32平衡小車原理圖

    STM32f103c8t6平衡小車原理圖
    發(fā)表于 07-05 10:54 ?1次下載

    反饋控制的工作過程和特點

    對被控對象的精確控制。本文將詳細闡述反饋控制的基本原理,包括其定義、特點、工作過程、類型以及在工業(yè)自動化中的應用等方面。
    的頭像 發(fā)表于 06-17 11:48 ?1445次閱讀

    ADC的SNR指標 ADC的工作過程介紹

    以前的文章有講過有講到,ADC的工作過程,可以看成采樣和量化兩個步驟。
    的頭像 發(fā)表于 05-28 18:18 ?1541次閱讀
    ADC的SNR指標 ADC的工<b class='flag-5'>作過程</b>介紹

    AGV小車使用避障雷達

    AGV(自動導引車)小車使用避障雷達是為了確保其在運行過程中的安全性和穩(wěn)定性。避障雷達,如激光雷達或超聲波雷達,能夠實時檢測并避免與障礙物發(fā)生碰撞。 AGV小車避障雷達的安裝和使用通常涉及以下
    的頭像 發(fā)表于 05-20 10:48 ?644次閱讀

    音箱制作過程圖解

    電子發(fā)燒友網(wǎng)站提供《音箱制作過程圖解.doc》資料免費下載
    發(fā)表于 04-28 09:27 ?10次下載

    電阻柜的電阻元件如何制作

    電阻元件的制作過程中需要嚴格遵守相關的工藝規(guī)范和安全操作規(guī)程,以確保電阻元件的質量和可靠性。同時,制作過程中還需注意環(huán)保和節(jié)能,選擇環(huán)保材料和節(jié)能工藝,降低電阻柜對環(huán)境的影響。
    的頭像 發(fā)表于 03-08 15:50 ?424次閱讀
    電阻柜的電阻元件如何<b class='flag-5'>制作</b>?

    電路板pcb制作過程

    電路板pcb制作過程
    的頭像 發(fā)表于 03-05 10:26 ?1267次閱讀

    音視頻解碼生成在多媒體制作中的應用

    音視頻解碼生成是多媒體制作中不可或缺的一部分,它扮演著將編碼的音視頻數(shù)據(jù)轉化為可播放、可編輯的內(nèi)容的關鍵角色。在多媒體制作的全過程中,音視頻解碼生成技術都有廣泛的應用。 1. 視頻編輯與后期
    的頭像 發(fā)表于 02-21 14:39 ?385次閱讀

    【電磁兼容技術文檔分享】頻譜儀應用案例&amp;amp;簡易探頭的制作

    【電磁兼容技術文檔分享】頻譜儀應用案例&簡易探頭的制作
    的頭像 發(fā)表于 02-19 13:20 ?997次閱讀
    【電磁兼容技術文檔分享】頻譜儀應用案例&amp;amp;<b class='flag-5'>簡易</b>探頭的<b class='flag-5'>制作</b>

    光纖傳輸信息時的工作過程

    光電轉換工作過程如下: 變頻器主控芯片將驅動IGBT開關的信息由電信號信號轉換成光信號,請問這個轉換過程是通過什么電路完成的,而且傳輸驅動信息時是同一相的上下橋臂同時發(fā)送的,在發(fā)送端是怎么組合驅動
    發(fā)表于 02-03 11:33

    半導體制造工藝科普

    半導體元件制造涉及到一系列復雜的制作過程,將原材料轉化為成品元件,以應用于提供各種關鍵控制和傳感功能應用的需求。
    的頭像 發(fā)表于 01-12 09:28 ?1752次閱讀
    半導<b class='flag-5'>體制</b>造工藝科普

    基于瑞薩RA2E1 MCU芯片的藍牙平衡小車設計

    本項目由瑞薩RA2E1 MCU芯片作為主控,搭載電源模塊、MPU6050模塊、超聲波模塊、OLED模塊、藍牙模塊、電機模塊等組成的藍牙平衡小車。該小車平衡模式、跟隨模式和避障模式三種
    的頭像 發(fā)表于 01-08 12:17 ?1819次閱讀
    基于瑞薩RA2E1 MCU芯片的藍牙<b class='flag-5'>平衡</b><b class='flag-5'>小車</b>設計

    Arduino制作循跡小車教程

    Arduino制作循跡小車完全教程
    發(fā)表于 01-05 11:09 ?7次下載
    主站蜘蛛池模板: 国产精品久久久久久免费字体| 香蕉鱼视频观看在线视频下载| 爱做久久久久久| 午夜日韩久久影院| 男人的天堂色| 久久99re热在线观看视频| 出租屋交换人妻 全文| 永久免费在线视频| 校园高h肉耽文| 日本68xxxxxxxxx老师| 久久精品国产免费播放| 国产精品久久久亚洲偷窥女厕| 99国产在线精品视频| 一本道中文无码亚洲| 香蕉动漫库| 秋霞电影网午夜鲁丝片无码| 久久免费特黄毛片| 国产综合视频在线观看一区| 超碰高清熟女一区二区| 4480yy午夜私人影院| 亚洲中文字幕国产综合| 午夜伦伦电影理论片大片| 日韩欧美一区二区中文字幕 | 野草视频在线观看| 性色爽爱性色爽爱网站| 色多多污污在线播放免费| 欧美国产一区二区三区激情无套| 久久国产精品二区99| 寂寞护士中文字幕 mp4| 国产在线观看免费观看| 国产精品无码视频一区二区| 国产AV无码熟妇人妻麻豆| 成人毛片免费播放| JLZZJLZZJLZ老师好多的水| 99国产精品综合AV无码| 97无码欧美熟妇人妻蜜| 99re6久久在热线视频| 99久久精品6在线播放| 99精品国产第一福利网站| 中文字幕一区二区三区在线播放| 一个人看www|