關 閉

        新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阆中市| 阜城县| 屯留县| 中方县| 论坛| 灵石县| 台南县| 塘沽区| 双流县| 星座| 青神县| 香河县| 建始县| 和林格尔县| 衡东县| 留坝县| 克什克腾旗| 洪江市| 门头沟区| 樟树市| 丰都县| 若尔盖县| 深水埗区| 高雄县| 阿巴嘎旗| 辛集市| 牟定县| 信宜市| 邹城市| 武宁县| 永清县| 西林县| 即墨市| 张家川| 邹城市| 布尔津县| 济阳县| 贵南县| 阿拉善左旗| 桃源县| 凤城市|