新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于STC12C5A60S2的教育機器人的設計與實現

        基于STC12C5A60S2的教育機器人的設計與實現

        作者: 時間:2011-09-13 來源:網絡 收藏

        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所示。

        本文引用地址:http://www.104case.com/article/172496.htm

        e.jpg


        4.1 模糊PID參數自整定控制器原理
        PID參數模糊自整定是找出PID中3個參數與e和ec之間的模糊關系,在運行中通過不斷檢測e和ec,根據模糊控制原理來對3個參數進行在線修改,以滿足不同e和ec對控制參數的不同要求,而使被控對象有良好的動穩態性能。從系統的穩定性、響應速度、超調量和穩態精度等方面來考慮,Kp,Ki,Kd的作用如下:Kp的作用是加快系統的響應速度,提高系統的調節精度;Ki用于消除系統的穩態誤差;Kd改善系統的動態性能。圖5是PID控制器設計結構原理圖。

        f.jpg


        由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 結束語
        單片機配合紅外光電陣列檢測模塊對直流電機執行參數自整定模糊PID控制器,解決了直流電機在巡航過程中產生抖動前進的控制問題,使得機器人在行走的過程中更平穩,且控制方法簡單、實用。

        pid控制相關文章:pid控制原理


        pid控制器相關文章:pid控制器原理


        蜂鳴器相關文章:蜂鳴器原理
        溫濕度控制器相關文章:溫濕度控制器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 扶风县| 湄潭县| 县级市| 忻城县| 南澳县| 苏州市| 玉溪市| 昌图县| 瑞昌市| 巴南区| 镇康县| 吉林省| 南岸区| 宝鸡市| 大悟县| 阳信县| 陆河县| 宁陵县| 宣城市| 石台县| 神池县| 呼图壁县| 安西县| 陕西省| 铜梁县| 禹州市| 视频| 南雄市| 河北区| 隆安县| 海兴县| 邵东县| 新宾| 双城市| 宁陕县| 安达市| 商南县| 宣化县| 清徐县| 龙井市| 崇左市|