《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于單片機控制的旋轉(zhuǎn)倒立擺建模分析與系統(tǒng)設(shè)計
基于單片機控制的旋轉(zhuǎn)倒立擺建模分析與系統(tǒng)設(shè)計
2016年電子技術(shù)應(yīng)用第9期
曾憲陽1,2,楊紅莉3,4,郁漢琪1,褚南峰1
1.南京工程學院 工業(yè)中心,江蘇 南京211167;2.南京大學 數(shù)學系,江蘇 南京210093; 3.南京工程學院 數(shù)理部,江蘇 南京211167;4.南京大學 大氣科學學院,江蘇 南京210093
摘要: 旋轉(zhuǎn)倒立擺結(jié)構(gòu)簡單,但控制系統(tǒng)較為復(fù)雜。介紹了旋轉(zhuǎn)倒立擺的結(jié)構(gòu)原理,運用分析力學中的Lagrange方程建立了旋轉(zhuǎn)倒立擺的線性數(shù)學模型,推導(dǎo)出其公式及較為準確的狀態(tài)方程描述,分析了旋轉(zhuǎn)倒立擺的不穩(wěn)定性和可控性。設(shè)計了控制系統(tǒng)硬件電路及軟件程序編寫,對系統(tǒng)整個控制過程進行了數(shù)據(jù)采集、圖形展示,分析了擺桿從自然下垂到擺起180°實現(xiàn)倒立的整個過程。系統(tǒng)采用離散PID調(diào)節(jié)算法進行控制,保證了系統(tǒng)的穩(wěn)定性,融入卡爾曼濾波算法濾除可能出現(xiàn)的干擾信號,保證了數(shù)據(jù)的準確性。
中圖分類號: TK323
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.020
中文引用格式: 曾憲陽,楊紅莉,郁漢琪,等. 基于單片機控制的旋轉(zhuǎn)倒立擺建模分析與系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(9):76-79.
英文引用格式: Zeng Xianyang,Yang Hongli,Yu Hanqi,et al. The modeling analysis and system design of rotational inverted pendulum based on single chip microcomputer control[J].Application of Electronic Technique,2016,42(9):76-79.
The modeling analysis and system design of rotational inverted pendulum based on single chip microcomputer control
Zeng Xianyang1,2,Yang Hongli3,4,Yu Hanqi1,Chu Nanfeng1
1.Industry Center,Nanjing Institute of Technology,Nanjing 211167,China; 2.Department of Mathematics,Nanjing University,Nanjing 210093,China; 3.Department of Mathematics and Physics,Nanjing Institute of Technology,Nanjing 211167,China; 4.School of Atmospheric Sciences,Nanjing University,Nanjing 210093,China
Abstract: Structure of rotational inverted pendulum is simple, but the control system is more complicated. This paper introduces the structure of rotational inverted pendulum, Lagrange equation in analytical mechanics linear mathematical model of rotational inverted pendulum is established, the formula and a more accurate equation of state description are deduced, and the instability and controllability of rotational inverted pendulum are analyzed. The control system hardware circuit and software programming are designed. The control process of the system for data acquisition, graphic display, swinging rod is analyzed from natural prolapse to set up the whole process of 180° handstand. System control uses the discrete PID algorithm to ensure the stability of the system. And the infusion of the Kalman filtering algorithm filters the possible jamming signal, which ensures the accuracy of the data.
Key words : rotational inverted pendulum;Lagrange;mathematical model;Kalman filter;PID control

