#include<reg51h>
sfr StepMotor=P0;
sbit keyup=P1^0;
sbit keydn=P1^1;
unsigned char Steprun[8]={0x01,0x05,0x04,0x06,0x02,0,0x08,0x09};
//控制方式 A AB B B/A /A /A/B /B /BA
unsigned char num;
void t0_isr() interrupt 1
{
TH0=(65536-speed)/256;
TL0=(65536-speed)%256;
StepMotor=Steprun[num];
num++;
num%=8;
}
void delay(unsigned char x)
{
unsigned char i,j;
for(i=0;i<x;i++)
for(j=0;j<125;j++);
}
main()
{
num=0;
speed=55536;
TH0=(65536-speed)/256;
TL0=(65536-speed)%256;
while(1)
{
if(keyup==0)
{
delay(10);
if(keyup==0)speed-=1000;
}
if(keydn==0)
{
delay(10);
if(keydn==0)speed+=1000;
}
}
}
1、接线是否正确可靠,如果电源接线不良(一般驱动器都有电源指示灯如ezm552,驱动器的电源是否正常);如果是电机接线不良(有的·驱动器如EZm552有缺相检测,驱动器是否报故障);如果是控制信号不良(可以通过万用表在驱动器的接线端子处测试信号的电压,如果能测电压信号,接线应该没有什么问题);
2、在初次使用时,尽量将速度和加速度调低一点,如在100rpm,步进电机都有起跳速度的限制,如果速度太快容易导致电机堵转;
3、当然电机或者控制板损坏,也是无法运行的;
4、如果驱动器的输出电流与电机的额定电流不匹配,也会导致电机的输出力矩不够,带不动负载,一般驱动器都可以通过拨码开关设置驱动器的输出电流的大小;
5、负载比较重,选择的电机输出力矩太小,带不动负载。
假设你有电机驱动器(或板),如果没有电机驱动器,自己做那可有些烦,找到专用IC,如Allegro的,很多种,配合一点儿外围电路,还是不太难滴。
有了电机驱动器(假设是两相四线的,其它的也凑合可用,不过更啰嗦),两相四线驱动器通常有四条输出线分别标有A+,A-,B+,B-,同样电机的4条线也标有A+,A-,B+,B-, 将这4对线按同符号连接起来输出就接好了。
电机驱动器一般都有清晰符号,但电机可能只有四条线,没有符号,可能有不同颜色,但不标准。这时可用万用表低阻档量电机任意两个头。
有电阻显示的即为一组线圈,否则不通。你能找到2组线圈,A组和B组,你可以把A组任意一个头标为A+,另一头标为A-, 同样把B组任意一个头标为B+,另一头标为B-。
电机的4个头对驱动器的4个头连接共有24种接法,其中只有8种是安全有效的,其他接法不能正常转动还会造成损坏。
8种效的接法如下,左边第一列为驱动器符号,右面8列为电机线头符号。从8种效的接法中的任意一种该为另一种,电机都可正常运转,但与上以接法反向转动。
电机
驱动器 1 2 3 4 5 6 7 8
--------------------------------------------------------------------------------------------
a+ A+ A+ A- A- B+ B+ B- B-
b- A- A- A+ A+ B- B- B+ B+
c+ B+ B- B+ B- A+ A- A+ A-
d- B- B+ B- B+ A- A+ A- A+
然后是输入端连接,电机驱动器输入端都是逻辑信号,经常为5V,可能会有3个以上,但大多数都包含三个基本的,即
1 允许, 通常是为示允许运转,低则不能转
2 方向, 高为正转,低为反转(正反是相对的,与的输出端连接方式有关)
3 脉冲, 最重要的,即控制步进的脉冲。
可以简单地用5V电压直接控制“允许”和“方向”,或用计算机控制。
脉冲输入可用信号发生器仪器,输出方波,也可用个简单脉冲发生器,如555电路。
“允许”接高,“方向”接高,脉冲来一个转一步,方向改为接低,则电机反转,调整脉冲频率就可调整电机转速。
双h桥电机驱动芯片l298控制两相四线步进电机的接线方法:
双h桥电机驱动芯片l298控制两相四线步进电机的接线如下图所示,双h桥电机驱动芯片l298的out1与两相四线步进电机的a相绕组的a+端相连,两相四线步进电机的a相绕组的
a-端与双h桥电机驱动芯片l298的out3相连,双h桥电机驱动芯片l298的out2与两相四线步进电机的a相绕组的b+端相连,两相四线步进电机的b相绕组的b-端与双h桥电机驱动芯片l298的out4相连,即双h桥电机驱动芯片l298的四个输出口都与两相四线步进电机相连。
步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机。这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。步进电动机的转子由软磁材料或永磁材料制成多极的形式,定子上装有多相不同连接的控制绕组。它的激励信号有直流脉冲、方波、多相方波和逻辑序列多种。步进电动机的步距和速度不受电压波动、环境温度和负载变化的影响,而仅与脉冲频率有关。改变脉冲频率就能在很大范围内准确调节电动机的速度。因此步进电动机用于开环数字控制,可大大简化控制系统。步进电动机配以位置检测元件时也可用于闭环数字控制,常用于打印机、带读出器、计数器、绘图机、数控机床、阀门执行机构、定位平台和数模转换器等。步进电动机种类繁多,按运动形式分为旋转式步进电动机和直线式步进电动机。
以上就是关于求 用AT89S52单片机控制的 两相四线步进电机 的程序,要C语言的全部的内容,包括:求 用AT89S52单片机控制的 两相四线步进电机 的程序,要C语言的、二相四线步进电机接驱动控制板后无法运行、亲,谁能教我驱动两箱四线步进电机。感激不尽。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)