单片机程序控制步进电机实现回旋体工件的焊接加工Word文件下载.docx
《单片机程序控制步进电机实现回旋体工件的焊接加工Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机程序控制步进电机实现回旋体工件的焊接加工Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
2、双电压驱动:
双电压驱动电路如图(3),这种电路采用两种电源电压的驱动,由于这两种电源电压分别为高压和低压电源,也称为高低压驱动电路。
其原理如下:
高压开关管T1的输入脉冲Vh和低压开关U1同时起步,但Vh的脉宽要比V2的脉宽要窄得多,两个脉冲同时使开关管T1、管T2导通,使高电压Vh为电动机绕组供电,这使得绕组中的电流Vi快速上升电流波形的前沿很陡,如图(4)当脉冲Uh降为低电平时,高压开关管T1截止,高电压被切断,低电压UL通过二极管D1继续为绕组供电,由于绕组电阻小,,回路中又没有串联电阻,所以低电压只需数伏就可以为绕组提供较大的电流。
由于这种驱动方式在低频时电流有较大的上冲,电动机低频噪音较大。
3、斩波驱动:
高低压驱动时,电流波形在高低压交接处有一凹陷,这会引起输出转矩下降。
斩波驱动原理和波形如图(5、6)
T1是高频开关管,T2开关管的发射极,接一只小电阻R,电动机绕组的电流经这个电阻到地,所以这个电阻是电流取样电阻,比较器一端接给定电压UC,另一端接取样电阻上的压降,当取样电压小于给定电压时,比较器输出高电平,当控制脉冲Ui为低电平时,T1和T2截止,当Ui为高电平时T1和T1均导通,电源对绕组开始供电,由于绕组的电感作用,电阻R上的电压慢慢升高,当超过给定电压UC时,比较器输出低电平,使和门输出低电平。
T1截止,电源被切断,取样电阻上的电压下降,当下降到小于给定电压时,比较器输出高电平,由于这时Ui为高电平,所以和门输出高电平,T1又导通,电源又开始向绕组供电,这样反复循环,直到Ui为低电平。
以上的驱动过程表现为T2导通一次,T1导通多次,且绕组的电流为锯齿形,这种电路电源效率较高,且能有效的抑制共振,由于无需外接时间常数的限流电阻,所以高频特性较高,但由于电流波形为锯齿形,将会产生较大的电磁噪声。
4、其它还有细分驱动,集成电路驱动不在赘述
对于本产品的工艺要求采用第二种操作方案及单电压驱动方案
步进电机的单片机控制。
1、步进电机的驱动电路根据控制信号工作,在步进电机的单片机控制中,控制信号由单片机产生,其控制作用如下:
(1)、控制换相顺序
步进电机的通电换相顺序严格按照步进电动机的工作方式进行,即脉冲分配,过去由硬件环行分配器来分配脉冲换相,现在由于技术的发展可通过单片机软件控制,非常方便的实现换相,如四相步进机的单四拍工作方式,其各顺序为A→B→C→D→A,四相步进电相的双四拍工作方式AB→BC→CD→DA,以及四相八拍控制方式为A→AB→B→BC→C→CD→D→DA。
(2)步进电机的转向控制
如果按给定的工作方式正序通电换相,步进电机就正转;
如果按反序通电换相,则电动机就反转,如四相步进电机按双死拍方式,正转换相顺序是AB→BC→CD→DA,则反转为AD→DC→CB→BA的换相顺序。
本方案中需单方向运转即可。
(3)步进电机的速度控制
如果给步进电机发出一个脉冲,它就转一步,再发一个脉冲,它会再转一步,两脉冲之间的间隔时间越短,步进电机就转得越快,故此脉冲频率决定了步进电机的转速。
(4)步进电机的位置控制:
步进电机每给一个脉冲步进电机就转一个给定角度,如果一个四相步进电机,齿数为50齿,采用四相双拍控制,则每给一个脉冲步进电机转动角度为360o/(4×
50)=1.8o,步进电机转动一周就需200个脉冲,假如转动16周就需200×
16=3200个脉冲。
怎样利用单片机实现工件整圈定位和恒线速度控制
(1)通过软件实现脉冲分配
软件法是完全用软件的方式,按照给定的通电换相顺序,通过单片电机的I/O口向驱动电路发出控制脉冲,如图(7)是用这种方法的四项步进电机的硬件接口,其双四拍换相顺序为AB→BC→CD→DA共四个通电状态,如果P2口的输出的控制信号中“O”代表使绕组通电,“1”代表使绕组断电,则这四个控制字如表1
表1四相双四拍工作方式的控制字
通电状态
P1.3(D)
P1.2(C)
P1.1(B)
P1.0(A)
控制字
AB
1
FCH
BC
F9H
CD
F3H
DA
F6H
在程序中,只需要依次将这四个控制字送到P2口,步进电机就会转动一个步距角,每送一个控制字,就完成一拍,步进电机就转过一个步距角,如用R3作状态计数器,来指示第几拍,每走一步R3加1,则程序如下:
START:
MOVR3,#OH;
计数器初值。
START1:
MOVA,R3;
计数器值送A
MOVDPTR,#TABRUN;
指向运转数据表首地址
MOVCA,@A+DPTR;
取控制字
MOVP2,A;
送控制符到P2口
LCALLDELAY1;
调用步进马达脉冲发送频率控制程序
INCR3计数器加1
CJNER3,#4,START1;
计数器不为4返回START1
MOVR3#0;
计数器值为4,修正计数器值为0
RET
TABRUN:
DB0FCH0F9H0F3H0F6H
(2)加工工件的恒线速控制
根据工艺要求:
工件和焊枪之间的相对线速为20毫米/秒,允许偏差±
10%,工件直径分别为(Ø
100mm~Ø
210mm),于是主轴转速和工件直径有关,其所对应关系为:
n=60V/лD=60*20/3.14D=1200/3.14D(转/分)
式中:
NZ——主轴转速,单位为转/分
V——工件线速度,为20毫米/秒
D——工件直径,单位为毫米(规格为100、110、120、135、150、180、195、210)
步进电机采用四相,转子齿数为50,并采用四相四拍方式控制。
则步距角为1.8º
,步进电机运转一周就需200个脉冲,为保证主轴在低速运行时连续平稳运转,不出现脉动轴转现象,不采用电机直接拖动主轴,而用1:
16的减速箱主轴系统,即主轴箱输入端旋16转(即步进电机转16转)主轴旋转一转,则可求出电机转速为NO=16NZ=16×
1200/3.14D=19200/3.14D(转/分)步进电机每秒接受的脉冲数,即换相频率f=NO×
200=19200×
200/(3.14×
60×
D)=20371/D。
由上式可以看出步进电机转速和工件直径D有关,D越大步进电机转速越慢,D越小步进电机转速就越快,将上述常数20371/D化为16进制为4F93H,将高位#4FH存入10HRAM中,#93H存入41HRAM中,并将工件直径(Ø
210mm)存入地址为50H~57H的RAM中,再将20371/D的MAIN1:
;
20371/D,结果进43HRAM。
MOV40H,#4FH;
20371的十六进制数的高位值放入40H中;
MOV41H,#93H;
20371的十六进制数的低位值放入41H中;
MOV42H,@RO;
RO和按键有关,其值在950H~#57H之间;
MOV43H,#O;
43HRAM以便计算结果准确;
MOVR2,40H;
高位值放入R2;
MOVA,41H;
低位值放入A;
HDIV:
高位除法:
MOV41H,A;
高位余数和低位值内容相加结果送回41H;
MOVA,#FFH;
将高位“1”看作低位255+1;
MOVB,42H;
将工件直径放入B;
DIVAB
ADDA,43H;
除法商和计算结果相加;
MOV43H,A
MOVA,B
CLRC
ADDA,41H;
高位除法余数和低位内容相加;
JCHDIV;
溢出重做高位除法;
MOV41H,A;
不溢出高位除法余数和低位相加结果送回41H;
ADDA,#01H;
补256~255的偏差;
JCHDIV
MOV41H,A
DJNZR2,HDIV;
高位值没有计算完转高位除法;
LDIV:
低位除法
MOVA,41H
MOVB,42H
ADDA,43H
四舍五入,由于除数等于42H中的值,所以只要42H中的值除以2减B,C不溢出,即余数小于42H中的值的一半,可以舍去。
MOV44H,B;
余数暂存
MOVA,42H
MOVB,#2
SNBBA,44H
JNCLOOP
INC43H;
除法商加1
LOOP:
RET
以上程序即将步进电机换相频率值存入43H中,再将换相频率值转化为定时时间常数存入49H和4AH中,等于频率控制,其频率控制程序,其实就是一个时子程序,如:
DELAY1:
MOV40H,49H;
时间常数值高位送40H;
MOV4EH,4AH;
时间常数值低位送4EH
DELAY2:
DJNZ4EH,DELAY2;
4EH减1不为零循环
MOVA,40H
JZDELAY4;
40H为零结束时子程序
DJNZ40H,DELAY2;
40H减1不为零循环
DELAY4:
其中时间常数高位49H和低位4AH的求出方法为:
设时间常数为T,由于89C51单片机的DJNZE指令为二个机四周期,而机器周期MC=12/晶振频率=12/12MHZ=1MS(采用12MHZ晶振)
故T=106×
1/9÷
2(微秒)=5000/9×
10
将上式采用类似于MAIN1的程序方法,即可求出49H和4AH程序略。
(3)加工工件的整圈定位控制
加工工件的整圈定位控制的基本思想已在四.1.(4)中给予说明。
下面就单片机控制步进电机运转程序加以说明。
由于电机运转16圈等于工件运转1圈,故可控制电机运转16圈停止,电机运转16圈需16×
200=3200脉冲,转化为16进制等于HOC80H
MOV48H,#0DH;
MOV4CH,#080H;
步进电机换相控制程序
START2:
OJNZ4CH,START1
OJNZ4BH,START1
由于4BH经DJNZDIRREL运算缺1,所以需加1。
1、焊机的启、停控制
当按下启动按钮时,步进电机运转程序开始调用,故由程序即可启动焊机。
START4:
CLRP2.7;
启动焊机
LCALLDELAY0-5;
延时0.5秒,焊机引弧用
步进电机换相控制程序结束
SETBP2.7;
关闭焊机
2、键盘
键盘硬件电路如图(8),其中:
key1为启动按键,启动加工程序;
key2为暂停键,暂停加工程序,按启动可持续加工;
key3为停止键,强制结束加工程序;
key4为产品规格许则键,单方向以值到最大值时返回到最小值,其中key1和key4在运转过程中还有点动停止功能。
3、LED显示
LED显示控制如图(9)所示,由P0口输出三位7字段的段码,P1.0~P1.2输出三位选码,控制LED动态显示。
当按键key4按下时,寄存器R0自动加1,R0从#50~#57(十进制),其P0口数据开,内PRAM22H,显示数字百位位,21H,显示数字十位位,20H,显示数字个位位,具体程序不在此展开。
本文后附本控制程序系统的全部程序。
由于在步进电机运转程序运行过程中,LED保持显示,即在
步进电机运转时,需调用LED程序,所求控制系统的程序在计算步进电机脉冲时,常数时已考虑了调用LED程序所需要的时间。
4、步进电机的驱动:
步进电机功率P=2∏Tn/60
其中:
T为力矩(静力矩);
n为轴速。
其静力矩由机械工程师给出,T=4N.M;
n取本系统最高转速,其最小工价直径运转的速度最高运转一周所需时间(t)
t=3.14×
100/20=15.7秒
由于采用1:
16的速比,则电机运转1周所需时间约1秒,即每分钟60转,所以P=2∏×
4×
60/6025W
故本系统功率较小,且速度低,所以可采用单电源方式,其原理图如图(10),具体参数由调整确定。
六、结论
本系统单片机程序设计和调试已完成,调试时采用微型步进电机,其相数和齿数和本系统吻合,从试运行情况来看,是能满足控制要求的,起运行速度控制和定位情况良好,且操作比原数控系统方便,调试过程中,发现按下任何按键时,电机会停转,而焊机照常运行,,这样会使工件报废,因此加入了,在加工过程中按下任何按键,焊机自动停止,并将key1和key4改为点动停止。
另外,由于在加工过程中调用LED程序,使原计算出的电机脉冲时间常数需要重新调整,如果电机脉冲频率要求精度较高时,需采用单片机内部定时中断程序控制。
八、参考文献
1、陈光东《单片微型计算机原理和接口技术》第二版
华中理工大学出版社1999.4
2、吴金戌沈庆阳郭庭吉《8051单片机实践和使用》
清华大学出版社2001.8
3、王晓明《电动机的单片机控制》
北京航空航天大学出版社2002.5
4、余永权汪明懋黄英《单片机在控制系统中的使用》
电子工业出版社2003.10
在此致谢以上各位老师和前辈,对我这次任务的支持。