新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的分布式機器人控制系統設計

        基于CAN總線的分布式機器人控制系統設計

        作者: 時間:2009-04-07 來源:網絡 收藏

        圖3控制器硬件電路原理簡圖

        2.1 主處理器芯片

          本核心控制芯片采用56F807,該芯片混合了DSP 的高速運算能力與MCU 的控制特性于一體,提供了許多專用于電動機控制的外設,包括兩個脈寬調制模塊(PWMA、PWMB)、2個相位檢測器模塊(quadrature decoder)、12位精度的模數轉換模塊(ADC)、4個定時器模塊、通訊外設模塊(SCI、SPI、)等,因此非常適合于對實現各關節運動的直流無刷電機進行數字控制[4]。

        2.2 接口電路

          DSP56F807芯片內集成了控制器,要完成數據幀的收發還需外加CAN驅動器芯片,本采用Philips公司的PCA82C250為CAN驅動器。為了增強抗外部干擾,在DSP56F807的MSCAN_TX和MSCAN_RX引腳與CAN驅動器之間加兩個高速光電耦合器6N137。

        2.3 電機驅動電路

          電機驅動采用Motorola公司的MPM3003,它內部由上橋臂的3個P-溝道功率型MOSFET 和下橋臂的3個N-溝道功率型MOSFET組成三相橋式電路,是理想的伺服電機驅動集成電路芯片[5]。因PWM輸出電壓不能直接推動MPM3003,在PWM輸出口和MPM3003之間加一個TTL到CMOS轉換芯片MC14504B。

        2.4 電源電路

          控制器上同時需要5.0V 和3.3V 兩種電源。外部采用的是直流24V電源,通過MAX724將24V 穩壓到5.0V,再通過MAX604將5.0V穩壓到3.3V。為了減少電磁干擾,使用磁珠隔離3.3V 的數字電源和模擬電源。

          因篇幅有限,其它的電路模塊不再一一介紹。

        3 控制器軟件

          控制器軟件設計是在Codewarrior6.0集成開發環境下進行的,采用模塊化設計,可分為初始化模塊、主循環模塊和中斷子程序模塊,整個控制功能由各中斷子程序實現,如圖4所示。初始化模塊的作用是初始化DSP 及控制參數,主循環模塊是一個死循環,主要是查詢是否有中斷產生,如果有中斷則轉而去執行相應的中斷服務子程序。數字PID控制子程序是實現控制功能的主體,完成對關節的位置、速度PID控制,通過定時器中斷實現。

        圖4控制器軟件結構簡圖

          對于數字PID控制子程序中的PID算法,采用了一種改進的變速積分PID算法,有效地克服了常規PID算法中出現積分飽和時,造成超調量增加,使調節品質變壞的缺點。變速積分法的基本思想是設法改變積分項的累加速度,使其與偏差大小相對應,偏差大時,減弱積分作用,反之則加強。

          常規PID算法數字離散化為:

        式中,KP,KI,KD分別為調節器的比例、積分和微分系數;E(k),E(k-1)分別為第k次和k-1次的期望偏差值;U(k)為第k次的調節器輸出。

          改進后的變速積分PID算法為:

         f[E(k)]是E(k)的函數,當|E(k)|≤B時,進行常規的PID控制;當|E(k)|>(A+B)后,不再進行積分項的累加;而當B|E(k)|>(A+B)時,f[E(k)]隨E(k)的減小而增大,累加速度加快。其中,A,B為分離區間。

        4 結論

          本文設計的,采用CAN作為通信方式,和過去控制中常用的RS485相比具有通訊穩定可靠、實時性高等優點。在下位關節控制器中選用了56F807作為控制芯片,既能方便地利用豐富的外圍模塊實現控制功能,又能以較快的運算速度實現復雜的控制算法,克服了過去利用MCU作為控制芯片時,難以實現復雜的控制算法的缺點。在控制器軟件中采用了改進的變速積分PID算法,對關節位置、速度進行數字PID控制。該即插即用,功能擴展和故障處理方便;連線簡單,過去對6DOF的機械手進行控制,需118根線纜(包括電機線、傳感器線和其它開關量控制線),現在只需一根雙絞線,外觀也很美觀;另外,各關節控制器直接分布在控制現場,使模擬信號傳輸距離明顯縮短,有效地改善了抗干擾能力。


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


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


        雙絞線傳輸器相關文章:雙絞線傳輸器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 河南省| 济阳县| 定南县| 额济纳旗| 昌平区| 永顺县| 韶山市| 吴堡县| 札达县| 台东市| 武胜县| 哈巴河县| 闻喜县| 古交市| 金川县| 德安县| 玛多县| 赣州市| 依兰县| 迭部县| 射阳县| 渝北区| 陇西县| 洞头县| 沾益县| 嘉荫县| 安阳市| 贵定县| 易门县| 纳雍县| 班玛县| 汉阴县| 贵德县| 万山特区| 黄大仙区| 望奎县| 和龙市| 四子王旗| 阿拉善左旗| 景德镇市| 文成县|