为了学习PID是怎么回事,特别做了此仿真,呵呵, 也可以说是<如何让PID的值转换成PWM的占空比>!
本人之前对PID一点都不懂,此贴主要是和大家分享学习经验!呵呵, 菜鸟贴, 不对的地方请大家拍砖!
此仿真采用的是PIC单片机, 由P1A引脚输出PWM,经过RC滤波后输出电压,AN0 ADC采样
先贴图吧!
PID算法是用的AVR: AVR221: Discrete PID controller 中的源码
//VFER = 2.048v, 10位分辨率(1024),设定稳压电压是1.024v
atmel_1.PNG (29.39 KB, 下载次数: 1)
下载附件
2013-10-26 10:56 上传
最后........
上源码:
ATMEL_ PWM_adc_pid_4.rar
(2.24 MB, 下载次数: 348)
2013-10-26 10:58 上传
点击文件名下载附件
呵呵,没有用,看了下,PID参数太难调了,直接放弃了
楼主,你这块增量式的算法有问题吧,,,微分项那块应该是此次误差-2*上次误差+上上次误差。。
还有你返回的值应该加上次计算出来的值吧。。。
你的位置和增量都混乱了吧:
ScreenShot00519.jpg (38.38 KB, 下载次数: 0)
下载附件
2013-11-29 11:07 上传
一周热门 更多>