在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

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

STM32嵌入式開發 ? 來源:STM32嵌入式開發 ? 作者:STM32嵌入式開發 ? 2022-06-23 09:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32平衡小車大家應該見到過很多了,作為學生或者DIY愛好者做一輛小型的mini平衡小車還是可以實現的。給大家帶來博主老倪制作的迷你的平衡自行車項目,相信我們能從中學到一些新東西。在本文將會介紹平衡自行車的具體制作過程,包括機械、電路和代碼。

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

自行車平衡理論

模型分析

1 倒立擺

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

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

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

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

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

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

2 自行車的平衡控制

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

我們把問題拆分一下:

怎樣的狀態才叫平衡?

我們能控制的是什么?

如何控制才能穩定平衡?

2.1 怎樣的狀態才叫平衡

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

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

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

2.2 我們能控制的是什么

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

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

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

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

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

2.3 如何控制才能平衡

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

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

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

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

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

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

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

獲取左右方向傾角θ

以合適的算法控制轉角α使系統穩定平衡

這將會在下面詳細討論。

姿態檢測

1 檢測的是什么

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

2 怎么檢測

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

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

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

PID算法

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

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

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

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

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

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

這樣小球就會在L附近來回擺動,這是不穩定的狀態,屬于欠阻尼狀態。

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

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

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

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

這個”阻尼力”調得過小會導致欠阻尼狀態,調得過大會導致過阻尼狀態。

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

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

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

平衡自行車-實踐篇

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

材料

機械

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

電路

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

動力部分

傳動方式

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

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

電機選擇

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

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

電機應選擇扭力大一些、轉速穩定的減速電機。

電機供電

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

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

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

轉向部分

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

電路

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

https://github.com/nicekwell/balance_bike

供電

用3.3v穩壓芯片給整個控制系統供電,包括單片機、GY521模塊、藍牙模塊。

用5v穩壓芯片給舵機供電。

用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

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

舵機

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

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

藍牙模塊

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

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

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

代碼結構

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

主要分為3個部分:

基礎的驅動程序,實現電機、舵機、gy521數據讀取;

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

遙控和調試系統,實現log輸出、接收遙控信息。

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

平衡控制

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

每20ms到來會執行一次:

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

互補平衡濾波計算當前姿態。

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

遙控和調試

兩部分:狀態輸出和指令接收。

狀態輸出

在main函數的while循環里,利用串口中斷構建一個簡單的界面顯示狀態。

指令接收

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

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

老倪

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

