求一段VB编写的增量式PID控制程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一段VB编写的增量式PID控制程序相关的知识,希望对你有一定的参考价值。
参考技术A #include#include
"global_varible.h"
/****************************************************************************
*
模块名:
pid
*
描述:
pid调节子程序
*
采用pid-pd算法。在偏差绝对值大于△e时,用pd算法,以改善动态品质。
*
当偏差绝对值小于△e时,用pid算法,提高稳定精度。
*
pidout=kp*e(t)+ki*[e(t)+e(t-1)+...+e(1)]+kd*[e(t)-e(t-1)]
*============================================================================
*
入口:
无
*
出口:
无
*
改变:
pid_t_run=加热时间控制
*****************************************************************************/
void
pid_math(void)
signed
long
ee1;
//偏差一阶
//signed
long
ee2;
//偏差二阶
signed
long
d_out;
//积分输出
if(!flag_pid_t_ok)
return;
flag_pid_t_ok=0;
temp_set=3700;
//温度控制设定值37.00度
pid_e0
=
temp_set-temp_now;
//本次偏差
ee1
=
pid_e0-pid_e1;
//计算一阶偏差
//ee2
=
pid_e0-2*pid_e1+pid_e2;
//计算二阶偏差
if(ee1
>
500)
//一阶偏差的限制范围
ee1
=
500;
if(ee1
<
-500)
ee1
=
-500;
pid_e_sum
+=
pid_e0;
//偏差之和
if(pid_e_sum
>
200)
//积分最多累计的温差
pid_e_sum
=
200;
if(pid_e_sum
<
-200)
pid_e_sum
=
-200;
pid_out
=
pid_kp*pid_e0+pid_kd*ee1;
//计算pid比例和微分输出
if(abs(pid_e0)
<
200)
//如果温度相差小于1.5度则计入pid积分输出
if(abs(pid_e0)
>
100)
//如果温度相差大于1度时积分累计限制
if(pid_e_sum
>
100)
pid_e_sum
=
100;
if(pid_e_sum
<
-100)
pid_e_sum
=
-100;
d_out
=
pid_ki*pid_e_sum;
//积分输出
if(pid_e0
<
-5)
//当前温度高于设定温度0.5度时积分累计限制
if(pid_e_sum
>
150)
pid_e_sum
=
150;
if(pid_e_sum
>
0)
//当前温度高于设定温度0.5度时削弱积分正输出
d_out
>>=
1;
pid_out
+=
d_out;
//pid比例,积分和微分输出
else
pid_e_sum=0;
pid_out/=100;
//恢复被pid_out系数放大的倍数
if(pid_out
>
200)
pid_out=200;
if(pid_out<0)
pid_out=0;
if(pid_e0
>
300)
//当前温度比设定温度低3度则全速加热
pid_out=200;
if(pid_e0
<
-20)
//当前温度高于设定温度0.2度则关闭加热
pid_out=0;
hot_t_run=pid_out;
//加热时间控制输出
pid_e2
=
pid_e1;
//保存上次偏差
pid_e1
=
pid_e0;
//保存当前偏差
////////////////////////////////////////////////////////////void
pid_math()
end.
求一段运用matlab把俩个声音文件混合成一个文件的程序!我只会编写一小段声音读取和播放的程序。混合就不会
非常简单,不用大量下载——“录音机”法只要你有电脑,和一个非常普通的(免费?)声音格式转换器就行了。
我自己摸索出来的!
不是一前一后哦,是完全重合~~
————
电脑左下角“开始”——“所有程序”——“附件”——“娱乐”——“录音机”;
打开录音机后,“编辑”(按钮是Alt+E)——“与文件混音”
(可以多次选择的,放心。注意声音格式必须是WAV——这个时候就用上“转换器”了)
声音选择完毕后,可以点击录音机的黑色实心三角形,试听效果。(录音机上有“效果”,可以调整声音的大小、速度)
具体想要的效果,请自己操作吧~
最后,——“文件”——“另存为”
————
转换器我推荐狸窝和格式工厂,都是免费的(WAV格式也有“不同种类”,请试试哪个适合你的电脑的录音机。)
多加点分吧?我的方法应该对你有帮助呢?追问
方法很好,可是我的前提是用matlab编写程序来实现。你提供的方法跟我毕业设计一丁点关系都没有啊~不过还是谢谢你这么晚帮助我给个good行么~
追答呵呵,请随意。祝你好运啊~
参考技术A 两个声音文件相加可以吗 你试试追问老师说:可以。可是不会编写相加的程序。编完的程序都读不出混合声音~~
追答我没做过声音处理 只是有个相加的想法,两个文件相加 一些关键特征要先保持一致吧 比如两个波形的采样率 还有是否在一个周期内 多询问一下其他人吧
以上是关于求一段VB编写的增量式PID控制程序的主要内容,如果未能解决你的问题,请参考以下文章