首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
数字电源转换的方案设计
来源:本站整理  作者:佚名  2011-10-23 18:44:48



7 PID算法

  使用PID算法,将实际与期望输出电压之间的误差进行比例、积分和微分计算,然后将这三项合起来,实现对PWM占空比的控制。PID算法可以用于采用电压和电流模式的控制环路。处理MICroChip的DSC不需要DSP技巧(见图5的代码列表),控制软件(图4)的主要“核心”是PID环路。PID软件通常很小,但是其执行速度非常快,通常每秒可以反复几十万次。这么高的反复率需要PID软件程序尽可能有效地发挥最佳性能。使用汇编程序是保证“严紧代码”的一种很好的方法。

  PID控制环路是定期由ADC进行中断驱动,任何系统功能都能在“空闲环路”中执行,以便减少PID控制软件内不必要的工作量。诸如电压上升/下降、错误检测、前馈计算和通信支持程序功能都是空闲环路可以执行的,其他中断驱动进程的优先级都必须比PID环路低。

  空闲环路在完成系统和外设的初始化任务之后启动。通常,空闲环路监控温度,计算“前馈”条件,并检查故障状况。SMPS软件可执行该控制算法,将ADC中断驱动的PID环路作为其与时间关系最密切的部分。PID软件不应该使用超过可用处理器大约66%的带宽,以便计算资源的其余部分能够分配给空闲环路软件。

  假设以30 MIPS运行PID环路(包括30条指令),执行时间大约为1μs。如果反复率是500 kHz(2μs),那么PID工作量需要消耗一半可用的处理器带宽,也就是15 MIPS。

  用于数字式降压式转换器的PID软件的实例代码列表:

  CALCULATE_PID:

  push.s      ; Save SR and W0-W3

  bclr.b  IFS0+1, #3   ; Clr IRQ flag in interrupt controller

  #PID_REG_BASE, w8  ; Init pointer to PID register bLOCk

  mov    #PID_GAIN_REG_BASE, w10  ; Init pointer to PID gain register block

  mov    ADBUF1, w0    ; Read ADC to get voltage measurement

  mov    COMMANDED_VOLTAGE, w1   ; Get commanded output voltage

  sub     w1, w0, w0   ; W0 = proportional voltage error

  mov    PROPORTIONAL_Error, w1  ; Get previous voltage error

  sub     w0, w1, w2   ; diff error = new verr - old verr

  mov    w0, PROPORTIONAL_ERROR  ; Store New Proportional Voltage Error

  mov    w0, PREINTEGRAL_TERM  ; Store copy PERR  as pre integral term

  mov    w2, DERIVATIVE_ERROR  ; Store new Derivative Error

  ;   These registers are reserved for PID calculations

  ;    w6, w7   = contains data for MAC operations

  ;    w8, w10 = pointers to error terms, and gain coefficients

  SUM_PID_TERMS:

  clr      A, [w8]+=2, w6, [w10]+=2, w7  ; clr A, prefetch w6, w7

  mac    w6*w7, A, [w8]+=2, w6, [w10]+=2, w7 ; MAC proportional term and gain

  mac    w6*w7, A, [w8]+=2, w6, [w10]+=2, w7 ; MAC derivative term and gain

  mac    w6*w7, B, [w8]+=2, w6, [w10]+=2, w7 ; Update Integrator

  add    ACCA    ; Add ACCB (Integrator)  to ACCA

  sftac   A, -#8    ; scale accumulator (shift)

  mov    ACCAH,w0   ; Read MSW of acca (result)

  btst   ACCAU,#7   ; Check sign bit of ACCA

  bra    z, Output_PWM  ; Branch if acca PWM value is positive

  clr     w0    ; Clear negative PWM values

  OUTPUT_PWM:

  mov    w0,  DC1   ; Output new duty cycle value

  pop.s     ; Restore SR, w0-w3

  retfie     ; Return from Interrupt

  评估板有助于设计人员测试和修改SMPS控制软件,并理解SMPS的设计原理。在这种情况下,您可以考虑使用Microchip的dsPICDEM SMPS降压型开发板--卓越的低功耗DC/DC降压式转换器来评估DSC器件和控制软件。该板可通过标准AC/DC 9V,0.75A电源获得其输入电源。板上有两个独立的降压式转换器,演示软件设置可提供高达+5V和+3.3V的输出。

 

图4 控制软件的结构

  这个开发板的输入电压范围为8-14V DC。每个输出负载应该限制在0.75A,而输入电源可以通过同轴输入电源连接器J2或测试夹连接P1和P2提供。该板也可为+5V输出提供一个动态负载。这个负载是通过1 kHz方波信号驱动的,该信号是由输出比较模块产生的。板上动态负载使用一个FET将电阻器负载连接到转换器对地输出,实现转换器激励,以便可以测量转换器的动态行为。动态负载的使用可通过跳线模块和/或软件由用户自行选择。

  用户可以选择通过跳线设置,像标准降压式转换器或同步降压式转换器那样运行开发板。所提供的软件能够以电压控制模式运行该板,也可以进行电流监控。该板也可通过转换器输出端的一个检测电阻器测量电流,而电压则被放大并送到dsPIC30F2020器件的ADC输入端。该板还可提供通过ADC输入可读取的三个备用可变电阻器。这些“电位器”可用于在原型设计中的模拟所需的信号。

  8 结语

  通过专用于数字回路控制的新款DSC,电源设计人员可以容易地在他们的设计中加入新的功能和能力。要做到这一点,无需学习复杂的数字信号处理器(DSP)处理技巧,使用熟悉的模拟元件和软件,设计人员就能够迅速而经济地使用DSC开发具有更高智能的电源。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:37,449.22000 毫秒