代码拉取完成,页面将自动刷新
stm32直流电机控制
一共分为三块板子,分别为BLDC_Core板(主控板)、BLDC_Drive板(驱动板)、KEY板(按键板)。每个板子之间用SH1.0的线束进行连接,目前已经验证有感方案HALL换相无问题。其满载电机空转整个系统800mA。
六步法中的三相电机每次只有两组绕组有电流通过,产生磁场。为了让电机旋转,一般按照Q1Q2—Q2Q3—Q3Q4—Q4Q5—Q5Q6—Q6Q1的顺序依次导通功率开关管。下图是逆变器的结构。
根据我们的换相表,就能以此设计出六步换相的程序。以正转为例,我们便可以设计出如下程序。其中hall_state是获取到的霍尔的值。本设计中:上管调制,下管驱动。
switch (hall_state)
{
case 1:
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);//U+
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_2);//V+
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);//W+
UL_OFF;VL_OFF;WL_ON;//下管
break;
case 2:
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_3);//U+
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);//V+
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);//W+
UL_ON;VL_OFF;WL_OFF;//下管
break;
case 3:
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_3);//U+
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);//V+
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);//W+
UL_OFF;VL_OFF;WL_ON;//下管
break;
case 4:
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_3);//U+
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_2);//V+
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);//W+
UL_OFF;VL_ON;WL_OFF;//下管
break;
case 5:
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);//U+
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_2);//V+
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_1);//W+
UL_OFF;VL_ON;WL_OFF;//下管
break;
case 6:
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_3);//U+
HAL_TIM_PWM_Stop(&htim1,TIM_CHANNEL_2);//V+
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);//W+
UL_ON;VL_OFF;WL_OFF;//下管
break;
default:
Motor_Stop();//电机停转
break;
}
下方给出了本设计当中的原理图。
BLDC_Drive原理图
BLDC_Core原理图
下方给出了本设计当中的PCB。
BLDC_Drive的PCB
BLDC_Core的PCB
下方给出了本设计当中的渲染图。
BLDC_Drive的渲染图
BLDC_Core的渲染图
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。