一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

【精選好文】玩轉(zhuǎn)OpenHarmony PID:教你打造兩輪平衡車

電子發(fā)燒友論壇 ? 來源:未知 ? 2022-12-27 09:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

此次為大家?guī)淼氖荗penAtom OpenHarmony(以下簡稱“OpenHarmony”)系統(tǒng)與PID控制算法相結(jié)合并落地的平衡車項(xiàng)目。 PID控制算法是一種經(jīng)典的,并被廣泛應(yīng)用在控制領(lǐng)域的算法。類似于這種:需要將某一個(gè)物理量保持穩(wěn)定的場合,比如維持平衡,穩(wěn)定溫度、轉(zhuǎn)速等,PID都會(huì)適用。在四軸飛行器,平衡小車、汽車定速巡航、溫度控制器等場景均有應(yīng)用。 08b11fd4-8583-11ed-bfe3-dac502259ad0.png08ca2cea-8583-11ed-bfe3-dac502259ad0.png ?通過本樣例的學(xué)習(xí),開發(fā)者能夠?qū)penHarmony系統(tǒng)設(shè)備端開發(fā)有進(jìn)一步的認(rèn)識,還能夠掌握PID控制算法的使用。本樣例使用OpenHarmony 3.2 Beta1操作系統(tǒng),硬件平臺采用小熊派BearPi-HM Nano(Hi3861)開發(fā)板。 本樣例效果動(dòng)圖: 08e982fc-8583-11ed-bfe3-dac502259ad0.gif092f6772-8583-11ed-bfe3-dac502259ad0.gif ?

硬件配置資源

  • 兩輪平衡小車主要硬件資源:
  • 主控CPU:小熊派BearPi-HM Nano(Hi3861)開發(fā)板;
  • 陀螺儀:MPU6050六軸陀螺儀傳感器
  • 左右輪:帶有霍爾傳感器的直流電機(jī);
  • 小車平臺及結(jié)構(gòu)件資源可以自行在相關(guān)網(wǎng)站獲得。

原理概括

poYBAGQL6wuAI2mxAAB-3MA1l5A344.png ?小時(shí)候都玩過上圖游戲吧:木桿立在手指上,盡量保持木桿直立不倒。 當(dāng)木桿向前傾斜時(shí),我們會(huì)往前行走,以用來抵消木桿的前傾;往后傾斜時(shí),我們會(huì)往后倒退。對的!沒錯(cuò)!你猜對了。平衡車的控制原理就是這樣: 0f1c4c36-8583-11ed-bfe3-dac502259ad0.png ?

PID算法介紹

平衡車的控制離不開對PID算法的應(yīng)用。那么什么是PID算法?它能解決什么問題? PID算法:就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種常見的“保持穩(wěn)定”控制算法。 0f394994-8583-11ed-bfe3-dac502259ad0.png0f4cb4e8-8583-11ed-bfe3-dac502259ad0.gif ?結(jié)合兩輪平衡車的場景,對PID參數(shù)的認(rèn)識如下:
  • P比例參數(shù):該參數(shù)能夠快速讓小車達(dá)到平衡狀態(tài),但是由于控制是滯后的,以及是慣性系統(tǒng),容易帶來超調(diào),即小車會(huì)出現(xiàn)前后搖擺的現(xiàn)象。所以P參數(shù)不能太大;
  • I積分參數(shù):小車由于摩擦力或者風(fēng)阻力,并且P不能太大,只靠P控制有可能達(dá)不到穩(wěn)定狀態(tài),所以需要加入I積分參數(shù),消除穩(wěn)態(tài)誤差;
  • D微分參數(shù):平衡小車維持的是傾斜角度要為平衡角度,由于PI參數(shù)使小車振蕩,小車會(huì)出現(xiàn)前后搖擺現(xiàn)象,加入D微分參數(shù)能夠消除小車的振蕩。

兩步搭建樣例工程

在OpenHarmony源碼基礎(chǔ)上,兩步構(gòu)建平衡小車代碼。(OpenHarmony源碼下載路徑及BearPi-HM Nano(Hi3861)開發(fā)板代碼燒錄,請參考文章末尾相關(guān)鏈接) 第一步:拷貝Balance_car文件夾到源碼路徑下:deviceoardearpiearpi_hm_nanoapp (Balance_car文件獲取路徑,請參考文章末尾相關(guān)鏈接) 如圖文件夾目錄: 0f5bcabe-8583-11ed-bfe3-dac502259ad0.png ?第二步:修改BUILD.gn,在源碼路徑下:deviceoardearpiearpi_hm_nanoappBUILD.gn 添加編譯依賴:"Balance_car:balance_car",如下圖: 0f7a38f0-8583-11ed-bfe3-dac502259ad0.png ?

關(guān)鍵算法講解

兩輪平衡車的控制主要涉及三個(gè)PID環(huán)的串聯(lián)使用,它們分別是直立環(huán)(平衡控制)、速度環(huán)(速度控制)、轉(zhuǎn)向環(huán)(方向控制)。三個(gè)控制效果合成,控制輪子運(yùn)行。 0f8f32be-8583-11ed-bfe3-dac502259ad0.png0f9de4da-8583-11ed-bfe3-dac502259ad0.png ?直立環(huán)控制算法:直立環(huán)控制算法是平衡小車維持平衡的主要算法。直立環(huán)采用了PD算法環(huán)節(jié),即只有比例與微分環(huán)節(jié)。 傾斜角度大小以及角加速度大小決定了輪子的速度大小??梢岳斫鉃閮A斜角度越大,控制輪子順著傾斜的方向的速度越大;傾斜的角加速度越大,控制輪子速度也要越大。
float g_middleAngle = 1.0;//平衡角度
float g_kpBalance = -85800.0;
float g_kdBalance = -400;


static int ControlBalance(float angle, short gyro)
{
    int outpwm = 0;
    float angleBias = 0.0;
    float gyroBias = 0.0;
    float tempAngle = 0.0;
    float tempGyro = 0.0;


    tempAngle = 0 - angle;//極性控制
    tempGyro = 0 - gyro;


    angleBias = g_middleAngle - tempAngle;
    gyroBias = 0 - tempGyro;
    outpwm = (g_kpBalance / 100 * angleBias + g_kdBalance
     * gyroBias / 100);


    return outpwm;
}
速度環(huán)控制算法:速度環(huán)控制的目的是讓機(jī)器以恒定速度前進(jìn)或后退,該恒定速度可以為0速度,即要讓平衡車靜止。速度環(huán)采用了PI環(huán)控制,只有比例與積分環(huán)節(jié)。
float g_kpSpeed = 95800.0;
float g_kiSpeed = 200;


static int ControlSpeed(long int left, long int right)
{
    int outpwm = 0;
    int speedBias = 0;
    int speedBiasLowpass = 0;
    static int speed_i = 0;
    float a = 0.68;
    static int speedBiasLast = 0;


    speedBias = 0 - left - right;
    speedBiasLowpass = (1 - a) * speedBias
        + a * speedBiasLast;
    speedBiasLast = speedBiasLowpass;


    speed_i += speedBiasLowpass;
    speed_i = limit_data(speed_i, SPEED_H, SPEED_L);


    outpwm = (g_kpSpeed * speedBiasLowpass / 100 +
        gkiSpeed * speed_i / 100);


    return outpwm;
}
轉(zhuǎn)向環(huán)控制算法:轉(zhuǎn)向環(huán)的目的是控制小車以恒定速度轉(zhuǎn)向。在本次場景為了控制小車平衡靜止,所以只做了限制轉(zhuǎn)向的操作。
static int ControlTurn(short gyro)
{
  int outpwm;


    outpwm = g_kpTurn * gyro;
  return outpwm;
}
以上詳細(xì)代碼,請參考文章末尾的相關(guān)鏈接(Balance_car文件獲取路徑)。

總結(jié)

本文呈現(xiàn)了兩輪平衡小車的大致原理。簡單介紹了一下PID算法的效果:P比例參數(shù),能夠快速讓系統(tǒng)達(dá)到穩(wěn)定值,但是P太大容易超調(diào),帶來振蕩;I積分參數(shù),消除穩(wěn)態(tài)誤差,讓系統(tǒng)達(dá)到穩(wěn)定值;D積分參數(shù),能消除振蕩,但是會(huì)使系統(tǒng)時(shí)效性變慢。開發(fā)者可以根據(jù)現(xiàn)場情況,合理調(diào)節(jié)PID三個(gè)參數(shù)。 本樣例是OpenHarmony知識體系工作組為廣大開發(fā)者分享的樣例。同時(shí)知識體系工作組結(jié)合日常生活,給開發(fā)者規(guī)劃了各種場景的Demo樣例,如智能家居場景、影音娛樂場景、運(yùn)動(dòng)健康場景等;歡迎廣大開發(fā)者一同參與OpenHarmony的開發(fā),更加完善樣例,相互學(xué)習(xí),相互進(jìn)步。

本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請注明以上來源。如需社區(qū)合作及入群交流,請?zhí)砑?/span>微信EEFans0806,或者發(fā)郵箱liuyong@huaqiu.com

0fb74b82-8583-11ed-bfe3-dac502259ad0.png

熱門推薦干貨好文

1、?24Bit ADC高精度低功耗MCU 醫(yī)療級別設(shè)備參考設(shè)計(jì)(附上高精確算法+電路原理圖)?

2、超強(qiáng)性能AI芯片,OpenHarmony多系統(tǒng)支持,可定制高性能AP(附10+開發(fā)Demo)

