新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于μC/OS-Ⅱ系統的智能尋跡模型車的設計與實現

        基于μC/OS-Ⅱ系統的智能尋跡模型車的設計與實現

        作者: 時間:2009-11-23 來源:網絡 收藏
        2 軟件
        為使車在環境改變時做出更為及時準確的響應,在程序時應用μC/。μC/Ⅱ適合小型控制,具有執行效率高、占用空間小、實時性能優良和可擴展性強等特點,最小內核可編譯至2 KB。μC/Ⅱ的代碼是用C語言編寫,可以直接移植到有C語言編譯器的處理器上。移植主要都集中在多任務切換的上,由于這部分代碼用于保存和恢復CPU現場(即寫/讀相關寄存器),不能用C語言,只能使用匯編語言完成,即編寫OS CPU A.S文件。另外還需要修改體系結構相關的OS CPU.H文件和用戶規定任務棧初始化結構的OS CPU C.C文件。
        μC/OS-Ⅱ是采用的可剝奪型實時多任務內核。可剝奪型的實時內核在任何時候都運行就緒了的最高優先級的任務。μC/OS-Ⅱ中最多可以支持64個任務,分別對應優先級0~63,其中0為最高優先級。在該系統中,共應用了7個優先級,其中,操作系統建立任務,即Task Start()的優先級最高。調度工作可以分為兩部分:最高優先級任務的尋找和任務切換。
        在該系統中,共定義了路徑識別、光電轉盤檢測等7個任務,控制器任務劃分及說明如表1所示。其調度和通信流程如下:系統執行Task Start(),在初始化任務執行完成后,利用μC/OS-Ⅱ的OSTaskDel()函數將這個任務返回并處于休眠狀態。此時,Task Po-sition Check()成為優先級最高的任務,將會一直執行。當Task Position Check()檢測到路徑有所改變,通過郵箱傳送數據到Task Control(),并由TaskControl()控制PWM波輸出的改變。任務Task Op-tical_Wheel()的優先級稍低,同樣會一直執行,即當任務Task_Optical_Wheel()檢測到黑白跳變時,任務中的變量加1,Task_Optical_Wheel()每隔1 s向任務Task_Path_Calculate()和Task_Speed_Calculate()發送1次消息,分別計算速度和已走的累加路程,控制器任務關系圖如圖4所示。

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

        2.1 路徑黑線的識別
        路徑黑線的識別的準確程度決定車能否完成快速、穩定的尋線。識別裝置由高發射功率紅外光電二極管和高靈敏度光電晶體管組成,以非接觸檢測方式,檢測距離可調整達4~20 mm。為了精確測定車的相對位置,將7對ST178并排安放在車底盤下部的前端,其分布垂直于智能車行走的方向。當車行走時,保持7個發光管發光,當某一個光電對管的下方為黑色軌跡時,相應的接收管輸出為高電平,而下方為白色路面的接收管輸出為低電平。再經數據處理后,控制系統就可以分析出當前車行走的位置,從而達到調整智能車運行狀態的目的。例如,假設路面黑線的寬度為三組紅外線對管的寬度,當黑線在車體中間時,7個輸入引腳為28H(0011100);當車體左或右偏時,接收到的數據會改變,即“1”會相應的左移或右移,如0001110(右偏)、0111000(左偏),偏移幅度不同,“1”的移動位數便不同。
        2.2 轉向控制模塊
        采用PWM(脈沖寬度調制)控制,配用L298驅動電路實現直流電機的調速,方法簡單且調速范圍大,它利用的是直流斬波原理,假定高電平導通,在一個周期T內導通時間為t,那么一個周期T內的平均電壓U=(t/T)VCC=qVCC,其中占空比q=t/T。
        電機的轉速與電機兩端的電壓成正比,而電機兩端的電壓與控制波形的占空比成正比,因此電機的速度與占空比成正比,占空比越大,電機轉的越快,當占空比q=1時,電機轉速達到最大。該智能車系統采用8 MHz的晶體振蕩器,PWM信號引腳OCRO/2的頻率為:

        式中:變量N代表分頻因子:1.8,32,64,128,256或1 024。占空比計算公式為:
        t/T=(OCR0/1/256)
        2.3 車速及路程測量模塊
        在智能車車后輪上粘貼均勻分布有黑白條紋。在輪轉動的過程中,紅外傳感器會不斷檢測到黑、白條紋的出現。當紅外傳感器檢測到的為黑條紋時,輸入電壓為高電平,當檢測到的為白條紋時輸入電壓為低電平。若傳感器檢測到電平跳變,則計數變量加1。時鐘每秒產生一次中斷,Task_Clock()進程通過郵箱向Task Speed_Calculate()進程發送數據,由此可算出小車速度:速度=數據/每圈條紋數。如圖5,圖6所示。

        3 結 語
        本文介紹了一種智能尋跡車的設計與實現。實踐證明,該智能車定位準確,系統響應快且穩定,具備良好的動力性能和精確的轉向性能,證明了μC/OS-Ⅱ系統的有效性和穩定性。相比同類智能車,該車還具有高性能、低功耗的優點。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 扶风县| 灵石县| 西和县| 图们市| 那曲县| 井陉县| 秭归县| 四川省| 清原| 海宁市| 双鸭山市| 吉林省| 长武县| 中江县| 澎湖县| 积石山| 云龙县| 朝阳县| 海兴县| 临西县| 泽普县| 呼和浩特市| 兴安县| 安吉县| 和平区| 祁连县| 嘉禾县| 中宁县| 太仓市| 化州市| 遵化市| 余江县| 鲁甸县| 太原市| 莒南县| 溆浦县| 曲靖市| 黄龙县| 三原县| 荔波县| 边坝县|