0 引言

  倒立擺是一種研究控制理論的理想平臺,其結(jié)構(gòu)簡單、成本低,是一個典型的多變量、快速、非線性和自然不穩(wěn)定系統(tǒng)。旋轉(zhuǎn)倒立擺在外力的作用下,從一個穩(wěn)定的平衡狀態(tài)自動轉(zhuǎn)移到另一個平衡狀態(tài)的過程中,既要求起擺迅速,又要求在到達新的平衡點時能快速進行穩(wěn)擺控制[1-4]。

  圖1為旋轉(zhuǎn)倒立擺結(jié)構(gòu)圖。旋轉(zhuǎn)倒立擺的原理為:當電機帶動旋轉(zhuǎn)臂在水平平面內(nèi)來回轉(zhuǎn)動時,擺桿由于慣性將會繞轉(zhuǎn)軸2在豎直平面內(nèi)來回擺動,當能量達到一定數(shù)值時,擺動幅度將超過180°形成倒立狀態(tài)。通過單片機系統(tǒng)控制擺桿迅速倒立是本文研究的主要內(nèi)容。首先建立數(shù)學模型,然后設(shè)計單片機軟、硬件系統(tǒng),最后進行調(diào)試分析,形成旋轉(zhuǎn)倒立擺單片機控制系統(tǒng)。

圖像 001.png

1 系統(tǒng)數(shù)學模型創(chuàng)建

  建立數(shù)學模型前,設(shè)空氣阻力忽略不計。系統(tǒng)由電機和質(zhì)量均勻的擺桿m組成,擺桿質(zhì)心到轉(zhuǎn)軸2的距離為L,轉(zhuǎn)軸2軸心到轉(zhuǎn)軸1軸心距離為r,某時刻旋轉(zhuǎn)臂在水平面上轉(zhuǎn)動角度為?茲,擺桿在豎直平面內(nèi)轉(zhuǎn)動角度為?琢,設(shè)擺桿和旋轉(zhuǎn)臂的角度以逆時針方向為正[5]。其受力分析如圖2所示。

圖像 002.png

  旋轉(zhuǎn)臂和擺桿一起動作,擺桿質(zhì)心x、y方向的速度分量分別如下:

  QQ圖片20161112100342.png

  QQ圖片20161112100349.png

  系統(tǒng)總動能T由4個部分組成:旋臂水平面內(nèi)的轉(zhuǎn)動動能、擺桿豎直平面內(nèi)的轉(zhuǎn)動動能、擺桿質(zhì)心沿x軸方向和y軸方向的動能。由此可得到Lagrange函數(shù):

  QQ圖片20161112100353.png

  QQ圖片20161112100358.png

  Lagrange方程:QQ圖片20161112100410.png。其中,q是系統(tǒng)的廣義坐標,T為系統(tǒng)總動能,V為系統(tǒng)的勢能,L為拉格朗日算子。Lagrange方程表示為:

  QQ圖片20161112100415.png

  在倒立擺系統(tǒng)中i=1,2,q=(?茲,?琢),?茲為旋臂角位移,?琢為擺桿角位移,Qi為系統(tǒng)沿該廣義坐標方向上的外力,得到以下方程組:

  QQ圖片20161112100419.png

  QQ圖片20161112100423.png

       令QQ圖片20161112100427.png,得出系統(tǒng)線性化狀態(tài)方程:

  QQ圖片20161112100431.png

  根據(jù)表1相關(guān)參數(shù),當旋轉(zhuǎn)倒立擺系統(tǒng)靠近平衡點時,得到如下線性化數(shù)學模型:

圖像 008.png

  QQ圖片20161112100437.png

2 控制系統(tǒng)硬件電路設(shè)計

  2.1 控制系統(tǒng)總體框圖

  控制系統(tǒng)主要由單片機系統(tǒng)、驅(qū)動模塊、直流減速電機、角度傳感器、LCD液晶顯示模塊等組成。單片機通過實時采集角度傳感器數(shù)據(jù),經(jīng)分析得出擺桿當前狀態(tài),通過計算得出相應(yīng)控制量來控制電機轉(zhuǎn)動,從而改變擺桿狀態(tài),使其達到預(yù)期控制的目的。系統(tǒng)總體框圖如圖3所示。

圖像 003.png

  2.2 控制系統(tǒng)電路原理圖

  圖4為控制系統(tǒng)傳感器及驅(qū)動原理圖。為保證控制精度和速度,采用增強型51單片機STC12C5A60S2[6]作為控制核心;電機驅(qū)動模塊采用L298N大電流電機驅(qū)動芯片,由單片機P2口部分口線控制;角度傳感器采用MPU6050 六軸運動處理組件,能檢測擺桿在垂直方向上的角度值,由P1口部分口線控制,中斷引腳接至單片機外部中斷0引腳。此外電路還包括LCD12864顯示電路及按鍵電路,用來實現(xiàn)人機交互及當前狀態(tài)顯示。

