基于CAN總線的分布式機(jī)器人控制系統(tǒng)設(shè)計(jì)
圖3控制器硬件電路原理簡(jiǎn)圖
2.1 主處理器芯片
本設(shè)計(jì)核心控制芯片采用Motorola DSP56F807,該芯片混合了DSP 的高速運(yùn)算能力與MCU 的控制特性于一體,提供了許多專用于電動(dòng)機(jī)控制的外設(shè),包括兩個(gè)脈寬調(diào)制模塊(PWMA、PWMB)、2個(gè)相位檢測(cè)器模塊(quadrature decoder)、12位精度的模數(shù)轉(zhuǎn)換模塊(ADC)、4個(gè)定時(shí)器模塊、通訊外設(shè)模塊(SCI、SPI、CAN)等,因此非常適合于對(duì)實(shí)現(xiàn)機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)的直流無(wú)刷電機(jī)進(jìn)行數(shù)字控制[4]。
2.2 CAN接口電路
DSP56F807芯片內(nèi)集成了CAN控制器,要完成數(shù)據(jù)幀的收發(fā)還需外加CAN驅(qū)動(dòng)器芯片,本設(shè)計(jì)采用Philips公司的PCA82C250為CAN驅(qū)動(dòng)器。為了增強(qiáng)抗外部干擾,在DSP56F807的MSCAN_TX和MSCAN_RX引腳與CAN驅(qū)動(dòng)器之間加兩個(gè)高速光電耦合器6N137。
2.3 電機(jī)驅(qū)動(dòng)電路
電機(jī)驅(qū)動(dòng)采用Motorola公司的MPM3003,它內(nèi)部由上橋臂的3個(gè)P-溝道功率型MOSFET 和下橋臂的3個(gè)N-溝道功率型MOSFET組成三相橋式電路,是理想的伺服電機(jī)驅(qū)動(dòng)集成電路芯片[5]。因PWM輸出電壓不能直接推動(dòng)MPM3003,在PWM輸出口和MPM3003之間加一個(gè)TTL到CMOS轉(zhuǎn)換芯片MC14504B。
2.4 電源電路
控制器上同時(shí)需要5.0V 和3.3V 兩種電源。外部采用的是直流24V電源,通過(guò)MAX724將24V 穩(wěn)壓到5.0V,再通過(guò)MAX604將5.0V穩(wěn)壓到3.3V。為了減少電磁干擾,使用磁珠隔離3.3V 的數(shù)字電源和模擬電源。
因篇幅有限,其它的電路模塊不再一一介紹。
3 控制器軟件設(shè)計(jì)
控制器軟件設(shè)計(jì)是在Codewarrior6.0集成開(kāi)發(fā)環(huán)境下進(jìn)行的,采用模塊化設(shè)計(jì),可分為初始化模塊、主循環(huán)模塊和中斷子程序模塊,整個(gè)控制功能由各中斷子程序?qū)崿F(xiàn),如圖4所示。初始化模塊的作用是初始化DSP 及控制參數(shù),主循環(huán)模塊是一個(gè)死循環(huán),主要是查詢是否有中斷產(chǎn)生,如果有中斷則轉(zhuǎn)而去執(zhí)行相應(yīng)的中斷服務(wù)子程序。數(shù)字PID控制子程序是實(shí)現(xiàn)控制功能的主體,完成對(duì)關(guān)節(jié)的位置、速度PID控制,通過(guò)定時(shí)器中斷實(shí)現(xiàn)。
圖4控制器軟件結(jié)構(gòu)簡(jiǎn)圖
對(duì)于數(shù)字PID控制子程序中的PID算法,采用了一種改進(jìn)的變速積分PID算法,有效地克服了常規(guī)PID算法中出現(xiàn)積分飽和時(shí),造成超調(diào)量增加,使調(diào)節(jié)品質(zhì)變壞的缺點(diǎn)。變速積分法的基本思想是設(shè)法改變積分項(xiàng)的累加速度,使其與偏差大小相對(duì)應(yīng),偏差大時(shí),減弱積分作用,反之則加強(qiáng)。
常規(guī)PID算法數(shù)字離散化為:
式中,KP,KI,KD分別為調(diào)節(jié)器的比例、積分和微分系數(shù);E(k),E(k-1)分別為第k次和k-1次的期望偏差值;U(k)為第k次的調(diào)節(jié)器輸出。
改進(jìn)后的變速積分PID算法為:
f[E(k)]是E(k)的函數(shù),當(dāng)|E(k)|≤B時(shí),進(jìn)行常規(guī)的PID控制;當(dāng)|E(k)|>(A+B)后,不再進(jìn)行積分項(xiàng)的累加;而當(dāng)B|E(k)|>(A+B)時(shí),f[E(k)]隨E(k)的減小而增大,累加速度加快。其中,A,B為分離區(qū)間。
4 結(jié)論
本文設(shè)計(jì)的機(jī)器人分布式控制系統(tǒng),采用CAN總線作為通信方式,和過(guò)去機(jī)器人控制中常用的RS485總線相比具有通訊穩(wěn)定可靠、實(shí)時(shí)性高等優(yōu)點(diǎn)。在下位關(guān)節(jié)控制器中選用了Motorola DSP56F807作為控制芯片,既能方便地利用豐富的外圍模塊實(shí)現(xiàn)控制功能,又能以較快的運(yùn)算速度實(shí)現(xiàn)復(fù)雜的控制算法,克服了過(guò)去利用MCU作為控制芯片時(shí),難以實(shí)現(xiàn)復(fù)雜的控制算法的缺點(diǎn)。在控制器軟件中采用了改進(jìn)的變速積分PID算法,對(duì)關(guān)節(jié)位置、速度進(jìn)行數(shù)字PID控制。該控制系統(tǒng)即插即用,功能擴(kuò)展和故障處理方便;連線簡(jiǎn)單,過(guò)去對(duì)6DOF的機(jī)械手進(jìn)行控制,需118根線纜(包括電機(jī)線、傳感器線和其它開(kāi)關(guān)量控制線),現(xiàn)在只需一根雙絞線,外觀也很美觀;另外,各關(guān)節(jié)控制器直接分布在控制現(xiàn)場(chǎng),使模擬信號(hào)傳輸距離明顯縮短,有效地改善了抗干擾能力。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
pid控制器相關(guān)文章:pid控制器原理
雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理
評(píng)論