Board logo

标题: 温箱温度控制设计4 [打印本页]

作者: rise_ming    时间: 2013-8-1 22:00     标题: 温箱温度控制设计4

3 系统软件设计
   
本文设计的软件部分主要包括实现温度的采集、显示和控制三大部分。


    如图8所示,当采集温箱温度的时候,系统通过驱动程序设置好温度传感器的转化公式来实现对温度的采集。当采集的温度低于目标温度的时候,通过对加热丝进行加热,实现加热操作;当采集的温度高于目标温度的时候,通过控制压缩机,实现降温操作;并将温箱的温度显示出来,从而使温箱的温度达到设定的目标值,实现温箱温度控制。
3.1 温度的采集
   
当将要采集温度数据时,MSP430F149将通过温度传感器采集温度,所用到的函数有:
    (1)函数名称:ReadTemp,功能:从温度传感器的ScratchPad读取温度转换结果,返回值:读取的温度数值。
    (2)函数名称:uint DolConvert(void),功能:控制温度传感器完成一次温度转换,返回值:测量的温度数值。
3.2 温箱的温度控制
   
在实现温度控制的时候根据PID控制算法,计算出控制量,具体实现过程中所要用到的部分函数如下:
    char Read_Temperature(void)//读取温度
    void delay(unsigned char time)//延时时间以12M晶振为准,延时时间为30us×time
    void write_bit(unsigned char bitval)//写一位数据子程序
    unsigned char read_bit()//读一位数据子程序
    void get_temper()//获取温度子程序
    unsigned int PIDCalc(struct PID*PP,unsignedint NextPoint)//PID计算
    compare_temper()//温度比较处理子程序
    void display()//将占空比温度转化为单个字符显示占空比和测得到的温度
3.3 温度的显示
   
在温度的显示过程中所要用到的函数有:
    Void WriteCommand(unsigned char wdata)//向数码管写入命令;
    Void WriteData(unsigned char wdata)//向数码管写入数据;
    显示温度的函数:
    WriteDataLcd(0x30+ADC_CH0%1 000/100);//显示百位;
    WriteDataLcd(0x30+ADC_CH0%100/10);//显示十位;
    WriteDataLcd(0x30+ADC_CH0%10);//显示个位;
    WriteDataLcd(0x30+ADC_CH0%1);//显示十分位;

4 结论
   
基于单片机MSP430F149的温箱温度采集和控制系统是以单片机为核心的软硬件平台的嵌入式系统。通过使用单片机、PT100温度传感器、数码管显示电路搭建硬件平台,使用IAR Embedded Workbench开发环境,C语言编程实现,设计出了一个基于嵌入式技术的温箱温度控制系统。系统体积小巧,电路连接简单,扩展性良好,可以方便地进行后续开发,增加用户所需功能。从而提高了设备的智能化程度,具有较高的工程实用价值。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0