<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于角動(dòng)量守恒的單輪自平衡機器人實(shí)驗設計

基于角動(dòng)量守恒的單輪自平衡機器人實(shí)驗設計

作者:?楊風(fēng)健,王永歡(吉林醫藥學(xué)院,吉林 132013) 時(shí)間:2023-08-01 來(lái)源:電子產(chǎn)品世界 收藏
編者按:為驗證角動(dòng)量守恒定律,設計完成了單輪自平衡機器人的軟硬件實(shí)現方案?;诮莿?dòng)量守恒定理,以STM32單片機為主控制器,通過(guò)MPU6050陀螺儀加速度傳感器檢測機器人姿態(tài)信息,利用PID算法計算出PWM驅動(dòng)電機的占空比,進(jìn)而驅動(dòng)直流電機和無(wú)刷電機轉動(dòng)來(lái)保持機器人平衡。實(shí)驗表明,本方案可以實(shí)現單輪自平衡機器人的自啟動(dòng)、站立及行進(jìn)功能。

*基金項目:吉林省高等教育教學(xué)改革研究課題,項目編號JLJY202337849316

本文引用地址:http://dyxdggzs.com/article/202308/449161.htm

角動(dòng)量是描述物體轉動(dòng)特征的一個(gè)物理量,定律是自然界的基本守恒定律之一[1],是大學(xué)物理課程教學(xué)的重點(diǎn)和難點(diǎn)[2]。在日常生活中,經(jīng)常會(huì )遇到質(zhì)點(diǎn)或質(zhì)點(diǎn)系圍繞某一定點(diǎn)或定軸轉動(dòng)的情況。例如,地球的自轉、飛機機翼的轉動(dòng)等[3],以往多采用陀螺儀實(shí)驗進(jìn)行演示,趣味性一般。本文利用原理進(jìn)行單輪自平衡機器人的設計與研究,并實(shí)現機器人的站立與行進(jìn)等操作,可極大提升學(xué)生的學(xué)習興趣,演示效果更加直觀(guān),并通過(guò)機械結構設計、電路設計及編程控制等操作,有助于學(xué)生理解其理論實(shí)質(zhì)。

1 角動(dòng)量守恒定律

動(dòng)量是反映質(zhì)點(diǎn)運動(dòng)狀態(tài)的物理量,而角動(dòng)量是反映剛體轉動(dòng)狀態(tài)的物理量,角動(dòng)量守恒定律是物理學(xué)中一種普遍的定律[4]。在不受外力的作用下,或所受諸外力對某定點(diǎn)(或定軸)的合外力矩始終等于零的質(zhì)點(diǎn)和質(zhì)點(diǎn)系圍繞該點(diǎn)(或軸)運動(dòng)的普遍規律。質(zhì)點(diǎn)角動(dòng)量圖,如圖1 所示。

image.png

圖1 質(zhì)點(diǎn)角動(dòng)量圖

如式(1) 所示,式中L為角動(dòng)量; r為半徑;P為動(dòng)量; m為質(zhì)量;v為質(zhì)點(diǎn)線(xiàn)速度; w為角速度;轉動(dòng)慣量就是質(zhì)量m乘以半徑r的平方;當質(zhì)量m與半徑r不變時(shí),角動(dòng)量L 只與角速度w 有關(guān)。

1690865132573409.png   (1)

image.png   (2)

式(2)中,M為合外力矩,若M = 0 ,則L = 常矢量,這稱(chēng)為角動(dòng)量守恒定律。守恒條件,如公式(3) 所示。

image.png   (3)

2 硬件設計

硬件設計包括電路設計與機械結構設計2 個(gè)部分,電路設計部分需要重點(diǎn)考慮電源設計及電機驅動(dòng)電路設計。機械結構部分根據電機與電路的大小進(jìn)行裝配,需要考慮行進(jìn)輪與慣量輪的安裝及位置。

2.1 電路設計

電路設計部分采用STM32F103c8t6 作為核心控制器,用于系統的整體協(xié)調控制與PID 算法實(shí)現,傳感器用于采集當前機器人的角度狀態(tài),OLED12864用于顯示各項指標參數,如:車(chē)輪轉速、電池電量、角速度顯示、角度顯示等信息,電機驅動(dòng)電路需要驅動(dòng)1個(gè)直流電機和1 個(gè)無(wú)刷電機,無(wú)刷電機帶動(dòng)慣量輪轉動(dòng),直流電機帶動(dòng)行進(jìn)輪轉動(dòng),電機的驅動(dòng)電壓為12 V,該電源由鋰電池直接提供,單片機及其余電路均在3.3 V電壓下工作,因此需采用DC-DC 變換電路將電壓轉換至3.3 V。

1690865335427132.png

圖2 電路總體框架圖

2.2 電機驅動(dòng)電路

TB6612FNG 芯片能耗相對較低,具有大電流MOSFET-H 橋結構,雙通道電路輸出。系統有兩個(gè)電機,分別是位于上方的無(wú)刷電機和位于下方的直流電機,無(wú)刷電機驅動(dòng)慣性輪控制機器人的左右方向平衡,直流電機驅動(dòng)行進(jìn)輪控制機器人的前后方向平衡。具體驅動(dòng)電路如圖3 所示。

image.png

圖3 電機驅動(dòng)電路圖

2.3 機械結構設計

機械結構部分的設計主要是各個(gè)器件之間的裝配,需要盡量在重量上保持前后方向和水平方向上的平衡,圖4 為機器人整體設計結構的示意圖,主要由慣量輪、行進(jìn)輪,2 個(gè)電機,電池、以及電路板組成,行進(jìn)輪與慣量輪均與電機連接,慣量輪的尺寸參數如圖4 所示。

