主要部分:单片机、ULN2003,步进电机。
单片机:常见的单片机即可。
ULN2003:16个管脚,1-7是控制脉冲输入,10-16是脉冲输出,1B对应1C,其余同样如此。9脚接VCC。
步进电机:是一种把脉冲信号转换为角位移或线位移的常见开环控制。脉冲数控制电机旋转的角度;脉冲频率控制电机转速;
常见的有:四相八拍,
四相:有四对线圈;
八拍:电机的通电顺序,A-AB-B-BC-C-CD-D-DA;
A |
1
| 1 | 0 | 0 | 0 | 0 | 0 | 1 |
B | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
C | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
D | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
一个简单的程序为:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar table[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//通电顺序
void delay(uint t)
{
while(t--);//延时一下
}
void main()
{
uchar i;
uint j;
j=10;//控制电机总的旋转角度
while(j--)
{
for(i=0;i<8;i--)//8拍
{
P1=table[i];//沿着通电顺序旋转
delay(700);///延时一下,单片机速度太快,匹配一下步进电机
}
}
while(1);//防止程序跑飞
}
proteus仿真图: