|
|
| | | | | 数字电源...
方案估计是MCU+DAC+POWER amplifier output stage,当然其中也有feedback。
精度方面就是反馈回路里的电压电流的采样A/D采用什么形式了。 |
|
|
| | | | | | | 恩,我现在的硬件方案是BOOST的PFC, 然后是全桥主变
因为我这个是氩弧数字焊机电源,后级是H桥换向,最后级是
高频引弧
|
|
|
| | | | | | | | | 我应用的是TI的TMS320F28035 + STM32F107VC
主频分别是60MHz 和72MHz |
|
|
| | | | | | | | | | | 请问为什么还要加STM32F107VC? 28035单独不能完成吗? |
|
|
|
| | | | | | | | | | | | | | | 额,这个我也不清楚。还要看这两级电路的工作频率和采样频率吧。个人觉得控制算法不太占用时间和内存。 |
|
|
| | | | | | | | | | | | | | | | | 三个环都用一个DSP搞定了,不过当时有点紧张了,中断改用了汇编才搞定,两个环应该问题不大,PFC一般频率都不高,DC/DC要求高些 |
|
|
|
| | | | | | | | | | | | | | | | | | | | | 28035好像有个控制算法加速器。DC-DC部分之间用这个CLA,CPU做PFC应该也OK |
|
|
| | | | | | | | | | | | | | | 得看硬件方案吧,我们的pfc+LLc一片28035搞定。
|
|
|
|
| | | | | | | 你这不是数字电源,
数字电源... 不要+DAC+POWER amplifier output stage
|
|
|
| | | | | | | | | 它这种算是半数字化吧
数字电源一般是主功率电路,输入输出电压电流采样路和驱动电路,其它的如DAC,控制和保护,都是由CPU完成。 |
|
|
| | | | | | | | | 请问没有DAC怎么输出PWM?如果power amplifier,dsp输出的PWM电压不够驱动怎么办? |
|
|
| | | | | | | | | | | 现在很多控制类的DSP,都带多路PWM输出的,DSP出来的PWM确实不能直接驱动功率级MOSFET,需加图腾柱驱动电路、或驱动芯片,一般DAC在数字电源中用上的机会并不多,而且有的DSP也带简单的DAC功能 |
|
|
| | | | | | | | | | | | | 谢谢回复。我的意思是DPWM也是DAC的一种,power amplifier也可以用来驱动mosfet。 |
|
|
|
|
|
|
| | | | | 数字电源见得多的是低压非隔离的电源多,主要是好调整输出电压,如果隔离还涉及咂比方面,非隔离就不需要考虑这么多,只要频率和感量匹配好就可以不错多输出了。 |
|
|
|
|
|
| | | | | | | 数字电源功能:
1. STM32通过250K波特率的CAN总线跟控制DSP以及上位机通讯
2. USB固件升级
3. 自动存储相关操作数据
4. 通过CAN跟机器手通讯并完成相关任务
5. DSP控制全桥,闭环控制还是用传统的PID
6. DSP完成复杂的数据库任务
7.。。。。。 |
|
|
| | | | | | | | | 你这要完成的功能还不少,每个功能都搞你搞一段时间了 |
|
|
|
|
| | | | | | | O(∩_∩)O谢谢支持,我正在做数字电源,也希望大家一起来讨论数字电源的
研发 |
|
|
|
|
|
|
|
|
|
| | | | | | | 做数字电源要用到2个比较大的软件,我现在陆续发上来,希望大家的数字电源之路从这里开始
一个是STM32的编译环境
一个是DSP的编译环境
两个都少不了的
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | 唐工,你的移相是如何实现的,后桥臂的zvs是如何实现的? |
|
|
|
| | | | | | | | | | | | | | | | | | | 不用图,我问的是需要几个同步的定时器分别产生等占空比的pwm驱动信号,还专门一个同步定时器控制移相的角度,同时还要控制zvs,这个过程比较复杂,DSP好像没这功能 |
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | 只要是算法,你只做DC-DC,算法比较简单,就是一个PI调节器。难的是如何形成移相驱动脉冲 |
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 这个是三相的,主要是降低电流纹波,你做单相原理和这个一样 |
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 恩,控制输出电流,是恒流的
我现在觉得无所谓了,n个周期再去调整一次占空比不知道是否合适? |
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 必须你个周期,周期等于积分调节器的积分周期,你形成误差信号的电流是平均电流,单周期出不来平均电流,而且会使积分调节器失控 |
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 请问积分周期是什么?我查了一些资料,出现在算法里与时间有关的因子是采样周期。在您的“数字电源”的帖子的程序中,貌似也没有积分周期。 |
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 谢谢分享,貌似没有找到积分周期。我在Digital Control of Dynamic Systems - Gene F. Franklin这本书里有积分周期,但没有详细的介绍而且我没有在其他的地方见过。 |
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 樊版,我猜您说的积分周期是不是可以这样理解:通过n次采样求得平均值,n次采样的时间为积分周期。是这样吗? |
|
|
|
|
| | | | | | | 樊工,每个周期AD一次并累加,4个周期后求AD平均值并去PID一次,这样就
有积分周期了吧 |
|
|
| | | | | | | | | 尽管不同类型的控制器,其结构、原理各不相同,但是基本控制规律只有三个:比例(P)控制、积分(I)控制和微分(D)控制。这几种控制规律可以单独使用,但是更多场合是组合使用。如比例(P)控制、比例-积分(PI)控制、比例-积分-微分(PID)控制等。 比例(P)控制 单独的比例控制也称“有差控制”,输出的变化与输入控制器的偏差成比例关系,偏差越大输出越大。实际应用中,比例度的大小应视具体情况而定,比例度太小,控制作用太弱,不利于系统克服扰动,余差太大,控制质量差,也没有什么控制作用;比例度太大,控制作用太强,容易导致系统的稳定性变差,引发振荡。 对于反应灵敏、放大能力强的被控对象,为提高系统的稳定性,应当使比例度稍小些;而对于反应迟钝,放大能力又较弱的被控对象,比例度可选大一些,以提高整个系统的灵敏度,也可以相应减小余差。 单纯的比例控制适用于扰动不大,滞后较小,负荷变化小,要求不高,允许有一定余差存在的场合。工业生产中比例控制规律使用较为普遍。 比例积分(PI)控制 比例控制规律是基本控制规律中最基本的、应用最普遍的一种,其最大优点就是控制及时、迅速。只要有偏差产生,控制器立即产生控制作用。但是,不能最终消除余差的缺点限制了它的单独使用。克服余差的办法是在比例控制的基础上加上积分控制作用。 积分控制器的输出与输入偏差对时间的积分成正比。这里的“积分”指的是“积累”的意思。积分控制器的输出不仅与输入偏差的大小有关,而且还与偏差存在的时间有关。只要偏差存在,输出就会不断累积(输出值越来越大或越来越小),一直到偏差为零,累积才会停止。所以,积分控制可以消除余差。积分控制规律又称无差控制规律。 积分时间的大小表征了积分控制作用的强弱。积分时间越小,控制作用越强;反之,控制作用越弱。 积分控制虽然能消除余差,但它存在着控制不及时的缺点。因为积分输出的累积是渐进的,其产生的控制作用总是落后于偏差的变化,不能及时有效地克服干扰的影响,难以使控制系统稳定下来。所以,实用中一般不单独使用积分控制,而是和比例控制作用结合起来,构成比例积分控制。这样取二者之长,互相弥补,既有比例控制作用的迅速及时,又有积分控制作用消除余差的能力。因此,比例积分控制可以实现较为理想的过程控制。 比例积分控制器是目前应用最为广泛的一种控制器,多用于工业生产中液位、压力、流量等控制系统。由于引入积分作用能消除余差,弥补了纯比例控制的缺陷,获得较好的控制质量。但是积分作用的引入,会使系统稳定性变差。对于有较大惯性滞后的控制系统,要尽量避免使用。 比例微分(PD)控制 比例积分控制对于时间滞后的被控对象使用不够理想。所谓“时间滞后”指的是:当被控对象受到扰动作用后,被控变量没有立即发生变化,而是有一个时间上的延迟,比如容量滞后,此时比例积分控制显得迟钝、不及时。为此,人们设想:能否根据偏差的变化趋势来做出相应的控制动作呢?犹如有经验的操作人员,即可根据偏差的大小来改变阀门的开度(比例作用),又可根据偏差变化的速度大小来预计将要出现的情况,提前进行过量控制,“防患于未然”。这就是具有“超前”控制作用的微分控制规律。微分控制器输出的大小取决于输入偏差变化的速度。 微分输出只与偏差的变化速度有关,而与偏差的大小以及偏差是否存在与否无关。如果偏差为一固定值,不管多大,只要不变化,则输出的变化一定为零,控制器没有任何控制作用。微分时间越大,微分输出维持的时间就越长,因此微分作用越强;反之则越弱。当微分时间为0时,就没有微分控制作用了。同理,微分时间的选取,也是需要根据实际情况来确定的。 微分控制作用的特点是:动作迅速,具有超前调节功能,可有效改善被控对象有较大时间滞后的控制品质;但是它不能消除余差,尤其是对于恒定偏差输入时,根本就没有控制作用。因此,不能单独使用微分控制规律。 比例和微分作用结合,比单纯的比例作用更快。尤其是对容量滞后大的对象,可以减小动偏差的幅度,节省控制时间,显著改善控制质量。 比例积分微分(PID)控制 最为理想的控制当属比例-积分-微分控制规律。它集三者之长:既有比例作用的及时迅速,又有积分作用的消除余差能力,还有微分作用的超前控制功能。 当偏差阶跃出现时,微分立即大幅度动作,抑制偏差的这种跃变;比例也同时起消除偏差的作用,使偏差幅度减小,由于比例作用是持久和起主要作用的控制规律,因此可使系统比较稳定;而积分作用慢慢把余差克服掉。只要三个作用的控制参数选择得当,便可充分发挥三种控制规律的优点,得到较为理想的控制效果。 编辑本段PID控制器调试方法比例系数的调节 比例系数P的调节范围一般是:0.1--100. 如果增益值取 0.1,PID 调节器输出变化为十分之一的偏差值。如果增益值取 100, PID 调节器输出变化为一百倍的偏差值。 可见该值越大,比例产生的增益作用越大。初调时,选小一些,然后慢慢调大,直到系统波动足够小时,再该调节积分或微分系数。过大的P值会导致系统不稳定,持续振荡;过小的P值又会使系统反应迟钝。合适的值应该使系统由足够的灵敏度但又不会反应过于灵敏,一定时间的迟缓要靠积分时间来调节。 积分系数的调节 积分时间常数的定义是,偏差引起输出增长的时间。积分时间设为 1秒,则输出变化 100%所需时间为 1 秒。初调时要把积分时间设置长些,然后慢慢调小直到系统稳定为止。 微分系数的调节 微分值是偏差值的变化率。例如,如果输入偏差值线性变化,则在调节器输出侧叠加一个恒定的调节量。大部分控制系统不需要调节微分时间。因为只有时间滞后的系统才需要附加这个参数。如果画蛇添足加上这个参数反而会使系统的控制受到影响。如果通过比例、积分参数的调节还是收不到理想的控制要求,就可以调节微分时间。初调时把这个系数设小,然后慢慢调大,直到系统稳定。 PID控制器的参数整定是控制系统设计的核心内容。它是根据被 控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是 依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主 要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应 曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需 要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡, 记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。 在实际调试中,只能先大致设定一个经验值,然后根据调节效果修改。 对于温度系统:P(%)20--60,I(分)3--10,D(分)0.5--3 对于流量系统:P(%)40--100,I(分)0.1--1 对于压力系统:P(%)30--70,I(分)0.4--3 对于液位系统:P(%)20--80,I(分)1--5 参数整定找最佳,从小到大顺序查 先是比例后积分,最后再把微分加 曲线振荡很频繁,比例度盘要放大 曲线漂浮绕大湾,比例度盘往小扳 曲线偏离回复慢,积分时间往下降 曲线波动周期长,积分时间再加长 曲线振荡频率快,先把微分降下来 动差大来波动慢。微分时间应加长 理想曲线两个波,前高后低4比1 一看二调多分析,调节质量不会低 |
|
|
|
|
|
| | | | | | | 我现在有个问题想请教,我DSP要控制交错并联BUCK,200K的频率,每个周期是5us,我是每2个PWM周期PID一次去调节一次占空比,而PID一次耗时8.2us左右,这样算来就时间
很紧了,后面我还要做焊接工艺控制和CAN通讯等的任务。我是担心会影响焊接工艺的时序和CAN通讯的
正常收发,请大家有空指点迷津,谢谢! |
|
|
| | | | | | | | | PID按理来说不会要求这么多的时间。我用的2812,IQmath的计算,PID计算一次只有30多次CPU cycle,算出的时间只有0.4us左右。 |
|
|
| | | | | | | | | | | 主频是60M,里面有几个整型运算很耗时间,明天发上来给分析下 |
|
|
| | | | | | | | | 你的PID只是电压环吧,电压环PI调节误差电压书输出的平均电压形成的,你的pi调节周期太短,没法计算出平均电压,会出现过调现象。PFC还有电流环,周期太短效果更差 |
|
|
| | | | | | | | | | | 说起来我也搞了两年数字电源了,基于TI的piccolo系列,不太认同楼上的说法。好像楼上是用MCU做消费类电源的?DSP的运算能力强一些,思路和MCU并不完全一样。
中断周期和PWM周期可以不相关,和反馈计算的带宽有关。比如最终的传递函数穿越频率是2k,根据香农采样定理,理论上计算环路并更新DPWM的周期至少是4k,实际上至少要20k~40k。
单纯的串联型PID运算并不需要很多时间,两零点两极点的滤波器只是五次乘加。TI的C2000好像都不支持浮点运算。终端程序使用汇编编写并且使用定点数计算可以省下不少时间。
|
|
|
| | | | | | | | | | | | | 其实不能说DSP比MCUDSP的运算能力强一些,这是片面的,好多MCU比DSP处理能力强得多,比如各家厂都做Cortex™-M4系列封装的MCU运算能力强一些,它内含一个主频168M的ARM32位核,一个高速DSP核,一个FPU(硬件浮点运算核)。在大功率电源中,一般都采用同步采样运算,也就是采样运算周期和DSP周期同步。小功率电源中(3kw以下)开关频率比较高,若采用同步运算算不过来,就采用非同步,也就是降低采样计算频率。TI就是利用了这个方法。pwm频率可到1M以上(完全由硬件产生)。采样计算周期可以长一些。以前TI知道我们做数字电源,多次沟通想用DSP,最后结果没选DSP除了TI的价格高,只要原因还是运算速度,做PFC时要做数字单相锁相环,在40k采样计算频率时,这个算法根本跑不动。所以选择了MCU |
|
|
| | | | | | | | | | | | | | | 其实不能说DSP比MCU的运算能力强一些,这是片面的,好多MCU比DSP处理能力强得多,比如各家厂都做Cortex™-M4系列封装的MCU运算能力就要强一些,它内含一个主频168M的ARM32位核,一个高速DSP核,一个FPU(硬件浮点运算核)。在大功率电源中,一般都采用同步采样运算,也就是采样运算周期和DSP周期同步。小功率电源中(3kw以下)开关频率比较高,若采用同步运算算不过来,就采用非同步,也就是降低采样计算频率。TI就是利用了这个方法。pwm频率可到1M以上(完全由硬件产生)。采样计算周期可以长一些。以前TI知道我们做数字电源,多次沟通想用DSP,最后结果没选DSP除了TI的价格高,只要原因还是运算速度,做PFC时要做数字单相锁相环,在40k采样计算频率时,这个算法根本跑不动。所以选择了MCU |
|
|
| | | | | | | | | | | | | | | | | 不能这样比吧。电源专用的DSP/DSC的特点主要在外设,然后就是环路计算需要硬件乘法器。
数字PFC不一定要锁相环,只是你选了个需要锁相环的方案而已。既然TI给你们推piccolo,你应该见过TI做的单相PFC的EVA board,那个EVA board一个40M的piccolo只用了大概20%的资源。
|
|
|
| | | | | | | | | 10us一次中断,中断程序耗时8.2us是可以接受的。不过只是ADC+环路计算+DPWM寄存器赋值的话,应该不需要这么长,考虑优化一下中断程序的效率吧。
不了解焊接工艺控制,需要1ms以下的时间控制精度吗?60MIPS的CPU,剩下15%的资源,2ms~5ms的时间精度应该是可以达到的。
|
|
|
|
|
| | | | | | | | | | | | | | | 第一个电流峰只持续了不到100us,时间很短啊。
这么短的时间,硬件采样的延迟加上软件环路的延迟,不太好处理吧。
能否画一下功率拓扑和电流采样的位置?看一下硬件上是否可以有改善的空间。
这种情况在软件上的处理,单纯优化环路估计难以得到满意的效果。估计要使用非线性控制一类的想法才行。 |
|
|
|
| | | | | | | | | | | | | | | | | | | 两次测试的负载电流差很多。不同恒流值的过冲比例应该是不一样的。 |
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | 不了解你要做的焊机对限流有什么要求,是不是需要调节限流点。
我做的数字电源不是焊机,都是固定限流点,只用作保护的,所以不需要特殊处理。
如果负载需求的场景比较多,根据不同场景使用不同的环路参数也是可行的,数字电源在这方面是有优势的。 |
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | 我也想这样做,把不同限流点做成表格。用查表方式进行运算 |
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 是的,因为输出不能接滤波电容,所以要采样该交错并联型的BUCK |
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | 新手请教楼主几个问题:
1.你的两相交错Buck输出是恒流的吧,那么是不是说,只要采集输出电流,然后跟基准值比较,最后经过数字PI来调节就可以了吧,算是单环的么?
2.你的调节是否是单周期的,还是如您之前所述的,采集4个周期的输出电流求平均,然后再进行PI调节;
3.两路Buck是否是独立的PI调节?
4.如果要求输出恒压,那么应该如何控制呢?
谢谢。 |
|
|
| | | | | | | | | | | | | | | | | 回答你的问题:
1. 是恒流的,采集输出电流,然后跟基准值比较,最后经过数字PI来调节,是这样的
2. 不是单周期,是2个周期PID一次
3. 采样两路的电流信号,通过加法器相加,送PID调节
4. 如果是恒压的话,就需要两个环,电流内环和电压外环,并且外环要滞后于内环 |
|
|
| | | | | | | | | | | | | | | | | | | 楼主两路Buck的驱动信号是一样的么?如果是,那采用单独的PI,然后驱动各自的管子这样效果会好一点么(单独路的基准就为0.5Iref)? |
|
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | | | 慢慢来,呵呵,有空给大家讲讲数字PID闭环控制算法
实际应用的 |
|
|
| | | | | | | | | | | | | | | | | | | 两路交错移相,单路是不是还是得承受全部输出电流呢。 |
|
|
|
|
| | | | | | | | | | | 28035有个CLA,比CPU的浮点计算能力更强。PID执行时间也就十多个周期,---- 不用C语言的话。
CLA有8个任务,控制算法全交给它是没问题的。除了PFC算法时间较长外,其它都很短的。
俺搞28035电源没人支持,现在时不时地业余搞一下, |
|
|
|
| | | | | | | | | | | | | | | CLA处理事件,关于它的处理延迟问题,我问过TI的人,没有回复,问过著名论坛,也没有人回复。最后我研究TI的程序,在CLA响应时,如对ADC的结果处理,都要加入等待或处理其它事之后再读ADC内容,从这点分析:CLA被解发时,应该是没有等待时间的。可以认为是即时的。
CLA处理象PID算法,真是小菜一个。楼主应该看看CLA那篇文档,有什么问题我们多交流。
CLA处理算法效率很高,你没用到它,难怪你说CPU快涨爆了。
它的C28的CPU运算能力比CLA差,控制方面比CLA强。你这样应用,等于在使用F28027!!
俺的数字电源,BUCK部分(或正激)使用不到20个时钟周期的时间解决问题,只是PFC运算有些麻烦。我在考虑用我自己的算法解决。因为实验设备有限,曾烧了好多CPU,每烧一块就丧失一点信心,停一段时间又心血来潮地干,至今还没有搞定。 |
|
|
| | | | | | | | | | | | | | | CLA可以直接操作ADC结果寄存器,可以直接操作PWM寄存器,数字电源用F28035是再好不过的了。C2000系列中,唯有F28035做数字电源最为恰当。 |
|
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | | | 请问 dontium
你的PWM几个周期计算一次PID ?
我的是200K频率,几个周期调节一次合适 ? |
|
|
| | | | | | | | | | | | | | | | | | | 逐周期。
200K时,中间也有300个时钟时间 ,除去中断响应时间,留给计算的时间也超过200个时钟,
而处理一次的时间,一般可以控制七八十个时钟内。 |
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | 我觉得要看看环路的穿越频率是多少了,合不合理视穿越频率而定 |
|
|
|
|
|
|
|
|
|