劉 恒, 吳朝陽, 劉建成, 孫冬嬌
(南京信息工程大學 電子與信息工程學院, 江蘇 南京 210044)
一種典型閉環PID控制教學實驗設計
劉 恒, 吳朝陽, 劉建成, 孫冬嬌
(南京信息工程大學 電子與信息工程學院, 江蘇 南京 210044)
利用浙江天煌教儀公司THETDA-4型實驗教學平臺,通過設計帆板傾角控制系統實驗,讓學生了解工程項目規范化的軟硬件設計及調試要求,熟悉閉環電子控制系統的結構,掌握PID控制和PWM方法的應用。實驗涉及同步串行IIC通信協議、卡爾曼濾波、基于雙定時器的脈沖寬度調制、PID算法、虛擬串口示波器、無字庫液晶的取模及驅動、機械結構的制作等,該實驗屬于一個典型的閉環PID控制綜合實驗,可作為單片機課程綜合設計和大學生電子設計競賽實訓實驗。
PID控制; 實驗設計; 脈沖寬度調制; 帆板
全國大學生電子設計競賽是教育部倡導的大學生學科競賽之一,是面向大學生的群眾性科技活動。競賽的特色是與理論聯系實際學風建設緊密結合,競賽內容既有理論設計,又有實際制作,以全面檢驗和加強參賽學生的理論基礎和實踐創新能力[1]。
自2012年以來,筆者一直在學校負責全國大學生電子設計競賽的賽前培訓和競賽指導工作。作為第一指導教師,指導的學生100%獲級,其中國家一等獎3項,國家二等獎1項,江蘇省一等獎6項,江蘇省二等獎6項。長期關注和研究全國大學生電子設計競賽題目,總結得出:歷年控制類競賽題目均為典型的閉環電子控制系統結構,執行器多為各類電機,考查涉及到在單片機上可實現的比例-積分-微分(PID)控制算法、脈沖寬度調制(PWM)技術等[2-4]。
典型的閉環電子測控系統(見圖1)包括獲得被測對象信息的傳感器、主控單元MCU、執行器、人機接口、顯示設備、電源模塊。主控單元通過傳感器來獲得被測對象信息,獲得的信息與人機接口設置的目標信息進行對比,從而根據誤差來調整執行器的動作,實現被測對象的恒量輸出。為了實時了解和方便觀測被測對象信息,顯示設備必不可少。電源模塊負責給各部分模塊供電。

圖1 典型閉環控制電子系統結構框圖
本文通過經典的閉環控制實驗——帆板控制系統實驗展示數字PID控制及PWM技術,在容許的角度誤差范圍內,實現帆板在實驗者設置的傾角附近小幅擺動。
帆板控制系統見圖2,被控制對象為簡易帆板,傳感器為傾角傳感器(MPU6050),執行器為直流軸流風機,人機接口為矩陣按鍵,顯示設備為LCD屏,電源有+12 V和+5 V,MCS-51單片機為主控制器,實驗完全符合圖1的典型閉環控制系統結構。本實驗項目擬通過典型的帆板控制系統實驗,讓學生了解工程項目規范化的軟硬件設計及調試要求,熟悉閉環電子控制系統的結構,掌握PID控制和PWM方法的應用,讓應用者能舉一反三,拓展到其他類似控制系統應用中[5-6]。
一種帆板控制系統包括一個懸掛自然下垂的紙板(帆板),在紙板上固定的陀螺儀傳感器MPU6050(傾角傳感器),12 V直流軸流風機,NPN三極管構成的電機驅動,4×4矩陣鍵盤,液晶屏LCD12864,主控模塊MCS-51單片機,蜂鳴器,電源模塊,所有模塊均來自于THETDA-4型實驗平臺。

