欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    模糊PID控制温控系统设计方案C语言程序代码文档格式.docx

    • 资源ID:3956123       资源大小:18.54KB        全文页数:30页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    模糊PID控制温控系统设计方案C语言程序代码文档格式.docx

    1、float P_temp=20.0。float Kp。float Ki。float Kd。float Err=0.0。float Last_Err=0.0。float D_Err=0.0。float Sum_Err=0.0。float U=0.0。/* 函数功能:延时*/void delay_ms(uchar z) uchar i。 uchar j。 for(i=z。i0。i-) for(j=360。jj-)。 void delay_us(uchar z) i-)。void LCD_WriteData(uchar Dat) RS = 1。 P1 = Dat。 delay_us(10)。 EN

    2、= 1。 EN = 0。void LCD_WriteCOM(uchar com) RS = 0。 P1 = com。void Show_Num(uchar x,uchar y,uchar n,float num) uchar a3。 uint Temp。 Temp=(int)num。 for(i=0。i=200) S_temp=200。 while(!KEY1)。 if(KEY2=0) if(KEY2=0)0) S_temp=S_temp-1。 else if(S_temp=0) S_temp=0。KEY2)。 if(KEY3=0) if(KEY3=0) if(S_temp if(U U=20

    3、0。 flag=1。 U=-U。 flag=0。 /*PID参数Kp的计算 */ float fuzzy_kp(float e, float ec) /e,ec,表示误差,误差变化率 float Kp_calcu。 uchar num,pe,pec。 float code eRule7=-3.0,-2.0,-1.0,0.0,1.0,2.0,3.0。 /误差E的模糊论域 float code ecRule7=-3.0,-2.0,-1.0,0.0,1.0,2.0,3.0。 /误差变化率EC的模糊论域 float eFuzzy2=0.0,0.0。 /隶属于误差E的隶属程度 float ecFuzzy

    4、2=0.0,0.0。 /隶属于误差变化率EC的隶属程度 float code kpRule4=0.0,8.0,16.0,24.0。 /Kp的模糊子集 float KpFuzzy4=0.0,0.0,0.0,0.0。 /隶属于Kp的隶属程度 int code KpRule77= /Kp的模糊控制表 3,3,3,3,3,3,3, 2,2,2,2,1,2,2, 1,1,1,1,1,1,1, 1,1,0,1,0,1,1, 0,0,1,0,0,1,0, 0,1,0,1,0,0,2, 3,3,3,3,3,3,3 。 /*误差E隶属函数描述*/ if(eeRule0) eFuzzy0 =1.0。 pe = 0

    5、。 else if(eRule0=e & eeRule1) eFuzzy0 = (eRule1-e)/(eRule1-eRule0)。 else if(eRule1eRule2) eFuzzy0 = (eRule2 -e)/(eRule2-eRule1)。 pe = 1。 else if(eRule2eRule3) eFuzzy0 = (eRule3 -e)/(eRule3-eRule2)。 pe = 2。 else if(eRule3eRule4) eFuzzy0 = (eRule4-e)/(eRule4-eRule3)。 pe = 3。 else if(eRule4eRule5) eFuz

    6、zy0 = (eRule5-e)/(eRule5-eRule4)。 pe = 4。 else if(eRule5eRule6) eFuzzy0 = (eRule6-e)/(eRule6-eRule5)。 pe = 5。 eFuzzy0 =0.0。 pe =5。 eFuzzy1 =1.0 - eFuzzy0。 /*误差变化率EC隶属函数描述*/ if(ececRule0) ecFuzzy0 =1.0。 pec = 0。 else if(ecRule0=ec & ececRule1) ecFuzzy0 = (ecRule1 - ec)/(ecRule1-ecRule0)。 pec = 0 。 el

    7、se if(ecRule1ecRule2) ecFuzzy0 = (ecRule2 - ec)/(ecRule2-ecRule1)。 pec = 1。 else if(ecRule2ecRule3) ecFuzzy0 = (ecRule3 - ec)/(ecRule3-ecRule2)。 pec = 2 。 else if(ecRule3ecRule4) ecFuzzy0 = (ecRule4-ec)/(ecRule4-ecRule3)。 pec=3。 else if(ecRule4ecRule5) ecFuzzy0 = (ecRule5-ec)/(ecRule5-ecRule4)。 pec=

    8、4。 else if(ecRule5ecRule6) ecFuzzy0 = (ecRule6-ec)/(ecRule6-ecRule5)。 pec=5。 ecFuzzy0 =0.0。 pec = 5。 ecFuzzy1 = 1.0 - ecFuzzy0。 /*查询模糊规则表*/ num =KpRulepepec。 KpFuzzynum += eFuzzy0*ecFuzzy0。 num =KpRulepepec+1。 KpFuzzynum += eFuzzy0*ecFuzzy1。 num =KpRulepe+1pec。 KpFuzzynum += eFuzzy1*ecFuzzy0。 num =K

    9、pRulepe+1pec+1。 KpFuzzynum += eFuzzy1*ecFuzzy1。/*加权平均法解模糊*/ Kp_calcu=KpFuzzy0*kpRule0+KpFuzzy1*kpRule1+KpFuzzy2*kpRule2+KpFuzzy3*kpRule3。return(Kp_calcu)。PID参数Ki的计算 float fuzzy_ki(float e, float ec) float Ki_calcu。 float code kiRule4=0.00,0.01,0.02,0.03。 float KiFuzzy4=0.0,0.0,0.0,0.0。 int code KiRu

    10、le77= 0,0,0,0,0,0,0, 2,0,0,0,0,0,1, /*误差隶属函数描述*/if(e /*误差变化隶属函数描述*/ /*查询模糊规则表*/ num =KiRulepepec。 KiFuzzynum += eFuzzy0*ecFuzzy0。 num =KiRulepepec+1。 KiFuzzynum += eFuzzy0*ecFuzzy1。 num =KiRulepe+1pec。 KiFuzzynum += eFuzzy1*ecFuzzy0。 num =KiRulepe+1pec+1。 KiFuzzynum += eFuzzy1*ecFuzzy1。 /*加权平均法解模糊*/ Ki_calcu=KiFuzzy0*kiRule0+KiFuzzy1*kiRule1+KiFuzzy2*kiRule2+KiFuzzy3*kiRule3。 return(Ki_calcu)。/*


    注意事项

    本文(模糊PID控制温控系统设计方案C语言程序代码文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开