1690865498663316.png

1690865511592545.png

圖4 機器人結構及慣量輪參數圖

3 程序設計

3.1 軟件總體結構圖

軟件部分包括4 個(gè)部分,分別是姿態(tài)信息采集程序、PID控制程序、電機驅動(dòng)程序、OLED 顯示程序,軟件總體結構圖如圖5 所示。

1690865569797715.png

圖5 軟件總體結構圖

3.2 機器人平衡控制原理

如圖6 所示為行進(jìn)輪與慣量輪的PID 控制框圖,結合框圖說(shuō)明機器人保持平衡的原理。行進(jìn)輪用于控制機器人的俯仰角度,相當于一個(gè)倒立擺的模型,最終的目標是要保持擺桿的角度達到90°,也就是垂直的狀態(tài),這是理想狀態(tài),實(shí)際上很難達到,因此需要借助PID控制來(lái)實(shí)現,通過(guò) 實(shí)時(shí)采集姿態(tài)信息,結合PID 算法,驅動(dòng)電機轉動(dòng),進(jìn)而控制行進(jìn)輪轉動(dòng),保持擺桿角度在90°左右擺動(dòng)。慣量輪用于控制機器人的橫滾角度,理想狀態(tài)是要達到慣量輪的轉速為0 m/s,也就是慣量輪不轉動(dòng),處于動(dòng)量守恒狀態(tài),實(shí)際上很難達到,需要借助PID 控制不斷修正慣量輪的轉速,借助慣量輪旋轉的反作用了使機器人保持平衡[5]。

1690865639225052.png

圖6 行進(jìn)輪及慣量輪PID控制框圖

3.3 主程序設計

單片機的主程序流程圖如圖7 所示。STM32 單片機每5 ms 中斷1 次獲取 信息,采集到角速度、加速度信息,再通過(guò)PID 算法控制,先計算出偏差,將采集到的角度信息,計算傾角偏差,即平衡的角度中值和機械中值之差,再求偏差的微分,進(jìn)行微分控制,最后計算出傾角控制的機PWM 值并進(jìn)行返回。將得到的控制量作用于電機,實(shí)現PID 控制,并不斷循環(huán)往復。

1690865706561437.png

圖7 主程序流程

3.4 PID計算

位置閉環(huán)控制是根據電機的實(shí)時(shí)位置信息與機械中值做差得到位置偏差,然后對偏差進(jìn)行比例、積分、微分控制,使偏差趨向于零的過(guò)程[6,7]。機械中值是設定在平衡狀態(tài)下的一個(gè)值,有前后平衡和左右平衡的機械中值。利用式(4)計算PWM 值,derivative 為微分項,integral 為積分項,error 為誤差。

pwm_ control=Kp*error+Ki*integral+Kd *derivative   (4)

4 系統測試

設計完成的作品實(shí)物如圖8 所示,PID 參數的具體數值需要根據具體的單輪自平衡小車(chē)的機械結構、電路特性以及環(huán)境條件等因素來(lái)確定。通常情況下,PID 參數的調整需要進(jìn)行一定的試驗和優(yōu)化,以達到最佳的控制效果。比例系數Kp:根據經(jīng)驗數據,可以設置為車(chē)身重心高度與車(chē)輪半徑之比的2~3 倍。積分系數Ki:一般可以設置為Kp的1/10 或1/20。微分系數Kd:一般可以設置為Kp的1/5 或1/10。

image.png

圖8 平衡狀態(tài)實(shí)物圖

5 結束語(yǔ)

本文基于STM32 單片機及動(dòng)量守恒定律實(shí)現了單輪自平衡機器人的設計,電路設計較為精簡(jiǎn),學(xué)生在設計過(guò)程中可以綜合利用機械設計、電路設計、單片機程序設計的知識和技能,并且對于PID 算法會(huì )有更深入的理解,因此將此作品作為電子信息類(lèi)專(zhuān)業(yè)學(xué)生的項目式實(shí)踐教學(xué)案例是較好的選擇。

參考文獻:

[1] 姬洪偉,包敏,吳鵬,等.一種角動(dòng)量守恒演示儀的設計[J].大學(xué)物理實(shí)驗,2020,33(3):72-74.

[2] 李小芳,王志梅.角動(dòng)量守恒定律的應用[J].長(cháng)春工業(yè)大學(xué)學(xué)報,2019,40(4):378-382.

[3] 劉玉麗,王鈺茹,張蕓,等.角動(dòng)量守恒定律在軍事中的應用[J].江西科學(xué),2021,39(4):616-618+669.

[4] 喻莉,劉洋,周本元,等.關(guān)于“角動(dòng)量及其守恒定律”的教學(xué)改革實(shí)踐[J].物理通報,2021(12):17-19.

[5] 呂強,王平,張皓潔.獨輪車(chē)自平衡控制系統實(shí)驗平臺設計[J].實(shí)驗室研究與探索,2017,36(7):35-38+79.

[6] 王婷婷,王宏志,劉清雪,等.遺傳算法優(yōu)化的無(wú)刷直流電機模糊PID控制器設計[J].吉林大學(xué)學(xué)報(理學(xué)版),2020,58(6):1421-1428.

[7] 王祎晨.增量式PID和位置式的整定比較與研究[J].工業(yè)控制計算機,2018,31(5):123-124.

(本文來(lái)源于《電子產(chǎn)品世界》雜志2023年7月期)



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>