圖2 帆板控制系統
帆板結構自制,可以由專門的支架、硬紙板、塑料桿等組成,桿子套在紙板內部,桿子通過熱熔膠固定,紙板能夠繞桿子轉動,轉動阻尼大小影響控制的精度,也可以將四腳方型板凳倒過來,4個腳就存在兩兩平行,將硬紙板制作的長方形帆板裁剪到合適尺寸,然后用軟質導線固定帆板的長邊2個角。在自身重量的作用下,靜態時帆板就會保持下垂,簡易的帆板結構就完成。將傾斜角度傳感器MPU6050固定在帆板背風機面的中間位置。傳感器的Z軸垂直帆板面,X軸垂直于帆板的長邊,Y軸平行于帆板的長邊。MPU6050的電源和信號均通過軟質多股導線與電源和單片機引腳連接。傳感器模塊和導線通過透明膠粘接固定,導線的連接必須不影響帆板的運動,建議盡量采用輕質導線。
風機的風力盡可能集中到帆板的中心位置,鑒于風機和帆板高度的尺寸差異,需要將風機墊高,可以采用透明膠帶將風機固定在基座上,從而風力集中到帆板的中心位置。
單片機STC90C58RD+包括40個引腳,完全兼容傳統51單片機。P1端口8個引腳分配給4×4的矩陣鍵盤,通過排線相互連接;LCD12864的數據接口D7—D0依次連接P2端口的8個引腳,從高到低次序依次連接。液晶的控制引腳BL、D/I、R/W、E、CS1、CS2、RST依次連接P01、P02、P03、P04、P05、P06、P07,也通過排線連接。
MPU6050作為唯一掛在總線上的IIC器件,AD0地址線懸空,XDA、XCL懸空不接,因為傳感器僅作為從機,INT為完成后中斷,在本實驗中懸空,采用查詢方式讀取信息。SCL、SDA引腳依次連接單片機的P32、P33引腳。
風機驅動采用NPN三極管,只有一個輸入INT引腳,連接單片機P34引腳,驅動器的輸出引腳連接風機的負電源黑線。
電源包括+12 V和+5 V,分別供給單片機、按鍵、液晶屏+5 V,對應的模塊電源地連接公共地。+12 V給NPN驅動模塊和風機的紅色線。
本實驗項目的開發環境是μVision4 IDE,它是德國Keil 公司開發的基于Windows平臺的單片機集成開發環境,包含一個高效的編譯器、一個項目管理器和一個MAKE工具。
實驗項目沒有配置硬件仿真器,采用串口來對單片機進行編程,通過USB轉串口D9線完成電腦與單片機的連接,也可以采用專門USB型的STC單片機編程器。對應的編程軟件是宏晶科技出品的STC單片機專用ISP下載編程軟件。利用該編程軟件可以將STC單片機的頭文件加入到Keil軟件中,在工程項目的配置中直接選擇STC90C58RD+對應的頭文件,便于工程的開發[7]。
為了實驗者更好地理解及完成實驗,整個實驗由易到難分3步完成:第一步,手動掀起帆板,通過傳感器MPU6050來完成傾斜角度的測量,同步將角度信息顯示在屏上,并通過虛擬示波器顯示角度變化的曲線;第二步,通過矩陣鍵盤對風機進行調速,達到帆板角度變化目的,觀測風機的非線性和最大吹起角度;第三步,通過按鍵設置帆板傾斜角度,單片機通過PID控制算法來對風機進行自動調速,實現帆板保持在設定角度位置,同時誤差在指定范圍內發出聲音警示來供觀測者驗證。
實驗一,首先上電準備,對液晶屏和串口進行初始化,液晶初始化后顯示“Init”;再對傳感器MPU6050進行初始化,初始化沒有成功就一直返回,不斷初始化,初始化通過后顯示“Done”,開始采集角度信息并對角度信息進行顯示;然后將信息發送到上位機的基于Labview的虛擬示波器上。串口初始化設置異步通信格式,在虛擬示波器上也需要設置通信參數。
實驗二和實驗三的流程一致,首先上電準備,對液晶和串口進行初始化,液晶初始化后顯示“Init”;再對傳感器MPU6050進行初始化,初始化沒有成功就一直返回不斷初始化,初始化通過后顯示“Done”,采集角度信息并對角度信息進行顯示;然后對按鍵進行掃描,通過按鍵值得到對應的占空比或目標角度,通過算法調整脈沖寬度,驅動風機轉動。傳感器采集角度信息后進行顯示。
實驗二是開環手動調節占空比,實驗三是閉環調節的,這是兩者的不同,軟件流程見圖3。

