亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        K64和MQXLite的直立智能循跡小車設計

        2018-04-11 09:14:02,,
        關鍵詞:微控制器控制算法編碼器

        ,,

        (蘇州大學 計算機科學與技術學院,蘇州215006)

        引 言

        隨著現(xiàn)代計算機、電子、自動化等技術的發(fā)展,越來越多的智能設備進入人們的生活。智能汽車作為近些年來的研究熱點,其無人駕駛技術具有良好的應用前景。而直立智能車由于具有靈活、占地面積小等特點,在擁擠的地方有較大用途。

        小車設計遵循第十二屆全國大學生智能汽車競賽技術規(guī)范,使用E型車模作為基礎機械結構,完成硬件電路設計,并基于實時操作系統(tǒng)MQXLite設計了控制算法,實現(xiàn)小車直立行駛,自動循跡功能。

        1 系統(tǒng)硬件設計

        系統(tǒng)硬件架構圖如圖1所示,小車硬件系統(tǒng)由輸入部分、微控制器、輸出部分和供電模塊組成。輸入部分的陀螺儀和加速度傳感器、編碼器、攝像頭作為信息采集設備,實時采集小車狀態(tài)信息,經微控制器處理后,微控制器輸出PWM波至電機驅動模塊,控制電機轉速,實現(xiàn)自動循跡。而迷你鍵盤和OLED顯示屏作為人機交互設備,方便調試和獲取信息。

        圖1 系統(tǒng)硬件架構圖

        1.1 微控制器

        微控制器選用恩智浦半導體公司生產的MK64FX512VLL12(K64),其特點為高性能,主頻可達120 MHz,且有FTM、ADC、SPI、I2C、UART等豐富接口。作為智能車的核心控制模塊,微控制器需要獲取各傳感器的輸入信息,轉換為可處理的數(shù)字量,并由控制算法計算出PWM占空比,輸出PWM波至電機驅動模塊。一款高性能的微控制器可以快速完成控制任務,使系統(tǒng)更加穩(wěn)定。

        1.2 供電模塊

        小車使用7.2 V、2 000 mAh的鎳鎘電池供電,而陀螺儀、加速度傳感器、攝像頭的工作電壓為3.3 V,編碼器的工作電壓為5 V,因此需要設計降壓電路,獲得各設備的工作電壓。

        TPS系列低壓差線性穩(wěn)壓芯片的工作壓降較低,靜態(tài)工作電流較小,且具有過載保護功能[1]。利用TPS7333和TPS7350兩款芯片,完成了電路設計,具有較高的穩(wěn)定性。其中,TPS7350電路原理圖如圖2所示,TPS7333電路原理圖與其類似。

        圖2 TPS7350電路原理圖

        1.3 輸入部分

        輸入部分包含陀螺儀和加速度傳感器、編碼器、攝像頭和迷你鍵盤。它們?yōu)檎麄€系統(tǒng)采集信息,是一切控制的基礎。

        我們選用的陀螺儀型號為ENC-03,加速度傳感器型號為MMA7361,它們集成在一個模塊上,通過兩個ADC接口與微控制器連接,將采集到的角速度和加速度模擬量傳輸至微控制器處理。

        對于編碼器,選用了歐姆龍公司生產的500線編碼器,通過齒輪與電機連接,這樣電機旋轉時,編碼器便會產生脈沖,脈沖數(shù)與電機轉速成正比。K64的FTM模塊有正交解碼功能,可以利用該模塊捕獲編碼器脈沖。

        OV7725是由Omnivision公司生產的圖像感光器件,與OV7620、OV7670這些型號相比,OV7725信噪比更高、速度更快、穩(wěn)定性更好、微光靈敏度更高[2]。我們選用的鷹眼攝像頭既使用了OV7725芯片,又設計了硬件二值化電路,可直接將攝像頭采集到的二值化圖像傳輸至微控制器。

        迷你鍵盤為人機交互設備的一部分,它是一個4×4的矩陣鍵盤,可以自定義按鍵功能,完成參數(shù)的錄入與修改。

        1.4 輸出部分

        輸出部分包含電機驅動模塊和OLED顯示屏。

        在設計電機驅動模塊時,我們使用兩片IR2104S芯片和4個MOSFET組成全橋驅動電路,利用MOSFET的通斷來控制兩個電機的轉動方向與轉速。其中,IR2104S芯片為IR公司生產的半橋驅動芯片。

        OLED顯示屏為人機交互設備的另一部分,其分辨率為128×64,可以顯示攝像頭拍攝的圖像、采集到的數(shù)據等,方便調試。

        2 控制算法設計

        直立小車運動控制任務可以分解成以下三個基本任務[3]:

        ① 直立控制。根據小車當前的角度和角速度,控制電機正反轉,使小車保持平衡。

        ② 速度控制。根據小車當前的速度,調整小車傾角,使小車按設定速度行駛。

        ③ 方向控制。根據攝像頭采集到的圖像,計算離中心線的偏離程度,控制兩個電機之間的轉動差速,使小車轉向。

        這三個控制會分別輸出對電機轉向和轉速的控制量,通過線性疊加,得到PWM占空比,最終輸出PWM波至電機驅動模塊。

        2.1 直立控制

        可以將直立小車看成一個倒立的單擺,當它往一個方向傾倒時,在它的底部提供一個同向的加速度,便可以使它回到平衡位置,如圖3所示。

        圖3 直立控制原理

        加速度傳感器采集到小車加速度a后,由下式可以得到小車當前角度θ1:

        (1)

        其中,g為重力加速度單位。另外,將陀螺儀采集到的角速度ω積分,可以得到角度θ2。通過卡爾曼濾波,可以將θ1和θ2融合為變化平滑的角度θ。

        利用PD控制,得到直立控制的控制量Ca:

        Ca=Kpa×(θ-θ0)+Kda×ω

        (2)

        其中,Kpa為直立控制比例系數(shù),Kda為直立控制微分系數(shù),θ0為小車平衡時的角度。Kpa和Kda均需通過實驗得到。

        2.2 速度控制

        為了使系統(tǒng)更加穩(wěn)定,我們希望小車勻速行駛。完成直立控制后,若想讓小車加速,則僅需使其前傾。通過不斷調整傾角,便可以使其按設定速度行駛。

        利用編碼器獲得左右輪的速度后,先由式(3)得到速度差值ve:

        (3)

        其中,vl為左輪速度,vr為右輪速度,v0為設定速度。再將ve積分,得到總的距離偏差d。最后利用PI控制,由式(4)得到速度控制的控制量Cs:

        Cs=Kps×ve+Kis×d

        (4)

        其中,Kps為速度控制比例系數(shù),Kis為速度控制積分系數(shù),它們均需通過實驗得到。這樣,當小車速度低于設定速度時,Cs為負,小車前傾,而直立控制為了使小車保持平衡,便會給小車一個向前的加速度,使小車加速。

        2.3 方向控制

        為了使小車能夠沿指定道路行駛,還需要進行方向控制,根據道路情況及時調整小車的前進方向。

        圖4 中線提取效果

        中線提取效果如圖4所示,在攝像頭采集到的二值化圖像上,道路中間為白色,邊緣為黑色。使用中線提取算法,找出圖像上每行的左右邊線,進而求出道路中心線的位置。對每行中點位置進行加權平均,得到表示小車位置的量,用這個量減去小車目標位置,得到小車離中心線的偏離度me。再計算me的微分量Δme,Δme表示小車方向的變化率。利用PD控制,由式(5)得到方向控制的控制量Ct:

        Ct=Kpt×me+Kdt×Δme

        (5)

        其中,Kpt為方向控制比例系數(shù),Kdt為方向控制微分系數(shù),它們均需通過實驗得到。當小車在道路左側時,拍攝到的圖像向右移動,me為正,因而Ct為正。線性疊加控制量時,左輪加Ct,而右輪減Ct,這樣,小車會向右轉向,恢復至道路中心位置。

        2.4 控制融合

        在完成了直立、速度和方向控制后,線性疊加Ca、Cs和Ct,為了使小車能夠轉向,在疊加Ct時,左輪加Ct,而右輪減Ct。線性疊加的結果即為PWM占空比,根據這個占空比,微控制器輸出PWM波至電機驅動模塊,控制小車行駛。

        3 基于MQXLite的軟件設計

        為了使系統(tǒng)獲得更好的實時性和穩(wěn)定性,我們使用了實時操作系統(tǒng)MQXLite。與無操作系統(tǒng)時不同,操作系統(tǒng)下的編程是以任務為單位的,每一個任務完成一個特定功能,各個任務之間相互獨立。編寫完各個任務后,交由操作系統(tǒng)調度運行,降低了程序設計的難度。

        3.1 MQXLite簡介

        MQXLite是標準MQX(Message Queue eXecutive)嵌入式實時操作系統(tǒng)的輕量級版本,它支持多任務、優(yōu)先級調度、同步訪問資源、任務間通信、中斷處理,具有實時性高、內核精簡、資源占用低等特點[4]。

        3.2 任務劃分

        MQXLite中,任務的基本形式按其執(zhí)行方式分為單次執(zhí)行任務、周期執(zhí)行任務,以及資源驅動任務[5]。

        單次執(zhí)行任務在創(chuàng)建后,只執(zhí)行一次,之后便被銷毀或阻塞;周期執(zhí)行任務按照一定周期執(zhí)行一次;資源驅動任務僅在它等待的資源可用時,才可能被執(zhí)行。

        根據設計的控制算法,我們劃分了5個任務:task_main、task_angle、task_speed、task_turn和task_comm。

        task_main為單次執(zhí)行任務,它是MQXLite啟動后執(zhí)行的第一個任務,用于初始化全局變量、初始化外設、創(chuàng)建其他任務和安裝用戶中斷服務例程。

        task_angle為5 ms執(zhí)行一次的周期性任務,該任務用于直立控制。首先,它獲取陀螺儀和加速度傳感器采集到的角速度和加速度,再通過直立控制算法,計算得到直立控制的控制量。最后,在該任務中還完成控制量的線性疊加,更新左右電機PWM占空比,以變更小車行駛狀態(tài)。

        task_speed為20 ms執(zhí)行一次的周期性任務,該任務用于速度控制。在獲取左右輪速度后,根據速度控制算法,更新速度控制的控制量。

        task_turn為資源驅動任務,用于方向控制。攝像頭采集完畢圖像后,會觸發(fā)一個中斷,在該中斷的中斷服務例程中,置輕量級事件位,觸發(fā)task_turn任務。該任務中,對采集到的圖像使用方向控制算法,更新方向控制的控制量。

        task_comm為資源驅動任務,主要用于與上位機的通信,進行調試。在收到上位機的命令后,該任務被觸發(fā),將小車的參數(shù)發(fā)送至上位機,用于調試與分析。

        另外,由于各控制量被多個任務使用,在更新控制量時,還需要使用互斥體來保證對它們的同步訪問。

        各任務優(yōu)先級從高到低依次為:task_main、task_turn、task_speed、task_angle和task_comm。由于圖像采集的時間較長,在圖像采集完畢后,我們希望能夠盡快更新方向信息,所以task_turn優(yōu)先級較高。task_speed和task_angle同理。而task_comm并不是特別重要,優(yōu)先級最低。這樣設置任務優(yōu)先級后,對方向、速度控制的響應會比無操作系統(tǒng)時快,使整個系統(tǒng)獲得了更好的實時性和穩(wěn)定性。

        結 語

        [1] Texas Instruments. Low-Dropout Voltage Regulators With Integrated Delayed Reset Function (Rev. F)[EB/OL]. (1999-01-01) [2018-01-31].http://www.ti.com/lit/ds/symlink/tps73.pdf.

        [2] Omnivision. OV7725 datasheet[EB/OL]. (2007-12-17) [2018-01-31].http://www.zhopper.narod.ru/mobile/ov7725_full.pdf.

        [3] 劉明,王洪軍,李永科.直立行走的智能車設計方案[J].科技信息,2012,29(20):122.

        [4] Freesca1e Semiconductor. MQXLite Real-Time Operating System User Guide. Rev 1.1[EB/OL]. (2014-02-01) [2018-01-31].http://cache.freescale.com/files/soft_dev_tools/doc/user_guide/MQXLITEUG.pdf.

        [5] 王宜懷,朱仕浪,姚望舒.嵌入式實時操作系統(tǒng)MQX應用開發(fā)技術—ARM Cortex-M微處理器[M]. 北京:電子工業(yè)出版社,2014.

        [6] 卓晴,黃開勝,邵貝貝.學做智能車:挑戰(zhàn)“飛思卡爾”杯[M]. 北京:北京航空航天大學出版社,2007.

        趙俊杰、高曉雅(本科),物聯(lián)網工程專業(yè);張建(講師),主要研究方向為MIS系統(tǒng)開發(fā)、嵌入式系統(tǒng)應用。

        猜你喜歡
        微控制器控制算法編碼器
        基于FPGA的同步機軸角編碼器
        基于ARM+FPGA的模塊化同步控制算法研究
        物聯(lián)網技術在微控制器實驗教學中的應用
        電子制作(2017年14期)2017-12-18 07:07:58
        基于PRBS檢測的8B/IOB編碼器設計
        JESD204B接口協(xié)議中的8B10B編碼器設計
        電子器件(2015年5期)2015-12-29 08:42:24
        一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應用
        電源技術(2015年9期)2015-06-05 09:36:06
        多總線式光電編碼器的設計與應用
        Atmel針對新一代物聯(lián)網應用發(fā)布全新32位微控制器
        最新STM32設計工具增加對混合信號微控制器的支持
        一種非圓旋轉工件支撐裝置控制算法
        亚洲欧美在线观看| 亚洲av迷人一区二区三区| 蜜桃av精品一区二区三区| 天堂国精产品2023年| 国产欧美日韩网站| av二区三区在线观看| 97人妻精品一区二区三区男同| 97色伦综合在线欧美视频| 草莓视频一区二区精品| 美女被插到高潮嗷嗷叫| 不卡一区二区黄色av| 国产 字幕 制服 中文 在线| 国产激情久久99久久| 亚洲小少妇一区二区三区| 成人影片麻豆国产影片免费观看| 中文字幕一区二区三区日韩精品| 国产激情在观看| 在线视频精品少白免费观看| 亚洲精彩视频一区二区| 久久伊人亚洲精品视频| 性xxxx18免费观看视频| 麻豆91免费视频| 亚洲视频中文字幕更新| 久久精品国产av一级二级三级| 精品国产午夜理论片不卡| 国产精品久久久久…| 日本女优免费一区二区三区| 日本在线 | 中文| 人妻av一区二区三区精品| 国产一区二区在线观看我不卡| 国产流白浆视频在线观看| 亚洲毛片αv无线播放一区 | 中文字幕永久免费观看| 国产久久久自拍视频在线观看| 无码无套少妇毛多18p| 久久久久亚洲av无码专区| 国产免费三级三级三级| 国产不卡在线视频观看| 欧洲精品免费一区二区三区| 人妻被猛烈进入中文字幕| 杨幂一区二区系列在线|