当前中小功率电源还是模拟控制为主,但是随着数字化的发展,主控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是被充电的,充电电流流经驱动回路的驱动电阻,造成电压尖峰,从而引起误导通。
解决方法:减小驱动电阻,或者驱动电压加负压。