STM32F103 做3相硬件方面完全具备,本身,tim1就可以有3个带互补输出的比较输出通道。 如果设计的是三相120度逆变器,只需要对整个方案进行少许改进,这里由于必须有120度相位角差,因此,正弦波数据表必须是3的整倍数,这里比如我们取360个采样值,然后我们只需要保存180个半正弦波数据,全正弦波周期还是360,然后根据中断计数,分别进行i+120,i+240三个采样点,当然数据要经过极性正负判断,和超过360的进位循环处理。然后分别在每个tim比较寄存器里面填入该数据就可以了。这样就直接获得了3相互补驱动信号了。 发现对PWM你好像非常不清楚,PWM是一系列占空比受控制数据影响的方波信号,对于典型的半桥而言,50%占空比的,就等于0,低于50%的,是负,高于50%的是正。 而我们只需要在tim1的比较寄存器输入周期数据的一半,就可以获得50%的PWM信号,这时候,PWM周期计数器数据和时钟决定了PWM载波频率,而我们根据比较中断刷新的动态比较数据,可以让我们按照设计好的周期,发生任意函数调制波形,如果我们刷新的是正弦波数据,那么我们就可以在PWM的解调端获得正弦波,正弦波周期取决于我们刷新的数据和载波的比值。
27,375
社区成员
28,769
社区内容
加载中
试试用AI创作助手写篇文章吧