亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MSP430兩輪自平衡小車算法的研究

        2020-03-15 05:49:32張秀堅(jiān)
        科海故事博覽·下旬刊 2020年3期
        關(guān)鍵詞:數(shù)據(jù)融合陀螺儀

        張秀堅(jiān)

        摘 要 自平衡小車的平衡就像是一個(gè)鐘擺,它的狀態(tài)是不平衡的,因此它必須要有一個(gè)足夠使其穩(wěn)定平衡的控制力,來(lái)使其平衡。自平衡小車工作原理是將小車的加速度和當(dāng)前的姿態(tài)信息進(jìn)行整合,小車的空間姿態(tài)三軸數(shù)據(jù)和運(yùn)動(dòng)的空間加速度由MPU-6050來(lái)測(cè)量,小車車輪的轉(zhuǎn)速由光電編碼器所測(cè)得的脈沖信號(hào)來(lái)獲得。在運(yùn)動(dòng)學(xué)的基礎(chǔ)之上,由TI公司的MSP430芯片處理數(shù)據(jù),運(yùn)算得出保持平滑的姿態(tài)電機(jī)所需數(shù)據(jù),再把這個(gè)數(shù)據(jù)來(lái)控制驅(qū)動(dòng)馬達(dá)的PWM波形的輸出占空比, 以此來(lái)保持車體的平衡。小車的實(shí)際測(cè)試結(jié)果表明:小車在直立平衡時(shí)傾斜角度從小車的側(cè)面看為-6°。使用自平衡車不但體積小,而且結(jié)構(gòu)簡(jiǎn)單,具體特點(diǎn)為工作空間狹窄,但動(dòng)作靈活,在安全、軍事等領(lǐng)域應(yīng)用前景非常廣泛。

        關(guān)鍵詞 陀螺儀 MSP430F149 光電編碼器 PWM 互補(bǔ)濾波 數(shù)據(jù)融合

        中圖分類號(hào):TN29 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-0745(2020)03-0009-07

        1 前言

        1.1 研究意義

        應(yīng)用意義:自平衡車巧妙地運(yùn)用到了其自身的重力來(lái)保持其平衡,并把這種重力用整個(gè)控制系統(tǒng)轉(zhuǎn)換成動(dòng)力,它本身的重力越大,行駛動(dòng)能也會(huì)變得越大,比較環(huán)保。駕駛?cè)藛T不必?fù)?dān)心如何來(lái)使小車自身平衡,平衡小車自身就有穩(wěn)定控制系統(tǒng),使其平衡。使用自平衡車解決了殘疾人不能騎自行車的問(wèn)題。車身小巧靈活,可以作業(yè)在狹窄路段以及大轉(zhuǎn)角的工作場(chǎng)。平衡小車的優(yōu)點(diǎn)有很多:環(huán)保、方便、快捷、靈活,具有很廣闊的應(yīng)用前景。他將會(huì)成為未來(lái)的主流。

        研究意義:自平衡小車車身不是完全穩(wěn)定的,因此需要對(duì)電機(jī)進(jìn)行控制以此來(lái)保持小車平衡的姿勢(shì),由車身整體協(xié)調(diào)機(jī)構(gòu)轉(zhuǎn)動(dòng)電動(dòng)車的平衡的控制和馬達(dá)、驅(qū)動(dòng)輪子、傳感器、軟件,微處理器是多種功能的控制,控制信號(hào)由動(dòng)態(tài)方向決定,執(zhí)行和行為控制是一個(gè)具有綜合復(fù)雜特點(diǎn)的非線性系統(tǒng),很難得到有效控制,控制算法比較靈活,具有挑戰(zhàn)性,因此理論研究?jī)r(jià)值很高。

        1.2 本文的研究?jī)?nèi)容

        有很多種方法可以使自平衡小車平衡,而本文主要研究?jī)煞N方法,其一是PID控制算法, PID調(diào)節(jié)器又稱為PID控制器[1],主要是獲得自平衡小車的姿態(tài)信號(hào)作為電機(jī)的輸出信號(hào),同時(shí)對(duì)自平衡小車電機(jī)的運(yùn)動(dòng)速度進(jìn)行有效控制,使得小車保持平衡狀態(tài)。另一種算法是卡爾曼濾波算法,為了得到小車姿態(tài)準(zhǔn)確穩(wěn)定的信息,姿態(tài)檢測(cè)算法主要通過(guò)對(duì)互補(bǔ)濾波融合姿態(tài)傳感器(陀螺儀傳感器以及加速度傳感器)數(shù)據(jù)和卡爾曼濾波器和相結(jié)合計(jì)算相應(yīng)平衡的參數(shù)[2]。

        2 自平衡小車自平衡設(shè)計(jì)原理

        2.1 自平衡小車直立控制

        圖1是單擺的受力分析,能夠分析出普通單擺由不平衡位置恢復(fù)到平衡位置的原理。

        當(dāng)單擺離開(kāi)平衡位置之后,就會(huì)受到重力以及拉線的作用力,使物體向平衡的位置移動(dòng),最后回到平衡位置點(diǎn)。

        2.2 平衡車的機(jī)械結(jié)構(gòu)

        小車使用圖2的結(jié)構(gòu)制作研究,車體分為電池、主控制和電機(jī)驅(qū)動(dòng)、姿態(tài)信號(hào)檢測(cè)兩層,電池層用于放置給驅(qū)動(dòng)電機(jī)供電的12V6A聚合物鋰電池,采用由TI公司的MSP430F149芯片組成的開(kāi)發(fā)電路板構(gòu)成,電機(jī)驅(qū)動(dòng)層的電機(jī)驅(qū)動(dòng)模塊采用L298N,姿態(tài)檢測(cè)是由MPU6050芯片組成的GY-521模塊[3]。

        2.3 兩輪車傾倒的受力分析

        兩輪車本身是極不穩(wěn)定的,顯然如果沒(méi)有外力作用在車身,那么小車一定會(huì)發(fā)生傾倒的現(xiàn)象。其受力分析如圖3所示。

        在理想情況下,如果此時(shí)車身重力M的方向與車輪支持力H的方向之差相反時(shí),系統(tǒng)合力為0,因此系統(tǒng)達(dá)到穩(wěn)定狀態(tài),θ角度很小,可以忽略不計(jì)。在現(xiàn)實(shí)情況下是由很多的干擾,θ的角度不是一直為0,只要θ角有一定的值,即使很小的角度值,M的方向與H的方向亦產(chǎn)生了角度,合力就不為0,根據(jù)牛頓運(yùn)動(dòng)定律可知,由于質(zhì)量的原因θ角度越來(lái)越大,直至車身倒在地上[4]。

        2.4 自平衡小車傾角的測(cè)量

        六軸陀螺儀可以對(duì)當(dāng)前的角度信號(hào)、加速度信號(hào)數(shù)據(jù)進(jìn)行采集,采用積分的方式對(duì)角速度數(shù)據(jù)進(jìn)行分析、處理,處理器在程序中通過(guò)運(yùn)算可以得到相應(yīng)的角度值[5]。因?yàn)橥勇輧x自身采集數(shù)據(jù)比較靈敏,根據(jù)陀螺儀的時(shí)鐘每秒可以采集很多組數(shù)據(jù),因此很容易受到周圍環(huán)境噪聲的干擾,所以對(duì)微型機(jī)械陀螺儀的操作要注意不能產(chǎn)生較大的噪聲,保證微型陀螺儀可以安全地工作。陀螺儀在一定的情況下會(huì)產(chǎn)生誤差,不能單獨(dú)采用陀螺儀來(lái)當(dāng)作角度的測(cè)量的器件,所以,另外再利用加速度傳感器和三軸角度姿態(tài)傳感器共同完成姿態(tài)信號(hào)數(shù)據(jù)的檢測(cè)。

        對(duì)于車模傾角和傾角加速度的測(cè)量過(guò)程中難免出現(xiàn)一些問(wèn)題,而這些問(wèn)題增加了感測(cè)器的漂移以及設(shè)定給予所帶來(lái)的影響,所以就選擇了MPU-6050。

        MPU-6050是一款具有著高性能的三軸加速度+三軸陀螺儀的六軸傳感器模塊,基本引腳圖如圖4所示。加速度模擬信號(hào),如圖5所示。

        測(cè)量陀螺儀與加速度計(jì),能夠有效的將陀螺儀信號(hào)與加速度計(jì)的測(cè)量值相融合以此來(lái)得到較為準(zhǔn)確的傾角值。通過(guò)卡爾曼濾波的相應(yīng)的計(jì)算,就能使電機(jī)轉(zhuǎn)速得到控制,從而控制自平衡小車的平衡狀態(tài)。

        3 自平衡小車硬件電路的設(shè)計(jì)

        3.1 MSP430F149單片機(jī)最小系統(tǒng)

        本系統(tǒng)的主控制芯片采用的是16位總線的FLASH 的MSP430單片機(jī),它的性價(jià)比高,集成度也高于一般類型的單片機(jī),在市場(chǎng)得到中廣泛使用。具有可靠性能好、運(yùn)算速度快、工作穩(wěn)定的優(yōu)點(diǎn)。因此,可以用來(lái)做一些較為復(fù)雜的控制系統(tǒng)。自平衡小車單片機(jī)的最小系統(tǒng)電路如圖6所示[6]。

        F149單片機(jī)中運(yùn)用到:

        電機(jī)轉(zhuǎn)速脈沖接口:

        TA1-(PIN17);

        電機(jī)PWM驅(qū)動(dòng)接口:

        PWM(PIN12,13):電機(jī)驅(qū)動(dòng)PWM脈沖信號(hào)。

        電機(jī)轉(zhuǎn)動(dòng)方向控制:

        IN1(P60);

        IN2(P61);

        IN3(P62);

        IN4(P63);

        程序下載接口:

        P1.1(PIN13);

        TCK(PIN56);

        REST(PIN57);

        P2.2(PIN22)。

        串口監(jiān)控接口:

        UTXT0(PIN32);

        URXT0(PIN33)。

        MPU6050模塊接口

        SDA(PIN51);

        SCL(PIN50)。

        3.2 電機(jī)驅(qū)動(dòng)電路

        上圖7是由自平衡小車電機(jī)的驅(qū)動(dòng)電路。因?yàn)長(zhǎng)298N的輸入信號(hào)電壓和供電電壓是+5V,MSP430F149單片機(jī)可以直接為L(zhǎng)298N提供輸入信號(hào)。然而,+5V的電壓不適合本車模,使該車模不能有一個(gè)很好的調(diào)速范圍。自平衡小車的電路供電電壓,不能是單一的+5V,還需要有足夠大的啟動(dòng)電流的電源,才能讓小車有動(dòng)力保持車身的平衡。聚合物鋰電池是比較合適的動(dòng)力電源[7]。

        為了讓小車保持一定的平衡,驅(qū)動(dòng)電機(jī)的PWM波形使用了定時(shí)器 A自動(dòng)產(chǎn)生兩路PWM 波形輸出。可以利用資源捕獲的功能來(lái)產(chǎn)生所需要的波形,以便于很好地分析小車平衡的條件。

        3.3 MPU6050電路

        MPU6050芯片將系統(tǒng)中的加速傳感器和陀螺儀傳感器通過(guò)整合,可以得到一些有用的數(shù)字信號(hào),當(dāng)前自平衡小車的狀態(tài)位置信息由MSP430控制器通過(guò)一定的方式讀出,如IIC的通信方式的特點(diǎn)就比較符合[8]。所以,該芯片適合本系統(tǒng)的模塊電路,設(shè)計(jì)起來(lái)相對(duì)比較簡(jiǎn)單。該模塊的電路連接如圖8所示。

        3.4 供電電源電路

        因?yàn)樽云胶庑≤嚨目刂葡到y(tǒng)電路是需要+5V的電源,而電機(jī)需要大電流電源+12V電源供電才能使電機(jī)有足夠的爆發(fā)力轉(zhuǎn)動(dòng)達(dá)到平衡,因此,需要采用兩路電源。本系統(tǒng)的控制器電源由3節(jié)5號(hào)電池提供,電機(jī)驅(qū)動(dòng)電壓是采用的12V/6A電流6800MA聚合物鋰電池提供,這樣才能達(dá)到小車啟動(dòng)時(shí)需要大電流的要求。

        4 自平衡小車軟件設(shè)計(jì)

        4.1 系統(tǒng)程序結(jié)構(gòu)分析

        如圖9所示,如果要使自平衡小車保持平衡,需要多個(gè)子程序,同時(shí)也能夠更好的優(yōu)化程序,子程序可以是PID調(diào)節(jié)程序、IIC通信程序、卡爾曼濾波程序、PWM波形產(chǎn)生程序和車輪轉(zhuǎn)速檢測(cè)程序等[9]。

        主程序的運(yùn)行流程圖相對(duì)比較簡(jiǎn)單,如圖10是所示,程序的核心是調(diào)用卡爾曼濾波子程序和PID控制子程序,這兩個(gè)子程序包含的內(nèi)容豐富,下面分別對(duì)這兩個(gè)主要的子程序進(jìn)行詳細(xì)的理解。卡爾曼濾波子程序的任務(wù)是將MPU6050檢測(cè)到的信號(hào)濾波,但是由于外界干擾較大,直立穩(wěn)定的小車不斷地向車輪前后方向傾斜。此時(shí),MSP430F149單片機(jī)通過(guò)通訊協(xié)議,將MPU6050中小車擺動(dòng)的角速度和水平方向上的加速度讀取出來(lái),再對(duì)其加工處理??柭鼮V波器通過(guò)一定的測(cè)量方法可以得到很準(zhǔn)確的傾角值。PID子程序主要是得到的傾角使控制器輸出相應(yīng)的占空比波形來(lái)使電機(jī)的運(yùn)轉(zhuǎn)得到有效控制,由卡爾曼濾波器輸出的角度來(lái)調(diào)整電機(jī)相應(yīng)的運(yùn)轉(zhuǎn)方向,以此使小車保持平衡。

        4.2 卡爾曼融合程序

        卡爾曼融合的子程序的流程圖如下圖11所示,圖中讀取Y軸加速也就是F149通過(guò)I2C來(lái)控制MPU6050并傳輸MPU6050所檢測(cè)的加速度、角速度兩個(gè)數(shù)據(jù)??柭鼮V波器則是將這兩個(gè)數(shù)據(jù)進(jìn)行濾波、融合得到小車的傾角。

        子程序如下:

        void Angle_Calcu(void)

        {

        //------加速度--------------------------

        //換算關(guān)系:16384 LSB/g

        //角度較小時(shí),? ?x=sinx得到角度(弧度),? ? deg = rad*180/3.14

        //因?yàn)? x>=sinx,? 故乘以 1.2 適當(dāng)放大

        Accel_x? = GetData(ACCEL_YOUT_H);? ? ?//讀取Y軸加速度

        Angle_ax? = (Accel_x - 1100) /16384;? ? ? //去除零點(diǎn)偏移,計(jì)算得到角度(弧度)

        Angle_ax? = Angle_ax*1.2*180/3.14;? ? ?//弧度轉(zhuǎn)換為度,

        //-------角速度-------------------------

        Gyro_y? = GetData(GYRO_YOUT_H);//

        Gyro_y? = -(Gyro_y + 30)/16.4;? ? ? ?//計(jì)算角速度值,? ?負(fù)號(hào)為反方向

        //-------卡爾曼濾波融合-----------------------

        Kalman_Filter(Angle_ax,Gyro_y);? ? //卡爾曼濾波計(jì)算傾角

        }

        (程序1? 卡爾曼濾波融合子程序)

        4.2.1 IIC通信程序

        IIC串行通信總線。IIC總線通過(guò)串行數(shù)據(jù)線SDA和串行時(shí)鐘線SCL兩根線將多個(gè)具有IIC總線接口的器件接到總線上,可以發(fā)送和接收數(shù)據(jù)。ICC總線分為三種類型的信號(hào)傳輸,分別是開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)[10]。

        本系統(tǒng)的IIC通信是單向通訊,該系統(tǒng)的MSP430為主控制器件,同時(shí)也是單向接收端,而MPU6050為發(fā)送端的形式進(jìn)行通訊。

        因此,由單片機(jī)P5.0(SCL)、P5.1(SDA)模擬實(shí)現(xiàn)IIC通信程序的流程圖如上圖12所示[11]。

        4.2.2 卡爾曼濾波器

        斯坦利·施密特(Stanley Schmidt)開(kāi)創(chuàng)卡爾曼濾波這一先河,首次實(shí)現(xiàn)了這一濾波方式,阿波羅飛船導(dǎo)航器為飛船提供了有效可靠的導(dǎo)航數(shù)據(jù)??柭鼮V波器的實(shí)質(zhì)就是利用遞推估算法總結(jié)之前數(shù)據(jù)的干擾,它同時(shí)利用小均方誤差的結(jié)合,對(duì)前一時(shí)刻的估算值和此時(shí)刻的測(cè)量值來(lái)估算下一時(shí)刻的值,以此類推,相互影響。這種方法具有效率高的特點(diǎn),可以解決現(xiàn)實(shí)中的很多問(wèn)題,有效減少誤差,使采集回的信號(hào)更加平穩(wěn)、有效。在工業(yè)控制、通信系統(tǒng)、電力系統(tǒng)、環(huán)境污染控制、生活家電、航空航天、軍事設(shè)施設(shè)備星號(hào)處理等很多地方都得到了廣泛的應(yīng)用[12]。在圖像處理方面,也可以利用卡爾曼濾波處理對(duì)模糊的圖像進(jìn)行還原,是圖像顏色分界處變得更細(xì)膩、更緩線性的變色??柭惴ㄈ缦聢D13所示:

        //******卡爾曼參數(shù)************

        float Q_angle=0.002;

        float Q_gyro=0.01;

        float R_angle=0.003;

        float dt=0.008;//dt為kalman濾波器采樣時(shí)間;

        char? C_0 = 1;

        float Q_bias, Angle_err;

        float PCt_0, PCt_1, E;

        float K_0, K_1, t_0, t_1;

        float Pdot[4] ={0,0,0,0};

        float PP[2][2] = { { 1, 0 },{ 0, 1 } };

        //*********************************************************

        // 卡爾曼濾波

        //*********************************************************

        void Kalman_Filter(float Accel,float Gyro)

        {

        Angle+=(Gyro - Q_bias) * dt; //先驗(yàn)估計(jì)

        Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; // Pk-先驗(yàn)估計(jì)誤差協(xié)方差的微分

        Pdot[1]=- PP[1][1];

        Pdot[2]=- PP[1][1];

        Pdot[3]=Q_gyro;

        PP[0][0] += Pdot[0] * dt;? ?// Pk-先驗(yàn)估計(jì)誤差協(xié)方差微分的積分

        PP[0][1] += Pdot[1] * dt;? ?// =先驗(yàn)估計(jì)誤差協(xié)方差

        PP[1][0] += Pdot[2] * dt;

        PP[1][1] += Pdot[3] * dt;

        Angle_err = Accel - Angle;//zk-先驗(yàn)估計(jì)

        PCt_0 = C_0 * PP[0][0];

        PCt_1 = C_0 * PP[1][0];

        E = R_angle + C_0 * PCt_0;

        K_0 = PCt_0 / E;

        K_1 = PCt_1 / E;

        t_0 = PCt_0;

        t_1 = C_0 * PP[0][1];

        PP[0][0] -= K_0 * t_0; //后驗(yàn)估計(jì)誤差協(xié)方差

        PP[0][1] -= K_0 * t_1;

        PP[1][0] -= K_1 * t_0;

        PP[1][1] -= K_1 * t_1;

        Angle+= K_0 * Angle_err; //? 后驗(yàn)估計(jì)

        Q_bias+= K_1 * Angle_err; //? 后驗(yàn)估計(jì)

        Gyro_y? = Gyro - Q_bias; //? 輸出值? (后驗(yàn)估計(jì))的微分=角速度

        }

        (程序2? 卡爾曼濾波子程序)

        程序2是卡爾曼濾波的子程序,它是依據(jù)圖13的推導(dǎo)原理來(lái)編寫的。它的算法是屬于一種遞推算法??柭鼮V波采用一定的變量可以反映出系統(tǒng)的狀態(tài)特征。它的模型有兩種,一種是狀態(tài)空間模型,該模型反映的是系統(tǒng)運(yùn)動(dòng)的規(guī)律;而另一種模型,觀測(cè)模型則是反映系統(tǒng)觀測(cè)值與狀態(tài)變量之間的關(guān)系[13]。這樣程序就可以自動(dòng)預(yù)判下一時(shí)刻的狀態(tài),就可以更快的讓系統(tǒng)穩(wěn)定。

        當(dāng)加速度和角速度信號(hào)經(jīng)過(guò)卡爾曼濾波器,就可以得到一個(gè)相對(duì)精確、穩(wěn)定的角度信號(hào)。

        4.3 計(jì)數(shù)程序設(shè)計(jì)

        本系統(tǒng)是采用選擇的F149ACLK為定時(shí)器 A時(shí)鐘源, 增計(jì)數(shù)模式來(lái)測(cè)得自平衡小車當(dāng)前速度的。自平衡小車的速度需要計(jì)算,此過(guò)程需要借助于轉(zhuǎn)速中斷程序。對(duì)于自平衡小車速度的測(cè)量需要用到兩個(gè)中斷子程序。當(dāng)其中一個(gè)中斷子程序獲得“允許測(cè)量”信號(hào)的時(shí)候,開(kāi)始執(zhí)行檢測(cè)中斷的任務(wù),當(dāng)檢測(cè)到旋轉(zhuǎn)編碼器脈沖時(shí),進(jìn)入另外一個(gè)中斷子程序,開(kāi)始計(jì)數(shù),為了保證計(jì)數(shù)的同時(shí)不被外界信號(hào)所干擾,需要控制系統(tǒng)暫停檢測(cè)中斷的任務(wù),同時(shí)打開(kāi)時(shí)間計(jì)數(shù)器[14]。當(dāng)時(shí)間計(jì)數(shù)器達(dá)到計(jì)數(shù)值時(shí),就會(huì)發(fā)出不再計(jì)數(shù)的信號(hào),接到此信號(hào)的中斷子程序又開(kāi)始檢測(cè)中斷,以此循環(huán),直至認(rèn)為控制關(guān)閉。具體程序如下所示:

        void jishuqi()

        {

        P5DIR |= 0x05; //設(shè)輸出端口

        CCTL0 = CCIE; //CCR0開(kāi)中斷允許

        CCR0 = 521-1; //向CCR0捕獲/比較寄存器裝入初值,用于比較

        TACTL = TASSEL_2 + MC_1; //選 ACLK為定時(shí)器 A時(shí)鐘源, 增計(jì)數(shù)模

        }

        // Timer A2中斷服務(wù)程序

        #pragma vector=TIMERA0_VECTOR

        __interrupt void Timer_A (void)

        {

        ave_diff1=TACCR1;

        }

        (程序3? 小車車輪轉(zhuǎn)速檢測(cè)子程序)

        4.4 PID調(diào)節(jié)器程序設(shè)計(jì)

        采用PID調(diào)節(jié)器對(duì)系統(tǒng)響應(yīng)進(jìn)行調(diào)節(jié),PID調(diào)節(jié)又叫PID控制,閉環(huán)自動(dòng)控制可以增加調(diào)節(jié)的精度。在基于自動(dòng)控制正負(fù)反饋的原理之上,測(cè)量系統(tǒng)的實(shí)際值與測(cè)量值相兩者之差,實(shí)現(xiàn)調(diào)節(jié)控制系統(tǒng)的相應(yīng)誤差[15]。本設(shè)計(jì)將采用比例、積分,微分來(lái)控制小車電機(jī)轉(zhuǎn)動(dòng)方向的速度。

        為了保證系統(tǒng)的安全,需要對(duì)控制器的輸出值進(jìn)行適當(dāng)?shù)南拗?,然而?duì)于數(shù)控來(lái)說(shuō),對(duì)輸出值進(jìn)行適當(dāng)?shù)南拗疲词且獙?duì)u(k)進(jìn)行限制,設(shè)置一個(gè)限制值u(m),根據(jù)需要設(shè)定u(k)與u(m)的關(guān)系,對(duì)于這種情況還需要對(duì)u(k)的積分設(shè)置相應(yīng)的限制值,以此來(lái)保護(hù)系統(tǒng)響應(yīng)不受外來(lái)信息的干擾。具體的控制程序流程圖如下:

        float PWM,? PWM_L,? PWM_R;

        float Kp = 41, Ki = 11.3, Kd = 3.6;

        float err,? ?speed_need = 0,turn_need = 0; //speed_need = 300,turn_need = 20

        float position_dot,? position_dot_filter? ;

        void PID (float setPoint)

        {

        jishuqi();

        position_dot = ave_diff1*0.5;//編碼器值讀出

        position_dot_filter*=? ?0.85;

        position_dot_filter +=? ?position_dot*0.15;

        if(Angle<-35 || Angle>35)? //角度過(guò)大,關(guān)閉電機(jī)

        {

        P6OUT = 0X00;

        return;

        }

        err = Angle - setPoint;//得到實(shí)際偏差角度

        PWM = - err*Kp

        - Gyro_y*Ki

        + position_dot_filter*Kd ;

        motorspeedout(PWM);? ?//電機(jī)輸出

        }

        (程序4? PID控制程序)

        5 總結(jié)

        一般將車模分為平衡、行走和方向三個(gè)部分進(jìn)行控制,三項(xiàng)任務(wù)相互耦合,互相作用最終都會(huì)達(dá)到平衡,本次研究主要是在小車平衡的算法,小車平衡主要是控制好小車輪子的正轉(zhuǎn)、反轉(zhuǎn)和速度來(lái)保持小車的平衡,在控制平衡過(guò)程中,由于不穩(wěn)定的車身,需要穩(wěn)定,所以要求控制信號(hào)必須平滑且高效,所以這里主要運(yùn)用了PID算法和卡爾曼濾波等算法能夠?qū)崿F(xiàn)這一要求[16],利用濾波后的平滑數(shù)據(jù)控制PWM穩(wěn)定、有效的控制自平衡小車自身車輪,使其保持相對(duì)平衡,這是一個(gè)實(shí)時(shí)動(dòng)態(tài)平衡的過(guò)程。系統(tǒng)不斷的檢測(cè)整合三軸角速度、三軸加速度、上一時(shí)刻姿態(tài)數(shù)據(jù)、預(yù)估影響值、車輪的轉(zhuǎn)速等數(shù)據(jù)進(jìn)行整理、融合不斷控制PWM輸出信號(hào)形成閉環(huán)控制系統(tǒng),不斷地使三軸陀螺儀檢測(cè)的數(shù)據(jù)達(dá)到預(yù)設(shè)的值,也就是相對(duì)的平衡狀態(tài)。

        參考文獻(xiàn):

        [1] 張軒,徐苗,鄭德聰,李志偉.基于變論域模糊PID控制的BLDCM仿真分析[J].微特電機(jī),2020,48(03):54-57.

        [2] 黃文杰,向鳳紅.一種基于卡爾曼濾波的板球系統(tǒng)RBF-PID控制研究[J].電子測(cè)量技術(shù),2020,43(02):91-96.

        [3] 徐猛.基于STM32自平衡小車的設(shè)計(jì)與制作[J].計(jì)算機(jī)產(chǎn)品與流通,2019(09):110.

        [4] 李詳鵬,陳春,周子文,施娜,孫雅琪,楊陽(yáng).基于ME MS傳感器的兩輪平衡小車設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2019 (22):27-29.

        [5] 馮智勇,曾瀚,張力.基于陀螺儀及加速度計(jì)信號(hào)融合的姿態(tài)角度測(cè)量[J].西南大學(xué),2011(04):137-141.

        [6] 桑勝舉,沈丁.單片機(jī)原理及應(yīng)用[M].北京:中國(guó)鐵道出版社,2010.

        [7] 鄧怡佳,李昆侖.基于STC單片機(jī)的自平衡小車設(shè)計(jì)[J].電子測(cè)試,2019(11):33-34,29.

        [8] 李瑞通. 基于陀螺儀技術(shù)的管線三維可視化研究[D].太原理工大學(xué),2019.

        [9] 何軍虎,鞠劍平.自平衡車控制方法研究及仿真分析[J].機(jī)械設(shè)計(jì)與制造,2019(07):144-146.

        [10] 郝立果,鄒玉茹.無(wú)線充電智能小車的設(shè)計(jì)[J].電子制作,2019(23):34-36.

        [11] 林浩.MSP430單片機(jī)Timer_A的應(yīng)用[J].信息記錄材料,2019,20(12):84-85.

        [12] 黃強(qiáng),唐杰,林立,劉興,張英洪.三相PWM整流器的雙閉環(huán)前饋解耦控制研究[J].邵陽(yáng)學(xué)院學(xué)報(bào)(自然科學(xué)版),2020,17(01):40-47.

        [13] 孫永忠,姜毅龍.載波移相PWM調(diào)制下的MMC電壓平衡控制策略[J].電氣傳動(dòng),2020,50(02):41-49.

        [14] 孟春見(jiàn),李開(kāi)龍,張夢(mèng)得.捷聯(lián)慣性基組合導(dǎo)航濾波算法比較研究[J].電光與控制,2020,27(02):18-21.

        [15] 文常保,戚一娉,宿建斌,巨永鋒.基于新型卡爾曼濾波算法的稱重系統(tǒng)實(shí)現(xiàn)研究[J].自動(dòng)化與儀表,2020,35(02): 52-56.

        [16] 李慧敏,于興林.基于穩(wěn)定圖算法的發(fā)電機(jī)轉(zhuǎn)動(dòng)慣量參數(shù)辨識(shí)[J].電氣自動(dòng)化,2019(05):8-11.

        彭水苗族土家族自治縣職業(yè)教育中心,重慶

        猜你喜歡
        數(shù)據(jù)融合陀螺儀
        基于EMD的MEMS陀螺儀隨機(jī)漂移分析方法
        我國(guó)著名陀螺儀專家——林士諤
        基于數(shù)據(jù)融合的家庭遠(yuǎn)程監(jiān)護(hù)系統(tǒng)研究
        融合K—T和K—L數(shù)據(jù)的洽川濕地水體提取
        微機(jī)械陀螺儀概述和發(fā)展
        MEMS三軸陀螺儀中不匹配干擾抑制方法
        船舶動(dòng)力定位中的數(shù)據(jù)融合技術(shù)文獻(xiàn)綜述
        科技視界(2016年14期)2016-06-08 13:24:00
        基于信源編碼的數(shù)據(jù)融合隱私保護(hù)技術(shù)
        科技視界(2016年3期)2016-02-26 19:57:53
        美女福利视频网址导航| 人妻丰满熟妇av无码区免| 中文无码av一区二区三区| 国产真实乱对白精彩| 亚洲欧洲高潮| 欧美成人在线A免费观看| 亚洲一区日本一区二区| 精品女同一区二区三区亚洲| 日韩乱码中文字幕在线| a级毛片无码久久精品免费| 国产免费无码一区二区三区| 国产午夜精品久久久久99| 国产麻豆国精精品久久毛片| 国产大屁股喷水视频在线观看| 男女性高爱潮免费网站| 精品国产亚洲一区二区三区演员表| 国产精品自产拍av在线| 中文区中文字幕免费看| 999国内精品永久免费观看| 在线视频99| 亚洲成人激情在线影院| 可免费观看的av毛片中日美韩| 亚洲av福利无码无一区二区| 亚洲AV秘 片一区二区三| 蜜桃成人精品一区二区三区| 国产狂喷水潮免费网站www| 99久久久无码国产精品试看| 亚洲AV永久无码精品一区二国| 99青青草视频在线观看| 中文字幕日本人妻久久久免费| 美女视频一区| 久久夜色精品国产亚洲av老牛 | 无码字幕av一区二区三区| 欧美日韩亚洲成人| 91成人自拍视频网站| 久久亚洲中文字幕精品一区| 国产成人av免费观看| 精品人妻av区乱码| 国产一区在线视频不卡| 亚洲av国产av综合av卡| 少妇高潮喷水正在播放|