關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于CAN總線的分布式控制器設計和實現

        基于CAN總線的分布式控制器設計和實現

        作者: 時間:2009-10-26 來源:網絡 收藏
        3.2 多任務分配實例

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

        以主控制模塊的軟件為例對上述構架進行說明,如圖5。

        每個任務獨自運行,將各自的計算數據放入數據通道中,或者從數據通道中獲得相應數據進行計算,這樣的構架結構清晰,柔性強。

        4 應用實例

        筆者將該控制系統應用于輪系機器人的尋線控制上,即讓機器人跟蹤地面上一定寬度的引導線。

        4.1 硬件選擇

        根據控制要求,硬件上需要信號輸入模塊,主控模塊和伺服驅動模塊。

        4.2 傳感器安置和信號輸入模塊

        筆者采用光電傳感器,利用不同顏色對于光的反射效果不同的原理,區分出地面的指引線,光電傳感器布局如圖6。

        機器人采用14個光電傳感器(數字量),黑色點表示在引導線上為0,白色點表示在引導線外為1,并且通過光電傳感器間距和引導線寬度之間的關系,保證最多只有3個光電傳感器在引導線內,從這樣的一系列邏輯組合就可以知道機器人現在的姿態。信號輸入模塊中的算法任務對采集信號做濾波,過濾誤信號,之后將數據傳輸給信息輸出任務,打包后發向

        4.3 尋線算法和主控模塊

        主控模塊的信息接受任務獲得上述信息后,解包并將相關的數據扔向數據通道,算法任務獲得數據進行運算。

        由圖6可知,7個光電傳感器和引導線之間有9種狀態,上下兩組狀態就可以確定目前機器人的姿態,其構成一個9×9的二維矩陣,易知共有81種不同的組合。通過這個二維矩陣可獲得機器人現在的狀態,用左極偏、左大偏、左中偏、左小偏、正常、右小偏、右中偏、右大偏和右極偏九種狀態來表示,對應整數-4~+4。

        給出機器人尋線控制PID表達式:

        其中ΔVk是第k時刻需要的左右輪速度差,即在上傳輸的電機速度參數;e表示偏移狀態和正常狀態之間的差,在這里就是狀態所對應的整數;kp,kI,kD分別為比例、積分和微分常數。

        算法任務將ΔVk扔到數據通道中,由信息輸出任務將其打包后發送給

        4.4 輸出驅動和伺服驅動模塊

        該模塊接收到ΔVk之后采用“均分原理”,把差速均分增加在左右輪電機上,即:

        VL和VR分別為左右輪的輸出轉速,Vm為無偏移情況下的左右輪輸出。

        算法任務將VL和VR變為符合LM629的參數格式之后發送到數據通道,信息輸出任務獲得該數據之后直接對LM629進行驅動。

        整個總線多任務構架的控制系統信息流圖如圖7所示。

        總線在多任務操作系統的構架下可以看成是透明的,模塊之間的通訊可以簡單地看成各個任務之間的通訊,做到了各個模塊之間的無縫連接。在用該進行機電系統時,者的注意力只需要放在各模塊的算法任務部分。本系統可以很好地滿足在校生科技創新的需求,方便學生構架機電系統或者機器人的,讓者把更多的精力放在機電控制算法上面。

        伺服電機相關文章:伺服電機工作原理


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



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 堆龙德庆县| 屯留县| 阿勒泰市| 闽侯县| 阳曲县| 崇左市| 鹤山市| 宁蒗| 郁南县| 九寨沟县| 泽普县| 泰兴市| 醴陵市| 垫江县| 桂阳县| 遂溪县| 伊川县| 东乌珠穆沁旗| 武山县| 尖扎县| 拜城县| 邵东县| 浦东新区| 杭锦后旗| 饶阳县| 通海县| 中阳县| 永兴县| 南京市| 江永县| 日土县| 赤城县| 周口市| 丹棱县| 苗栗市| 玛曲县| 淮安市| 肇东市| 河曲县| 寿阳县| 黔东|