stm32-步进电机代码及原理详解

一、原理

 

        通电导线会产生磁场,只要控制四个电磁铁接断电,就可以控制中央磁铁旋转。

stm32-步进电机代码及原理详解_第1张图片

操作模式:控制中间磁铁一步转90°,称为全步模式。同理:45°半步。22.5°微步。

现实的步进电机是比较复杂的,因为转子的周围还有很多小齿,比如1.8步进值的电机的话转子齿为50,所以公式是360/50/8=0.9为半拍步进值。360/50/4=1.8才是步进值。根据对应手册计算。

二、代码

//正转代码,反转同理
        IN1_HIGH;
		delay_ms(speed);
		IN1_LOW;
		IN2_HIGH;
		delay_ms(speed);
		IN2_LOW;
		IN3_HIGH;
		delay_ms(speed);
		IN3_LOW;
		IN4_HIGH;
		delay_ms(speed);
		IN4_LOW;

控制多少最主要你得通过距角度计算需要多少脉冲,比如步距角度为0.9°则需要给驱动器360/0.9=400个脉冲,就是200个脉冲

我的算下来一圈4096个脉冲,我封装的一个函数八个脉冲,所以运行函数512次。所以代码为(需要自己查对应手册)

for( i = 0;i < 512;i++)      //电机正转
    stepper(Pos,5);

你可能感兴趣的:(stm32器件,stm32,嵌入式硬件,单片机)