基于68HC908MR16单片机的空间矢量控制变频电源
2.3 PWM波形成
本系统利用MR16单片机中的PWMMC模块,实现PWM波形的生成。在初始化时将其设置为3对互补工作模式,即同一桥臂上的两路PWM信号是互补的。为了防止同一桥臂上的2个开关管直通,在无信号发生器DEADTIME的死区时间寄存器DEADTM中设置了2.5μs的死区时间。系统采用4MHz的外部晶振,由程序选择内部锁相环频率合成器产生8MHz内部总线时钟。同时设置载波频率为9kHz,并将其写入PMOD(H:L)寄存器。PWM波的实时脉冲宽度的计算都是在中断服务程序中完成的,每当PWMMC模块中的PCTN(H:L)计数器计数至PMOD(H:L)中的数值时就引起一次中断。预先将一个扇区(60°)的正弦值扩大一定倍数后制成正弦表格存入FLASH中,每次进入中断后都从表中取出一个正弦值,经过相应的计算后将结果送入PVALX(H:L)寄存器中,单片机将PCTN(H:L)中的值与PVALX(H:L)中的值进行比较后自动产生PWM波,而后依次送入相应的PWM输出通道,完成PWM波的输出。采用软件方法实现PWM波的原理如图5所示,它对应于图1的第1扇区。当位于不同的扇区,不同的PWM周期时,它们的值都不相同,都是实时变化的。同样,赋给每一个PVALX(H:L)寄存器的值也就不尽相同。这种产生对称PWM波形的方法,每个PWM周期都开始和结束于零向量,并且000和111的持续时间相同;同时,除了占空比0%和100%外,每个周期内各桥臂通断两次,而且对于一个扇区来讲,桥臂的通断都有一个固定的顺序。
图5 软件实现原理图
2.4 串行通信
系统采用串行通信设计了相应的监控系统,使其具有良好的人机界面。其中逆变系统和监控系统均采用MAXIM公司的串行接口芯片MAX3082,通过标准RS-485总线准确实时地实现了相互的串行通信。同时,运用光耦隔离的办法增强了系统的抗干扰能力,提高了通信的可靠性。双方约定波特率9600bps,工作于半双工模式,并采用校验和的校验方法检验数据通信的准确性。
MR16工作频率设为8MHz,初始化程序如下:
MOV #$50, SCC1 ; 每一帧10位数据,
启动SCI模块
MOV #$0C, SCC2 ; 发送器和接收器使能
MOV #$00, SCC3 ; 屏蔽出错中断
MOV #$30, SCBR ; 设置波特率为9600bps
2.5 软件设计
系统软件采用模块化设计,包括初始化模块,读X5043模块,保护模块,通信显示模块,PI调节模块,软启动模块以及中断模块等。其中除中断模块在中断服务程序中完成以外,其他均放在主程序中完成。主程序流程如图6所示。
图6 主程序流程图
评论