審核編輯 :李倩

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

    關注

    1

    文章

    3516

    瀏覽量

    50342
  • 平衡小車
    +關注

    關注

    1

    文章

    39

    瀏覽量

    12750

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    各位大神,請教機械式光開關的制作過程

    各位大神,請教機械式光開關的制作過程,想了解一下準直器將輸入端固定,通過驅動馬達將不同輸出端準直器與輸入端耦合。如何才能對準。
    發表于 04-21 13:14

    最全最詳盡的半導體制造技術資料,涵蓋晶圓工藝到后端封測

    ——薄膜制作(Layer)、圖形光刻(Pattern)、刻蝕和摻雜,再到測試封裝,一目了然。 全書共分20章,根據應用于半導體制造的主要技術分類來安排章節,包括與半導體制造相關的基礎技術信息;總體流程圖
    發表于 04-15 13:52

    半導體制過程中的三個主要階段

    前段工藝(Front-End)、中段工藝(Middle-End)和后段工藝(Back-End)是半導體制過程中的三個主要階段,它們在制造過程中扮演著不同的角色。
    的頭像 發表于 03-28 09:47 ?2555次閱讀
    半導<b class='flag-5'>體制</b>造<b class='flag-5'>過程</b>中的三個主要階段

    【開源共享】平衡小車制作資料,pcb與原理圖,源碼,藍牙,app

    平衡小車的所有資料,pcb與原理圖加上源碼,兩塊stm32單片機,一塊做姿態解算,一塊控制處理,加上無線遙控APP。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內容有幫助可以關注、點贊、評論支持一下哦~)
    發表于 03-27 16:57

    松下MPS媒體制作平臺概述

    MPS媒體制作平臺是一款免費的綜合性軟件平臺,專為解決視頻制作中的繁雜問題而打造。它將松下攝像機的設置、管理和控制功能集于一體,能適應線上講座、網絡研討會、學術會議、現場活動等各類場景,有效提升視頻制作質量,簡化工作流程。
    的頭像 發表于 02-05 11:18 ?562次閱讀

    SAR ADC的工作過程和關鍵指標

    ADC以其低功耗、高精度、小尺寸以及適中的速度和分辨率,在中等至高分辨率應用中占據主導地位。本文將詳細介紹SAR ADC的概念、工作過程、關鍵指標以及其在不同領域的應用。
    的頭像 發表于 02-02 13:57 ?1341次閱讀

    GUC65(A)礦用本安型位置傳感器制作過程

    礦用本安型位置傳感器的制作過程需要嚴格遵守相關的安全規范和標準,確保傳感器的安全性和可靠性。同時,在生產過程中還需要注意環境保護和節能減排等要求。具體制作過程可能會因產品規格、制造商
    的頭像 發表于 01-07 10:18 ?488次閱讀

    HDI板盲孔制作常見缺陷及解決

    HDI板是一種高密度互連印刷電路板,其特點是線路密度高、孔徑小、層間連接復雜。在HDI板的制作過程中,盲孔的制作是一個關鍵步驟,同時也是常見的缺陷發生環節。以下是根據搜索結果總結的HDI板盲孔制作的常見缺陷及其解決方法。
    的頭像 發表于 11-02 10:33 ?1081次閱讀

    半導體制過程解析

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

    極化整流器的作用和工作過程

    極化整流器作為電化學整流系統的重要組成部分,在電解槽的保護和穩定運行中發揮著關鍵作用。本文將詳細闡述極化整流器的定義、作用、工作過程以及其在電解槽中的應用。
    的頭像 發表于 10-11 10:27 ?1829次閱讀

    可調電源電路穩壓工作過程是什么

    可調電源電路是一種電子設備,它可以提供可調節的電壓和電流輸出,廣泛應用于電子實驗、設備測試和維修等領域。穩壓工作過程是可調電源電路的核心功能之一,它確保輸出電壓在負載變化或輸入電壓波動時保持穩定
    的頭像 發表于 10-09 17:12 ?824次閱讀

    松下MPS媒體制作平臺的優勢和功能

    松下MPS媒體制作平臺是一個多元化的服務平臺,它將一體化攝像機的多種配套軟件整合到一個統一的環境中,提供了豐富的功能和直觀的操作界面,讓用戶的使用體驗更便捷、更高效。
    的頭像 發表于 09-19 10:04 ?721次閱讀
    松下MPS媒<b class='flag-5'>體制作</b>平臺的優勢和功能

    第五章-PWM控制電機 開源stm32循跡小車詳細制作過程(附加完全版代碼)

    萬字筆記、12多個小時視頻、20多章節代碼手把手教會你如何開發和調試。讓你更快掌握嵌入式系統開發。** V3.3.0-STM32智能小車 視頻: https
    的頭像 發表于 08-21 16:49 ?1199次閱讀
    第五章-PWM控制電機 開源stm32循跡<b class='flag-5'>小車</b>詳細<b class='flag-5'>制作過程</b>(附加完全版代碼)

    簡述DMA控制器的工作過程

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

    松下MPS媒體制作平臺的設備查看功能

    松下MPS媒體制作平臺是一個多元化的服務平臺,用戶可以在統一的界面上進行不同需求的功能操作,無需再單獨一個個打開軟件,讓用戶的使用體驗更便捷、更高效。
    的頭像 發表于 08-08 14:11 ?684次閱讀
    松下MPS媒<b class='flag-5'>體制作</b>平臺的設備查看功能
    主站蜘蛛池模板: 日本美女视频网站 | 操久久久| 日产精品卡二卡三卡四卡乱码视频 | 五月情婷婷 | 四虎黄色 | 五月婷婷综合激情网 | 亚洲欧美日本综合 | 欧美一级黄色影片 | 国产日韩一区二区三区 | 日本a级三级三级三级久久 日本a级影院 | 三级网站在线免费观看 | 大美女久久久久久j久久 | 久久国产中文字幕 | 午夜视频在线观看国产www | 永久视频免费 | bt天堂网www连接 | 性欧美高清极品猛交 | 国产免费人成在线看视频 | 欧美三级网站 | 亚洲高清一区二区三区四区 | 日韩欧美卡一卡二卡新区 | 怡红院精品视频 | 又黄又免费的网站 | 日本aaaaa特黄毛片 | 亚洲日本视频 | 日韩毛片免费 | 老师喂我吃她的奶水脱她胸罩 | 在线观看黄的网站 | 亚洲国产成人在线 | 国产在视频线精品视频2021 | 免费看啪啪的网站 | 色婷婷六月桃花综合影院 | 色香蕉色香蕉在线视频 | 一级在线免费视频 | 国产欧美日韩电影 | 国产亚洲精品久久久久久牛牛 | 狠狠色丁香婷婷综合久久片 | 综合网自拍 | 三级网站在线免费观看 | 国产精品看片 | 四虎影城 |