基于角動(dòng)量守恒的單輪自平衡機器人實(shí)驗設計
*基金項目:吉林省高等教育教學(xué)改革研究課題,項目編號JLJY202337849316
本文引用地址:http://dyxdggzs.com/article/202308/449161.htm角動(dòng)量是描述物體轉動(dòng)特征的一個(gè)物理量,角動(dòng)量守恒定律是自然界的基本守恒定律之一[1],是大學(xué)物理課程教學(xué)的重點(diǎn)和難點(diǎn)[2]。在日常生活中,經(jīng)常會(huì )遇到質(zhì)點(diǎn)或質(zhì)點(diǎn)系圍繞某一定點(diǎn)或定軸轉動(dòng)的情況。例如,地球的自轉、飛機機翼的轉動(dòng)等[3],以往角動(dòng)量守恒多采用陀螺儀實(shí)驗進(jìn)行演示,趣味性一般。本文利用角動(dòng)量守恒原理進(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 所示。
圖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)。
(1)
(2)
式(2)中,M為合外力矩,若M = 0 ,則L = 常矢量,這稱(chēng)為角動(dòng)量守恒定律。守恒條件,如公式(3) 所示。
(3)
2 硬件設計
硬件設計包括電路設計與機械結構設計2 個(gè)部分,電路設計部分需要重點(diǎn)考慮電源設計及電機驅動(dòng)電路設計。機械結構部分根據電機與電路的大小進(jìn)行裝配,需要考慮行進(jìn)輪與慣量輪的安裝及位置。
2.1 電路設計
電路設計部分采用STM32F103c8t6 作為核心控制器,用于系統的整體協(xié)調控制與PID 算法實(shí)現,MPU6050傳感器用于采集當前機器人的角度狀態(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。
圖2 電路總體框架圖
2.2 電機驅動(dòng)電路
TB6612FNG 芯片能耗相對較低,具有大電流MOSFET-H 橋結構,雙通道電路輸出。系統有兩個(gè)電機,分別是位于上方的無(wú)刷電機和位于下方的直流電機,無(wú)刷電機驅動(dòng)慣性輪控制機器人的左右方向平衡,直流電機驅動(dòng)行進(jìn)輪控制機器人的前后方向平衡。具體驅動(dòng)電路如圖3 所示。
圖3 電機驅動(dòng)電路圖
2.3 機械結構設計
機械結構部分的設計主要是各個(gè)器件之間的裝配,需要盡量在重量上保持前后方向和水平方向上的平衡,圖4 為機器人整體設計結構的示意圖,主要由慣量輪、行進(jìn)輪,2 個(gè)電機,電池、以及電路板組成,行進(jìn)輪與慣量輪均與電機連接,慣量輪的尺寸參數如圖4 所示。
圖4 機器人結構及慣量輪參數圖
3 程序設計
3.1 軟件總體結構圖
軟件部分包括4 個(gè)部分,分別是姿態(tài)信息采集程序、PID控制程序、電機驅動(dòng)程序、OLED 顯示程序,軟件總體結構圖如圖5 所示。
圖5 軟件總體結構圖
3.2 機器人平衡控制原理
如圖6 所示為行進(jìn)輪與慣量輪的PID 控制框圖,結合框圖說(shuō)明機器人保持平衡的原理。行進(jìn)輪用于控制機器人的俯仰角度,相當于一個(gè)倒立擺的模型,最終的目標是要保持擺桿的角度達到90°,也就是垂直的狀態(tài),這是理想狀態(tài),實(shí)際上很難達到,因此需要借助PID控制來(lái)實(shí)現,通過(guò)MPU6050 實(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]。
圖6 行進(jìn)輪及慣量輪PID控制框圖
3.3 主程序設計
單片機的主程序流程圖如圖7 所示。STM32 單片機每5 ms 中斷1 次獲取MPU6050 信息,采集到角速度、加速度信息,再通過(guò)PID 算法控制,先計算出偏差,將采集到的角度信息,計算傾角偏差,即平衡的角度中值和機械中值之差,再求偏差的微分,進(jìn)行微分控制,最后計算出傾角控制的機PWM 值并進(jìn)行返回。將得到的控制量作用于電機,實(shí)現PID 控制,并不斷循環(huán)往復。
圖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。
圖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和位置式PID算法的整定比較與研究[J].工業(yè)控制計算機,2018,31(5):123-124.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2023年7月期)
評論