您的位置 首页 观点

温控程序部分陈述——根据msp430g2553

Createdon:2012-9-14Author:zhangbin学习笔记formsp430g2553redesignedbyzhangbin2012-09-14versions:12_09_01A

Createdon:2012-9-14

Author:zhangbin

学习笔记

formsp430g2553

redesignedbyzhangbin

2012-09-14

versions:12_09_01

AllRightsReserved

程序是整个体系中很重要的一个组成部分,它在硬件的基础上协调着整个体系各个硬件部分的一起作业,操控着整个温控体系的一举一动。软件的首要功能包含有:

(1)传感器信号的收集、处理

(2)加热丝的PWM输出

(3)加热的温度和速度操控

(4)温控体系运转流程操控:程序初始化、温控的发动与完毕、液晶显现模块操控

(5)温控信息显现与参数设定:状况显现、操控算法参数设定等

上面的几个能中,除了程序的初始化在主函数中履行,其他的各个部分都是在中止函数中履行的,其间键盘检测和数据输入是在键盘中止中履行,其他的数据收集、处理、操控等都是在定时器5ms中止中履行的。单片机平常处于低功耗形式,下降功耗

程序的流程图如下:

本文首要选用两种算法完成标题要求:

第一个是PID算法的改善,由于温度操控是一个只能加热不能制冷的操控,所以咱们只用了PI。首要经过P让温度加到一个离设定温度较近的温度,然后使用I迫临设定温度。

程序如下:

voidpid()

{

if(set_t-now_t>13)

e2=0;

e1=set_t-now_t;//设定值和实践值之间的差错

uk=kp*e1+ki*e2+kd*e3;

//wr_float(0,1,e2);

e2=e1+e2;

e3=e1-e4;

e4=e1;

if(uk>speed)//避免升温过快

uk=speed;

if(uk<0)

uk=0;

control_value=1-uk;//pid输出的操控量即PWM的占空比

}

第二个是时刻操控的线性算法

在时刻操控中要求温度从40°均匀加热到60°,而且时刻恣意可设。

本程序完成的办法是:设定时刻set_time是以s为单位,把40°到60°的这20°温差均匀分红set_time份。然后在操控周期中,每一个周期让时刻段time_m自加1,然后依据均匀的公式算出该时刻段应该到达的温度,公式如下:

由于操控时刻输入set_time是以s为单位,而操控周期是100ms,所以上面要除以10。

详细的完成代码如下:

control_m_value=(float)time_m/set_time;

control_m_value=control_m_value/10;//时刻的操控以100ms为单位,时刻的设定是以1s为单位

control_m_value=40+20*control_m_value;

set_t=control_m_value;

pid();

CCR1=control_value*12000;//调理PWM的占空比12000为PWM周期

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/256255.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部