圖3 軟件工作流程圖
4.1 系統安全設計
實驗利用浙江天煌教儀公司的THETDA-4型實驗平臺搭建,硬件連接見圖4。在系統安全設計方面,主要考慮以下幾點:
(1) 合理配置I/O引腳,多數信號采用排線進行電氣連接,避免了誤插線引起的故障。電源也通過轉接板連接在一起,+12 V、 +5 V、GND用工程規范的不同顏色線連接。
(2) 整個系統主要是弱電系統,電源包括+12 V電源和+5 V直流電源。由于該系統的電源均取決于THETDA-4型平臺,平臺具有過流保險絲,電流過大或短路會發生保險絲熔斷,保護其他模塊。電源模塊有開關可以打開或關斷2路電源。
(3) 在實驗中,也要求實驗者必須牢記先斷電再接線,然后檢查接線正確再上電測試,操作中不容許帶電熱插拔和接線。
(4) 在系統調試中,根據模塊功能進行單一模塊的調試,子模塊調試通過后再級聯測試,避免將所有模塊連一起再測試復雜的功能。
(5) 軟件編程采用工程模塊化方法,頭文件里配置引腳及宏定義、函數聲明,便于工程的硬件平臺移植。
(6) 預先保留定時器1和串口P3.0及P3.1引腳,便于調試觀測信號。

圖4 實驗硬件連接
4.2 實驗步驟及現象
本項目實驗分3步進行,由簡單到復雜,由開環到閉環[8]。
(1) 手動掀起帆板,通過MPU6050獲得帆板傾斜角度[9],液晶屏顯示帆板的傾角,上位機虛擬示波器顯示角度的變化曲線。
實驗現象:手動掀帆板,液晶屏能顯示對應角度的實時變化,上位機虛擬示波器能顯示角度的變化曲線。通過量角器比較,角度小時誤差小,角度大時誤差大。傳感器通過初始化后顯示“Done”,并顯示對應的角度,液晶屏顯示見圖5。自主設計的基于Labview的串口示波器能觀察到角度曲線的變化見圖6,在手動掀帆板中,手的抖動會產生曲線的毛刺。波特率為4 800 bit/s,在其他波特率下容易產生數據傳輸誤差。

圖5 液晶屏顯示的帆板(手動)

圖6 虛擬示波器觀測到的角度曲線變化
現象分析如下:
① 傳感器原理性誤差:平板電容的大小與極板間隔距離成反比,間距越大,非線性越大。
② 編程換算誤差:程序量大,2個中斷,雙倍速下也容易卡死。在角度換算中,浮點數近似為整數,加快運算,但也帶來了誤差。
③ 由于單片機的晶振為12 MHz,所以選擇波特率為4 800 bit/s合適。
(2) 第二步:通過按鍵設置0~100%內任意占空比,觀測風機的風速變化,并記錄風機開始轉動的占空比閾值和100%占空比時的帆板角度。分析占空比與角度之間的數值關系。
圖7給出了不同占空比下的帆板吹起角度,通過按鍵能在0~100%間設置任意占空比,也能連加或連減調節。能觀測到風機具有啟動占空比閾值約為10%,占空比大到90%,帆板吹起角度近似不變。占空比與角度不具有線性關系。現象分析如下:適當增加電機驅動電壓,可提高100%占空比下能達到的角度或更換大功率風機。

圖7 不同占空比下的帆板角度
(3) 第三步:按鍵設置目標角度,觀測帆板角度、脈沖寬度變化,當角度誤差小于設定值時,聲音提示。圖8給出了不同設定角度下的占空比及測量角度,整定的PID參數相對比較合適,在2 s內能快速調節占空比,實現帆板角度的自主控制。

