标题: 第15章-步进电机测试 [打印本页]
作者: wul 时间: 2016-3-28 22:36
标题: 第15章-步进电机测试
51单片机轻松入门—基于STC15W4K系列(C语言版)
李友全 编著 详见:http://www.51hei.com/bbs/dpj-37954-1.html
第15章 步 进 电 机 测 试
1 步进电机特点
2 步进电机的3种励磁方式
3 步进电机驱动电路
4 步进电机驱动实例
步进电机特点:
1 步进电机特点
①步进电机旋转角度和输入脉冲成正比,通常市面所售步进电机说明书会说明 其步进角(也就是一个脉冲所产生的旋转角度),比如常见的小体积永磁式电机 的步进角是7.5°,则送给它48个脉冲使步进电机正好转动一圈。
② 步进电机转角误差很小,没有累积误差,因此控制步进电机正反转还是会回 到原来的位置,不会因为误差累积而使初始位置越来越远。
③ 具有自保持特性,任何一相线圈加上电源后,电机本身具有自保持力矩,不 送脉冲情况下会停止在一定位置,不会改变。
④ 步进电机空载最高启动频率一般能达到450Hz,使用频率不能超过允许最高频 率,否则电机只能振动,无法运转。
⑤ 常见步进电机供电电压是5V、12V、24V,供电电压允许误差±10%,电机外壳
上一般都会对供电电压规格作相应标识。
步进电机内部线圈电路图:
外部接口
2 步进电机的3种励磁方式
依次改变电流所流过的线圈,就可以让步进电机转动,如果顺序相反的话,电机 就会反方向转动,比如图13-1电机有A,/A,B,/B共4组线圈,最简单的方式就是 依次将电流按A,B,/A,/B顺序导入4组线圈,不同的导入方式会产生不同的结 果,电流的导入称为励磁,励磁有3种方式。
(1)1相励磁(也称为单4拍) 这种励磁方式是将电流一次只导入一组线圈中,每次可移动一个步进角,这种
励磁方式产生的力矩小,噪音振动最大,励磁顺序如表15-1所示,其中H表示励 磁,L表示未励磁,图15-2是对应波形图。
表15-1 图15-2
(2)2相励磁(也称为双4拍)
这种励磁方式是将电流一次导入两组线圈中,每次可移动一个步进角,由于同时 有2个线圈被励磁,因此产生的力矩较大,噪音振动比1相励磁小,励磁顺序如表
15-2所示,图15-3是对应波形图,按照表15-2的方式依1、2、3、4的顺序分别将4 组线圈中的2组线圈励磁,步进电机会转动4个步进角,如果反方向励磁(也就是以4、3、2、1的顺序),步进电机就按反方向转动4个步进角。
(3)1-2相励磁(也称为8拍) 这种励磁方式是上述两种励磁方式的综合,将A、B两相采用交互励磁的方式
进行,将电流第一次导入一组线圈中,在第二次导入两组线圈,每次可移动半 个步进角,是噪音振动最小的一种励磁方式,励磁顺序如表15-3所示,图15-4
是对应波形图,按照表15-3的方式依1、2、3、4、5、6、7、8的顺序分别将4组
线圈励磁,步进电机会转动4个步进角(虽然励磁8次,但因每次都只前进半个 步进角,总和还是4个步进角)。
3 步进电机驱动电路
步进电机典型驱动电路如图15-5所示,有时为了增加电机输出力矩,在不增加电源电压和驱动脉 冲宽度的前提下,可将图15-5中的4只反峰电压保护二极管1N4007去掉,只要电机绕组断电瞬间 产生的电压峰值不超过TIP122的极限电压100V即可,这样就成了图15-6的电路,TIP122内部CE间 已集成反向二极管,为了减轻内部反向二极管负担,所以外部并接了1N4007给电机绕组提供反向 电流通路,图15-7与图15-8是实测的TIP122集电极电压波形与TIP122发射极电流波形(即电机绕 组电流波形)。
图15-5 步进电机典型驱动电路图 15-6 增加驱动力矩的电路
GND
图15-7 典型电路波形 图15-8 增加力矩电路的波形
4步进电机驱动实例
例15.1 步进电机正反转测试,使用图15-7或图15-8的电路,采用1-2相励磁,要求上电后顺转
200步,然后反转200步,如此循环,完整实验代码如下。使用P20、P21、P22、P23口驱动电机
#include "STC15W4K.H "
unsigned char code BiaoGe[8]={0x08,0x0C,0x04,0x06,0x02,0x03,0x01,0x09};
void PROT_Init(void)
{
P2M1 = 0x80; // 1000 0000 P2.0、P2.1、P2.2、P2.3、接驱动功率管,推挽输出 P2M0 = 0x0f; // 0000 1111 P2.7 接接霍尔传感器信号输入,高阻输入
}
void shun200() // 顺转200步
{
unsigned int i; unsigned char n; n=0;
for(i=0;i<400;i++) // 200步,i/2为实际步数
{
P2=BiaoGe[n]|0xf0; // 不影响P2口高4位
delay3ms();
n=n+1;
if (n>7)
{
n=0;
}
}
P2&=0xf0; // 保证电机绕组断电
}
void fan200() // 反转200步
{
unsigned int i; unsigned char n; n=8;
for(i=0;i<400;i++) // 200步,i/2为实际步数
P2=BiaoGe[n]|0xF0; // 不影响P2口高4位
delay3ms();
if (n==0)
{
}
P2&=0xf0; // 保证电机绕组断电
}
void main(void)
{
PROT_Init(); // 初始化端口
while(1)
{
shun200(); delay1s(); fan200(); delay1s();
}
}
本章完整程序及资料下载:
第15章 步进电机测试.rar
(2.35 MB, 下载次数: 79)
作者: 祝云章 时间: 2018-3-7 21:55
很好,感谢分享
作者: 直流电机实验 时间: 2018-7-10 10:42
有没有直流电机测试的程序 没有找到
作者: LHJMF 时间: 2018-8-30 11:36
好帖子,学习了。
作者: zjh158 时间: 2018-10-18 11:28
学习了了 。。。。。。。。。。。
作者: vectorxu 时间: 2018-11-1 14:23
学习了,谢谢楼主
作者: btsunflower 时间: 2019-2-16 22:25
先回复再仔细看,谢谢楼主。
作者: gl1234yu 时间: 2019-3-7 08:38
不错 收藏了
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |