一、任务
设计并制作一个 LED 闪光灯电源。该电源的核心为直流-直流稳流电源变换器,它将电池的电能转换为恒流输出,驱动高亮度白光 LED。电源有连续输出和脉动输出两种模式,并具有输出电压限压保护和报警功能。
二、要求
1.基本要求
(1)输入电压 3.0V~3.6V。
(2)连续输出模式输出电流可设定为 100、150、200mA 三档,最高输出电压不低于 10V,最低输出电压为 0V(输出短路)。
(3)在规定的输入电压和输出电压范围内,输出电流相对误差小于 2%。
(4)等效直流负载电阻过大时,输出电压限幅值不高于 10.5V 并报警。
(5)输出电流 200mA,输出电压 10V 时,效率不低于 80%。
(6)自制一个 LED 闪光灯,用于演示。
2.发挥部分
(1)具备脉动输出模式,输出占空比为 1∕3,相对误差小于 2%。
(2)输出电流峰值可设定为 300、450、600mA 三档,相对误差小于 5%,间歇期电流小于 1mA。
(3)脉冲周期可设定为 10、30、100ms 三档,相对误差小于 2%,上升时间、下降时间均不大于 100μs,电流过冲不大于 10%。
(4)输出脉冲个数可设定为 1 到 5 个和连续的脉冲串(以便测试),每按一次启动键输出一次脉冲串。
(5)其他。
三、说明
除基本要求(6)以外所有测试均用电阻代替 LED 作为负载。
GPT-4o给出的设计方案:
设计一个用于LED闪光灯的电源,核心为直流-直流稳压器,可转换3.0V~3.6V电池电压为200mA恒流输出,并具备连续和脉动输出模式。具有电压限压保护和报警功能。
输入电源管理:
DC-DC转换电路:
电流检测与控制:
LED驱动模块:
显示与报警模块:
连续输出模式:
脉动输出模式:
LED显示模式:
DC-DC转换电路
#include <stdint.h>
// 假设使用STM32 MCU
#define CURRENT_100mA 0
#define CURRENT_150mA 1
#define CURRENT_200mA 2
void setupDCConverter(uint8_t currentSetting) {
switch(currentSetting) {
case CURRENT_100mA:
// 设置电阻分压值,输出电流100mA
break;
case CURRENT_150mA:
// 设置电阻分压值,输出电流150mA
break;
case CURRENT_200mA:
// 设置电阻分压值,输出电流200mA
break;
}
}
电流检测与控制
#include <ADC.h>
void setupADC() {
// 初始化ADC用于电流检测
}
uint16_t readCurrent() {
// 读取ADC值,转换为电流值
return analogRead(ADC_PIN);
}
脉动模式控制
#include <PWM.h>
void setupPWM(uint32_t period, uint8_t dutyCycle) {
// 配置PWM输出,周期和占空比
analogWrite(PWM_PIN, dutyCycle);
}
void setPulseMode(uint8_t pulseCount) {
for (uint8_t i = 0; i < pulseCount; ++i) {
setupPWM(10000, 33); // 10ms周期,33%的占空比
delay(30); // 每30ms输出一个脉冲
}
}
报警功能
void checkOverVoltage(float voltage) {
if (voltage > 10.5) {
// 启动报警
digitalWrite(ALARM_PIN, HIGH);
}
}
单元测试:
功能集成测试:
负载测试:
该设计方案确保LED闪光灯电源的高效稳定性,支持连续和脉动两种输出模式,并具有过压保护与报警功能。
本题目考察的主要知识点: