張小波,潘振,李宜汀,楊肖委
(1.貴州虹山虹飛軸承有限責(zé)任公司,貴州安順561000;2.貴州大學(xué),貴州貴陽550000)
?
基于AT89C51單片機(jī)的四自由度機(jī)械手設(shè)計(jì)
張小波1,潘振2,李宜汀2,楊肖委2
(1.貴州虹山虹飛軸承有限責(zé)任公司,貴州安順561000;2.貴州大學(xué),貴州貴陽550000)
摘要:在介紹了機(jī)械手應(yīng)用前景的基礎(chǔ)上,著重的進(jìn)行了四自由度機(jī)械手控制系統(tǒng)的軟、硬件設(shè)計(jì),其控制核心是AT89C51單片機(jī)。由于51單片機(jī)的經(jīng)濟(jì)靈活性[1],使機(jī)械手控制系統(tǒng)的后期修改維護(hù)更加方便快捷。
關(guān)鍵詞:機(jī)械手AT89C51單片機(jī)四自由度舵機(jī)光電傳感器
0引言
機(jī)械手是一種模仿人手動作,并按設(shè)定程序、軌跡和要求代替人手抓取、搬運(yùn)工件的自動化裝置[2]。近年來,我國工業(yè)自動化水平不斷提高,工業(yè)機(jī)械手以其作業(yè)準(zhǔn)確、較高的環(huán)境適應(yīng)能力以及替代人工繁重勞動的能力等特點(diǎn),廣泛的應(yīng)用于機(jī)械制造、電子、輕工等企業(yè)[3]。機(jī)械手的運(yùn)用涉及到機(jī)械原理、計(jì)算機(jī)控制、傳感器技術(shù)等領(lǐng)域,其核心部分是機(jī)械手的控制系統(tǒng)[4]。目前市場上控制系統(tǒng)一般最常采用的是繼電器控制、PLC控制等,繼電器控制系統(tǒng)因設(shè)計(jì)復(fù)雜、可靠性差等問題逐漸被淘汰,而PLC控制系統(tǒng)相對來說成本高,且PLC體系結(jié)構(gòu)是封閉的,各PLC廠家的硬件體系互不兼容,編程語言及指令也各異,不利于機(jī)械手的后期維護(hù)[5]。而采用AT89C51單片機(jī)作為機(jī)械手的核心控制系統(tǒng),既可以保證機(jī)械手可靠穩(wěn)定的運(yùn)作,又可以降低設(shè)備成本。
1四自由度機(jī)械手結(jié)構(gòu)及控制要求
圖1 四自由度機(jī)械手
四自由度機(jī)械手結(jié)構(gòu)如圖1所示,四自由度分別是指舵機(jī)1控制的機(jī)械手整體的旋轉(zhuǎn)(-90°~+90°),舵機(jī)2控制的短臂的旋轉(zhuǎn)(短臂擺長88 mm,旋轉(zhuǎn)132°),舵機(jī)3控制的長臂的旋轉(zhuǎn)(長臂擺長92 mm,旋轉(zhuǎn)132°),舵機(jī)4控制的爪子的夾持(夾持寬39 mm)。擺臂展開全長220 mm。系統(tǒng)控制要求:機(jī)械手將A點(diǎn)的工件搬運(yùn)到B點(diǎn),A點(diǎn)處有一個(gè)紅外光電傳感器,當(dāng)光電傳感器沒有檢測到A點(diǎn)處有工件時(shí),機(jī)械手保持在設(shè)定好的初始位置,當(dāng)光電傳感器檢測到工件時(shí),機(jī)械手從初始位置運(yùn)動到A點(diǎn),將工件夾持起來后搬運(yùn)到B點(diǎn),在接收到光電傳感器再次發(fā)送檢測到工件的信號之前,機(jī)械手恢復(fù)到初始位置,等待下一次光電傳感器發(fā)送動作信號。
2控制系統(tǒng)硬件設(shè)計(jì)
四自由度機(jī)械手控制系統(tǒng)核心采用AT89C51單片機(jī),AT89C51是一種帶4 K字節(jié)FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器[6],128字節(jié)內(nèi)部RAM,32 個(gè)I/O 口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)含有振蕩器及時(shí)鐘電路[7]。與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容[8]。由于將多功能8位CPU和閃速存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器[9]。
四自由度機(jī)械手控制系統(tǒng)電源VCC 為+5 V 直流電源,紅外光電傳感器選擇的型號為E18-D80NK(檢測角度小于等于15°,有效距離30 mm~800 mm可調(diào)),舵機(jī)選擇銀燕ES08DE的微型數(shù)字舵機(jī)(扭力2.7×10-3kgf·m,速度0.08 Sec/60°)。選擇數(shù)字舵機(jī)的優(yōu)點(diǎn)是,在通電的情況下,即使沒有PWM信號輸入,舵機(jī)也會保持原始位置不變并且具有自鎖功能。選擇好舵機(jī)和光電傳感器以后,利于PROTUSE軟件設(shè)計(jì)控制系統(tǒng)電路并導(dǎo)入事先編寫好的程序進(jìn)行電路仿真,通過電路仿真的結(jié)果驗(yàn)證了電路設(shè)計(jì)和編寫的程序的正確性。系統(tǒng)的電路圖如圖2所示。
圖2 控制系統(tǒng)電路原理圖
3控制系統(tǒng)程序設(shè)計(jì)
本文四自由度機(jī)械手的控制系統(tǒng)主要由主程序、延時(shí)子程序、定時(shí)器初始化子程序、機(jī)械手動作子程序、報(bào)警子程序和定時(shí)中斷子程序組成。
圖3 定時(shí)器0中斷子程序
其中,報(bào)警子程序的功能是在機(jī)械手因?yàn)橥饨绺蓴_導(dǎo)致程序運(yùn)行錯(cuò)誤時(shí),發(fā)出蜂鳴聲自動報(bào)警。定時(shí)子程序的功能最為關(guān)鍵(圖3),它的主要功能是設(shè)定PWM周期信號的脈沖寬度,從而調(diào)節(jié)舵機(jī)的轉(zhuǎn)角,可以通過改變a的值就可以調(diào)節(jié)脈沖寬度,a的取值范圍為500~2 500,對應(yīng)控制舵機(jī)的脈沖信號寬度范圍0.5 ms~2.5 ms。銀燕ES08DE微型數(shù)字舵機(jī)的脈沖寬度調(diào)節(jié)范圍為0.5 ms~2.5 ms ,分別比例的對應(yīng)舵機(jī)-90°到+90°的轉(zhuǎn)角,脈沖信號的周期為20 ms。型號為E18-D80NK的光電傳感器在檢測到工件時(shí),信號端輸出低電平,當(dāng)沒有檢測到工件時(shí),信號端保持高電平。舵機(jī)M1、M2、M3、M4信號端分別連接單片機(jī)P0.0、P0.1、P0.2、P0.3的I/O口,光電傳感器信號端連接P0.7的I/O口。
圖4 控制舵機(jī)速度的For循環(huán)
值得注意的一點(diǎn),由于舵機(jī)響應(yīng)速度很快(0.08 Sec/60°),為避免機(jī)械手動作速度過快,由于慣性作用甩飛工件或者破壞機(jī)械手的結(jié)構(gòu),必須在編寫程序的時(shí)候注意控制機(jī)械手的響應(yīng)速度,在保證工作效率的基礎(chǔ)上盡量使機(jī)械手慢慢的勻速動作。可以通過在機(jī)械手的動作子程序中間加一個(gè)for循環(huán)控制舵機(jī)的響應(yīng)速度(圖4)。
單片機(jī)通電以后,程序首先對單片機(jī)初始化,然后定時(shí)器0初始化,并且給定時(shí)器0賦初值,此時(shí)定時(shí)器0開始計(jì)數(shù),定時(shí)器0溢出后進(jìn)入中斷子程序,在中斷子程序中再次給定時(shí)器0賦值,定時(shí)器0開始計(jì)數(shù)到定時(shí)器0溢出的時(shí)間間隔即為PWM周期信號的脈沖寬度,在光電傳感器檢測到工件之前(光電傳感器信號端保持高電平)的該脈沖寬度的PWM信號控制四個(gè)舵機(jī)使機(jī)械手處于初始位置。一旦光電傳感器檢測到工件時(shí),光電傳感器的信號端輸出低電平,單片機(jī)P0.7口電平跳變成低電平,此時(shí)單片機(jī)控制四個(gè)舵機(jī)做相應(yīng)的動作,使機(jī)械手把工件從A點(diǎn)搬運(yùn)到B點(diǎn)。搬運(yùn)完成以后機(jī)械手恢復(fù)到初始位置,等待光電傳感器發(fā)出下一步的動作信號。在整個(gè)程序的運(yùn)行過程中,因?yàn)橥饨绲母蓴_而使機(jī)械手程序運(yùn)行出錯(cuò)時(shí),單片機(jī)會發(fā)出蜂鳴聲,做出警告。流程圖如圖5所示。
4程序調(diào)試
程序設(shè)計(jì)完成以后,首先將程序?qū)氲絇ROTUSE的仿真電路中的AT89C51單片機(jī)中,通過調(diào)節(jié)四個(gè)舵機(jī)PWM信號的脈沖寬度(即定時(shí)器0計(jì)數(shù)數(shù)值),改變a的參數(shù)來慢慢調(diào)試機(jī)械手舵機(jī)的轉(zhuǎn)角,當(dāng)四個(gè)舵機(jī)都調(diào)試到預(yù)定的轉(zhuǎn)角以后,程序初步調(diào)試完成。然后通過KEIL軟件把程序下載到組裝好的機(jī)械手的單片機(jī)中。安裝好機(jī)械手各個(gè)零部件,正確的將四個(gè)舵機(jī)和光電傳感器連接到單片機(jī)的I/O口上。一切準(zhǔn)備就緒后,給單片機(jī)通+5 V的直流電,首先檢查光電傳感器和四個(gè)舵機(jī)是否能正常工作,保證正常工作以后,再慢慢調(diào)節(jié)PWM信號的脈沖寬度,避免調(diào)節(jié)舵機(jī)轉(zhuǎn)角過大而破壞機(jī)械手的結(jié)構(gòu)。使四個(gè)舵機(jī)的轉(zhuǎn)角能夠帶動機(jī)械手運(yùn)動到滿足要求的位置,程序調(diào)試完成。
5結(jié)語
程序調(diào)試完畢以后,打開機(jī)械手的電源,機(jī)械手保持在設(shè)定好的初始位置。當(dāng)A點(diǎn)的傳感器沒有檢測到工件時(shí),機(jī)械手保持在初始位置不動,當(dāng)A點(diǎn)的傳感器檢測到有工件時(shí),機(jī)械手立刻從初始位置動作到A點(diǎn)并夾持工件,停頓1 s后機(jī)械手夾持著工件運(yùn)動到B點(diǎn)并放下工件,停頓1 s后機(jī)械手返回到初始位置,繼續(xù)等待傳感器發(fā)出下一個(gè)動作信號。
通過對四自由度機(jī)械手控制系統(tǒng)的研究和調(diào)試,以AT89C51單片機(jī)為核心的控制系統(tǒng)完全能夠?qū)崿F(xiàn)對四自由度機(jī)械手的動作控制。51單片機(jī)由于其原理簡單、性能穩(wěn)定,應(yīng)用廣泛是實(shí)現(xiàn)機(jī)械手動作路線及其他復(fù)雜運(yùn)動的有效方法之一,并且使用51單片機(jī)作為機(jī)械手的控制核心,可以大大節(jié)約開發(fā)成本。51單片機(jī)同時(shí)支持匯編語言和C語言編程,C語言是一門通用計(jì)算機(jī)編程語言,編程簡單,應(yīng)用廣泛。本文以C語言作為編程語言方便后期修改控制方案和程序,大大簡化機(jī)械手的設(shè)計(jì)過程。
綜上所述,本文設(shè)計(jì)的四自由度機(jī)械手經(jīng)過調(diào)試以后完全能夠?qū)崿F(xiàn)預(yù)定的動作路線,動作順暢,工件能夠準(zhǔn)確到達(dá)指定位置。在程序中加入了控制舵機(jī)響應(yīng)速度的FOR循環(huán)程序有效的避免了工件在機(jī)械手的搬運(yùn)過程中出現(xiàn)掉落或者甩飛的情況。利用AT89C51單片機(jī)作為機(jī)械手的控制核心完全滿足設(shè)計(jì)要求,能夠?qū)崿F(xiàn)對機(jī)械手的動作控制。
參考文獻(xiàn)
[1]黃海松.基于單片機(jī)的物料搬運(yùn)機(jī)械手的控制系統(tǒng)研究[J].機(jī)電工程技術(shù),2007,36(11):21-23.
[2]陳林祥,王正初.基于51單片機(jī)的三自由度氣動機(jī)械手控制系統(tǒng)的設(shè)計(jì)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2015,28(1):87-88.
[3]李祥陽,陳萬強(qiáng),曹海泉,等.基于AT89C51單片機(jī)備料機(jī)械手單步控制系統(tǒng)的硬件設(shè)計(jì)[J].工業(yè)儀表與自動化裝置,2012(5)64-66.
[4]郭天祥.新概念51單片機(jī)C語言教程[M].北京:電子工業(yè)出版社,2009.
[5]譚孝輝.電路設(shè)計(jì)與仿真[M].成都:電子科大出版社,2009.
[6]耿洪興,張樂年,譚堅(jiān)紅,等.基于STC單片機(jī)的機(jī)械手運(yùn)動控制研究[J].機(jī)械制造與自動化,2010,39(5):150-152.
[7]聞鴻鵬,王勁松,高猛.搬運(yùn)機(jī)械手控制系統(tǒng)的研究[J].機(jī)械與電子,2011(9)66-68.
[8]蔡軍,黎蘭萍,王蓓.基于單片機(jī)的機(jī)械手控制系統(tǒng)研究[J].科技信息,2009(33)424-425.
[9]楊冬進(jìn),張燕.基于單片機(jī)控制的自動蘋果采摘機(jī)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2015(2)28-31.
Design of a four-degree-of-freedom manipulator based on AT89C51 microcontroller
ZHANG Xiaobo,PAN Zhen,LI Yiting,YANG Xiaowei
Abstract:In this paper, we introduced the prospect of the application of manipulators, and focused on the design of the software and hardware of a four-degree-of-freedom manipulator. The control core of the manipulator was AT89C51 microcontroller, which was economic and flexible, and enabled more convenient and efficient modification and maintenance of the control system of the manipulator.
Keywords:manipulator; AT89C51 microcontroller; four degrees of freedom; steering gear; photoelectric sensor
收稿日期:2015-09-08
作者簡介:張小波(1987-),男,籍貫貴州三都,就職于貴州虹山虹飛軸承有限責(zé)任公司,主要從事機(jī)械設(shè)計(jì)制造方面的工作。
中圖分類號:TP241.2
文獻(xiàn)標(biāo)識碼:A
文章編號:1002-6886(2016)02-0088-04