2.4 SPWM波的形成
68HC908MR16单片机具有一个专门用于电机控制的可工作于3对互补模式或独立模式的包括6路PWM输出的PWMMC模块。在本系统中初始化使其工作于3对互补模式即同一桥臂2个PWM信号是为互补的,在初始化中写一计数值到PMOD(H:L)中以决定载波频率即开关频率。PWM波的实时脉宽计算是由中断程序完成的,每次PWMMC模块中的PCTN(H:L)计数器计数到PMOD(H:L)中的值时就引起中断。预先将0~360°的正弦值制成表格存于FLASH某一区域中,每次中断时从中取一正弦值,经过一定计算后得一数值,将其送入PVALX(H:L)寄存器中,单片机将PVALX(H:L)中的值与PMOD(H:L)中的值比较后自动生成SPWM信号并由PWM引脚发出。为了防止同一桥臂两个管子同时导通的现象发生,在无信号发生器DEADTIME中的寄存器DEADTM中写入一数值以确定死区时间。本系统设计死区时间为2.5μs,载波频率为10kHz,制成包括200个放大的正弦值的正弦表。PWMMC模块还有4路故障保护端口FAULT1~FAULT4,当端口为高电平时,PWMMC就能根据初始化设定来封锁相应的PWM输出,本系统中的过流保护正是利用了这个功能,当发生过电流时,就置位FAULT1端口从而封锁全部六路PWM端口。本系统使PWMMC工作在中心对齐模式,在PWM时钟频率为8MHz下其载波周期计算公式为
载波周期=1/10k=PMOD(H:L)×(1/8M)×2
所以本系统须初始化PMOD(H:L)=$0190(注:$为MR16中十六进制符号)
|