?
目前許多高等教育院校采用教育機器人進行課堂教學和培養學生的創新能力。本文設計的教育機器人通過紅外光電傳感器陣列檢測路面信息并利用模糊自整定PID算法將采集的路面信息和電機運行數據進行實時處理,實現教育機器人的智能巡航并將機器人的狀態顯示輸出。
1 機器人的組成及工作原理
機器人由硬件和軟件兩部分組成。采用STC12CSA60S2單片機作為系統控制的核心部件,完成路面信息檢測、直流電機控制、電機轉速檢測、數碼管顯示、蜂鳴器報警以及鍵盤輸入等功能,硬件系統框圖如圖1所示。
?
軟件部分主要完成路況檢測、PID電機控制、輸入輸出人機接口,可實現各種機器人巡航動作、智能循跡等功能。
2 STC12系列單片機
本文采用的STC12C5A60S2單片機是是宏晶科技生產的STC12系列單片機。該單片機是單時鐘/機器周期(1T),具有高速、低功耗、超強抗干擾和無法解密諸多優點。指令代碼完全兼容傳統8051,速度快8-12倍。工作電壓為3.3 V~5.5 V(5V單片機),有6個16位定時器,兼容普通8051的定時器或4個外部中斷,具有看門狗和EEPROM功能,并且內部集成MAX810專用復位電路。
3 硬件設計
3.1 系統電源
由于電機在啟動瞬間電流很大,要求電源有足夠大的驅動能力,因此系統采用雙電源供電方式。利用LM7805將12 V鋰電池組電壓轉換為5 V穩壓電源給單片機最小系統電路、路面檢測電路、數碼管顯示電路和電機測速電路供電。而電機驅動電路直接由另外一組鋰電池輸出的12 V電壓直接供電。
3.2 電機驅動電路
本系統使用的直流電機額定電壓為12 V,額定轉速為300 rpm。電機驅動電路采用專用芯片L298N作為電機驅動芯片。用該芯片作為電機驅動,不僅穩定性好,大大地簡化驅電路,而且驅動能力大,有利于電機轉速的穩定。電機驅動電路如圖2所示。
?
3.3 紅外光電傳感器尋跡陣列模塊
紅外光電檢測電路工作原理是:紅外線射到路面并反射,利用紅外線在黑線和白線對光的反射系數不同的特點一白色反光線,黑色吸收光線,電路設計一個發射紅外光和一個紅外光敏二極管,當檢測到黑線時,檢測電路向單片機發出一個高電平信號。當檢測到白色時,檢測電路向單片機發出一個低電平信號。
由7組紅外光電檢測電路排成一排構成一個紅外光電傳感器陣列模塊,安置在機器人的車頭位置。在對黑線循跡的過程中,紅外光電傳感器陣列模塊可以求得機器人對黑線軌跡位移偏移量。單片機檢測到紅外光電傳感器陣列模塊的信號與機器人的位移偏移量如表1所示。
?
當機器人行駛的狀態不一樣時,7組傳感器輸出的值也對應不同,從表中可以得到機器人在巡航過程中機器人所處位置與黑色軌跡的偏移量。
3.4 車速檢測模塊
教育機器人系統通過車速檢測模塊來讀取當前車速。采用的方法是在后左右輪上分別粘貼一個均勻分布有黑白條紋的編碼盤(見圖3(a)),利用圖3(b)的檢測電路來對編碼盤上的黑白條紋進行檢測。當車輪轉動時,紅外接收管接收到的反射光強弱高低變化就會產生與車輪轉速相對應的脈沖信號,將該脈沖信號進行放大整形后輸入單片機的引腳P3.4和P3.5,記錄單位時間內所得到的脈沖數,就能夠表示出當前車左右輪子的速度,同時通過累加可以計算出小車所行走的路程。
?
3.5 其他電路
數碼管顯示電路主要是顯示當前機器人的行走速度。采用LED數碼管動態顯示,段碼用PNP三極管驅動。系統顯示的距離范圍在10米之內,選用4位LED共陽數碼管,通過單片機編程實現動態掃描顯示。顯示字符由單片機P0口送出,P1.6、P1.7、P3.0和P3.1分別控制每一位數碼管的動態顯示。
報警電路通過單片機P3.7控制蜂鳴器來完成。P3.7輸出低電平時,蜂鳴器報警;P3.7輸出高電平,蜂鳴器不報警。單片機的外部中斷輸入口P3.2和P3.3與地之間分別接入輕觸按鈕作為系統的啟動和停止開關,作為按鍵輸入電路。
4 系統軟件設計
系統控制的實現是由軟件完成的。軟件設計基于keilC51編寫的,采用模塊化結構設計,各個功能子塊獨立。在結構上由1個主程序文件main.c和8個子程序文件(key.c、pid.c、detect.c、seg.c、speed.c和motor.c)組成。main.c主程序文件完成一系列任務的初始化工作和處理各個任務工作的協調。key.c文件完成按鍵中斷檢測和蜂鳴器報警任務;seg.c文件完成數碼管顯示;sp∞d.c文件完成電機速度檢測;motor.c完成PWM的配置和電機的控制;detect.c文件完成紅外光電傳感器陣列檢測;pid.c文件實現模糊參數自整定PID運算處理。其中定時器TO產生采樣周期T秒定時中斷,每間隔T秒中斷一次,完成一次PID控制計算,同時調用模糊參數自整定PID運算子程序對測試轉速和設定轉速進行差值計算得到輸出值,用于配置PWM的輸出,控制電機轉速。主程序和定時器TO中斷處理流程圖如圖4所示。
?
4.1 模糊PID參數自整定控制器原理
PID參數模糊自整定是找出PID中3個參數與e和ec之間的模糊關系,在運行中通過不斷檢測e和ec,根據模糊控制原理來對3個參數進行在線修改,以滿足不同e和ec對控制參數的不同要求,而使被控對象有良好的動穩態性能。從系統的穩定性、響應速度、超調量和穩態精度等方面來考慮,Kp,Ki,Kd的作用如下:Kp的作用是加快系統的響應速度,提高系統的調節精度;Ki用于消除系統的穩態誤差;Kd改善系統的動態性能。圖5是PID控制器設計結構原理圖。
?
由PID各個參數對系統的影響得到:
(1)當誤差|e|較大時,說明誤差的絕對值較大,不論誤差的變化趨勢如何,都應該考慮控制器的Kp取較大值,以提高響應的快速性;而為防止因為|ec|瞬時過大,kd應該取較小的值;為控制超調,ki也應該取值很小。
(2)當誤差|e|在中等大小時,為保證系統的相應速度并控制超調,應減小Kp,Ki值應增大,Kd應適中。
(3)當誤差|e|較小時,為保證系統具有良好的穩態特性,應加大Kp、Ki的取值,同時為避免產生振蕩,Kd的取值應該和|ec|聯系起來。
教育機器人屬于典型的非線性、時變、模型不確定復雜系統。在實際中,機器人行駛道路有直道、大彎道、“S”型小彎道。利用教育機器人在相同的路況下其特性基本不變,可分別確定這3種道路參數下的最佳PID參數。其核心思想是把控制周期內的機器人狀態視為不變,只要控制周期較短,就可實現很好的控制效果。在機器人實際的行使中,每10ms進行1次控制,可滿足要求。
4.2 PID參數設定
模糊PID控制根據系統運行的不同狀態,考慮Kp、Ki、Kd三者的關聯,根據工程經驗并依據各參數的作用,通過大量的測試獲得本系統對應路況下的PID參數,實驗數據如下:
(1)在直道上系統取kp=3,Ki=5,kd=0,測試環境為一條長度5 m的長直道;
(2)在大彎道上系統取kp=10,Ki=1,kd=1,測試環境為直道進入一個半徑為100 cm的3/4圓;
(3)在“S”型小彎道上系統取kp=7,Ki=4,kd=3,測試環境為3個90度圓弧構成的"S"型小彎道。
5 結束語
用STC12C5A60S2單片機配合紅外光電陣列檢測模塊對直流電機執行參數自整定模糊PID控制器,解決了直流電機在巡航過程中產生抖動前進的控制問題,使得教育機器人在行走的過程中更平穩,且控制方法簡單、實用。
評論
查看更多