圖像 004.png

3 控制系統(tǒng)軟件設(shè)計

  3.1 資源分配及程序流程

  系統(tǒng)主要控制任務(wù)包括:角度數(shù)據(jù)采集與處理、電機驅(qū)動控制、按鍵輸入讀取、數(shù)據(jù)顯示等。其中數(shù)據(jù)顯示任務(wù)為非緊急事件,由主程序循環(huán)調(diào)用即可完成;角度數(shù)據(jù)采集與處理、電機驅(qū)動控制任務(wù)具有連貫性及較高的實時性,屬于周期性的緊急事件,應(yīng)由定時器T0中斷服務(wù)子程序一并完成;按鍵輸入讀取任務(wù)屬于隨機性的緊急事件,應(yīng)由外部中斷0子程序來完成。

  定時器T0中斷服務(wù)子程序流程圖如圖5所示,主要執(zhí)行讀取傳感器數(shù)據(jù)、卡爾曼濾波、PID調(diào)節(jié)任務(wù),為避免中斷程序溢出,此三項任務(wù)的執(zhí)行時間應(yīng)小于5 ms,因此單片機外部晶振頻率選為24 MHz方能滿足速度需要。

圖像 005.png

  3.2 控制調(diào)節(jié)算法

  PID調(diào)節(jié)是按偏差的比例、積分、微分進行控制的一種閉環(huán)調(diào)節(jié)控制,原理框圖如圖6所示,其中r(t)為系統(tǒng)給定值,c(t)為實際輸出,u(t)為輸出控制量。引入PID調(diào)節(jié)算法可保證系統(tǒng)處于閉環(huán)控制狀態(tài),并且能讓系統(tǒng)快速準確達到設(shè)置的平衡狀態(tài)[7-11]。

圖像 006.png

  系統(tǒng)采用計算量較小的增量式PID算法,由模擬PID離散化得到在k-1時刻的輸出:

  QQ圖片20161112101206.png

  其中,T為采樣時間。單片機控制系統(tǒng)將采用恒定的采樣周期T,一旦確定A、B、C,只要使用前后3次測量的偏差值,就可以求出控制量。

  3.3 系統(tǒng)抗干擾設(shè)計

  由于角度傳感器采集到的數(shù)據(jù)含有噪聲信號,主要來自外界電磁干擾及角度傳感器本身的噪聲。在軟件系統(tǒng)中采用卡爾曼濾波算法[12-15]將噪聲濾去。設(shè)采樣率為200 Hz,對擺桿擺起發(fā)整個過程進行角度數(shù)據(jù)采集,經(jīng)卡爾曼濾波前后圖像對比如圖7所示,其展示了擺桿從自然下垂狀態(tài)開始實現(xiàn)倒立的整過過程。擺桿靜止時刻自然下垂為平衡狀態(tài)Ⅰ,與垂直方向夾角為0°(圖7(b)中2段所示)。擺桿在電機帶動下獲取一定能量來回振蕩(圖7(b)中3所示),能量達到一定程度擺桿越過180°實現(xiàn)倒立,經(jīng)過短時間幾次小的振蕩后(圖7(b)中4所示),到達新的平衡狀態(tài)Ⅱ(圖7(b)中5所示),實現(xiàn)了擺桿倒立。停止電機控制,擺桿將回到原平衡狀態(tài)Ⅰ,并在0°附近自由振蕩幾次后達到靜止(圖7(b)中6所示)。由于卡爾曼濾波在初始時刻濾波誤差較大,屬于盲區(qū)(圖7(b)中1所示),軟件編程時應(yīng)延時幾秒以避開盲區(qū)。

