Funpack4-2 - 用dsPIC33CK64MC105 Curiosity Nano 实现24V稳压电路。
该项目使用了dsPIC33CK64MC105 Curiosity Nano,实现了BOOST电路的设计,它的主要功能为:12V输入 24V稳压输出。。
标签
Funpack活动
DSP
电能变换
sll
更新2025-07-02
30

1. 作业题目及设计思路

1.1 作业题目

设计一个基于 dsPIC33CK64MC105 微控制器的 BOOST升压电路,将 12V 输入电压升压至 24V 输出电压,并通过 PWM控制电压反馈 实现稳定的输出电压。

1.2 设计思路

该设计目标是实现一个稳定的 24V输出电压,输入电压为 12V,采用 BOOST升压拓扑。通过使用 dsPIC33CK64MC105 控制PWM信号,对 MOSFET 开关进行精确控制,并通过反馈电压调整PWM占空比,确保输出电压在不同负载情况下都能维持稳定。系统设计将包括硬件部分和软件部分,硬件部分负责电源转换,软件部分负责控制和调节系统工作状态。


2. 硬件说明

2.1 硬件组成

本系统主要由以下几个硬件模块组成:

  • dsPIC33CK64MC105微控制器:用于生成PWM信号,控制开关元件(MOSFET)的开关状态、电压反馈采样、电流反馈采样以及电压闭环控制。
  • MOSFET开关:用于控制电压的升高,选择具有较低导通电阻(Rds(on))的MOSFET以减少损耗。
  • 电感(L):用于储能并将输入的直流电压升高。
  • 肖特基二极管(D):用于提供电流路径并防止反向电流。
  • 电容(C):用于平滑输出电压,减少电压纹波。
  • 电压反馈电路:通过反馈电压调整PWM占空比,确保输出电压稳定。

2.2 系统结构

  • 输入电压为12V,通过电感L和MOSFET构成的BOOST拓扑电路,将输入5V~12V电压升压至24V输出。
  • 输出电压通过分压电阻和采样电路反馈至微控制器ADC接口,进行实时监控。
  • dsPIC33CK64MC105根据采样结果调节PWM信号,以维持稳定输出。

3. 详细设计

3.1 控制原理

  • PWM控制:dsPIC33CK64MC105通过内部PWM模块生成占空比可调的PWM信号,控制MOSFET的开关状态,从而调节电流流入电感的时间。
  • 电压反馈:输出电压通过反馈电路被采样,转换成数字信号输入微控制器,通过PID控制算法调节PWM占空比,维持稳定的输出电压。
  • 保护机制:设计了过压和过流保护机制,防止电路因负载异常而损坏。微控制器通过检测输入和输出电压、电流变化,实时调节工作状态。

3.2 电路设计

  • BOOST转换器拓扑:采用标准BOOST拓扑,通过MOSFET控制电感的充放电过程,实现电压的升压。image.png
  • 电压反馈电路:使用分压电阻采样输出电压,将其与参考电压进行比较,通过控制PID算法调整PWM占空比,确保输出电压稳定。

image.png

  • 电流反馈电路:使用CC6903SO-10A 霍尔电流传感芯片,直接采样输出电流,不必增加额外的采样电阻。

image.png

  • 电源设计:使用XL1509-12E1、1117 两颗降压芯片,将输入电压降低至12V、3.3V 以供驱动器、单片机供电。image.png
  • PCB 设计:

image.png

3.3 软件设计

  • MCAL 配置:
    • ICD debug配置,使用 PG3,否则次开发板无法通信。
    • image.png
    • 系统时钟配置:使用FRC时钟源+PLL 给系统提供100MHz的系统时钟源。
    • image.png
    • 使用ADC1 采样反馈电压,并使能ADC完成中断和使用定时器触发ADC采样的方式提供稳定10kHz的采样频率和计算周期。
    • image.png
    • PWM采用官方提供的PWM外设实现,输出频率20kHz
    • image.png
  • PID 计算的实现
double REFERENCE_VOLTAGE = 24;

double KP = 3;
double KI = 0.1;
static double integral = 0;
double Vout, error;

static uint16_t PIController(double currentVoltage) {
error = REFERENCE_VOLTAGE - currentVoltage;
integral += error;
double output = KP * error + KI * integral;


if (output > CCP1PRL * 0.9)
{
output = CCP1PRL * 0.9;
}
else if (output < CCP1PRL * 0.05)
{
output = CCP1PRL * 0.05;
}

return (uint16_t)output;
}
  • ADC 中断函数的实现
void ADC1_ChannelCallback (enum ADC_CHANNEL channel, uint16_t adcVal)
{
if(Channel_AN0 == channel)
{
Vout = (double)((double) adcVal * 36.436) / 4096.0;
#if 1
uint16_t dutyCycle = PIController(Vout);

UpdateDutyCycle(dutyCycle);
#endif
IO_RC6_Toggle();
}
}

4. 总结

4.1 项目总结

本项目设计并实现了一个基于dsPIC33CK64MC105微控制器的BOOST升压电路,成功将12V输入电压升压至24V输出电压,并通过PWM控制和电压反馈机制实现了稳定的输出电压。该系统具有较好的负载适应性,能够在负载波动的情况下保持输出电压的稳定。

4.2 存在的问题及改进措施

  • 电路效率:尽管采用了低导通电阻的MOSFET,但在高负载下仍有一定的能量损失。可以考虑选择更高效的MOSFET或提升开关频率来进一步提高效率。
  • 电压纹波:输出电压可能在高负载时出现一定的纹波,后期可以通过优化滤波器设计来减少纹波。
  • 散热问题:MOSFET和电感在工作时会产生热量,建议为高功率元件增加散热器或优化PCB散热设计,确保系统的长期稳定性。
  • 增加测试:对此电路设计做完整的电源模块测试。
  • 电流环的引入:硬件预留的电流采样,但软件中并未实现,加上电流环之后,可以实现给锂电池充电。
  • 保护功能:引入硬件过流保护。
附件下载
Funpack.X.7z
软件
ProPrj_BuckBoost电路_2025-06-29.epro
电路
团队介绍
个人
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号