圖8 不同設定角度下的占空比與測量角度
實驗現象:
(1) 按鍵能設置任意兩位數目標角度,但考慮風機的功率,最大可設置目標角度為50°;
(2) 在45°時,PID控制的誤差不超過1.5°,在容許誤差范圍內蜂鳴器發聲提示;
(3) 單向擺動誤差過大時,減小比例系數效果好;單位時間內在目標角度左右擺動次數多,可減小微分系數來調整[10];
(4) 風機驅動器改變后,參數需要重新整定。風機相對帆板位置對角度誤差影響比較大。
PID參數整定:先期設定比例系數為比較大的值,積分和微分系數為0,目標角度為最大角度的70%,觀察帆板的擺動情況,直到出現振蕩為止,記錄此時的系數值,也可以從小到大增加系數值,直到振蕩消失,記錄該系數值,兩者可以求平均;再調節積分系數,設定一個初始值,當擺動在目標值附近單一輪回回復慢,適當減小積分系數,當擺動在目標位置多次來回波動,加大積分系數;設定一個微分系數初值,偏離目標值大且回復慢,加大微分時間,單位時間內偏離目標角度誤差不大,但振蕩頻繁,減小微分系數。
本項目實驗涉及的知識面廣,軟件包括傳感器的IIC通信時序、數字增量式PID編程、基于定時器的脈沖寬度調制技術、單片機的中斷編程、卡爾曼數字濾波等。本項目的創新主要體現在:
(1) 選用低成本沒有專門PWM模塊的STC90C58RD+單片機,通過定時器0和2的軟件編程實現了脈沖寬度可調方波,擴充了定時器應用功能;
(2) 傾斜角度的換算,沒有直接采用加速度的單一反正切,采用了陀螺儀和加速度的組合后的卡爾曼濾波算法,角度隨機波動大大減小;
(3) 結合具體的風機死區特性,采用了帶有分段式的增量PID控制算法。
致謝:感謝中國高等教育學會及浙江天煌教儀公司對實驗設計支持,實驗獲得第一屆全國高等院校工程技術應用教師大賽電子技術創新設計與應用賽項全國二等獎。
References)
[1] 刁鳴,王松武,李海波.大學生電子設計競賽的實施與思考[J].實驗技術與管理,2010,27(9):127-129.
[2] 陸偉男,蔡啟仲,李剛,等.基于四軸飛行器的雙閉環PID控制[J].科學技術與工程,2014,14(33):127-131.
[3] 田紅鵬,范振可.四旋翼飛行器不完全微分PID控制算法研究[J].計算機仿真,2016,33(12):58-61.
[4] 呂淑平,許紅,胡健軍.直流電機組開/閉環控制實驗系統設計[J].實驗技術與管理,2017,34(1):69-73.
[5] 鄒水平,行鴻彥,于祥.一種新的溫度傳感器濕度補償方法[J].南京信息工程大學學報,2016,8(6):533-539。
[6] 王效華,牛思先. 基于單片機的PWM控制技術的實現 [J]. 武漢理工大學學報, 2010,32(1):94-98.
[7] 孟瑞麗,宋安,張宏群,等.一種數字頻率特性測試儀的設計[J].南京信息工程大學學報,2015,7(2):137-141.
[8] 孟瑞麗,劉恒,張宏群. 一種靜電驅動微機械諧振傳感器的接口電路及應用[J].儀表技術與傳感器,2015(5):90-93.
[9] 高顯忠,候中喜,王波,等.四元數卡爾曼濾波組合導航算法性能分析[J].控制理論與應用,2013, 30(2):171-177.
[10] 劉海珊,陳宇晨.無刷直流電機PID控制系統仿真及實驗研究[J].系統仿真學報,2009,21(16):5157-5160.
Design of teaching experiment of typical closed loop PID control
Liu Heng, Wu Chaoyang, Liu Jiancheng, Sun Dongjiao
(College of Electronic and Information Engineering, Nanjing University of Information and Technology, Nanjing 210044, China)
Based on the THETDA-4 experimental teaching platform of Zhejiang Tianhuang Teaching Instrument Company, and through the designed experiment of the tilt angle control system of the sailboard, the students can understand the standardized design and debugging requirements of the software and hardware of the engineering project, become familiar with the structure of the closed loop electronic control system, and grasp the PID(proportional integral derivative) control and the application of the PWM(pulse width modulation) method. The experiment involves the synchronous serial IIC communication protocol, the Calman filter, the pulse width modulation based on double timers, the PID algorithm, the virtual serial port oscilloscope, the mode acquisition and the drive of non-font liquid crystal, manufacturing of mechanical structure, etc. This experiment belongs to the comprehensive experiment of the typical closed loop PID control, and can be used as the comprehensive design of the SCM course and the practical training experiment for college student electronic experimental design contest.
PID control; experimental design; pulse width modulation; sailboard
TP273;G642.423
: A
: 1002-4956(2017)09-0042-05
2017-03-08
江蘇省電子信息工程品牌專業質量工程建設項目(PPZY2015B134);南京信息工程大學教學改革研究課題(2015年);南京信息工程大學開放實驗室項目(2016年)
劉恒(1980—),男,湖北黃岡,工學博士,副教授,碩士研究生導師,主要研究方向為傳感器設計和數字信息處理.
E-mail:ghost80boy@163.com
10.16791/j.cnki.sjg.2017.09.012