打印
[STM32F1]

VSCODE STM32 裸机之步进电机控制(42BYGH32-401A)

[复制链接]
939|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 zero949079783 于 2021-11-14 11:32 编辑

开发环境:VSCODE(gcc编译链)+STM32CubeMX(也可以使用HUAWEI-LiteOS-Studio) 。
代码:链接:https://pan.baidu.com/s/1uXfIR0GFQOBZPl1NfQP08w  
提取码:6b0c



步进电机是一种将电
脉冲信号转换成相应角位移线位移的电动机。每输入一个脉冲信号转子就转动一个角度或前进一步,其输出的角位移线位移与输入的脉冲数成正比,转速脉冲频率成正比。因此,步进电动机又称脉冲电动机


步进电机细分:

1、步进电机的细分技术实质上是一种电子阻尼技术,其主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。细分后电机运行时的实际步距角是基本步距角的几分之一。

2、两相步进电机的基本步距角是1.8°,即一个脉冲走1.8°,如果没有细分,则是200个脉冲走一圈360°,细分是通过驱动器靠精确控制电机的相电流所产生的,与电机无关。

3、如果是10细分,则发一个脉冲电机走0.18°,即2000个脉冲走一圈360°,电机的精度能否达到或接近0.18°,还取决于细分驱动器的细分电流控制精度等其它因素。

32细分为6400个脉冲  ,6400个脉冲为1圈 , 脉冲数 = 360/步进角(1.8)*细分数













#include "Stepper_Motor.h"


uint16_t pwm_val =0;
float Mot_Angle=0;  //

void TimCH_Config(void)
{
   // MOT_EN_ENABLE();
    HAL_TIM_PWM_Start_IT(&htim3,TIM_CHANNEL_2);
}


//PWM 中断回调函数
void  HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
{
    if(htim->Instance == TIM3)
    {
        pwm_val++;
        Mot_Angle = pwm_val;
        // if(pwm_val%800 == 0){ //每45度输出
        //     Mot_Angle = pwm_val;
        //     if(MOT_DIR_IN() == FWD){
        //         printf ("\r\n步进的正转角度=%.3f\r\n", Mot_Angle*0.05625);
        //     }
        //     else{
        //         printf ("\r\n步进的反转角度=%.3f\r\n", Mot_Angle*0.05625);
        //     }
            
        // }
        
        if(pwm_val == MOT_PULSE){  //32细分为6400个脉冲  6400个脉冲为1圈  脉冲数 = 360/步进角(1.8)*细分数
            pwm_val=0;
            HAL_TIM_PWM_Stop_IT(&htim3,TIM_CHANNEL_2);
        }
    }
   
}
while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
      MOT_DIR_FWD();
      HAL_TIM_PWM_Start_IT(&htim3,TIM_CHANNEL_2);
      printf ("\r\n步进的正转角度=%.3f\r\n", Mot_Angle*0.05625);
      HAL_Delay(1000);

      MOT_DIR_REV();
      HAL_TIM_PWM_Start_IT(&htim3,TIM_CHANNEL_2);
      printf ("\r\n步进的反转角度=%.3f\r\n", Mot_Angle*0.05625);
      HAL_Delay(1000);

  }
  /* USER CODE END 3 */


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

89

帖子

1

粉丝