基于DSP56F805的可并机逆变电源设计
图7 主程序流程图
4.3 特殊软件算法说明
本机需要调整的量有:输出电压幅度、频率、相位、功率因数、均流等,所有的算法都采用模糊算法。
输出电压调整的输入变量有电压偏差E和变化率ΔE,输出控制量为脉冲宽度Zc,因此对输入变量
定义了两个语言:电压偏差和变化率。电压偏差其模糊值为5个,即低、较低、中等、较高、高。对于变化率有3个模糊值,即减小、不变和增大。根据以上定义作相应的模糊判决。
功率因数补偿的输入变量为有功功率偏差(即反馈无功功率和允许无功功率之差),其模糊值有3个,即负、正好、过大。其输出控制量为投入电容的容量,电容的容量组合有8种,可根据有功功率偏差来确定电容的容量组合。
4 系统软件
4.1 软件原理
系统软件的主要任务是实现数字正弦信号,并稳定输出信号电压,管理各种设备,并且完成并机的协调工作。
系统软件通过查表的方式把数字信号送到脉冲宽度调制电路形成正弦信号Us,通过对输出信号的采样反馈得到Uf,经过修正输出正弦信号的幅值以达到稳定输出的目的。其结构图如图5所示。
图5 稳压反馈原理图
考虑到电感性负载对逆变器工作的损害,本机采用电容补偿。在对输出电压和电流进行密集采样之后,算出视在功率S、有功功率P及无功功率Q,
S=Ks[|U(i)|× |I(i)|](9)
P=Kp[U(i)×I(i)](10)
& nbsp; Q=(11)
根据无功功率的大小和本机的特性参数,设定无功功率允许窗口,利用查表方法投入适当的电容组合,达到补偿的目的。
4.2 软件模块结构
本系统软件采用模块化设计,根据任务可分为7个模块:系统初始化模块、数字正弦信号产生及输出稳定模块、补偿模块、并机均流模块、故障检测处理模块、显示模块、通信模块。其流程如图6所示。
图6 软件模块框图
4.2.1 系统初始化模块
系统初始化模块包括:中断及优先权设置、PWM设置、定时设置、A/D设置、通用输入输出口设置、通信口设置等。系统初始化模块是DSP工作的开始,程序放在DSP_ init()子程序及appcofig.h程序中。
4.2.2 数字正弦信号产生及输出稳定模块
数字正弦信号产生及输出稳定模块,又分为信号采样及处理模块、输出稳定模块、PWM重加载中断服务模块等3个子模块。
其中信号采样及处理模块又分为:A/D采样,有功功率计算,无功功率计算,功率因数计算,输出电压有效值计算,输出电流有效值计算等。
输出信号稳定模块主要任务是根据给定的标准信号(输出220V)和输出的反馈信号之差采用模糊算法,以最快的速度把输出电压调整到标准值。
PWM重加载中断优先级最高。为保证以最快的速度完成PWM重加载工作,此程序采用汇编语言,利用DSP56F805的快速16位数的乘法,在约3μs内完成重加载的计算工作。
4.2.3 补偿模块
逆变器在带感性负载时,一方面功率因数降低,降低了逆变器的有功功率,另一方面滞后的电流会给逆变器带来危害。补偿模块的作用是在带感性负载时,用投入适当电容的方法对感性负载进行补偿。根据信号采样模块计算出无功功率Q和本机最大允许无功功率ΔQ,采用模糊算法以最快的速度把无功功率调整到允许范围内。
4.2.4 并机均流模块
并机均流模块是为多单元并联输出时用的。它不仅保证各单元输出电压的幅度、频率、相位一致,而且还要求各单元的输出负载均流。通过CAN总线对参与并机的各单元电流进行分析、计算,使本单元电流为总电流的1/N,达到均流的目的。
定时锁相电路用来检测相位和频率,使数字正弦信号产生器输出的相位和频率一致。
4.2.5 故障检测处理模块
故障检测处理模块分别对输入电压太高或太低、输出电压太高或太低、输出过载,PWM电路故障、机内温度、开关管状态进行检测。对所检测的故障分为两类分别进行不同情况处理:对于非致命性故障采用故障显示及报警;对于致命性故障除采用故障显示及报警外,还关闭PWM工作以防进一步损害其它器件。
4.2.6 显示模块
显示模块是用来显示逆变电源的工作状态和参数,显示的参数主要有Vin、Iin、Vout、Iout、Pout、θ等。由于采用16X2的LCD,每次只能显示Vout及另一个参数,通过循环按动S2键可显示其它参数。
4.2.7 通信模块
通信模块是独立于其它模块单独工作的,通过CAN总线管理进行多单元通信工作。各并联运行的单元之间,采用数据包的方式进行通信。数据包中包含有一个数据包标志及若干个数据块。每个数据中又包含了参与并联单元的标识号、输出电流值等信息。通信模块就是负责管理数据包的发送和接收工作,它是独立工作的。它和并机均流模块采用通信的方式传送数据,并机均流模块计算出本机的输出电流后把它放在缓冲区内,并通知通信模块发送信号,当通信模块收到并机均流模块的发送信号后,等到数据包到达本机后,本机状态加入数据包中并发送出去,同时也向并机均流模块发送有效数据包信号。并机均流模块收到通信模块发送来的信号后就到缓冲区中取走数据。
本系统采用Motorola公司的MSCAN软件进行CAN通信软件的编程,方便快捷。
4.3 主程序清单
主程序框图见图7,主程序清单如下:
main ( )
{
Dsp_init ( ) ; /* 系 统 初 始 化 * /
adc_tans ( ) ; /* 输 入 电 压 采 样 * /
chech_VI _ IAI_TT( ); /* 检 查 输 入 电 压 是 否 合 适 * /
while ( 1 )
{
if ( PWMA_INT_F!=0 ) /* 是 否 有 PWM重 加 载 中 断 到 来 * /
{
adc_trans ( ) ; /* 把 A/D采 样 结 果 送 入 相 应 缓 冲 区 * /
bace_hot_protect( ); /* 送 出 脉 冲 调 宽 波 形 到 PWMA4 * /
if(OP_FLAG!=0 ) /* 判 断 是 否 过 零 * /
{
phase_Output_U2_Change ( ) ; /* 桥 式 开 关 倒 相 * /
Move_Buffers ( ) ; /* 将 第 一 级 缓 冲 区 内 容 转 存 到 第 二 级 缓 冲 区 * /
Multiple_count ( ); /* 计 算 有 功 功 率 P, 视 在 功 率 S、 电 压 有 效 值 、 电 流 有 效 值 * /
If ( STRAT_FLAG = 0 ) /* 是 否 刚 开 机 * /
{
Narmal_V2_corr_kh ( ); /* 正 常 计 算 脉 宽 * /
}
else
{
Start_V2_corr_kk ( ); /* 慢 起 动 , 计 算 脉 宽 * /
}
count_IACP ( ) ; /* 均 流 计 算 * /
count_power_compensate ( ) ; /* 功 率 因 素 补 偿 计 算 * /
check_VI_IAI_TT ( ); /* 检 测 输 入 电 压 是 否 异 常 , 是 否 过 载 , 温 度 是 否 过 高 * /
}
}
}
}
中 断 程 序 如 下 :
void PWM_Reload_A_callback ( void ) ; /* PWMA重 加 载 中 断 , 根 据 相 位 送 出 不 同 指 令 * /
void SX_callback ( void ) ; /* 锁 相 中 断 * /
void HSCAN_Callback ( void ) ; /* MSCAN 中 断 收 发 程 序 * /
- CAN总线的电动车逆变电源设计:容错强处理快!(01-05)
- 1kw纯正弦波逆变电源设计[附图](10-14)
- 电源设计小贴士 1:为您的电源选择正确的工作频率(12-25)
- 用于电压或电流调节的新调节器架构(07-19)
- 超低静态电流电源管理IC延长便携应用工作时间(04-14)
- 电源设计小贴士 2:驾驭噪声电源(01-01)