jinglixixi 发表于 2020-10-4 19:29

【华大测评】+ 电机驱动及调速控制

步进电机是一种常用的执行器件,使用它能进行精准的定位及转速调节等工作。一个简单的步进电机驱动要由步进电机、驱动电路及微控制器构成,见图1所示。图1 步进电机驱动构成 在HC32F460开发板上,提供了电机驱动控制接口,见图2所示。
                              图2 电机驱动控制接口 为了驱动步进电机,除了硬件方面的准备,还需必要的软件配合。要编写步进电机驱动程序主要分为以下几步:1)分配引脚使步进电机的MA~ MD引脚分别与PE8~ PE11相连接MA---PE8MB---PE9MC---PE10MD---PE11 2)定义输出高低电平的语句#define MAL   PORT_ResetBits(PortE, Pin08)
#define MAH   PORT_SetBits(PortE, Pin08)

#define MBL   PORT_ResetBits(PortE, Pin09)
#define MBH   PORT_SetBits(PortE, Pin09)

#define MCL   PORT_ResetBits(PortE, Pin10)
#define MCH   PORT_SetBits(PortE, Pin10)

#define MDL   PORT_ResetBits(PortE, Pin11)
#define MDH   PORT_SetBits(PortE, Pin11)
3)配置延时函数配置延时函数的工作在步进电机的驱动中十分重要,它控制着步进电机运转的快慢。对于步进电机来说其速度是与驱动脉冲相有关的,但也并非脉冲越快,电机的转速越快。因为电机电机属于机械器件,要建立相应的磁场以达到相应的扭矩才能使电机转动。过快的脉冲只会使电机在原地震颤和抖动,并无法旋转。4)控制电机旋转方向对于4相5线式步进电机来讲,可通过8个节拍的脉冲序列来控制其正反转。正转的驱动函数为:void zx(void)
{
unsigned char X,Y;
for(X=0;X<64;X++)
{
for(Y=0;Y<8;Y++)
{
MDL;
MAH; //A
Ddl_Delay1ms(n);
MBH; //AB
Ddl_Delay1ms(n);
MAL; //B
Ddl_Delay1ms(n);
MCH; //BC
Ddl_Delay1ms(n);
MBL; //C
Ddl_Delay1ms(n);
MDH; //CD
Ddl_Delay1ms(n);
MCL; //D
Ddl_Delay1ms(n);
MAH; //DA
Ddl_Delay1ms(n);
}               
}
} 反转的驱动函数为:void fx(void)
{
unsigned char X,Y;
for(X=0;X<64;X++)
{
for(Y=0;Y<8;Y++)
{
MDH;
MAH; //A
Ddl_Delay1ms(n);
MAL; //AB
Ddl_Delay1ms(n);
MCH; //B
Ddl_Delay1ms(n);
MDL; //BC
Ddl_Delay1ms(n);
MBH; //C
Ddl_Delay1ms(n);
MCL; //CD
Ddl_Delay1ms(n);
MAH; //D
Ddl_Delay1ms(n);
MBL; //DA
Ddl_Delay1ms(n);
}
}
}
5)控制电机运行控制电机运行的关键程序OLED_Init();
OLED_Clear();
OLED_ShowString(0,0,"HC32F460 TEST",16);
OLED_ShowString(0,2,"OLED & MOTOR:",16);
MAL;
MBL;
MCL;
MDL;
Ddl_Delay1ms(500);
f=1;
rdata=5;
n=3;         // n>1
OLED_ShowNum(112,2,0,2,16);
for(c=0;c<rdata;c++)
{
if(f==0)    fx();
else      zx();
OLED_ShowNum(112,2,c,2,16);
}
while(1);
感兴趣的话,还可以添加按键来设置转速和转动的圈数等,那会使应用价值更高!

weifeng90 发表于 2020-10-5 21:17

应该直接上BLDC

jinglixixi 发表于 2020-10-6 00:46

weifeng90 发表于 2020-10-5 21:17
应该直接上BLDC

手头只有步进电机,只能将就了。

hh电子爱好者 发表于 2022-1-24 16:19

jinglixixi 发表于 2020-10-6 00:46
手头只有步进电机,只能将就了。

应该直接上BLDC
页: [1]
查看完整版本: 【华大测评】+ 电机驱动及调速控制