本帖最后由 qiao--- 于 2025-1-18 19:22 编辑
由于本期电机控制的电机部分代码我打算全部手搓或者移植,所以工程配置显的尤为重要。本期着重讲解一下电机工程的配置。
1.定时器配置
定时器作为PWM的输出源头,也是电机驱动重头,下方是我的电机定时器配置。
我打算让我的电流环工作在20k中断里,所以我这里配置的定时器是按照20k来的。
因为配置的是中央对齐模式,所以重复计数器配置的为1,当产生两次溢出事件的时候发生更新事件中断。
其他的配置参考可以参考下面的介绍,参考资料为:STM32CubeIde中互补PWM配置项的详细解读_ch idle state-CSDN博客
接着配置更新事件,用于触发后面的ADC采样。
然后配置死区时间,死去时间是为了防止PWM更新过快,然后上下管导通的情况,用原理图来解释就是防止V+短接到地的情况,这里可以参考文章STM32高级定时器实现:两路互补PWM输出,精准死区时间控制_stm32互补pwm-CSDN博客
然后设置几个pwm输出模式,这里怎么设都可以,我设置的是通道4为pwm_mode2,其他的为pwm_mode1。
通道4的pulse设置为4240,因为ADC中断的时候要保持上管全部导通,这样测出的电流才算是稳定有效的,而上管全部导通的情况就是无限接近中央对齐模式中点的位置,所以我这里设置为4250 - 10
2.ADC配置
ADC在无刷控制中用于采样电流,因为G4是有内部可编程运放的,所以我把内部运放配置成16倍,下方是我的配置:
ADC相关资料可以参考:STM32Cubemx 配置ADC(HAL库)_stm32cubemx adc-CSDN博客
我这里配置的如下,注意注入通道的触发源配置成我们前面定时器的通道4,与前面对应。
通过观察原理图发现下面这个电路可能是偏置电路,所以我把这三个引脚配置成了ADC采样引脚。
3. Hall配置
原理图上hall引脚为PB6\7\8,如下:
我们把他们配置成输入模式。
如果还需要其他的配置,请自行配置,我这里就配置这么多,后面需要什么再配置什么。