一、任务
设计并制作一个光伏并网发电模拟装置,其结构框图如图 1 所示。用直流稳压电源US和电阻RS模拟光伏电池,US=60V,RS=30Ω~36Ω;uREF为模拟电网电压的正弦参考信号,其峰峰值为 2V,频率fREF为 45Hz~55Hz;T为工频隔离变压器,变比为n2:n1=2:1、n3:n1=1:10,将uF作为输出电流的反馈信号;负载电阻RL=30Ω~36Ω。
二、要求
1.基本要求
(1)具有最大功率点跟踪(MPPT)功能:RS和RL在给定范围内变化时,使 Ud=0.5Us,相对偏差的绝对值不大于 1%。
(2)具有频率跟踪功能:当fREF在给定范围内变化时,使uF的频率fF=fREF,相对偏差绝对值不大于 1%。
(3)当RS=RL=30Ω时,DC-AC变换器的效率η≥60%。
(4)当RS=RL=30Ω时,输出电压uo的失真度THD≤5%。
(5)具有输入欠压保护功能,动作电压Ud(th)=(25±0.5)V。
(6)具有输出过流保护功能,动作电流Io(th)=(1.5±0.2)A。
2.发挥部分
(1)提高DC-AC变换器的效率,使η≥80%(RS=RL=30Ω时)。
(2)降低输出电压失真度,使THD≤1%(RS=RL=30Ω时)。
(3)实现相位跟踪功能:当fREF在给定范围内变化以及加非阻性负载时,均能保证uF与uREF同相,相位偏差的绝对值≤5°。
(4)过流、欠压故障排除后,装置能自动恢复为正常状态。
三、说明
1.本题中所有交流量除特别说明外均为有效值。
2.US采用实验室可调直流稳压电源,不需自制。
3.控制电路允许另加辅助电源,但应尽量减少路数和损耗。Id
4.DC-AC 变换器效率η=Po/Pd ,其中 Po = Uo1 ,Pd = Ud*Id。
5.基本要求(1)、(2)和发挥部分(3)要求从给定或条件发生变化到电路达到稳态的时间不大于 1s。
6.装置应能连续安全工作足够长时间,测试期间不能出现过热等故障。
7.制作时应合理设置测试点(参考图 1),以方便测试。
8.设计报告正文中应包括系统总体框图、核心电路原理图、主要流程图、主要的测试结果。完整的电路原理图、重要的源程序和完整的测试结果用附件给出。
GPT-4o给出的设计方案:
设计一个光伏并网发电模拟装置,以模拟光伏电池的功率输出和并网特性。系统结构包括以下模块:
输入电路:
DC-AC逆变器电路:
控制电路:
过滤与变压器电路:
IGBT/MOSFET逆变器:
MCU/DSP(如TI TMS320系列):
滤波电容与电感:
以下是控制电路中MPPT和同步控制的C代码示例及介绍:
#include "stm32f4xx.h"
// 定义ADC通道和电机控制引脚
#define PV_VOLTAGE_CHANNEL ADC_CHANNEL_0
#define PV_CURRENT_CHANNEL ADC_CHANNEL_1
#define REF_VOLTAGE_CHANNEL ADC_CHANNEL_2
#define INVERTER_PWM_GPIO GPIO_PIN_0
#define INVERTER_PWM_PORT GPIOA
ADC_HandleTypeDef hadc;
TIM_HandleTypeDef htim;
// 最大功率点跟踪算法(MPPT)
void MPPT_Update(void) {
static float previous_voltage = 0;
static float previous_power = 0;
float current_voltage, current_current, current_power;
float delta_v, delta_p;
// 采集当前光伏电压和电流
current_voltage = Read_ADC(PV_VOLTAGE_CHANNEL);
current_current = Read_ADC(PV_CURRENT_CHANNEL);
current_power = current_voltage * current_current;
// 定义控制增量
delta_v = current_voltage - previous_voltage;
delta_p = current_power - previous_power;
// 判断增量变化并调节PWM占空比
if(delta_p > 0) {
if(delta_v > 0) {
Increase_DutyCycle();
} else {
Decrease_DutyCycle();
}
} else {
if(delta_v > 0) {
Decrease_DutyCycle();
} else {
Increase_DutyCycle();
}
}
// 更新前一电压和功率值
previous_voltage = current_voltage;
previous_power = current_power;
}
// 读取ADC函数
float Read_ADC(uint32_t channel) {
ADC_ChannelConfTypeDef sConfig = {0};
sConfig.Channel = channel;
sConfig.Rank = ADC_REGULAR_RANK_1;
HAL_ADC_ConfigChannel(&hadc, &sConfig);
HAL_ADC_Start(&hadc);
HAL_ADC_PollForConversion(&hadc, HAL_MAX_DELAY);
return HAL_ADC_GetValue(&hadc);
}
// 调节PWM占空比函数
void Increase_DutyCycle(void) {
__HAL_TIM_SET_COMPARE(&htim, TIM_CHANNEL_1, __HAL_TIM_GET_COMPARE(&htim, TIM_CHANNEL_1) + 1);
}
void Decrease_DutyCycle(void) {
__HAL_TIM_SET_COMPARE(&htim, TIM_CHANNEL_1, __HAL_TIM_GET_COMPARE(&htim, TIM_CHANNEL_1) - 1);
}
// 初始化ADC
void ADC_Init(void) {
// ADC配置代码
}
// 初始化定时器
void TIM_Init(void) {
// 定时器和PWM信号配置代码
}
int main(void) {
HAL_Init();
SystemClock_Config();
ADC_Init();
TIM_Init();
while(1) {
MPPT_Update();
HAL_Delay(100);
}
}
void SystemClock_Config(void) {
// 系统时钟配置代码
}
这个设计确保系统高效运行,能够精确实现光伏电池的最大功率点跟踪,并利用逆变器将光伏电池的直流输出转换为交流,并网输出。
本题考察的主要知识点: