第四届‘Motorola杯'嵌入式处理器(MCU/DSP)设计应用大奖赛论文——可并机的逆变电源~10~一对PWM波形,通过隔离与驱动电路驱动功率管(IGBT),得到50HZ220V纯净的正弦波。PWMA4作为D/A转换,经滤波成直流信号,通过隔离与驱动电路驱动损耗器。PWMB0~PWMB2作为输出口,根据无功功率,选择适当的电容,通过隔离与驱动电路驱动补偿器。A/D电路时刻检测输入电压、输出电压、输出电流、机内温度等参数,当发现以上参数一个或多个超过软件的设定值,DSP立即关断SPWM信号,并发出报警信号。另外,FAULTA0作为输出过流取样,一旦FAULTA0电压超过阈值,DSP立即关断PWM输出。3.2A/D电路电路电路电路DSP56F805ADC模块具有下述特点:●12位精度●同时或连续采样工作方式●同时采样工作方式下,8个通道转换时间为26.5ADC时钟周期,即:26.5××××200us=5.3us●可由PWM的内部同步信号或定时器或外部信号触发ADC转换为提高转换速度,本系统采用同时采样工作方式,并由PWMA内部同步信号触发进行A/D转换。两个ADC模块的配对情况如下:AN0(100Hz电流取样)——AN4(100Hz电压取样)AN1(输出交流电流取样)——AN5(输出交流电压取样)AN2(输入直流电压取样)——AN6(吸收管电流取样)AN3(温度取样)——AN7(参考电压1.25V)由于ADC采样的量有直流量和交流量,故对两种不同的量需进行分别处理。直流量(输入直流电压、温度及参考电压1.25V)采用一般的数字滤波处理方式,表达式如下:第四届‘Motorola杯'嵌入式处理器(MCU/DSP)设计应用大奖赛论文——可并机的逆变电源~11~K1*X((((n----1))))+K2*X((((n))))X=2其中X为A/D采样结果X((((n----1))))为第n----1次的采样结果X((((n))))为第n次的采样结果K1、、、、K2为修正系数交流分量包括100Hz电压、电流、输出电压、电流、吸收管电流。在一个周期内(10ms)采样160次,根据以下公式算出有关的功率值。S—视在功率P—有功功率Q—无功功率Ks、、、、Kp为修正系数3.3PWM电电电电路路路路DSP56F805PWM模块具有以下主要特点:●三组互补的PWM对或六个独立的PWM●死区可调●半周期重装载能力●20mA输出驱动能力本系统两个PWM模块工作方式如下:Q=S2----P2159S=KS∑∑∑∑[[[[││││U(i)│×││×││×││×│I(i)││││]]]]i=0159P=KP∑∑∑∑[[[[U(i)××××I(i)]]]]i=0第四届‘Motorola杯'嵌入式处理器(MCU/DSP)设计应用大奖赛论文——可并机的逆变电源~12~PWMA0,,,,PWMA1((((SPWM0,,,,SPWM1)))):工作于互补的PWM对,用于产生SPWM调制波,载波为64KHz,调制波为100Hz。PWMA2,,,,PWMA3((((PWM0,,,,PWM1)))):工作于软件控制的I/O,,,,产生50Hz方波信号。把100Hz半波变换为50Hz全波。PWMA4((((D/A)))):工作于D/A,根据机内温度或损耗产生修正的信号调整吸收功率管。PWMB0,,,,PWMB1,,,,PWMB2((((F0~F2)))):工作于软件控制的I/O,用以控制补偿电路。3.4并机与同步电路并机与同步电路并机与同步电路并机与同步电路并机与同步电路由CAN及PA0,,,,PA1口完成。同步电路由PA0,,,,PA1完成,其中PA0为输入脚,检测外部(其它的逆变器)的50Hz同步信号,PA1为输出脚,用以送出本机的50Hz同步信号。当系统上电后,本机先检测有无外部同步信号,若有则本机跟踪外部的信号,并发出一个同步信号,若无则工作于本机的同步信号。CAN模块负责收集其他机器的状态值(电压、电流、频率、有功功率、无功功率等)并发送本身的状态值。3.5检测、控制及显示电路检测、控制及显示电路检测、控制及显示电路检测、控制及显示电路●PD2设置为输入口,当S1开关合上后电源才启动。●PD6,,,,PD7设置为输入口,分别检测输入接触器状态及输出断路器状态,只有两个都正常逆变电源才工作。●PB0~PB7,,,,PD0,,,,PD1,,,,PE2为LCD显示控制电路。PE2为输入口,为显示菜单按键S2。PD0,,,,PD1为输出口,控制LCD的RS及E。PB0~PB7为输出口,送出信号给LCD的数据口DB0~DB7。第四届‘Motorola杯'嵌入式处理器(MCU/DSP)设计应用大奖赛论文——可并机的逆变电源~13~由于采用16××××2位字符型LCD模块,查手册知LCD的门限电压为Vih(min)=2.2V,,,,Vil(max)=0.6V,符合DSP芯片的逻辑,故DSP56F805可直接驱动LCD,不须电平转换。●PD3~PD5,,,,PE4~PE7为输出口,分别控制有关指示灯及继电器等。3.6JTAG/OnCE电路电路电路电路DSP56F805提供JTAG/OnCE电路可方便用户把程序写入片内的Flash,也方便用户在线编程、修改和升级软件。3.7RS-232、时钟及电源电路、时钟及电源电路、时钟及电源电路、时钟及电源电路DSP56F805内带两组SCI,本系统用了SCI0作为RS232接口,若单机使用时RS232作为通讯口与PC机相连,若并机使用,则该口不用,由主监控器负责与PC机通讯。DSP56F805有一个带PLL锁相环时钟单元,通过软件编程可方便改变DSP的时钟。DSP56F805主电路由+3.3V供电。为防止噪声干扰影响A/D转换精度,A/D采用独立供电系统。若外部的数字电路有+5V供电系统,与DSP接口必要时需进行电平转换。4系统软件系统软件系统软件系统软件4.1软件原理描述软件原理描述软件原理描述软件原理描述系统软件的主要任务是实现数字正弦信号,并稳定输出信号电压,管理各种设备,并且完成并机的协调工作。系统软件通过查表的方式把数字信号送到脉冲宽度调制电路形成正弦信号Us,通过对输出信号的采样反馈得到Uf,经过修正输出正弦信号的幅值以达到稳定输出的目的。其结构图如图五。第四届‘Motorola杯'嵌入式处理器(MCU/DSP)设计应用大奖赛论文——可并机的逆变电源~14~图五稳压反馈原理图考虑到电感性负载对逆变器工作的损害,本机采用电容补偿的方法来补偿,在对输出电压和电流进行密集采样之后,算出视在功率S、有功功率P及无功功率Q。根据无功功率的大小和本机的特性参数,设定无功功率允许窗口,利用查表方法投入适当的电容组合,达到补偿的目的。4.2软件模块结构软件模块结构软件模块结构软件模块结构本系统软件采用模块化设计,根据任务可分为七个模块:系统初始化模块、数字正弦信号产生及输出稳定模块、补偿模块、并机均流模块、故障检测处理模块、显示模块、通信模块。其流程如图六。4.2.1系统初始化模块系统初始化模块系统初始化模块系统初始化模块系统初始化模块又分为以下模块,包括:中断及优先权设置、PWM设置、定时设置、A/D设置、通用输入输出口设置、通信口设置等,系统初始化模块是DSP工作的开始,程序放在DSP_DSP_DSP_DSP_init()init()init()init()子程序及appcofig.happcofig.happcofig.happcofig.h程序中。标准输入Us数字正弦信号发生器Uf反馈网络Ud输出NS=KS∑∑∑∑[[[[││││U(i)│×││×││×││×│I(i)││││]]]]i=0NP=KP∑∑∑∑[[[[U(i)××××I(i)]]]]i=0Q=S2----P2第四届‘Motorola杯'嵌入式处理器(MCU/DSP)设计应用大奖赛论文——可并机的逆变电源~15~图六软件模块框图4.2.2数字正弦信号产生及输出稳定模块数字正弦信号产生及输出稳定模块数字正弦信号产生及输出稳定模块数字正弦信号产生及输出稳定模块数字正弦信号产生及输出稳定模块,又分为信号采样及处理模块、输出稳定模块、PWM重加载中断服务模块等三个模块。其中信号采样及处理模块又分为:A/D采样,有功功率计算,无功功率计算,功率因数计算,输出电压有效值计算,输出电流有效值计算等。输出信号稳定模块主要任务是根据给定的标准信号(输出220V)和输出的反馈信号之差采用模糊算法,以最快的速度把输出电压调整到标准值。PWM重加载中断优先级最高。为保证以最快的速度完成PWM重加载工作,此程序采用汇编语言,利用DSP56F805的快速16位数的乘法,在约3us内完成重加载的计算工作。开始系统初始化数字正弦信号产生补偿并机均流故障检测显示第四届‘Motorola杯'嵌入式处理器(MCU/DSP)设计应用大奖赛论文——可并机的逆变电源~16~4.2.3补偿模块补偿模块补偿模块补偿模块逆变器在带感性负载时,一方面功率因数降低,降低逆变器的有功功率,另方面超前的电流会给逆变器带来危害。补偿模块的作用是在带感性负载时,用投入适当电容的方法对感性负载进行补偿。根据信号采样模块计算出无功功率Q和本机最大允许无功功率△△△△Q,采用模糊算法以最快的速度把无功功率调整到允许范围内。4.2.4并机均流模块并机均流模块并机均流模块并机均流模块并机均流模块是为多机并联输出时用的。一方面它保证各机输出电压的幅度、频率、相位一致,而且还要求各并机的输出负载均流。通过CAN总线对参与并机的各机电流进行分析、计算,使本机电流为总电流的1/N,达到均流的目的。定时锁相电路用来检测相位和频率,使数字正弦信号产生器输出的相位和频率一致。4.2.5故障检测模块故障检测模块故障检测模块故障检测模块故障检测模块分别对输入电压太高或太低、输出电压太高或太低、输出过载,PWM电路故障、机内温度、开关管状态进行检测,对所检测的故障分为两类分别进行不同情况处理。对于非致命性故障采用故障显示及报警的方法,对于致命性故障除采用故障显示及报警外的方法外,还关闭PWM工作以防进一步损害其他器件。4.2.6显示模块显示模块显示模块显示模块显示模块是用来显示逆变电源的工作状态和参数,显示的参数主要有Vin、Iin、Vout、Iout、Pout、Temp等。由于采用16X2的LCD,每次只能显示Vout及另一个参数,通过循环按动S2键可显示其它参数。4.2.7通信模块通信模块通信模块通信模块通信模块是独立于其他模块单独工作的,通过CAN总线管理进行多机通信工作。第四届‘Motorola杯'嵌入式处理器(MCU/DSP)设计应用大奖赛论文——可并机的逆变电源~17~各并机运行的机器之间,采用数据包的方式进行通信。数据包中包含有一个数据包标志及若干个数据块。每个数据中又包含了参为并机的标识号、输出电流值等信息。通信模块就是负责管理数据包的发送和接收工作,它是独立工作的。它和并机均流模块采用通信的方式传送数据,并机均流模块计算出本机的输出电流后把它放在缓冲区内,并通知通信模块发送信号,当通信模块收到并机均流模块的发送信号后,等到数据包到达本机后,本机状态加入数据包中并发送出去,同时也向并机均流模块发送有效数据包信号。并机均流模块收到通信模块发送来的信号后就到缓冲区中取走数据。本系统采用MOTOROLA公司的MSCAN软件进行CAN通信软件的编程,方便快捷。4.2.8主程序清单主程序清单主程序清单主程序清单主程序框图见图七,主程序清单如下: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!=