如果采用20毫欧的电流采样电阻,10A的电流计算出来时0.2V,这个显然还是太小了,需要运放放大并且加上偏置:
6组换向程序:
最核心的控制逻辑在这里:在main.c里面对PWM占空比进行设置,通过一个指针在定时器回调函数里面调用这个PWM设置,在bldc.c里面导入到电机基础驱动里;
这里利用了这个电机的BLDC霍尔真值表对应的导通顺序进行轮流导通:
这里利用了函数指针的方式调用了6个电机驱动函数:
pfunclist_m1[g_bldc_motor1.step_sta-1](); /* 通过数组成员查找对应的函数指针 */
如何不使用霍尔传感器进行无刷电机控制:
有感控制:需要知道霍尔6中状态对应电机的6中换相状态,下一个问题,当商家没法提供换相真值表的时候,如何确定这个真值表?
霍尔信号波形观测:(需要进行滤波)
电机运转状态下霍尔输出需要滤波+放大: