梁明亮 孫逸潔
基于STC12C5A60S2單片機(jī)的智能機(jī)器人設(shè)計(jì)
梁明亮 孫逸潔
介紹一種以STC12C5A60S2單片機(jī)為控制核心的智能機(jī)器人的總體設(shè)計(jì)思路,闡述了智能機(jī)器人的硬件設(shè)計(jì)原理和C51軟件設(shè)計(jì)方法。該機(jī)器人參加全國(guó)職業(yè)院校技能大賽,運(yùn)行穩(wěn)定可靠,為獲得優(yōu)異的競(jìng)賽成績(jī)起到了重要作用。
STC12C5A60S2;智能機(jī)器人;主控制板;C51
基于單片機(jī)及嵌入式技術(shù)的輪式智能機(jī)器人集電子技術(shù)、自動(dòng)控制、嵌入式技術(shù)和機(jī)電一體化技術(shù)于一體,涉及微處理器控制、傳感檢測(cè)、無(wú)線網(wǎng)絡(luò)通信等多個(gè)學(xué)科和領(lǐng)域。機(jī)器人技術(shù)應(yīng)用競(jìng)賽是2011年教育部技能大賽設(shè)定的最具觀賞性和參賽隊(duì)數(shù)最多的比賽項(xiàng)目之一,參賽隊(duì)使用51系列單片機(jī)作為微處理器為控制核心的機(jī)器人平臺(tái),在此基礎(chǔ)上設(shè)計(jì)開發(fā)參賽隊(duì)使用的機(jī)器人,使機(jī)器人在比賽場(chǎng)地中完成比賽任務(wù)。比賽分為第一階段初賽和第二階段決賽兩個(gè)部分,要求機(jī)器人自動(dòng)完成“建筑材料”(小籃球)識(shí)別、抓取、運(yùn)輸和投放。
根據(jù)機(jī)器人比賽規(guī)程,需要參賽隊(duì)選擇機(jī)器人類型,我們選用并自行設(shè)計(jì)3臺(tái)機(jī)器人參賽,分別為1臺(tái)手動(dòng)機(jī)器人和2臺(tái)自動(dòng)機(jī)器人。
機(jī)器人總體結(jié)構(gòu)如圖1所示,主要由電路板(含單片機(jī)核心板、驅(qū)動(dòng)板等)、主動(dòng)輪、從動(dòng)輪、金屬框架、直流驅(qū)動(dòng)電機(jī)、電池、上部機(jī)構(gòu)等組成,機(jī)器人的底部安裝有紅外線傳感器(16路),機(jī)器人金屬架上用于安裝建筑材料(小籃球)的存儲(chǔ)機(jī)構(gòu)和投放機(jī)構(gòu),機(jī)器人單片機(jī)核心板、驅(qū)動(dòng)板等是機(jī)器人硬件電路的核心。
圖1 機(jī)器人總體設(shè)計(jì)示意圖
機(jī)器人的硬件電路設(shè)計(jì)工作包括主控制板、直流電機(jī)驅(qū)動(dòng)、電源驅(qū)動(dòng)、巡跡傳感器板、傳感信號(hào)處理板、顏色識(shí)別模塊、舵機(jī)、直流電機(jī)等電路的設(shè)計(jì)和制作。顏色識(shí)別電路用于對(duì)抗賽中識(shí)別橋墩內(nèi)的小籃球的顏色(有紅、藍(lán)2種顏色),顏色識(shí)別模塊安裝在機(jī)器人運(yùn)行前方位置,對(duì)抗比賽時(shí)識(shí)別橋墩內(nèi)已投入的籃球是紅色還是藍(lán)色,從而確定投入的小籃球已方的還是對(duì)方的,如果經(jīng)過(guò)判斷分析是對(duì)方的,機(jī)器人將利用上部機(jī)構(gòu)將對(duì)方的小藍(lán)球取下,再投放己方的小藍(lán)球。
采用STC12C5A60S2單片機(jī)作為微處理器為核心設(shè)計(jì)機(jī)器人主控制板,主控板主要電路原理如圖2所示。
圖2中(見下頁(yè)),U1為 STC12C5A60S2單片機(jī),STC12C5A60S2是宏晶科技生產(chǎn)的單時(shí)鐘機(jī)器周期(1T)的單片機(jī),指令代碼完全兼容傳統(tǒng)8051,速度比普通的8051單片機(jī)快10倍左右,其內(nèi)部集成有MAX810專用復(fù)位電路,功耗低、抗干擾強(qiáng),具有2路 PWM輸出,8路高速10位A/D轉(zhuǎn)換器,適合于電機(jī)控制及其他電磁干擾較強(qiáng)的應(yīng)用領(lǐng)域。
主控制板輸入信號(hào)有兩類,一類是16路專用巡跡傳感器信號(hào)輸入,另一類超聲傳感器、顏色識(shí)別、光電、接近等其他傳感器信號(hào)的輸入。
紅外巡跡傳感器板有16路,安裝于機(jī)器人底部,可以準(zhǔn)確地探測(cè)到地面白色引導(dǎo)線及白色引導(dǎo)線組成的十字交叉點(diǎn)。紅外光電傳感器的基本原理是,設(shè)計(jì)紅外發(fā)射電路和紅外光敏接收電路,紅外線在黑線和白線對(duì)光的反射系數(shù)不同,白色反射光線,黑色吸收光線,電路當(dāng)檢測(cè)到黑線時(shí),檢測(cè)電路向單片機(jī)發(fā)出一個(gè)高電平信號(hào)。當(dāng)檢測(cè)到白色時(shí),檢測(cè)電路向單片機(jī)發(fā)出一個(gè)低電平信號(hào)。巡跡輸出信號(hào)發(fā)送給傳感器信號(hào)處理板。P1.3、P1.4為STC12C5A60S2的兩路PWM輸出接口,向電機(jī)驅(qū)動(dòng)板發(fā)出電機(jī)PWM脈寬調(diào)制信號(hào)和方向信號(hào),分別控制左、右輪直流減速電機(jī)的轉(zhuǎn)速。
16路巡跡信號(hào)輸入到單片機(jī)的 P2口,U3、U4為74HC245,構(gòu)成了總線驅(qū)動(dòng)電路,使單片機(jī)P2口為復(fù)用狀態(tài),這樣設(shè)計(jì)可以節(jié)省單片機(jī)I/O資源,P4.4口用于U3、U4的選擇控制。當(dāng)P4.4為高電平時(shí),P2口接收的是16路傳感器的高8位信號(hào)QQ8~QQ15;當(dāng)P4.4為低電平時(shí),P2口接收傳感器的低8位信號(hào)QQ0~QQ7。
外接的位置傳感器信號(hào)、顏色識(shí)別模塊的輸出信號(hào)、光電傳感信號(hào)、接近傳感器信號(hào)均輸入到STC12C5A60S2單片機(jī)的P0口,各類傳感信號(hào)通過(guò)TL521光電耦合器隔離、74HC14整形后送給單片機(jī)。光電開關(guān)用于探測(cè)機(jī)器人運(yùn)行前方是否有標(biāo)志物,在比賽中,其用途是探測(cè)機(jī)器人運(yùn)行前方橋墩內(nèi)的建筑材料(小籃球)是否裝滿或前方是否有障礙物。
單片機(jī)根據(jù)巡跡信號(hào)對(duì)機(jī)器人位置進(jìn)行分析計(jì)算后,輸出PWM脈寬調(diào)制信號(hào)給電機(jī)驅(qū)動(dòng)板,電機(jī)驅(qū)動(dòng)板用于驅(qū)動(dòng)機(jī)器人平臺(tái)上的左、右輪直流減速電機(jī)。利用PWM信號(hào)占空比的不同,來(lái)控制電機(jī)的不同轉(zhuǎn)速;利用方向信號(hào)控制電機(jī)的正反轉(zhuǎn)(直流24V供電),實(shí)現(xiàn)機(jī)器人平臺(tái)的前進(jìn)、后退和轉(zhuǎn)彎。2臺(tái)主動(dòng)輪電機(jī)選用直流減速電機(jī),主要參數(shù):額定電壓24VDC,轉(zhuǎn)速150轉(zhuǎn)/分,功率70W。P3口為控制輸出口,通過(guò)驅(qū)動(dòng)板驅(qū)動(dòng)并控制機(jī)器人上部機(jī)構(gòu)的舵機(jī)、對(duì)抗機(jī)構(gòu)的直流電機(jī)進(jìn)行相關(guān)動(dòng)作。
圖2 主控制板電路原理
電機(jī)驅(qū)動(dòng)電路采用專用芯片L298N作為電機(jī)驅(qū)動(dòng)芯片。用該芯片作為電機(jī)驅(qū)動(dòng),穩(wěn)定性好,驅(qū)動(dòng)能力大,電路簡(jiǎn)單,大大地簡(jiǎn)化了驅(qū)動(dòng)電路。L298N是SGS公司的產(chǎn)品,內(nèi)部包含2個(gè)H橋的高電壓大電流橋式驅(qū)動(dòng)器,接收標(biāo)準(zhǔn)TTL邏輯電平信號(hào),可驅(qū)動(dòng)46V、2 A以下的電機(jī),工作溫度范圍在-25℃~130℃之間。機(jī)器人設(shè)計(jì)中,使用74HC245進(jìn)行信號(hào)放大和緩沖,L298進(jìn)行電流放大,單片機(jī)通過(guò)調(diào)節(jié)PWM信號(hào)的占空比實(shí)現(xiàn)對(duì)電機(jī)的調(diào)速與轉(zhuǎn)向。L298的第1和15腳單獨(dú)引出,接到電流采樣電阻,從而形成電流傳感信號(hào),通過(guò)LM358運(yùn)算放大器放大后產(chǎn)生ADM1、ADM2模擬電壓信號(hào),送到單片機(jī)中進(jìn)行電流的測(cè)量和分析,便于更好控制電機(jī)的電流及速度。
2.3.1 設(shè)計(jì)原則。
(1)機(jī)構(gòu)要巧妙,重量要盡可能輕。在機(jī)器人競(jìng)賽中,參賽機(jī)器人有總質(zhì)量的限制,首先是3臺(tái)參賽機(jī)器人總重不能超過(guò)50KG,另外是在規(guī)定時(shí)間內(nèi),如果投球分?jǐn)?shù)相同,則總重越輕的機(jī)器人參賽隊(duì)為勝出。所以在保證功能實(shí)現(xiàn)的前提下,結(jié)構(gòu)越簡(jiǎn)單越好。
(2)在對(duì)抗賽中可能會(huì)有機(jī)器人相互間的沖撞,機(jī)器人機(jī)械部件要有必要的強(qiáng)度、剛度和較好的可靠性。
(3)機(jī)構(gòu)材料要選擇易加工的材料,還要方便賽前的簡(jiǎn)單調(diào)試和維護(hù)。
(4)充分考慮與電路控制的可控制性,降低對(duì)控制系統(tǒng)的嚴(yán)格要求。
2.3.2 行走機(jī)構(gòu)的設(shè)計(jì)。
機(jī)器人移動(dòng)方式通常有輪式、履帶式和步行式等方式。我們采用輪式行走方式,輪式移動(dòng)機(jī)構(gòu)是最常用的一種移動(dòng)機(jī)構(gòu),其優(yōu)點(diǎn)為移動(dòng)速度較高且較穩(wěn)定,機(jī)構(gòu)和控制都相對(duì)簡(jiǎn)單。
輪式行走機(jī)構(gòu)包括動(dòng)輪和底部平臺(tái)。機(jī)器人底部平臺(tái)采用鋁合金型材,上部設(shè)計(jì)的投球機(jī)構(gòu)安裝在機(jī)器人平臺(tái)的框架上,機(jī)器人底部框架要有一定的承受力。由于受比賽場(chǎng)地啟動(dòng)區(qū)域面積限制,機(jī)器人底盤框架大小約為600mm×500mm。機(jī)器人上部機(jī)構(gòu)固定安裝在底部平臺(tái)上。動(dòng)輪包括主動(dòng)輪2個(gè),從動(dòng)輪1個(gè),主動(dòng)輪采用金屬鋁芯、橡膠外胎,用于完成向前、向后直走,向左、向右轉(zhuǎn)向等技術(shù)動(dòng)作。從動(dòng)輪設(shè)計(jì)在運(yùn)行前方,實(shí)際上為萬(wàn)向輪,和兩只主動(dòng)輪形成三角支撐著機(jī)器人的結(jié)構(gòu)。從動(dòng)輪無(wú)動(dòng)力驅(qū)動(dòng),隨著主動(dòng)輪的方向改變自己的方向。主動(dòng)輪、從動(dòng)輪形成了三點(diǎn)支撐的結(jié)構(gòu),平衡性和穩(wěn)定性好。
2.3.3 上部機(jī)構(gòu)的設(shè)計(jì)。
上部機(jī)構(gòu)主要包括存儲(chǔ)建筑物(籃球)機(jī)絕、投球機(jī)構(gòu)和抓取機(jī)構(gòu)。采用串行螺旋儲(chǔ)存的方式儲(chǔ)存小籃球,空間利用率較高。投球機(jī)構(gòu)為直落式,在舵機(jī)的控制下,籃球垂直向下,運(yùn)動(dòng)速度穩(wěn)定,投球方式可靠。抓取機(jī)構(gòu)可分為氣動(dòng)手爪和機(jī)械式手爪兩種,氣動(dòng)手爪相對(duì)比較簡(jiǎn)單,但需在機(jī)器人上附載一個(gè)儲(chǔ)氣罐,重量較重,我們采用的是機(jī)械式手爪。
競(jìng)賽機(jī)器人軟件編程主要包括主程序、PID電機(jī)控制程序等部分,按照參賽方案編寫參賽機(jī)器人程序,采用單片機(jī)Keil C51語(yǔ)言進(jìn)行機(jī)器人的軟件設(shè)計(jì)。每次比賽前應(yīng)根據(jù)場(chǎng)地上實(shí)際情況調(diào)整策略、更改程序。
STC12C5A60S2是整個(gè)主控制器的核心,它主要負(fù)責(zé)接收各類傳感信號(hào)并發(fā)出執(zhí)行命令。自動(dòng)機(jī)器人主程序運(yùn)行后,選手按下啟動(dòng)按鈕,機(jī)器人根據(jù)巡跡信號(hào)進(jìn)行分析,控制機(jī)器人車體轉(zhuǎn)彎、停止,并實(shí)現(xiàn)橋墩的識(shí)別、球的抓取投放等動(dòng)作。主程序運(yùn)行時(shí)首先要對(duì)STC單片機(jī)定時(shí)器、兩路 PWM信號(hào)輸出的PCA模塊進(jìn)行初始化。PWM即脈沖寬度調(diào)制控制,PWM信號(hào)通過(guò)L298放大后直接控制直流電機(jī)驅(qū)動(dòng)兩個(gè)主動(dòng)輪,PWM程序段如下:
void PWM(int motor1,int motor2)
{CCON=0X00;
CMOD=0X84;
CL=0X00;
CH=0X00;
CCAPM1=0X42;//右電機(jī)PWM控制
CCAP1L=motor2;
CCAP1H=0xf0;
PCA_PWM1=0;
CCAPM0=0X42;//左電機(jī)PWM控制
CCAP0L=motor1;
CCAP0H=0xf0;
PCA_PWM0=0;
CR=1;}//啟動(dòng)PCA計(jì)數(shù)器
在機(jī)器人的控制程序中,STC12C5A60S2微處理器的主要任務(wù)要完成電機(jī)閉環(huán)控制,實(shí)現(xiàn)對(duì)機(jī)器人的位置、速度等調(diào)節(jié),采用PID算法實(shí)現(xiàn)對(duì)直流電機(jī)轉(zhuǎn)速的精確控制。單片機(jī)將電機(jī)編碼器發(fā)送來(lái)的反饋值與輸出的PWM指令值進(jìn)行比較,再按PID算法計(jì)算電機(jī)下一步的位置速度,較好地解決了運(yùn)動(dòng)過(guò)程中的位置偏差問(wèn)題。
通過(guò)對(duì)手動(dòng)機(jī)器人和自動(dòng)機(jī)器人的測(cè)試,機(jī)器人運(yùn)行穩(wěn)定,能實(shí)現(xiàn)工件的自動(dòng)識(shí)別、抓取、運(yùn)輸。在本次全國(guó)競(jìng)賽的決賽中,作者所指導(dǎo)參賽隊(duì)機(jī)器人運(yùn)行穩(wěn)定,反應(yīng)迅速,自動(dòng)機(jī)器人3次將對(duì)方已經(jīng)投入的建筑材料(小藍(lán)球)從橋墩取下,決賽對(duì)抗中獲得了全國(guó)一等獎(jiǎng)的好成績(jī),驗(yàn)證了所設(shè)計(jì)的智能機(jī)器人軟、硬件設(shè)計(jì)的可行性。
[1]2011年全國(guó)職業(yè)院校技能大賽大賽組委會(huì).高職組機(jī)器人技術(shù)應(yīng)用競(jìng)賽指南[Z].2011:1-16.
[2]FIERRO R,L EWIS F L,“Control of nonholonomic mobile robot using neural networks,”IEEE Transactions on Neural Networks,vol.9,pp.589-600,1998.
[3]董宗祥,石紅瑞,楊杰.嵌入式智能小車測(cè)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2010(2):357-362.
Design of the Intelligent Robot Based on the STC12C5A60S2 MCU
Liang Mingliang Sun Yijie
The paper explains the general design of an I telligent robot that the key part of the control system is based on Type STC12C5A60S2Single Chip Micyoco and the design principle and methods of the type of robot.It is the higher liability of the robot that it won the technical skill competition for higher vocational colleges all over China.The robot has contribute a lot to the excellent competition result.
STC12C5A60S2;intelligent robot;main control board;C51
TP24
A
1672-6758(2012)05-0041-2
梁明亮,碩士,講師,鄭州鐵路職業(yè)技術(shù)學(xué)院,河南·鄭州。研究方向:單片機(jī)及機(jī)器人技術(shù)。郵政編碼:450052
孫逸潔,碩士,鄭州鐵路職業(yè)技術(shù)學(xué)院,河南·鄭州。研究方向:單片機(jī)應(yīng)用技術(shù)。郵政編碼:450052
河南省教育廳科技攻關(guān)資助項(xiàng)目(2011C510003)
Class No.:TP24Document Mark:A
(責(zé)任編輯:鄭英玲)