嵌入式系统中对于新手来说经常遇到一个问题:怎样把占空比输出到功率器件中,怎样实现的。特别是对于电机控制、三相变流系统中怎样把三相占空比控制到6个功率器件或者说输出到IPM模块中,是个需要花很大功夫看文献的工作。
比如说TI中的HRPWM模块,或者说瑞萨芯片中MTU模块。一般新手都会去研究半天。网上也没有类似的说明。把我自己学习的过程分享下,以瑞萨芯片RX62T,PMSM电机控制为例,单电阻采样方式,分析学习多功能定时器脉冲单元3MTU3(Multi-function Timer Pulse Unit3)
首先通过算法得到三相占空比,占空比就是说一个周期内作用的时间,怎样把这个占空比转换为IGBT导通和关断的时间。学习的方法是如果让我设计一个MCU中的模块实现这个功能,怎样实现?
首先得有周期吧,就是这个多长时间算一次占空比,也就是平常说的电机控制频率4KHz,16KHz等等。MTU3中就有寄存器管这事情,MTU3.TGRA的值就是周期频率,这还没完,寄存器只能设置整数值,比如说2000,那我想设置4KHz怎么办呢,就需要有个时钟,多长时间记一次,所以首先得选择时钟,是用80MHz主时钟还是8KHz,这个时钟在进行时钟配置的时候已经明确了,所以从时钟配置中找到ICLK是多少,配置的对应的MTU3的PCLKA是多少