
ch32v307单片机是Risc-V架构,其主要的特点就是具有4个高级定时器,而其他单片机基本只有两个高级定时器,4个高级定时器分别是定时器1、定时器8、定时器9、定时器10。高级定时器特点如下:
演示结果:
(相关资料图)
1、六步换相
2、SPWM
3、SVPWM
一、实现SPWM
正弦脉宽驱动很简单,就是将正弦波值与ARR值进行比较输出。
ABC三相数据如下:
其对称点为1000,幅值为850。
主函数如下:
SPWM配置函数:
二、实现SVPWM
空间矢量脉宽调制技术在三相电机(永磁同步PMSM)、有源电力滤波器(APF)等领域应用较广。通过采集A、B、C三相电信号,判断当前位置所处扇区,然后计算所处扇区的基本矢量作用时间。分为5段式和七段式。
这里仅做展示,代码如下:
三、实现六步换相
六步换相控制在直流无刷电机(BLDC)中应用广泛,其原理是根据不同位置进行A、B、C三相轮流导通,导通次序如下所示:
实现代码如下:
1、高级定时器配置:包括引脚、输出比较等配置。这里输出不是直接采用PWM1或PWM2,而是采用TIM_OCMode_Timing,开启转换中断(TIM_IT_COM),在中断子程序选择对应的通道输出和模式。
2、换相控制,实际运用通过霍尔传感器或检测电机电流来估计转子位置,进而再控制通道输出,这里演示直接采用基本定时器定时换相。代码如下:
3、换相步骤,换相采用上表次序,由于使用了转换中断,转换中断事件由基本定时器定时触发生成,代码如下:
SPWM视频地址:
SVPWM视频地址:
六步换相视频地址: