摘 要: 提出一種小型機(jī)器人關(guān)節(jié)位置信息采集及定位控制系統(tǒng)的設(shè)計(jì)方法,設(shè)計(jì)方案包括硬件設(shè)計(jì)和軟件設(shè)計(jì),核心處理器采用意法半導(dǎo)體32位單片機(jī)STM32,采用CAN總線(xiàn)接收上位機(jī)的命令,實(shí)現(xiàn)傳感器信息采集的反饋。通過(guò)雙相DMOS全橋驅(qū)動(dòng)電路芯片,結(jié)合PID算法實(shí)現(xiàn)空心杯直流電機(jī)的一種高精度閉環(huán)定位控制。選取AS5054磁旋轉(zhuǎn)編碼器實(shí)現(xiàn)關(guān)節(jié)位置信息的采集,以控制關(guān)節(jié)角度轉(zhuǎn)動(dòng)誤差,進(jìn)而實(shí)現(xiàn)閉環(huán)定位控制過(guò)程。實(shí)驗(yàn)表明,系統(tǒng)軟硬件與小型機(jī)器人轉(zhuǎn)動(dòng)關(guān)節(jié)對(duì)電路系統(tǒng)控制的實(shí)用要求相符合。
關(guān)鍵詞: 小型機(jī)器人; 關(guān)節(jié)控制電路系統(tǒng); 關(guān)節(jié)位置信息采集; 閉環(huán)定位控制
中圖分類(lèi)號(hào): TN710?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)10?0146?03
Acquisition of joint position information and implementation of closed?loop positioning control for small robot joint control circuit system
LIU Ying
(Sichuan Information Technology College, Guangyuan 608040, China)
Abstract: A design method of joint control circuit system for small robot is proposed. The scheme is integrated with hardware design and software design. The microcontroller STM32 of 32 bit made by ST Microelectronics is taken as the core processor, which combines with the CAN bus to receive the command from the host computer and realize the feedback of sensor information acquisition. The high precision closed?loop positioning control of coreless DC motor is realized with dual phase DMOS full bridge driver circuit chip and PID algorithm. The AS5054 magnetic rotary encoder is selected to acquire the joint position information, which can control the joint angle rotational error, and realize the closed?loop positioning control process. The method scientifically guides the design of modern small robot joint control circuit system.
Keywords: small robot; joint control circuit system; joint position information acquisition; closed?loop positioning control
0 引 言
21世紀(jì)的今天,現(xiàn)代化科學(xué)技術(shù)的成熟發(fā)展,推動(dòng)了小型化機(jī)器人的迅速發(fā)展,并廣泛應(yīng)用于軍事通信以及航空領(lǐng)域等。小型機(jī)器人關(guān)節(jié)轉(zhuǎn)動(dòng)控制及轉(zhuǎn)動(dòng)角度定位,始終是機(jī)器人運(yùn)動(dòng)控制的核心部分。關(guān)節(jié)控制電路系統(tǒng)的優(yōu)化設(shè)計(jì)對(duì)于關(guān)節(jié)控制的精度、上位機(jī)通信等有著極其重要的作用。如何做好小型機(jī)器人關(guān)節(jié)控制電路系統(tǒng)的關(guān)節(jié)位置信息的采集,并實(shí)現(xiàn)閉環(huán)定位始終是電子技術(shù)行業(yè)領(lǐng)域研究的熱點(diǎn)之一。因此本文對(duì)小型機(jī)器人關(guān)節(jié)控制電路系統(tǒng)的關(guān)節(jié)位置信息采集和閉環(huán)定位控制實(shí)現(xiàn)進(jìn)行研究有一定的現(xiàn)實(shí)意義。
1 小型機(jī)器人關(guān)節(jié)控制電路系統(tǒng)的硬件設(shè)計(jì)
小型機(jī)器人關(guān)節(jié)控制電路系統(tǒng)的設(shè)計(jì),基于節(jié)能的目的,采取空心杯直流電機(jī)提高系統(tǒng)靈敏性,實(shí)現(xiàn)電路的穩(wěn)定運(yùn)行。為配合硬件系統(tǒng)對(duì)電機(jī)的精準(zhǔn)控制及算法需求,主控器件選用帶閃存的32位意法半導(dǎo)體STM32單片機(jī),并根據(jù)CAN總線(xiàn)的實(shí)時(shí)性和可靠性特點(diǎn),采用CAN總線(xiàn)接口方式與上位機(jī)實(shí)現(xiàn)雙向通信過(guò)程[1]。同時(shí)考慮了系統(tǒng)的可擴(kuò)展性,結(jié)合磁旋轉(zhuǎn)編碼AS5045的高精度,對(duì)電機(jī)的位置信息進(jìn)行實(shí)時(shí)檢測(cè),基于A3995的驅(qū)動(dòng)電路體積小,能很好地控制電機(jī)。
1.1 微處理器控制電路和驅(qū)動(dòng)模塊電路
微處理器控制電路中,應(yīng)用32位微控制器,對(duì)前期電路采集到的定位及角度轉(zhuǎn)動(dòng)信息根據(jù)程序設(shè)計(jì)做出計(jì)算與處理,在上位機(jī)形式下,通過(guò)I/O口實(shí)現(xiàn)命令的直接傳達(dá)與控制,既能通過(guò)上位機(jī)合理控制電機(jī)轉(zhuǎn)速與角度,同時(shí)也保證了系統(tǒng)高效穩(wěn)定的運(yùn)行。設(shè)計(jì)驅(qū)動(dòng)模塊電路的同時(shí),也要結(jié)合雙相DMOS全橋驅(qū)動(dòng)電路芯片,故采取A3995驅(qū)動(dòng)模塊電路結(jié)構(gòu)。其中,通過(guò)程序?qū)RM微處理器STM32的I/O引腳加以設(shè)置,將其作為電機(jī)驅(qū)動(dòng)芯片的一種輸入控制信息,對(duì)電機(jī)的動(dòng)作進(jìn)行控制。對(duì)于電機(jī)轉(zhuǎn)動(dòng)方向的控制,結(jié)合PHASE高低電平進(jìn)行決定,同時(shí)電流衰減快慢模式可以應(yīng)用MODE進(jìn)行選擇[2]。
保護(hù)電路的設(shè)計(jì)主要采取電流檢測(cè)的方法。基于A3995芯片的電流檢測(cè)保護(hù)電路需要結(jié)合軟件編程,加強(qiáng)內(nèi)部電路電壓的保護(hù)。同時(shí)在控制電機(jī)正轉(zhuǎn)和反轉(zhuǎn)的過(guò)程中,實(shí)現(xiàn)流過(guò)負(fù)載電流大小的直接檢測(cè)。而保護(hù)電路電壓比較器的負(fù)輸入端的直接檢測(cè),需要在軟件設(shè)計(jì)中對(duì)定時(shí)器做好設(shè)置,使得PB1端口將PWM信號(hào)輸出,并在降壓之后和VBEF1進(jìn)行相連[3]。
1.2 CAN通信模塊電路
系統(tǒng)的雙向通信過(guò)程,采用CAN總線(xiàn)通信模式,同時(shí)接入多個(gè)節(jié)點(diǎn)設(shè)置,加強(qiáng)小型機(jī)器人多關(guān)節(jié)聯(lián)動(dòng)協(xié)調(diào)應(yīng)用。由于STM32內(nèi)部集成有增強(qiáng)型CAN控制器,使用過(guò)程中控制器連接CAN的收發(fā)器,支持CAN 2.0B標(biāo)準(zhǔn)接口,識(shí)別XAN報(bào)文幀ID時(shí),需要分析識(shí)別碼特點(diǎn),在發(fā)送幀識(shí)別碼結(jié)構(gòu)下,合理分析本節(jié)點(diǎn)接收濾波器的識(shí)別碼和本節(jié)點(diǎn)的編碼應(yīng)用,進(jìn)而加強(qiáng)小型機(jī)器人關(guān)節(jié)節(jié)點(diǎn)與主機(jī)之間的信息交流。本設(shè)計(jì)采用德州儀器公司生產(chǎn)的3.3 V CAN收發(fā)器SN65HVD230,該器件適用于通信速率較高、需求良好抗干擾能力和高可靠性的CAN總線(xiàn)串行通信。SN65HVD230有著多樣化的工作模式,通過(guò)硬件方式設(shè)置Rs引腳可實(shí)現(xiàn)3種工作模式的選擇;控制器輸出引腳與SN65HVD230數(shù)據(jù)輸入引腳相連接,接收CAN節(jié)點(diǎn)數(shù)據(jù)。工作過(guò)程中對(duì)Rs引腳電平合理設(shè)置,就能完成好整體系統(tǒng)的信號(hào)傳輸[4]。這種通信模式中信號(hào)實(shí)際的傳輸速率高達(dá)1 Mb/s。
1.3 磁旋轉(zhuǎn)編碼器信息采集模塊
機(jī)器人關(guān)節(jié)控制系統(tǒng)對(duì)傳感器有著精確的要求,比如相對(duì)較小的尺寸和較高的靈敏度,并保證要有著一定磁化的雙極磁鐵。此處選取AS5045磁旋轉(zhuǎn)編碼器實(shí)現(xiàn)機(jī)器人關(guān)節(jié)位置信息的采集。AS5045是一款無(wú)接觸式磁旋轉(zhuǎn)編碼器,作為一個(gè)片上系統(tǒng)它可精確測(cè)量360°內(nèi)的角度。結(jié)合關(guān)節(jié)機(jī)械結(jié)構(gòu),在芯片的上方和下方安裝磁鐵。工作中,合理控制關(guān)節(jié)旋轉(zhuǎn)帶動(dòng)磁鐵,AS5045內(nèi)部的集成式Hall元件檢測(cè)磁性大小,經(jīng)數(shù)字信號(hào)處理后就可輸出較精確的關(guān)節(jié)角度信息。
在關(guān)節(jié)處固定AS5045電路板之后,及時(shí)測(cè)量關(guān)節(jié)角度,結(jié)合關(guān)節(jié)旋轉(zhuǎn)軸的形式,有效安裝圓形磁化雙極磁鐵[5]。AS5045的數(shù)字化數(shù)據(jù)能夠以串行比特流或PWM信號(hào)的形式輸出,本設(shè)計(jì)選用串行輸出。AS5045對(duì)磁場(chǎng)方向進(jìn)行檢測(cè),并對(duì)12 b二進(jìn)制編碼進(jìn)行計(jì)算,隨著同步串行接口的編碼過(guò)程,微控制器產(chǎn)生編碼器所需的時(shí)鐘信號(hào)和片選信號(hào),并讀取AS5045的輸出信號(hào)。
讀取數(shù)據(jù)的過(guò)程,需結(jié)合CSn電平設(shè)置,初始時(shí)設(shè)置CSn為高電平,持續(xù)的時(shí)間用tCSn表示,準(zhǔn)備讀取輸出數(shù)據(jù)時(shí),須設(shè)置CSn變?yōu)檫壿嫷碗娖健?/p>
2 小型機(jī)器人關(guān)節(jié)控制系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)軟件的設(shè)計(jì)過(guò)程主要是設(shè)計(jì)服務(wù)于電路系統(tǒng)的控制,控制核心選擇STM32,使用Keil的編譯工具,應(yīng)用C語(yǔ)言開(kāi)發(fā)代碼。對(duì)于主要程序的系統(tǒng)初始化,要設(shè)置好所有模塊的啟動(dòng),包括AS5045霍爾數(shù)據(jù)采集模塊的處理, PID速度控制模塊的應(yīng)用,CAN通信模塊的應(yīng)用等各個(gè)模塊。
系統(tǒng)完成初始化狀態(tài)后,上位機(jī)通過(guò)CAN總線(xiàn)結(jié)構(gòu)向單片機(jī)發(fā)送控制命令,Hall傳感器對(duì)關(guān)節(jié)位置進(jìn)行有效檢測(cè),經(jīng)過(guò)基礎(chǔ)的處理,將關(guān)節(jié)的實(shí)時(shí)位置信息及時(shí)回傳給主控器件,這種目標(biāo)值和實(shí)際的實(shí)時(shí)值控制過(guò)程,就要結(jié)合PID調(diào)節(jié)參數(shù),實(shí)現(xiàn)電機(jī)轉(zhuǎn)動(dòng)的控制[6]。
小型機(jī)器人關(guān)節(jié)控制系統(tǒng)的軟件設(shè)計(jì)中,應(yīng)用PID控制算法的增量式結(jié)構(gòu)實(shí)現(xiàn)關(guān)節(jié)電機(jī)轉(zhuǎn)速管理,調(diào)節(jié)關(guān)節(jié)控制角度,計(jì)算關(guān)節(jié)角度偏差值,實(shí)際的計(jì)算過(guò)程,如下所示:
4 結(jié) 語(yǔ)
本文在對(duì)STM32處理器為控制核心的小型機(jī)器人關(guān)節(jié)控制系統(tǒng)的研究中,不僅完成了微處理器外圍電路和信號(hào)采集電路的設(shè)計(jì),同時(shí)完成了電機(jī)驅(qū)動(dòng)電路的硬件設(shè)計(jì),在成品整體電路板面積取值很小的情況下,實(shí)施機(jī)器人關(guān)節(jié)轉(zhuǎn)動(dòng)控制應(yīng)用調(diào)試,取得了較好的關(guān)節(jié)轉(zhuǎn)動(dòng)控制效果。系統(tǒng)軟硬件預(yù)期功能與小型機(jī)器人轉(zhuǎn)動(dòng)關(guān)節(jié)對(duì)電路系統(tǒng)控制的實(shí)用要求相符合。
參考文獻(xiàn)
[1] SONG D, LAN N, LOEB G E, et al. Model?based sensorimotor integration for multi?joint control: development of a virtual arm model [J]. Annals of biomedical engineering, 2008, 36(6): 1033?1048.
[2] 吳僑,馬維華,魏金文.基于Cortex?M3的多功能樓宇控制系統(tǒng)網(wǎng)關(guān)節(jié)點(diǎn)設(shè)計(jì)[J].微型電腦應(yīng)用,2012,28(5):46?48.
[3] 趙瑞林,盧慶林,張順星.教學(xué)型雙足步行機(jī)器人的結(jié)構(gòu)及其控制電路設(shè)計(jì)[J].計(jì)算技術(shù)與自動(dòng)化,2014,33(2):73?76.
[4] 單琳娜,姜重然,陳文平.基于DSP仿人機(jī)器人關(guān)節(jié)控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009,32(20):29?31.
[5] 陶龍,張國(guó)良,孫大衛(wèi),等.基于PC/104與單片機(jī)的仿人機(jī)器人控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009,32(2):145?147.
[6] KEISUKE H, NOBUHIKO S, MASAKI T, et al. Effectiveness of the ROBODOC system in preventing intraoperative pulmonary embolism [J]. Acta orthopaedica Scandinavica, 2003, 74(3): 264?269.
[7] 劉向明,方建安.CAN總線(xiàn)網(wǎng)絡(luò)的實(shí)時(shí)性研究和改進(jìn)[J].現(xiàn)代電子技術(shù),2011,34(22):46?49.
[8] 李禹萱,李云紅.基于ATmega16L的電液伺服控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(19):141?144.