huaidan1628 发表于 2014-10-11 20:55:08

有没有用dsp C2000做开关电源的,用pid来做反馈稳压那部分。

做buck的时候,就是dsp采集输出电压经过pid算法控制驱动管子的pwm波的那部分。
看到网上很少有做反馈这方面的资料的,主要是不知道pid这部分怎么和dsp结合的,有做过的么

yfwuh 发表于 2014-10-11 21:14:51

你不知道ti有很多的例子吗?

596142041 发表于 2014-10-11 21:29:48

就是通过反馈来改变输出的占空比

xiaoqinbo666 发表于 2014-10-12 02:08:40

先采集电压电流再做pid运算,至宇算法就有点复杂了

lovecxm 发表于 2014-10-12 15:14:15

buck电路的资料还不多啊,ti的好多例子都是基于buck电路的,你说的反馈是环路吧,搜索环路

huaidan1628 发表于 2014-10-12 17:25:09

xiaoqinbo666 发表于 2014-10-12 02:08
先采集电压电流再做pid运算,至宇算法就有点复杂了

说的就是那个算法,pid吧,没什么这方面的经验

huaidan1628 发表于 2014-10-12 17:44:13

lovecxm 发表于 2014-10-12 15:14
buck电路的资料还不多啊,ti的好多例子都是基于buck电路的,你说的反馈是环路吧,搜索环路 ...

我去搜了一下,没搜到关于环路那部分算法的有关的东西,但是搜到了一个叫做数字电源控制器的东西,比如UCD9112这一类的,这一类的你用没用过?
他貌似就集成了pwm。ad这些一定会用的东西,好像跟dsp和单片机是类似的东西,直接用这种可以么?
但是其实我还是想用dsp就是不知道这些算法怎么应用,没经验啊?

huaidan1628 发表于 2014-10-12 17:45:13

596142041 发表于 2014-10-11 21:29
就是通过反馈来改变输出的占空比

对,我就是说的这个,就是不知道具体的算法实现的参考资料怎么找?

huaidan1628 发表于 2014-10-12 17:46:32

yfwuh 发表于 2014-10-11 21:14
你不知道ti有很多的例子吗?

是用dsp做pid算法控制反馈的么,我没找到啊,怎么找这方面的算法实现的参考资料

596142041 发表于 2014-10-12 19:17:39

huaidan1628 发表于 2014-10-12 17:45
对,我就是说的这个,就是不知道具体的算法实现的参考资料怎么找?

你以前使用过数字PID么?

huaidan1628 发表于 2014-10-12 21:11:28

596142041 发表于 2014-10-12 19:17
你以前使用过数字PID么?

没有,最近在看书上说的,都是一些理论上的东西,那个公式什么的,不知道怎么转化为程序,用simulink仿真那个么,有人跟我提过

summarize 发表于 2014-10-13 06:35:46

如果只是pid,則和温度pid类似。论坛里大把的温度pid资料

lovecxm 发表于 2014-10-13 12:28:19

huaidan1628 发表于 2014-10-12 17:44
我去搜了一下,没搜到关于环路那部分算法的有关的东西,但是搜到了一个叫做数字电源控制器的东西,比如UC ...

c2000的都是裸芯片,控制什么的都要自己去写的。UCD系列的相当于部分算法已经内置了。
至于算法实际上都是从模拟电路来的,如果你要理解,建议先看看模拟的buck电路,这个很多书上都有。
理解了模拟,然后需要知道怎么把模拟的转成数字的,也就是模拟到离散的转换,matlab有个命令c2d就可以实现。
实际上都是差分方程。

huaidan1628 发表于 2014-10-15 22:49:56

lovecxm 发表于 2014-10-13 12:28
c2000的都是裸芯片,控制什么的都要自己去写的。UCD系列的相当于部分算法已经内置了。
至于算法实际上都 ...

恩,这几天看了下,就是那个在频域的传递函数用c2d处理吧,然后得到一个离散化的函数,那个应该是一个分子和分母都是多项式的分吧;
但是现在再说一下我从论文里看到的pid的东西,他都是用比例系数,积分时间,微分时间这种方法来表达的一个等式,应该是时域的表达式吧;
那上面我在频域里得到的那个离散化的函数,不是也可以在编程里实现么,那么这两种实现方法到底区别在哪里的,都可以实现数字电源的控制么?
不知道我说没说清我的问题,主要是pid刚开始接触,开关电源倒是有点经验,不过都是用模拟电路做的pid反馈,总感觉这个很难调啊

lovecxm 发表于 2014-10-16 18:44:21

huaidan1628 发表于 2014-10-15 22:49
恩,这几天看了下,就是那个在频域的传递函数用c2d处理吧,然后得到一个离散化的函数,那个应该是一个分 ...

你只要记住从模拟到离散的变化就好了。你从论文上看到的什么比例系数,积分时间都是模拟的,或者说叫s域,那个就是s域(模拟)的传递函数。
这个电路理论就有教,电感是sL,电容是1/sC.用c2d命令即可得到z域的,也就是离散域的差分方程。

huaidan1628 发表于 2014-10-17 00:35:18

lovecxm 发表于 2014-10-16 18:44
你只要记住从模拟到离散的变化就好了。你从论文上看到的什么比例系数,积分时间都是模拟的,或者说叫s域 ...

不知道你用没用过simulink,下面第一张图这个是里面的离散pid的模块的属性表,里面的那个公式,是z域的吧
那和下面第二张图里面的,增量式pid公式有对应关系么,主要是各个系数;第三张图也是一个pid模块的属性表


iwqt1983 发表于 2014-10-17 08:12:24

自己写个算法也行的,官方的看不懂,反而会出错的.

lovecxm 发表于 2014-10-17 11:41:41

huaidan1628 发表于 2014-10-17 00:35
不知道你用没用过simulink,下面第一张图这个是里面的离散pid的模块的属性表,里面的那个公式,是z域的吧 ...

matlab里面的simulink用过,仿真一些bode传递函数。
你下面贴的那个增量式推倒公式那个就是Z域的,上面的simulink的参数看不出来。
你去baidu搜 开关电源控制环路设计 ,那个文档讲的比较清楚。你看看就知道整个过程了。

huaidan1628 发表于 2014-10-19 01:00:12

lovecxm 发表于 2014-10-17 11:41
matlab里面的simulink用过,仿真一些bode传递函数。
你下面贴的那个增量式推倒公式那个就是Z域的,上面的 ...

恩恩,谢啦,知道大概方向了,到时候具体问题在问吧{:smile:}
页: [1]
查看完整版本: 有没有用dsp C2000做开关电源的,用pid来做反馈稳压那部分。