单片机与步进电机的控制
这两天开始研究单片机与步进电机的控制问题,感觉真的很好玩,步进电机在工业的很多地方都有很大的应用,比如流水线的运转,智能小车,系统定位都有很大的用处。也是一个核心的技术。步进电机的控制主要是由单片机IO口高低电平的控制以及输出脉冲来控制其转速,达到了一种数模转换的效果。让单片机以并行二进制数转换成并行脉冲序列,并实现方向控制。只要是脉冲在步进电机允许的范围之内,每个脉冲将使步进电机转动一个固定的步距角度,根据步距角的大小及实际走的步数,只要知道初始位置,便可以根据计算知道其最终位置了。
步进电机转动时的驱动的电流比较大,所以在使用单片机控制的时候,要在中间加一个放大电路,或者加上一些常用的放大电流的芯片,比如人们很经常用的一个芯片ULM2003.只有这样才能够使步进电机转动,不然会因为电流太小而实现不了效果。
程序如下:
#include
#define uchar unsigned char
#define uint unsigned int
uchar num[]={0x01,0x02,0x04,0x08};
void delay(uint z)
{
uint a;
for(a=0;a
}
void main()
{
uchar i;
uint j;
for(j=0;j<2045;j++)
{
{ P1=num[i];
delay(1200);
i++;
if(i==4)
i=0; }
}
while(1);
}
其中,z控制转速,j控制转的圈数,由计算和调试得出当j=2045时,步进电机走的圈数为1圈,这样,我们要步进电机走多少圈时,可以在里面嵌套一个程序,达到我们要电机转多少圈的目的。关于电机的参数打开http://www.51hei.com/mcu/73.html这个链接来查看.里面写得非常详细.
单片机步进电 相关文章:
- 51单片机驱动步进电机(汇编语言)(12-01)
- 51单片机学习之3-步进电机(11-30)
- 51单片机驱动步进电机__终极(完整版)(11-30)
- 51单片机—步进电机程序(11-29)
- 51单片机控制步进电机转动以及用lcd1602显示(11-28)
- 51单片机实现步进电机加减速的例子-加注释(11-22)