基于68HC908MR16单片机的光伏正弦波逆变电源
扫描二维码
随时随地手机看文章
摘要:介绍了一种基于MOTOROLA公司生产的68HC908MR16单片机的光伏正弦波逆变电源。该系统应用SPWM技术将经太阳电池阵列充电后的蓄电池电压,逆变为标准的正弦单相220V、50Hz交流电压,同时采用新型的数字式PI调节器实现稳压控制,并通过与外界键盘监控系统进行串行通信实现参数调节和系统监控。
关键词:光伏逆变;MR16单片机;PI调节器;串行通信
1 引言
随着能源危机的日益加剧和人类环保意识的提高,新能源的开发利用越来越受到人们的重视。而太阳能作为取之不尽用之不竭的高效无污染的能源近来更受人们的青睐。本文介绍的光伏正弦逆变电源系统正是一种适于户用的、特别适于无电少电的西部边远地区用户的一种电源系统,随着我国西部大开发的进行其市场前景必将越来越广阔。
2 逆变系统结构及原理
2.1 系统基本结构
系统基本结构框图如图1所示。由图可知,首先太阳电池阵列经充电电路向蓄电池充电,从而得到一个基本稳定的直流电压,再经逆变电路将直流电逆变成高频交流电,最后经工频变压器升压和滤波电路滤波变成50Hz、220V正弦交流电压。整个系统的控制都是由MR16单片机完成的。其核心部分为SPWM波的形成及根据输出交流电压采样形成反馈组成的数字式PI调节器部分。
图1 系统基本结构
2.2 关于MR16单片机
68HC908MR16单片机是一种低成本、高性能的八位单片机。它具有32k字节的可擦写的片内闪速存储器FLASH,具有768字节的RAM,对于本系统来说完全够用;具有一个专门用于电机控制的6路PWM输出的PWMMC模块,适合于单相、三相逆变,同时该模块还有专门用于故障保护的4路FAULT引脚,当故障发生时可在不引起中断的情况下快速封锁PWM输出达到保护的目的;具有可选择外部晶振时钟或内部锁相环时钟的时钟发生器模块,本系统选择的内部锁相环时钟能产生精确的8MHz的内部总线频率,从而保证了系统的频率精度;具有可编程的AD时钟,AD转换时间最快只需2μs,能最大程度地减少中断程序的执行时间;具有SCI串行通信接口,可工作于全双工或半双工模式,在本系统中能够可靠地完成与外界键盘监控系统的串行通信。
2.3 逆变主电路
系统主电路采用单相全桥逆变电路如图2所示。其中开关器件采用适合于小功率装置、具有开关速度快、工作频率高等特性的功率MOSFET。开关管的栅极驱动信号来源于MR16单片机产生的SPWM波经驱动电路后的信号。全桥逆变的输出为高频SPWM波,经变压器升压及滤波后即得到220V、50Hz的标准正弦交流电压。
图2 主电路原理图
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中十六进制符号)
2.5 系统的控制结构
本系统通过数字式PI调节器实现稳压控制。系统的控制框图如图3所示。反馈信号来自交流电压的AD采样,为了保证精度,本系统利用变压器进行电压采样。刚启动时给定电压取自软启动输出,软启动是为了避免启动时产生大的峰值电流,软启动采用逐次加1递增到所需电压的方法,软启动结束后给定电压就是对应于220V电压的数值。为了加强快速性,本系统采用前馈控制与反馈控制相结合的控制方式。为了增强系统的动态输出特性,本系统采用根据偏差大小改变比例系数和积分系数的模糊控制方法,当偏差较大时,比例系数和积分系数也较大,当偏差较小时比例系数和积分系数也较小,从而大大减少了超调量,很容易使系统稳定,完全消除了积分饱和现象,也增强了系统的适应能力。
图3 系统控制框图
3 串行通信
为了增强系统适应不同环境的能力,有必要对系统进行监控监测及对参数进行修改调节,本系统采用串行通信技术同外界键盘监控系统进行通信。程序上采用查询方式,周期性地向外界发送检测的数据,检测的数据包括太阳电池电压、充电电流、蓄电池电压、直流侧电流、输出电压、输出电流、散热器温度等,当发生故障时优先发送故障信号,当需要修改参数时就接收数据并修改相应参数,并使用校验和校验的方法检验数据通信的准确性。硬件采用MAXIM公司的MAX485作为接口芯片使其工作于半双工模式,同时本系统采用光耦隔离的办法以增强系统抗干扰能力,提高可靠性。
4 系统的软件设计
本系统软件采用模块化设计,包括初始化模块、保护模块、调节器模块、通信模块、中断程序模块等,除中断模块外其余模块都放在主程序中进行,主程序框图见图4。
图4 主程序流程图
初始化模块主要完成系统的初始化、各变量单元、各寄存器单元赋初值。
保护模块根据电压电流采样值进行故障判断,并在故障发生时封锁PWM的输出。保护包括蓄电池欠压、蓄电池过压、系统过载、过热保护等,其中蓄电池欠压、过压保护能够实现自恢复,即在检测到蓄电池电压又恢复正常时,系统重新软启动并恢复正常工作。过流保护由于需要快速反应故采用硬件保护,当过流发生时就立即封锁全部PWM输出,也立即封锁全部驱动电路,只有重新复位时才能恢复工作,软件可判断出是否发生过流保护。
调节器模块完成对系统输出电压稳压的PI调节,使输出电压稳定在220V,同时软启动也放在其中。其入口参数为软启动输出,出口参数M送到中断模块中参与PWM脉宽的计算。通过实时调节该参数的值就能改变脉宽值从而使输出跟随给定。
中断程序模块完成SPWM波形的发出、交流电压、交流电流参数的采样。中断的入口参数为PI调节器的输出参数M,该参数参与脉宽的计算即PVALX(H:L)值的计算,从而改变了占空比也即调节了输出电压。按照SPWM的规则2采样的方法,结合初始化中对PWMMC的设定得脉宽的实时计算公式为
正半周期:
PVALX(H:L)=PMOD(H:L)/2+M×SIN(PTR)
负半周期:
PVALX(H:L)=PMOD(H:L)/2-M×SIN(PTR)
其中PTR为正弦表指针,SIN(PTR)为对应PTR指针的正弦值。
5 结语
按照以上思想制成样机,最后能得到比较标准的220V、50Hz正弦电压,软启动也很平稳,其频率误差≤0.1%,输出电压误差≤0.5%。由于采用10kHz的载波频率,在变压器原边得到20kHz高频信号,无噪声。在上述控制方式下,能保证系统在突然加载或减载时输出电压快速地保持稳定。并且与外界键盘监控系统的串行通信良好,有较强的实用性和可靠性。其空载和负载时的输出电压波形如图5和图6所示。
图5 空载时输出电压波形
图6 负载时输出电压波形