欢迎来到天天文库
浏览记录
ID:5368577
大小:103.10 KB
页数:3页
时间:2017-12-08
《步进电机控制方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第四节步进电机的控制与驱动步进电机的控制与驱动流程如图4-11所示。主要包括脉冲信号发生器、环形脉冲分配器和功率驱动电路三大部分。步进脉冲脉冲信号环形脉冲功率步进发生器分配器驱动电路电机方向电平图4-11步进电机的控制驱动流程二、步进电机的脉冲分配环形分配器是步进电机驱动系统中的一个重要组成部分,环形分配器通常分为硬环分和软环分两种。硬环分由数字逻辑电路构成,一般放在驱动器的内部,硬环分的优点是分配脉冲速度快,不占用CPU的时间,缺点是不易实现变拍驱动,增加的硬件电路降低了驱动器的可靠性;软环分由控制系统用软件编程
2、来实现,易于实现变拍驱动,节省了硬件电路,提高了系统的可靠性。1.采用硬环分时的脉冲分配采用硬环分时,步进电机的通电节拍由硬件电路来决定,编制软件时可以不考虑。控制器与硬环分电路的连接只需两根信号线:一根方向线,一根脉冲线(或者一根正转脉冲线,一根反转脉冲线)。假定控制器为AT89S52单片机,晶振频率为12MHz,如图4-18:P1.0输出方向信号,P1.1输出脉冲信号。步进脉冲AT89S52步进电机驱动器P1.1硬件环分功率步进电机P1.0电路驱动电路方向电平图4-18硬环分时的脉冲分配则控制电机走步的程序如下
3、:(1)电机正转100步MOV0FH,#100D;准备走100步CONT1:SETBP1.0;正转时P1.0=1CLRP1.1;发步进脉冲的下降沿(设驱动器对于脉冲的下降沿有效)NOP;延时(延时的目的是让驱动电路的光耦充分导通)NOP;延时(根据驱动器的需要,调整延时)SETBP1.1;发步进脉冲的上升沿MOV0EH,#4EH;两脉冲之间延时20000μs(决定电机的转速)MOV0DH,#20H;20000的HEX码为4E20CALLDELAY;调用延时子程序DJNZ0FH,CONT1;循环次数减1后,若不为0则
4、继续,循环100次RET(2)电机反转100步MOV0FH,#100D;准备走100步CONT2:CLRP1.0;反转时P1.0=0CLRP1.1;发步进脉冲的下降沿(设驱动器对于脉冲的下降沿有效)NOP;延时(延时的目的是让驱动电路的光耦充分导通)NOP;延时(根据驱动器的需要,调整延时)SETBP1.1;发步进脉冲的上升沿MOV0EH,#4EH;两脉冲之间延时20000μs(决定电机的转速)MOV0DH,#20H;20000的HEX码为4E20CALLDELAY;调用延时子程序DJNZ0FH,CONT2;循环次
5、数减1后,若不为0则继续,循环100次RET2.采用软环分时的脉冲分配如图4-19所示,该系统基于AT89S52单片机,利用扩展的可编程接口芯片8255A的PB口送出步进脉冲信号,经过驱动放大后,分别控制X轴、Z轴两个三相六拍反应式步进电机激磁绕组的通电顺序,以控制刀架在X、Z两个方向的运动。根据步进电机的工作原理,只要不断改变绕组的通电状态,步进电机即按规定的方向运转。软件分配脉冲采用查表法,按正向运转的通电顺序(如图4-20所示),列出各相绕组的脉冲分配表(如表4-11所示,表中“0”表示通电)。每个电机设置一
6、个指针寄存器,初始化时使指针指向分配表的表首。步进电机需要正向运行一步时,指针下移一行,同时输出该行的状态,当指针超出分配表表尾时自动回到表首;步进电机反向运行时,指针上移一行,并输出该行的脉冲值,当指针超出表首时又自动回到表尾。表4-11步进电机绕组通电顺序表PB0C相绕组功PB1B相绕组地指代电机绕组通电顺序PB2放A相绕组址针码选通信号ABCPB3Z向选通MOTB+110BH1011PB4C相绕组MOTB+2209H1001功PB5B相绕组MOTB+330DH1101放PB6A相绕组MOTB+440CH110
7、0PB7X向选通MOTB+550EH11108255AMOTB+660AH1010图4-19软环分时的绕组通电布置AABBBCCCAAACCCBBBA正转反转图4-20步机电机正、反转时的绕组通电顺序(三相六拍方式)Z向电机脉冲分配子程序YN正向运转?N指针小于表首地址?Y指针加1指针减1指针修改到表尾指针大于表尾地址?N输出脉冲信号至8255A的PB口Y指针修改到表首返回图4-21Z向电机脉冲分配子程序框图设R6、R7分别为X、Z向电机的指针寄存器,正常情况下R6与R7的取值应在1~6之间(六拍之一)。则Z向电机
8、脉冲分配的具体程序如下(采用MCS-51汇编语言)。BDZ1P:INCR7;Z向电机正转一步(若DECR7,则反转一步)OTZ:CJNER7,#07H,AA0MOVR7,#01H;指针超出分配表的表尾(R7=#07H)时,自动回到表首(R7=#01H)JMPAA1AA0:CJNER7,#00H,AA1MOVR7,#06H;指针超出分配表的表首(R7=#00H
此文档下载收益归作者所有