1、根据论证的方案,设计的光伏发电模拟装置系统框图如图1。系统各模块分析设计和实现如第二部分。二、理论分析与计算2.1 MPPT控制策略及实现在本题条件下对光伏电池进行模拟,要使得DC/AC逆变器具有最大功率点跟踪(MPPT)功能,就是要使得Ud=Us/2;利用两个电压采样电路对直流稳压电源Us和输入电压值Ud同时进行采样,计算采样值AD_averag0(输入电压值Ud对应的采样值)与电压计算值AD_PI_OUT_REF(根据直流稳压电源Us对应采样值AD_averag2计算得到的基准值)的误差;将其误差转化为调制载波比的误差,对调制载波比采用增量式PI算法u(k)= u(k)-u(k-1)= K
2、p*e(k)-e(k-1)+Ki*e(k)进行调节,目的即是使得Ud=Us/2;通过调节调制载波比来调节功率输出的大小,实现:当输出电压UdUs/2时,增大调制载波比,使输出电流增大,从而使Ud(Us-Id*Rs)下降;当输出电压Ud=400) sin_v_n=0;/计数值清零 if(!SoftStart_flag) m+=100;/软启动 if(m3000)&(!SoftStart_flag) SoftStart_flag=1; ADCON1bits.ADON = 1; T3CONbits.TON=1;/AD采样 T2CONbits.TON=1;/输入捕捉/*开始锁相*/ /根据调制比计算新
3、的脉宽 carrydata=(long)m*sin_valuesin_v_n)7; carrydata=PTPER*carrydata; carrydata=carrydata8; if(carrydata&0b0000100000000000) PDC1=PTPER+1;else PDC1=PTPER;12; PDC1=PDC1+(unsigned int)(carrydata);/基准正弦电压信号采样void _attribute_(_interrupt_, no_auto_psv) _IC2Interrupt(void) if(IC_flag) IC2BUF_result1=IC2BUF
4、;/保存两次捕捉值 IC2BUF_result2=IC2BUF; IC_flag=0; else while(IC1CONbits.ICBNE) ICBUF_temp_result=IC1BUF; /计算捕捉的基准正弦电压信号周期,实现同频 if(IC2BUF_result2-IC2BUF_result10) Networkpower_cycle=(long)IC2BUF_result2-IC2BUF_result1; PTPER_data=(uint)(Networkpower_cycle*2); PTPER_data=PTPER_data/25; if(PTPER_dataF_MIN_CY
5、CLC_MAX) PTPER_data=F_MIN_CYCLC_MAX; if(PTPER_dataF_MAX_CYCLC_MIN) PTPER_data=F_MAX_CYCLC_MIN; IEC2bits.PWMIE=0; PTPER=PTPER_data; T3CONbits.TON=0; PR3=PTPER0) phasic_data=IC1BUF_result2-IC2BUF_result1; if(phasic_data(xiangwei-325) if(sin_v_n(xiangwei/2)sin_v_n=sin_v_n-15; else if( phasic_data325) s
6、in_v_n=sin_v_n+15;23)if(sin_v_n=398)sin_v_n=sin_v_n-398;else sin_v_n=sin_v_n+2; IC_flag=1; while(IC2CONbits.ICBNE)ICBUF_temp_result=IC2BUF; IFS0bits.IC2IF=0;/输出正弦电压信号采样void _attribute_(_interrupt_, no_auto_psv) _IC1Interrupt(void) IC1BUF_result1=IC1BUF; /保存两次捕捉值 IC1BUF_result2=IC1BUF; IFS0bits.IC1IF=0;