• 开关电源-PWM外设简介及MCC配置


    当前中小功率电源还是模拟控制为主,但是随着数字化的发展,主控MCU性价比越来越高,电源控制的数字化是今后的趋势。很多工程师觉得电源的数字化控制高大上,模拟控制都还没弄的明白,就进入数字化觉得比较困难。其实电源的数字化并没有那么遥不可及,大家可以参考本人写的专题《基于MCHP 16bit dspic33系列全数字控制同步Buck入门》系列文章,其实非常的容易。数字化的核心就是将模拟连续信号离散化,通过ADC外设完成模拟信号的采样,然后在MCU内部全部完成环路的控制,并实时的更新PWM外设去控制主功率拓扑的能量转换,区别在于模拟控制在s域,数字控制在z域。

    要想实现一个最基本的功率拓扑,两大外设必不可少,一个是PWM外设,一个是ADC模块。PWM外设完成对占空比/周期/移相等调制波的变换,ADC模块完成外部模拟信号(电压/电流等)的采样并转换。因为本专题主要是实现方式,所以不涉及ADC模块,讲重点介绍PWM实现功率拓扑的方式。

    本专题主要采用MCC(MPLAB Code Configuration )实现,下面将进行PWM外设工作最基本的配置介绍,后续章节的PWM实现均在这个基础上进行。


    Microchip最新一代的dsPIC33C系列专门用于电源和电机的控制,单核c系列多达8对HRPWM,双核CH系列有(8+4)对HRPWM,高精度模式下分辨率达到了250ps,每个PGx模块下有4个PCI模块(PWM Control Input),使得PWM非常的灵活方便实现各种功率拓扑控制方式以及保护功能。

    下面介绍PWM模块MCC配置方法及如何使用。

    1.系统时钟的配置(System Clock Selection)

    一般如果外部使用8MHz晶振,选择Primary Oscillator模式。

    时钟设置

    主振荡器和内部FRC振荡器源可选择使用片上PLL(主内核锁相环)来获取更高的工作速度,比如主频100MIPS(每两个时钟周期执行一条指令,故时钟频率为200MHz)。

    PLL

    dsPIC33C器件系列为每个内核实现了一个附属PLL模块。附属PLL模块用来生成独立于系统时钟的各种外设时钟源,比如给PWM模块提供500MHz时钟源就是来自于此。如下:

    APLL

    至此时钟配置完毕。

    2.配置仿真口,取决于你自己的选择(PGD1/PGD2/PGD3),在这里我选择PGD2仿真口。

    PGC和PGD

    3.配置PWM外设

    PWM Clock Setting

    如果要使能高精度模式,必须选择500MHz时钟源,否则下面的高精度模式无法选择。

    APLLO选择

    Select Required PWM Generators有PG1~PG8供选择(根据不同型号PGx数量不一致),可以根据自己需要进行配置。

    PWM Master Settings

    PWM工作模式选择

    1.PWM工作模式

    PWM模块支持多种PWM模式,适用于电机控制和电源设计,主要支持以下PWM模式:

     

    PWM工作模式

    2.PWM输出模式

    每个PWM发生器都可以编程为三种输出模式之一,以控制PWMxH和PWMxL引脚的行为。输出模式选择与PWM模式无关。输出模式包括:

    PWM输出模式

    PWM Freqence Settings

    工作频率/占空比/相移可以根据自己选择,因为每个PG模块都是一个单独的个体,所以可以有自己的工作频率/占空比/相移,可以选择Use Master Period/Duty Cycle让不同个PG模块使用同一个参数。


    Trigger Control Settings

    PWM发生器操做基于触发信号。PWM发生器必须接收到周期开始(SOC)触发信号才能产生各个PWM周期。触发信号可以在PWM发生器外部产生,PWM发生器也可以自触发。当PWM发生器到达PWM周期末尾时,它会产生一个周期结束(End-of-Cycle, EOC)触发信号,该触发信号可供其他PWM发生器使用。

    SOC(Start-of-Cycle) trigger sources有下面一些:

    Local SOC

    Othet's PG's ECO

    Other PG's Trigger

    Comparator

    CLC

    I/O Pins

    Software trigger

    PCI Sync(Always OR'd with other SOC signal)

    Start of cycle trigger 选项要注意:PG1-PG8分为两组,PG1-PG4之间相互触发同步,PG5-PG8之间相互触发同步,也就是说PG1不能作为PG5-PG8的触发源。但是可以通过PCI模块进行每个PG模块之间的同步。

    ADC Trigger

    ADC 触发

    Dead Time and Override Settings

    在互补输出模式下的死区时间设置,PWM H/L Overirde为软件改写。

    Data Update Settings

    为进行数据寄存器更新,PWM周期长度可变。PWM周期可包含一个、两个或四个定时器周期,具体取决于PWM工作模式和所选输出模式。请求SOC更新后,PWM数据寄存器可在下一个、下两个或四个定时器周期进行更新(由PWM工作模式和输出模式决定,详见FRM)。下表总结了每次SOC更新之间相隔的定时器周期数与PWM发生器工作模式和输出模式之间的关系。

    更多的功能配置请参考数据手册在寄存器页进行配置。

    上管导通,下管G极有尖峰,这种误导通的问题一般是由米勒电容充电引起的,参考下图。


    如:下管已关断,这时上管开通,桥臂中点电压从0变成Vin,这时候,下管的Cgd是被充电的,充电电流流经驱动回路的驱动电阻,造成电压尖峰,从而引起误导通。
    解决方法:减小驱动电阻,或者驱动电压加负压。

  • 相关阅读:
    PAT1021 个位数统计
    【Unity3D日常开发】Unity3D工具之UnityForSVN
    unity操作_刚体 c#
    Windows环境Redis使用AOF持久化,无法生成AOF文件,生成后无法加载AOF文件内容
    Kali 无法联网的解决方案,优雅的配置桥接模式
    Java之面向对象中
    DOM
    JavaScript 函数 function
    VMware-克隆虚拟机
    深度学习推荐系统(五)Deep&Crossing模型及其在Criteo数据集上的应用
  • 原文地址:https://blog.csdn.net/liht_1634/article/details/126026730