单片机怎么样控制步进机
时间:10-02
整理:3721RD
点击:
步进机的工作原理,怎样用单片机控制步进机,还有那个步进相序表是什么意思?我看了别人的程序看不懂,求小编帮我解释一下。主要是那个步进序列表是怎么回事。谢谢!下面是程序:
#include "reg52.h"
unsigned char code RUN[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //步进电机相序表
void delay(unsigned int t);
//步进电机驱动
void motor_ffw()
{
unsigned char i;
for (i=0; i<8; i++) //一个周期转3.75*8=30度
{
P1 = RUN[i]&0x1f; //取数据
delay(50); //调节转速
}
}
/******延时函数****************/
void delay(unsigned int t)
{
unsigned int k;
while(t--)
{
for(k=0; k<60; k++)//用for的空循环延长程序的执行时间
{ }
}
}
main()
{
while(1)
{
motor_ffw(); //调用旋转处理函数
}
}
#include "reg52.h"
unsigned char code RUN[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //步进电机相序表
void delay(unsigned int t);
//步进电机驱动
void motor_ffw()
{
unsigned char i;
for (i=0; i<8; i++) //一个周期转3.75*8=30度
{
P1 = RUN[i]&0x1f; //取数据
delay(50); //调节转速
}
}
/******延时函数****************/
void delay(unsigned int t)
{
unsigned int k;
while(t--)
{
for(k=0; k<60; k++)//用for的空循环延长程序的执行时间
{ }
}
}
main()
{
while(1)
{
motor_ffw(); //调用旋转处理函数
}
}
有电路没有,好解释点,走一步,转多少度
先理解步进电机的工作原理吧。不知道原理也是对牛弹琴
今天老师讲了步进机的工作方式和工作原理,我大概知道了它的运转过程了。谢谢各位回复。
感觉是个四相八拍的步进电机,相序表符合a-ab-b-bc-c-cd-d-da的顺序,通过P1口输入变化的电平驱动电机,延迟设置越短,速度越快。新人随口说说,切莫当真。
学习
很好,不错
能说说不现在都是什么原理