圖像 007.png

  3.4 主要程序源碼

  定時器T0中斷子程序代碼如下所示[16]:

  void Timer0 interrupt 1  using 1

  {

  TH0=(65536-2500)/256;

  TL0=(65536-2500)%256;//重裝初值

  ReadMpu6050();//讀傳感器數(shù)據(jù)

  KalmanFilter();//卡爾曼濾波

  if(DelayCounter==2000) //計數(shù)判斷

  {Motor0=PIDControl();//PID調(diào)節(jié)控制

  DispBuffUpdata();} //更新顯示緩沖區(qū)

  else DelayCounter++;

  }

4 測試結(jié)果與結(jié)論

  表2為擺起模式運行結(jié)果測量表。通過按鍵設(shè)置擺起模式,分別選擇擺起角度為45°~180°之間的數(shù)據(jù),擺桿會在電機帶動下做往復(fù)擺動,擺角很快達到超過-60°~+60°。當擺桿角度接近180°時,通過PID調(diào)節(jié),迅速使擺桿保持穩(wěn)定倒立狀態(tài),時間維持5 s以上。通過一系列實驗驗證,該旋轉(zhuǎn)倒立擺系統(tǒng)能完成任意角度的擺起,并能實現(xiàn)快速倒立,系統(tǒng)能很好地滿足設(shè)計要求。

圖像 010.png

  參考文獻

  [1] 王家軍,劉棟良,王寶軍.X-Z倒立擺的一種飽和非線性穩(wěn)定控制方法的研究[J].自動化學報,2013,39(1):92-96.

  [2] 趙建軍,魏毅,夏時洪,等.基于二階倒立擺的人體運動合成[J].計算機學報,2014,37(10):2188-2195.

  [3] 周昆,孫明瑋,陳增強.快速顯式預(yù)測控制在倒立擺系統(tǒng)中的應(yīng)用[J].儀器儀表學報,2014,35(9):2037-2044.

  [4] 李雪冰,馬莉,丁世宏.一類新的二階滑模控制方法及其在倒立擺控制中的應(yīng)用[J].自動化學報,2015,41(1):194-202.

  [5] 吳愛國,張小明,張釗.基于Lagrange方程建模的單級旋轉(zhuǎn)倒立擺控制[J].中國工程科學,2005,7(10):11-15.

  [6] 南通國芯.STC12C5A60S2+系列單片機手冊[DB/OL].http://www.stcmcu.com.

  [7] 曹敏,徐凌樺.單神經(jīng)元PID算法在倒立擺控制系統(tǒng)中的應(yīng)用[J].微計算機信息,2009,25(1-1):70-71.

  [8] 楊智,朱海鋒,黃以華.PID控制器設(shè)計與參數(shù)整定方法綜述[J].化工自動化及儀表,2005,32(5):1-7.

  [9] 王述彥,師宇,馮忠緒.基于模糊PID控制器的控制方法研究[J].機械科學與技術(shù),2011,30(1):166-172.

  [10] 陳新海,李言俊.自適應(yīng)控制及應(yīng)用[M].西安:西北工業(yè)大學出版社,1998.

  [11] 王立新.模糊系統(tǒng)與模糊控制教程[M].北京:清華大學出版社,2003.

  [12] 付夢印,鄧志紅,閆莉萍.Kalman濾波理論及其在導(dǎo)航系統(tǒng)中的應(yīng)用(第二版)[M].北京:科學出版社,2010.

  [13] DAUM F.Nonlinear filters beyond the Kalman filter[J].IEEE A&E Systems Magazine,2005,20(8):57-69.

  [14] KIM J,VADDI S S,MENON P K,et al.Comparison between nonlinear filtering techniques forspiraling ballistic missile state estimation[J].IEEE Transactions on Aerospace and Elec-tronic Systems,2012,48(1):313-328.

  [15] KALMAN R E.A new approach to linear filtering and prediction problems[J].Transactions of the AMSE Journal of Basic Engineering,1960,82:35-45.

  [16] 譚浩強.C語言程序設(shè)計(第三版)[M].北京:清華大學出版社,2005.

  


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。