现在四线两相步进电机应用很普遍 下图是2 种5 伏步进电机的原理图及接线图
我们用两组H型桥式电机驱动电路及AT90S8515 的PC0~3 来驱动步进电机 具
体电路如下
- #include <io8515.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar np;
- //步进电机运行数据表
- const uchar motortb[]={0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33};
- void delay(uchar t)// 每步延时的子程序
- {
- uchar i;
- uint j;
- for (i=0;i<t;i++)
- for (j=0;j<900;j++);
- }
- void a_step(uchar d,uchar t) //步进电机走一步 d=0 正转 d=1 反转 t
- // 越大走得越慢
- {
- if (d&0x01)
- {
- if (np==0)
- np=7;
- else np--;
- }
- else
- {
- if (np==7)
- np=0;
- else np++;
- }
- PORTC=motortb[np];
- delay(t);
- }
- void a_turn(uchar d,uchar t)// 步进电机走一圈
- {
- uchar i;
- for (i=0;i<96;i++)
- a_step(d,t);
- }
- void main(void)
- {
- DDRC=0xff;
- PORTC=0x44;
- np=4;
- while (1)//
- a_turn(1,1);
- }