1. 系统概述
点击链接下载protues仿真设计资料:https://download.csdn.net/download/m0_51061483/92081486
基于单片机的可调数控电源设计是一种集电源调节、参数监测与安全保护于一体的智能电源控制系统。该系统通过单片机对输出电压进行数字化控制,同时实时采集负载端的电压、电流以及温度信息,实现对电源工作状态的全面监控与管理。系统具备可调输出能力、电流过载保护以及温度监测功能,能够有效提升电源使用的安全性与稳定性。
该系统广泛应用于实验室供电、电子设备调试、电路开发测试以及嵌入式系统供电场景,具有较高的工程实用价值。
2. 系统功能设计
2.1 输出电压可调功能
系统支持用户通过按键或旋钮设定输出电压值,单片机根据设定值控制DAC或PWM调节电路,实现输出电压的精确调节。
电压调节范围通常设计为:
text
0V ~ 12V 或 0V ~ 30V
通过数字控制方式替代传统电位器调节,使输出更加稳定可靠。
2.2 电压与电流测量功能
系统实时监测负载端电压与电流参数,用于判断电源输出状态。
测量内容包括:
- 输出电压 Vout
- 输出电流 Iout
电流检测采用采样电阻或霍尔传感器方式,通过ADC转换输入单片机。
基本计算公式如下:
text
I = Vshunt / Rshunt
电压测量通过分压电路实现:
text
Vout = ADC值 × 比例系数
2.3 电流过载报警功能
当系统检测到负载电流超过设定阈值时,自动触发报警机制。
报警方式包括:
- 蜂鸣器报警
- 输出关闭保护
- LCD提示异常
逻辑判断如下:
text
If I > I_limit → Alarm ON
该功能有效防止电源过载损坏。
2.4 温度监测功能
系统通过温度传感器实时监测电源内部工作温度,确保系统安全运行。
常用传感器包括:
- DS18B20数字温度传感器
- NTC热敏电阻
温度数据显示范围:
text
-20℃ ~ 100℃
当温度过高时系统自动进入保护模式。
2.5 参数设置功能
系统允许用户设置以下参数:
- 输出电压目标值
- 电流报警阈值
- 温度报警阈值
通过按键或旋钮进行调节,并保存至单片机存储区域。
3. 系统总体设计方案
系统采用模块化设计结构,各功能模块独立运行,由单片机统一调度。
系统主要组成如下:
- 单片机控制模块
- 电压调节模块(DAC或PWM)
- 电压采样模块
- 电流采样模块
- 温度检测模块
- 显示模块(LCD1602/OLED)
- 按键输入模块
- 报警模块
- 电源转换模块
系统运行流程如下:
text
系统上电
↓
初始化系统
↓
读取设定参数
↓
输出电压控制
↓
采集电压电流
↓
温度检测
↓
数据显示
↓
异常判断
↓
报警处理
↓
循环执行
4. 系统电路设计
4.1 单片机最小系统设计
单片机作为核心控制器,负责采集数据与控制输出。
最小系统包括:
4.1.1 时钟电路
采用晶振电路提供稳定时钟信号,一般为12MHz或11.0592MHz。
作用:
- 保证ADC采样稳定
- 支持PWM输出精度
- 提供系统运行节拍
4.1.2 复位电路
用于系统初始化与异常恢复。
功能:
- 上电自动复位
- 手动复位控制
- 防止程序跑飞
4.2 电压调节电路设计
电压调节通常采用以下两种方式:
4.2.1 DAC数模转换方式
单片机通过DAC输出控制电压参考信号,调节稳压模块输出。
控制公式:
text
Vout = (DAC / 255) × Vref × 放大系数
4.2.2 PWM控制方式
通过PWM占空比控制平均输出电压:
text
Vout ∝ Duty Cycle
PWM经过滤波电路后变为直流电压。
4.3 电压采样电路设计
电压采样采用分压电路。
结构特点:
- 高电阻分压
- 防止ADC过压
- 提高测量精度
计算公式:
text
Vadc = Vout × R2 / (R1 + R2)
4.4 电流检测电路设计
电流检测采用采样电阻或霍尔传感器。
4.4.1 采样电阻方式
通过测量电阻两端电压计算电流:
text
I = V / R
4.4.2 霍尔传感器方式
优点:
- 电气隔离
- 高安全性
- 适合大电流测量
4.5 温度检测电路设计
采用DS18B20或NTC热敏电阻。
4.5.1 DS18B20方式
特点:
- 单总线通信
- 高精度测温
- 抗干扰能力强
4.6 显示电路设计
采用LCD1602显示模块。
显示内容:
- 输出电压
- 输出电流
- 当前温度
- 报警状态
示例:
text
V: 12.0V
I: 1.2A
T: 45C
4.7 按键输入电路设计
用于参数设置与模式切换。
按键功能:
| 按键 | 功能 |
|---|---|
| SET | 模式切换 |
| UP | 增加参数 |
| DOWN | 减少参数 |
输入逻辑:
text
按下 = 0
释放 = 1
4.8 报警电路设计
采用蜂鸣器与LED指示灯。
控制逻辑:
text
I > I_limit → 蜂鸣器启动
T > T_limit → 蜂鸣器启动
4.9 电源模块设计
提供系统稳定供电。
功能:
- AC-DC转换
- 稳压输出
- 滤波抗干扰
5. 系统程序设计
5.1 主程序设计
主程序负责整体控制逻辑。
c
void main()
{
System_Init();
while(1)
{
Voltage_Read();
Current_Read();
Temp_Read();
Output_Control();
Display_Update();
Alarm_Check();
}
}
5.2 电压控制程序设计
c
void Voltage_Set(int value)
{
DAC_Write(value);
}
5.3 电流采集程序设计
c
float Get_Current()
{
return ADC_Read() * scale;
}
5.4 温度采集程序设计
c
float Get_Temp()
{
return DS18B20_Read();
}
5.5 显示程序设计
c
void Display()
{
LCD_Show("V:", Voltage);
LCD_Show("I:", Current);
LCD_Show("T:", Temp);
}
5.6 报警判断程序设计
c
void Alarm_Check()
{
if(Current > I_limit || Temp > T_limit)
{
Buzzer = 1;
}
else
{
Buzzer = 0;
}
}
5.7 按键扫描程序设计
c
void Key_Scan()
{
if(KEY_UP == 0)
Voltage++;
if(KEY_DOWN == 0)
Voltage--;
}
5.8 PWM控制程序设计
c
void PWM_Set(int duty)
{
PWM = duty;
}
6. 系统运行过程分析
系统启动后首先完成初始化,随后进入循环运行状态。单片机不断采集输出电压、电流以及温度数据,并根据用户设定值进行判断与控制。当检测到电流或温度超过阈值时,系统立即触发报警并可切断输出,从而保护负载设备安全运行。显示模块实时更新当前状态,使用户能够直观掌握电源运行情况。
7. 系统总结
基于单片机的可调数控电源设计通过数字控制方式实现了输出电压的精确调节,并结合电压、电流与温度监测功能构建完整的安全保护体系。系统结构清晰、功能完善、扩展性强,在电子实验、电路调试及嵌入式供电领域具有较高的实用价值。