❶ 51单片机步进电机正反转程序
单片机控制步进电机,我想你说的是两相步进电机,一般是控制其相序分配的顺逆从而控制正反转,一般而言,步进电机相序分配你可以做成一个数组比如step[]={0x03,0x06,0x0c,0x09},这样来说可以假设P0口是步进电机控制口,那么可以按如下方式来控制: while(1) { for(i=0;i<4;i++) { if(fx==1)P0=step[i]; //正向 else P0=step[3-i]; //反向 delay(x); //x大小决定电机速度。
根据电机相数买个驱动器。然后用单片机产生脉冲来控制电机的转动以及正反转。单片机产生脉冲的方法和单片机控制流水灯是一样的。ULN2003D 是驱动步进电机的驱动芯片,主要是匹配电机所需的电流。 由于是四相电机,步进电机之所以可以转动就需要给相绕组提供连续的脉冲,所以需要4个端口来控制四相绕组的工作状态(P15应该是不需要的),具体的编码要看电机的拍数; 一旦明白这些,你就可以很容易编写代码来控制电机的转动了,还有在脉冲间你可以设置不同的延时时间来调节电机的转速。
❷ 请问不用驱动器,而用单片机控制两相步进电机可以吗
这是不可能的,单片机的IO口无法承受0.2A电流.用IO口控制三极管驱动就行了
❸ 我想用51单片机单独控制两台步进电机,实现一台电机停,一台电机转和两台电机同时转,可以么课设用
如果有驱动器的话,步进电机的控制一台只需要两个信号即CW(正转)和CCW(反转)信号就OK了,或者PAUSE(脉冲)+DIR(方向),因此控制两台步进电机只需要4路信号即可,所以任意实验板都可以达到,当然买最便宜的了。
❹ 51单片机如何控制两相四线步进电机
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//--------------------------------
uchar step1[] = {0x05, 0x06, 0x0A, 0x09};
uchar stepx = 0;
//--------------------------------
void zs(uint a)
{
while(a--);
}
//--------------------------------
void zheng(void)
{
P0 = step1[stepx]; //走一步
stepx++;
if (stepx >= 4) stepx = 0;
}
//--------------------------------
void fan(void)
{
P0 = step1[stepx]; //走一步
stepx--;
if (stepx == 255) stepx = 3;
}
//--------------------------------
void main ()
{
uint i;
while(1) {
for(i = 0; i < 400; i++) {//正转400步
zheng(); //走一步
zs(90); //控制转速
}
for(i = 0; i < 400; i++) {//反转400步
fan(); //走一步
zs(90); //控制转速
}
}
}
//--------------------------------
❺ 怎样用单片机给两相步进电机驱动器发脉冲,该怎么与步进电机接,有没有程序
给使能EN,给方向DIR,,然后步一个脉冲,EN一般是+,DIR随便,哪个方向自己试,用导线点都能试出来,多动手
接线端子定义说明
信号输入端
⑴CP+:脉冲信号输入正端。
⑵CP-:脉冲信号输入负端。
⑶U/D+:电机正、反转控制正端。
⑷U/D-:电机正、反转控制负端。
⑸EN+:电机脱机控制正端。
⑹EN-:电机脱机控制负端。
电机绕组连接:
⑴A+:连接电机绕组A+相。
⑵A-:连接电机绕组A-相。
⑶B+:连接电机绕组B+相。
⑷B-:连接电机绕组B-相。
工作电压的连接:
⑴VCC:连接直流电源正(注意:10V <VCC <32V)。
⑵GND:连接直流电源负。
详细见产品展示说明图
信号输入端光耦隔离接法
输入信号接口有两种接法:用户可根据需要采用共阳极接法或共阴极接法。
1、共阳极接法:分别将CP+,U/D+,EN+连接到控制系统的电源上,如果此电源是+5V 则可直接接入,如果此电源大于+5V,则须外部另加限流电阻R,保证给驱动器内部光藕提供8—15mA 的驱动电流。脉冲输入信号通过CP-接入;此时,U/D-,EN-在低电平有效。
2、共阴极接法:分别9将CP-,U/D-,EN-连接到控制系统的地端(SGND,与电源地隔离);+5V 的脉冲输入信号通过CP+加入;此时,U/D+,EN+在高电平有效。限流电阻R的接法取值与共阳极接法相同。
注:EN端可不接,EN有效时电机转子处于自由状态(脱机状态),这时可以手动转动电机转轴,做适合您的调节。手动调节完成后,再将EN设为无效状态,以继续自动控制。