编辑: 我不是阿L | 2019-07-04 |
一、前言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.
在非超载的情况下,电机的转速、 停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电 机则转过一个步距角.由于这一线性关系的存在,再加上步进电机只有周期性的误差而无累积误差等特 点,使得在速度、位置等控制领域用步进电机来控制,变的非常的简单.为此, 完美版开发套件中引入 了步进电机技术,以便用户掌握和应用. 虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用.它 必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用.因此用好步进电机却非易事,它涉及 到机械、电机、电子及计算机等许多专业知识. 步进电机的主要特性:
1 步进电机必须加驱动才可以运转, 驱动信号必须为脉冲信号,没有脉冲的时候, 步进电机静止, 如果加入适当的脉冲信号, 就会以一定的角度(称为步角)转动.转动的速度和脉冲的频率成正比. (即脉冲频率控制电机转动的速度,脉冲个数控制电机转动的距离)
2 步进电机的步进角度若为
15 度,一圈
360 度, 需要
24 个脉冲完成;
若为 7.5 度,一圈
360 度,则 需要
48 个脉冲完成.
3 步进电机具有瞬间启动和急速停止的优越特性.
4 改变脉冲的顺序, 可以方便的改变转动的方向. 因此,目前打印机,绘图仪,机器人,等等设 备都以步进电机为动力核心. 完美版开发套件步进电机驱动电路 完美版开发套件采用的是 12v 步进电机,为了演示的方便, 我们用 5V 的电源来驱动它,此时转动 力矩较小,用户也可自行把他应用为 12v.本套件采用 uln2003 驱动,驱动端口为 P1.0,P1.1,P1.2, P1.3. P1.0,P1.1,P1.2,P1.3,IO 口驱动时序: 正转 步数 P1.0 P1.1 P1.2 P1.3 0CH
1 1
1 0
0 06H
2 0
1 1
0 03H
3 0
0 1
1 09H
4 1
0 0
1 反转 步数 P1.0 P1.1 P1.2 P1.3 0CH
1 1
1 0
0 09H
2 1
0 0
1 03H
3 0
0 1
1 06H
4 0
1 1
0 ;
步进电机控制程序:p3.2 正转,p3.3 反转,p3.4 停止,步进电机接 p1.0,p1.1,p1.2,p1.3. org 00h stop: orl p1,#0ffh ;
步进电机停止 loop: jnb p3.2,for2 ;
如果 p3.2 按下正转 jnb p3.3,rev2 ;
如果 p3.3 按下反转 jnb p3.4,stop1 ;
如果 p3.4 按下停止 jmp loop ;
反复监测键盘 for: mov r0,#00h ;
正转到 tab 取码指针初值 for1: mov a,r0 ;
取码 mov dptr,#table ;
movc a,@a+dptr jz for ;
是否到了结束码 00h cpl a ;
把acc 反向 mov p1,a ;
输出到 p1 开始正转 jnb p3.4,stop1 ;
如果 p3.4 按下停止 jnb p3.3,rev2 ;
如果 p3.3 按下反转 call delay ;
转动的速度 inc r0 ;
取下一个码 jmp for1 ;
继续正转 rev: mov r0,#05h ;
反转到 tab 取码指针初值 rev1: mov a,r0 mov dptr,#table ;
取码 movc a,@a+dptr jz rev ;
是否到了结束码 00h cpl a ;
把acc 反向 mov p1,a ;
输出到 p1 开始反转 jnb p3.4,stop1 ;
如果 p3.4 按下停止 jnb p3.2,for2 ;
如果 p3.3 按下反转 call delay ;
转动的速度 inc r0 ;
取下一个码 jmp rev1 ;
继续反转 stop1: call delay ;
按p3.4 的消除抖动 jnb p3.4,$ ;
p3.4 放开否? call delay ;
放开消除抖动 jmp stop for2: call delay ;
按p3.2 的消除抖动 jnb p3.2,$ ;
p3.2 放开否? call delay ;