【芯圣SDK-HC89F0541测评】+步进电机驱动
本帖最后由 芯圣电子官方QQ 于 2023-7-21 09:01 编辑步进电机是一种常用的执行器件,使用它能进行精准的定位及转速调节等工作。一个简单的步进电机驱动要由步进电机、驱动模块及单片机构成。为了驱动步进电机,除了硬件方面的准备,还需必要的软件配合。要手工编写步进电机驱动程序主要分为以下几步:1)分配引脚的使用以步进电机的MA~ MD引脚分别与P24、P35、P34、P33相连接
2)定义输出高低电平的宏定义#define MAL P2_4= 0#define MAH P2_4= 1#define MBL P3_5=0#define MBH P3_5= 1#define MCL P3_4= 0#define MCH P3_4= 1#define MDL P3_3= 0#define MDH P3_3= 1
3)配置延时函数配置延时函数的工作在步进电机的驱动中十分重要,它控制着步进电机运转的快慢。但问题也正出在这里,对于步进电机来说其速度是与驱动脉冲有关,但也并非脉冲越快,电机的转速越快。因为电机电机属于机械器件,要建立相应的磁场及达到相应的扭矩才能使电机转动。过快的脉冲只会使电机在原地震颤和抖动,并无法旋转。使电机转动的延时函数为:void delay_ms(void)
{
unsigned char b,c;
for(c=0;c<180;c++)
{
for(b=0;b<15;b++);
}
}
4)控制电机旋转方向对于4相5线式步进电机来讲,可通过8个节拍的脉冲序列来控制其正反转。正转的驱动函数为:void zx()
{
unsigned char X,Y;
for(X=0;X<64;X++)
{
for(Y=0;Y<8;Y++)
{
MDL;
MAH; //A
delay_ms();
MBH; //AB
delay_ms();
MAL; //B
delay_ms();
MCH; //BC
delay_ms();
MBL; //C
delay_ms();
MDH; //CD
delay_ms();
MCL; //D
delay_ms();
MAH; //DA
delay_ms();
}
}
}
反转的驱动函数为:void fx()
{
unsigned char X,Y;
for(X=0;X<64;X++)
{
for(Y=0;Y<8;Y++)
{
MDH;
MAH; //A
delay_ms();
MAL; //AB
delay_ms();
MCH; //B
delay_ms();
MDL; //BC
delay_ms();
MBH; //C
delay_ms();
MCL; //CD
delay_ms();
MAH; //D
delay_ms();
MBL; //DA
delay_ms();
}
}
}
5)主程序控制电机运行void main(void)
{
unsigned char rdata=1,f,c;
while((CLKCON&0x20)!=0x20);
CLKSWR = 0x51;
while((CLKSWR&0xC0)!=0x40);
CLKDIV = 0x01;
P0M0 = 0xC2;
P2M4 = 0xC2;
P3M5 = 0xC2;
P3M4 = 0xC2;
P3M3 = 0xC2;
LED4 = 1;
delay_ms();
MAL;
MBL;
MCL;
MDL;
delay_ms();
LED4 = 0;
f=1;
for(c=0;c<rdata;c++)
{
if(f==0)
fx();
else
{
zx();
}
}
LED4 = 1;
f=0;
for(c=0;c<rdata;c++)
{
if(f==0)
fx();
else
{
zx();
}
}
while(1);
}
经实际验证,其效果正常并如图所示。步进电机驱动效果图
直接用延时函数只能用于一般的控制,精度太差, 电竞孔乙己 发表于 2021-6-10 16:11
直接用延时函数只能用于一般的控制,精度太差,
道理上的确是这么说,但实际效果有限,这种步进电机的调节空间有限,过快过慢均不相应。 这个步进电机有点历史了 yangxiaor520 发表于 2021-6-10 21:24
这个步进电机有点历史了
的确是这样,基本是做些简单测试和使用。 这个驱动确实不错的。很棒。
两相步进电机驱动程序? 步进电机驱动器怎么选的 步进电机启动器的脉冲频率与速度成正比吧 给步进电机子程序加个延时 用定时的方式来控制步进电机 没加延时函数效率高 电机的最大速度会受到延时方法的影响 中断PWM/延时函数 脉冲序列的产生用微处理器实现,有软件延时和硬件定时两种方法。
中断步进电机运行 步进电机28byj48的延时程序中的值如何计算? 步进电机驱动器如何接线 用单片机编写步进电机的驱动程序 有哪几种方案?
页:
[1]
2