为了学习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速度快的原因么?
1.PNG (3.39 KB, 下载次数: 0)
下载附件
2013-11-15 10:52 上传
上图就是减小了P的值,过冲明显小了!
当然,采用何种算法也是一个因素, 以上所得的结果都是软件仿真的结果,目前我还没有实际操作过!
一周热门 更多>