还剩14页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
§
9.3应用举例——机械手的微机控制随着科学技术的进步、工业自动化的进程,机械手将进一步取代简单而笨重的人工操作,逐步把在恶劣环境下工作的人们解放出来,这对于改善人们的工作条件、提高工作效率,具有一定的现实意义本例系存取邮件机械手的控制,在邮政部门和立体仓库中作自动存职包裹和货物之用
一、工作原理通过键盘,将货位(或包位)代码输入微机,启动存(或取)命令键,机械手即可在微机的控制下,作X、Y、Z三个方向的运动,完成存(或取)包操作控制原理如图所示系统主要包括微机控制、步进电机控制、机械传动系统、光控音乐电路、工作电源、货架和柜台等七部分组成微机根据键入的货物代码,产生相应的脉冲信号,经CH250脉冲分配器和驱动电路,输出具有一定功率的脉冲,驱动有关电机正转或反转及其步数,从而实现货物的存取机械手行进中,光控音乐电路驱动蜂呜器发出乐曲,从而增强了工作的节奏、控制的旋律
二、系统组成
1、硬件设计如图是机械手微机控制系统硬件电路本系统选用MCS-51系列中的8031芯片,扩展了一片2732,以存放用户程序由于随机存储的数据不多,只利用片内RAM采用两位LED显示器和2×8键盘,P3.
5、P3.6和P3.7分别输出X、Y、和Z方向的控制脉冲,P1.6和P
1.7分别用来控制步进电机的正/反转和产生复位信号
2、机械传动部分机械传动部分包括导轨、小车、升降盘和机械手等部分
①水平方向位移步进电机MX调通过滑轮和传送带,使小车在导轨上运动,实现X方向上的位移
②垂直方向升降作调方向运动的小车上装有一竖直的六棱金属杆,升降盘套于杆上,杆的顶部装有一定滑轮并配有平衡锤固定于小车上的步进电机MY带动升降盘,实现Y方向上的位移
③机械手动作机械手装升降盘上,如图所示图中A点固定,步进电机MZ带动B点,改变A、B间的较小距离,使得机械手移动较大距离
④货架货架分三层,每层有4个包位,共计12个包位图中数字为包位编码,编码的个位数表示X位置,十位数表示Y位置(层数),以供计算机查讯、判断之用本例采用SB-2A型步进电机,它工作于三相六拍的工作方式电机按顺时针方向旋转(即正转)时,各相脉冲顺序为→A=1→A=1,B=1→B=1→B,C=1→C=1→C=1,A=1电机按逆时针方向旋转(即反转)时,各相脉冲顺序为→A=1→A=1,C=1→C=1→C=1,B=1→B=1→B=1,A=1
三、程序设计系统软件包括主程序、取包程序、存包程序、货位判断程序、X、Y方向运动和机械手动作子程序等
(1)程序流程图限于篇幅,只给出主要流程图
2、脉冲序列的生成程序对于步进电机的控制,实际上是控制步进脉冲的个数和步进脉冲的间隔,而步进电机的间隔又可转化为某基准延时子程序的循环次数因此,可以很方便地用软件来控制步进电机的运行,达到各种控制目的
2、货位判断程序如图是货位判断程序流程图功能根据键入的货位编码判断货位,以确定X、Y方向所需要的脉冲数主程序功能管理键盘和显示以及有关控制无键按下或执行有关命令后,显示提示符“--”
(2)程序清单ORG0000HAJMPMAINMAIN:MOVSP#60HSUN:SETBP
3.5SETBP
3.6SETBP
3.7CLRP
1.6CLRP
1.7MOVR0#40HMOVA#12H;字符“-”ML0:MOV@R0A;的编码INCR0CJNER0#42HML0SETBP
1.7;复位信号;键输入/显示/键判断F6H-特殊数据R3-键号暂存器ML1:ACALLDIRACALLKEYADDA,#0F6H;键号+F6用于数字/功能键的判断JCSUN1;功能键转移至SUN1MOV41H,40H;数字键号送显示缓冲区MOVR0,#40HMOVR3,AANLA,#0FH;保留低四位MOV@R0,AAJMPML1功能键处理程序(A、B、C键)SUN1MOVA,R3;CJNEA,#0AH,SUN2AJMPQBCXSUN2CJNEA,#0BH,SUN3AJMPCBCXSUN3CJNEA,#0CH,ML1AJMPSUN键盘子程序P1口-P
1.6正/反转P
1.7复位P3口-P
3.3P
3.4键盘行输入口R3-列扫描寄存器初值FEHR4-列号计数器SBUF-发送缓冲器发送列扫描信号KEY ACALLKS1JNZLK1NI ACALLDIRAJMPKEYLK1ACALLDIRACALLDIRACALLKS1JNZLK2AJMPNILK2:MOVP1,#00HMOVR3,#0FEHMOVR4,#00HLK4MOVSBUF,R3MOVR6,#05H;延时等待发送DK6DJNZR6,DK6JBP3.3LONEMOVA,#00HAJMPLKPLONE JBP3.4,NEXTMOVA,#08HLKP ADDA,R4PUSHACCLK3ACALLDIR;仅做一次处理ACALLKS1JNZLK3POPACC;取键值于ACCRETNEXT INCR4MOVA,R3JNBACC.7,KEDRLAMOVR3,AAJMPLK4KED AJMPKEY判断键盘有无键按下子程序——无键按下A=00HKS1MOVSBUF,#00HMOVR6,#05HDS6DJNZR6,DS6MOVA,P3CPLAANLA,#18HRET显示子程序P1口-LED位扫描输出口R2-位扫描寄存器初值为01HSBUF-LED段码发送缓冲器DIR PUSHPSWSETBPSW,4MOVR0,#40HMOVR2,#01HD1MOVP1,R2MOVA,@R0ADDA,#14HMOVCA,@A+PCMOVSBUF,AMOVR7,#02HD2MOVR6,#0FFHD3DJNZR6,D3DJNZR7,D2INCR0MOVA,R2RLAMOVR2,AJNBACC.2,D1POPPSWRETDB3FH,06H,5BH,4FHDB66H,60H,70H,07HDB7FH,6rH,77H,7CHDB39H,5EH,79H,71HDB31H,6EH,40H,23HDB00H延时子程序YSH PUSHPSWSETBPSW.3MOVR0,#0FFHSH MOVR1,#0FFHSH0DJNZR1,#H0DJNZR0SHPOPPSWRET机械手控制示意图取包子程序P
1.6-正/反转控制30H、31H步进脉冲暂存器(X方向)QBCX:SETBP
1.6;正转MOV30H,#04H;X0固定脉冲数MOV31H,#0D8HACALLXYXC;调用X方向运行子程序ACALLCSHC;调用测试子程序MOV30H,33H;X方向列脉冲数MOV31H34H;送30H、31H单元ACALLXYXC;调用X方向运行子程序MOV30H,35H;Y方向行脉冲数MOV31H,36H;送30H、31H单元ACALLYYXC;调用Y方向运行子程序ACALLQWZC;调用取物子程序CLRP
1.6;反转MOV30H35HMOV31H,36HACALLYYXC;调用Y方向运行子程序MOV30H,33HMOV31H34HACALLXYXC;调用X方向运行子程序MOV30H,#04H;X0固定脉冲数MOV31H#0D8HACALLXYXC;调用X方向运行子程序ACALLFWZC;调用放物子程序AJMPSUN存包子程序P.6-正/反转控制30H、31H步进脉冲暂存器(X方向)33H、34H-35H、36HCBCX:ACALLQWZCSETBP1.6MOV30H,#04H;X0固定脉冲数MOV31H,#0D8H;ACALLXYXCACALLCSHCMOV30H,33HMOV31H,34HACALLXYXCMOV30H,35HMOV31H,36HACALLYYXCACALLFWZCCLRP1.6MOV30H,35HMOV31H,36HACALLYYXCMOV30H,33HMOV31H,34HACALLXYXCMOV31H,#04HMOV31H,#0D8HACALLXYXCAJMPSUNX方向运行程序P3.5——脉冲信号输出线-控制MX电机XYXC PU3HPSWSETBPSW.4MOVR0,30HABC0MOVR1,31HABC1CLRP3.5ACALLYSHSETBP3.5ACALLYSHDJNZR1,ABC1 DJNZR1,ABC0POPPSWRETY方向运行程序P3.6——脉冲信号输出线-控制MY电机YYXC PUSHPSWSETBPSW.4MOVR030HADC2MOVR1,31HADC3CLRP3.6ACALLYSHSETBP3.6ACALLYSHDJNZR1,ADC3DJNZR0ADC2POPPSWRET取物子程序P
1.6——正/反转P3.6——Y方向脉冲输出(40H)P
3.7——Z方向脉冲输出(66H)QWZC PUSHPSWSETBPSW.4SETBP
1.6MOVR0#66HABC4CLRP
3.7ACALLYSHSETBP3.7ACALLYSHDJNZR0,ADC4MOVR0,#40HABC5CLRP3.6ACALLYSHSETBP
3.6ACALLYSHDJNZR0ABC5CLRP1.6MOVR0,#66HABC6CLRP3.7ACALLYSHSETBP3.7ACALLYSHDJNZR0ABC6MOVR0,#40HABC7CLRP3.6ACALLYSHSETBP3.6ACALLYSHDJNZR0,ABC7POPPSWRET放物子程序P
1.6——正/反转P3.6——Y方向脉冲输出(40H)P
3.7——Z方向脉冲输出(66H)FWZC PUSHPSWSETBPSW.4SETBP1.6MOVR0,#40HABC8CLRP3.6ACALLYSHSETBP3.6ACALLYSHDJNZR0ADC8MOVR0,#66HABC9CLRP3.7ACALLYSHDJNZR0,ABC9CLRP1.6MOVR0,#40HABC10CLRP3.6ACALLYSHSETBP3.6ACALLYSHDJNZR0,ADC10MOVR0#66HABC11CLRP3.7ACALLYSHSETBP3.7ACALLYSHDJNZR0,ADC11POPPSWRET测试子程序41H——货位列号暂存单元40H——货位层号暂存单元41H40H33H04H03H02H01H35H05H03H01H34HCDHB9H8AH01H36HBFH5BH5BHCSHC PUSHAMOVA,41HCJNEA,03H,MN0MOV33H,#04HMOV34H,#0CDHAJMPMN3MN0:CJNEA,#02H,MN1MOV33H,#03HMOV34H,#0B9HAJMPMN3MN1:CJNEA#01HMN2MOV33H,#02HMOV34H#8AHAJMPMN3MN2MOV33H,#01HMOV34H#01HMN3MOVA,40HCJNEA,#02H,MN4MOV35H,#05HMOV36H#0BFHAJMPMN6MN4:CJNEA,#01H,MN5MOV35H,#03HMOV36H,#5BHAJMPMN6MN5MOV35H,#01HMOV36H,#5BHMN6POPARET§
9.4使用说明本系统操作方便,而且在存包或取包过程中均有乐曲伴奏,机械手返回原处,音乐自动停止
一、键盘介绍键盘有数字键0~
9、功能键MON、Q、C键,余下3个扩充键
(1)数字键(0~9)向微机输入十进制数字,组成包位编码
(2)功能键·监控键(MON)使系统进入监控程序·取包键(Q)使系统完成取包操作·存包键(C)使系统完成存包操作
二、操作说明
(1)开启电源(+5V和+25V),两位数码管均应显示提示符“-”表示计算机系统正常否则关闭电源,检查故障
(2)预置包位编码先输入层号(十位数),后输入序号(个位数)例如,设包位编号为23,则依次按数字键2和3,显示23,表示置数成功
(3)启动功能键、完成有关操作,最后,显示提示符“一一”。