你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

有偿请教PID设计方案。。。(微信红包)

[复制链接]
lovewjl 提问时间:2018-1-10 14:03 /
设计原理图.jpg
void main(void)
{
   //各类初始化;               
   while(1)
   {
     adc = Get_ADC10bitResult(1); //读取霍尔传感器值
     adc = adc/2; //10位ADC,因4V的ADC值为800,转换成实际电流值
     if(set_current > adc) //如果设定值大于反馈值?
        {
          fb++;if(fb > 1000)fb=1023;WriteTLC5615(fb);//增加占空比,最高加到5V
        }
     if(set_current < adc) //如果设定值小于反馈值?
        {
          fb--;if(fb < 200)fb=200;WriteTLC5615(fb);//增小占空比,最低减到1V
        }     
   }
}
/*整流控制过程如上可实现,但有以下不足,
当设置值与反馈值相差较大时,占空比是逐个增加或减小,
反映时间太慢(>100ms),,,现需要加入PID控制,
当设置值与反馈值相差较大时,大幅度增加或增小占空比,
当设置值与反馈逐渐接近时,再小幅度整占空比,
那样速度会快很多,请问如何实现(<1ms)?
如有方案可私聊我,如果问题解决,必定红包重谢*/

收藏 1 评论10 发布时间:2018-1-10 14:03

举报

10个回答
zhangxu56726 回答时间:2018-1-10 14:11:51
不用PID 都能实现

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

lovewjl 回答时间:2018-1-10 15:21:51

实际应用比这要复杂,
还要考虑关断尖峰,
还是PID为好。。。
不用PID如何实现?
设定值与反馈值相差>300,一次+100?
设定值与反馈值相差100~200,一次+50?
moon-362134 回答时间:2018-1-10 17:18:37
主电路的问题大。1,先学习正激反激桥式变换设计
2,不用DAC 直接数字PWM

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

努力的人 回答时间:2018-1-10 17:49:17
我看出一个问题,不知对否,你想做数字控制,却用的是模拟的PWM,要想提高精度,你使用STM32,只需改变占空比就行了

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

zhangxu56726 回答时间:2018-1-10 17:51:48
刚才我说的不用PID就可以,就是楼上的意思,这样搞,反而复杂了,如果我没有看错,你用的是IGBT,只要用PWM 控制就可以了
lovewjl 回答时间:2018-1-10 18:00:08
moon-362134 发表于 2018-1-10 17:18
主电路的问题大。1,先学习正激反激桥式变换设计
2,不用DAC 直接数字PWM

主电路只是简单画草图,
实际是H桥,能明白意思就行,
因为怕单片机会失效造成灾难性后果,
所在加了模拟PWM芯片(可硬件截流),
即使单片机跑飞或死机,可保证初级IGBT不会过流,

主电路已有成熟的方案,
本贴目的是,PID怎么编写?
能够快速响应?
lovewjl 回答时间:2018-1-10 18:21:57
努力的人 发表于 2018-1-10 17:49
我看出一个问题,不知对否,你想做数字控制,却用的是模拟的PWM,要想提高精度,你使用STM32,只需改变占空 ...

加模拟的PWM怕单片机会失效,
现在模拟电流型PWM芯片有硬件截流功能,
反映速快,
这么大功率的机器,

首先要保证主电路稳定,
再谈后面的控制。。。
szc5b123 回答时间:2018-1-11 08:38:20
DAC输出干嘛? 直接输出PWM不就行了么?
楼上有人貌似连控制方式与信号调制方式都搞不清楚混为一谈
你要做PID  主电路建模算出开环传递函数   再设计补偿器 算闭环传递函数  输出电压与占空比之间的关系求出来后 离散化PID参数去编程就行了

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

lovewjl 回答时间:2018-1-11 12:35:45
szc5b123 发表于 2018-1-11 08:38
DAC输出干嘛? 直接输出PWM不就行了么?
楼上有人貌似连控制方式与信号调制方式都搞不清楚混为一谈
你要做PI ...

主回用的是模拟PWM芯片,
只接收0-5V电平,所以用了DAC,

上面说的开环传递数,闭环传递数,离散化,
都快把我把蒙了,
主贴写fb++;if(fb > 1000)fb=1000;WriteTLC5615(fb)也能实现,
只是逐个增加占空比,太慢了,怎么加快反映速度?
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版