3、從零入門物聯(lián)網(wǎng)OH開源平臺,從簡單到高階項(xiàng)目,創(chuàng)客、電子愛好者都愛用!

4、低成本ESP32方案,支持OpenHarmony系統(tǒng)開發(fā)(附10+項(xiàng)目樣例Demo)

5、NO RTOS移植!32位、64線程開發(fā)板,超強(qiáng)實(shí)時(shí)性體驗(yàn)!

6、四核64位,超強(qiáng)CPU ,看RK3568“競”開發(fā)板DEMO!

7、人工智能也能這么玩, 簡單快速入手,還能自定義AI運(yùn)算

8、業(yè)界首款!支持富設(shè)備開發(fā),OpenHarmony開發(fā)者都選它!

9、高性能雙核RISC-V,滿足大多數(shù)開發(fā),這款國產(chǎn)MCU工程師都愛了!


原文標(biāo)題:【精選好文】玩轉(zhuǎn)OpenHarmony PID:教你打造兩輪平衡車

文章出處:【微信公眾號:電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

原文標(biāo)題:【精選好文】玩轉(zhuǎn)OpenHarmony PID:教你打造兩輪平衡車

文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發(fā)燒友論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    晶華微新歐標(biāo)兩輪BMS解決方案

    目前,隨著市場對于輕便兩輪的需求增加,鋰電池在電動(dòng)兩輪動(dòng)力系統(tǒng)中的普及率也進(jìn)一步提升。對于電池系統(tǒng)的智能化、自動(dòng)化控制,以及對電池系統(tǒng)的實(shí)時(shí)狀態(tài)監(jiān)測顯得越來越重要。
    的頭像 發(fā)表于 07-09 11:47 ?974次閱讀
    晶華微新歐標(biāo)<b class='flag-5'>兩輪</b><b class='flag-5'>車</b>BMS解決方案

    兩輪平衡電動(dòng)及其電機(jī)控制器設(shè)計(jì)

    摘要:兩輪平衡電動(dòng)平衡原理源自倒立擺模型,為研制兩輪平衡電動(dòng)
    發(fā)表于 06-09 16:15

    杰發(fā)科技亮相2025年兩輪智能化技術(shù)發(fā)展大會(huì)

    此前,5月9日-10日,由中國電子商會(huì)智能電動(dòng)汽車專委會(huì)、國家摩托車檢驗(yàn)檢測中心(天津)及莆田市荔城區(qū)人民政府共同主辦的2025年兩輪智能化技術(shù)發(fā)展大會(huì)在莆田市舉行。在會(huì)議期間舉行的兩輪
    的頭像 發(fā)表于 05-16 15:42 ?356次閱讀

    武漢芯源半導(dǎo)體CW32L010在兩輪儀表的應(yīng)用介紹

    CW32L010憑借其優(yōu)異的性能、豐富的外設(shè)資源和超低功耗特性,為兩輪儀表盤應(yīng)用提供了高性價(jià)比的解決方案。其寬電壓工作范圍和工業(yè)級溫度特性,特別適合車輛電子應(yīng)用的嚴(yán)苛環(huán)境。對于想采用CW32L010進(jìn)行兩輪
    的頭像 發(fā)表于 05-13 14:07 ?227次閱讀
    武漢芯源半導(dǎo)體CW32L010在<b class='flag-5'>兩輪</b><b class='flag-5'>車</b>儀表的應(yīng)用介紹

    武漢芯源半導(dǎo)體CW32L010在兩輪儀表的應(yīng)用介紹

    隨著兩輪電動(dòng)的智能化發(fā)展,儀表盤作為人機(jī)交互的重要界面,其功能需求日益復(fù)雜。武漢芯源半導(dǎo)體的安全低功耗單片機(jī)CW32L010憑借其優(yōu)異的性能和豐富的外設(shè)資源,成為兩輪儀表盤應(yīng)用的理
    發(fā)表于 05-13 14:06

    杰發(fā)科技持續(xù)賦能兩輪智能化升級

    作為兩輪保有量大國,當(dāng)下我國兩輪車行業(yè)正處在智能化變革前夜。2025慕尼黑上海電子展期間,四維圖新旗下杰發(fā)科技現(xiàn)場召開兩輪智能融合儀表芯
    的頭像 發(fā)表于 04-22 15:48 ?401次閱讀
    杰發(fā)科技持續(xù)賦能<b class='flag-5'>兩輪</b><b class='flag-5'>車</b>智能化升級

    兩輪電動(dòng)智能藍(lán)牙無鑰匙開鎖模組

    隨著科技的進(jìn)步與移動(dòng)互聯(lián)網(wǎng)的普及,傳統(tǒng)的實(shí)體鑰匙正在逐步被智能化的開鎖方式取代。針對兩輪電動(dòng)車市場,我們推出了全新的智能藍(lán)牙鑰匙開鎖解決方案,該解決方案基于最新的BLE5.4藍(lán)牙技術(shù),集成了高性能
    發(fā)表于 03-31 10:49

    Microchip推出電動(dòng)兩輪生態(tài)系統(tǒng)

    參考設(shè)計(jì)方案,可解決電動(dòng)滑板車和電動(dòng)自行車開發(fā)的關(guān)鍵挑戰(zhàn),包括能效優(yōu)化、系統(tǒng)集成、安全性和上市時(shí)間。通過提供規(guī)級可擴(kuò)展解決方案,Microchip致力于幫助制造商簡化開發(fā)流程,打造功能豐富且可靠的電動(dòng)兩輪
    的頭像 發(fā)表于 03-19 14:59 ?668次閱讀

    兩輪PKE無鑰匙進(jìn)入PKG一鍵啟動(dòng)系統(tǒng)設(shè)計(jì)

    兩輪無鑰匙進(jìn)入PKE 一鍵啟動(dòng)系統(tǒng)PKG
    的頭像 發(fā)表于 03-04 10:20 ?469次閱讀
    <b class='flag-5'>兩輪</b><b class='flag-5'>車</b>PKE無鑰匙進(jìn)入PKG一鍵啟動(dòng)系統(tǒng)設(shè)計(jì)

    兩輪智能化研究:主機(jī)廠扎堆進(jìn)入,兩輪智能化持續(xù)提升

    佐思汽研發(fā)布《 2024-2025年兩輪智能化及產(chǎn)業(yè)鏈研究報(bào)告 》。 本報(bào)告聚焦兩輪的智能化升級,對電動(dòng)兩輪
    的頭像 發(fā)表于 01-21 10:59 ?1485次閱讀
    <b class='flag-5'>兩輪</b><b class='flag-5'>車</b>智能化研究:主機(jī)廠扎堆進(jìn)入,<b class='flag-5'>兩輪</b><b class='flag-5'>車</b>智能化持續(xù)提升

    九號公司與寶馬集團(tuán)攜手合作,共創(chuàng)新型電動(dòng)兩輪

    集團(tuán)在相關(guān)技術(shù)領(lǐng)域的專利優(yōu)勢,結(jié)合自身在智能兩輪電動(dòng)領(lǐng)域的深厚技術(shù)積累和創(chuàng)新實(shí)力,共同開發(fā)生產(chǎn)具備自主產(chǎn)權(quán)的創(chuàng)新型電動(dòng)兩輪。這些新型車輛將不僅擁有九號公司一貫的高品質(zhì)和智能化特點(diǎn),
    的頭像 發(fā)表于 11-21 14:10 ?747次閱讀

    Qorvo助力電動(dòng)兩輪性能提升

    電動(dòng)兩輪已經(jīng)成了中國人的出行神器,輕巧便捷,即停即走,接娃買菜輕松拿捏,讓高油價(jià)和停車難不再是事。截至2023年底,中國電動(dòng)兩輪車市場擁有4.2億輛的保有量,幾乎每四人就有一輛,且市場仍未見頂。據(jù)預(yù)測,隨著2023年新國標(biāo)修訂
    的頭像 發(fā)表于 11-15 15:59 ?649次閱讀

    兩輪電動(dòng)系統(tǒng)介紹與THVD8000在兩輪電動(dòng)車上的應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《兩輪電動(dòng)系統(tǒng)介紹與THVD8000在兩輪電動(dòng)車上的應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 11:12 ?1次下載
    <b class='flag-5'>兩輪</b>電動(dòng)<b class='flag-5'>車</b>系統(tǒng)介紹與THVD8000在<b class='flag-5'>兩輪</b>電動(dòng)車上的應(yīng)用

    LTE-CAT1模組在兩輪電池中的應(yīng)用

    隨著城市交通擁堵問題的加劇和環(huán)保意識的提升,兩輪電動(dòng)成為越來越多人的首選出行工具。作為其核心部件,電池的性能和安全性直接影響到兩輪電動(dòng)的整體使用體驗(yàn)。為了提升電池管理系統(tǒng)的智能化水
    的頭像 發(fā)表于 09-14 16:56 ?1980次閱讀
    LTE-CAT1模組在<b class='flag-5'>兩輪</b><b class='flag-5'>車</b>電池中的應(yīng)用

    常見的電動(dòng)兩輪BMS架構(gòu)應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《常見的電動(dòng)兩輪BMS架構(gòu)應(yīng)用說明.pdf》資料免費(fèi)下載
    發(fā)表于 09-12 09:28 ?4次下載
    常見的電動(dòng)<b class='flag-5'>兩輪</b><b class='flag-5'>車</b>BMS架構(gòu)應(yīng)用說明