一种基于ADN8831的高性能温控系统的制作方法

文档序号:15163564发布日期:2018-08-14 17:08阅读:879来源:国知局

本专利申请涉及一种可用于激光放大器等对温度稳定性要求较高的小型元件上的温度控制系统。



背景技术:

进入21世纪,人们对信息的需求呈现出爆炸性的增长,几乎是每半年翻一番,各种电子产品越来越多的融入人们的生活。在这样的背景下,信息高速公路建设已然成为世界性热潮,而作为信息高速公路的核心和支柱的光纤通信技术更是成为重中之重。随着智能化时代的到来,人们对于电子产品的性能要求越来越高,超大规模以上集成电路的研究与开发成为电子产品技术的核心。可以说,光通信技术和超大规模集成电路技术是当今信息领域发展的两大重要基石。

光通信系统中,大多数元器件如tof、阵列波导光栅(awg)、掺铒光纤放大器(edfa)、激光器对温度都是很敏感的。好的温度稳定性不仅能带来各器件光学参数的稳定输出,同时也会提高整个通信系统的性能和可靠性。温度的变化虽然给我们的设计来不利因素,但同时在设计过程中也可以利用器件的温度特性,通过对温度进行精确控制来改变元器件特性。并且随着超大规模集成电路先进技术的发展,集成电路器件的的几何尺寸越来越小,元件对散热性及温度控制的要求也越来越高。在此背景下,对于低功耗小型高精度温度控制系统的研究的意义日益凸显。

传统的温控方案有直接数字控制(ddc)、推断控制、预测控制、模糊控制(fuzzy)、专家控制(expertcontrol)、鲁棒控制(robustcontrol)、推理控制等。但随着电子技术的发展,光纤通信与大规模集成电路应用更加广泛,很多光元件与大规模集成电路对温度要求极高,从而对温度控制系统要求精度更高、速度更快,传统的控制方式已经不能满足现在的温度控制要求。如接触器温度控制仪表,其主要缺点是温度波动范围大,由于它主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。

与此同时,越来越多功能强大的高速率单片微型计算机不断出现,使更多先进的控制算法可以实现。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化领域和其他测控领域中广泛应用的器件,在工业生产中成为必不可少的器件。在温度控制系统中,单片机更是起到了不可替代的核心作用。

本发明即为利用stc15f2k60s2单片机作为控制器,结合pid算法制作的一款高性能温控系统,可广泛应用于对温度要求较高的光元件、大规模集成电路等。

stc15f2k60s2是宏晶科技生产的单时钟/机器周期的八位单片机,是高可靠/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成高精度r/c时钟,±1%温飘,常温下温飘±0.6%,5mhz-35mhz宽范围可设置,可彻底省掉外部昂贵的晶振和外部复位电路。3路ccp/pwm/pca,8路高速ad转换,内置2k字节大容量spam,2组高速异步串行通信端口,1组同步串行通信端口spi。



技术实现要素:

本专利申请解决其技术问题所采用的技术方案是:

本发明主要由温度控制模块、温度反馈模块、显示模块和上位机构成,处理器采用宏晶科技的stc15f2k60s2单片机。

本发明的主要特征为:硬件主要由10cm×10cm的正方形双层pcb电路板及焊接在其上的相关元件组成。

本发明温度控制模块:温度控制模块主要由ntc热敏电阻、adn8831及其外部电路与按键控制构成;用户可通过按键设定目标温度,并在lcd1602上显示目标温度;按键为四按键控制,其中按键1为温度控制选择按钮,按键2和按键3分别为温度加减按钮,按键4为温度控制精度选择按钮。

本发明温度反馈模块:电路由lm334恒流源、pt100铂电阻、运算放大电路及dac组成;pt100铂电阻为负温度系数的热敏电阻,在-100℃至100℃区间内,阻值与温度线性系数良好;adc由stc15f2k60s2内置的acc功能实现。

本发明显示模块:显示模块主要由单片机控制lcd1602液晶显示器实现显示功能。在未进行温度设定时,屏幕第一行显示字符串"objtem:+25.0",表示设置的目标温度,第二行显示字符串"crutem:+00.0",表示当前温度。在进行温度设定时,第一行字符串变为"objtem:+25.0set",表示正在设定温度,温度设定完成后"set"自动消失。

本实用上位机:上位机主要负责较为复杂的运算,以便提高系统的速率及稳定性。上位机接收两种来自单片机的数据,第一种为用户的设定温度数据,上位机进行运算后得出该设定温度下adn8831所需的设定电压,并回传单片机。第二种为温度反馈模块采集到的温度信息,上位机处理为摄氏温度值后回传单片机。

本专利申请的有益效果是:

1.采用按键的温度设定大大提高了人机交互性;

2.采用单片机与上位机结合的方式使得运算运算速度与精度极大提高;

3.由于系统与受控器件仅有物理接触,减小了系统应用的受限范围。

附图说明

图1为pcb元件图;

图2为系统硬件实物图;

图3为adn8831单片tec的典型控制电路;

图4为按键电路的原理图;

图5为温度采集电路原理图;

图6为lcd1602液晶显示电路;

图7为系统总体设计框图;

图中:(1)pt100铂电阻,(2)tec半导体制冷片,(3)ntc热敏电阻,(4)lcd1602液晶显示器,(5)rs232端口。

具体实施方式

下面结合实施例和附图详细说明本发明专利申请的技术方案,但保护范围不限于此。

实施例1

参考说明书附图如下:一种基于adn8831的高性能温控系统。

本发明的使用方式为:用户通过按键控制进行目标温度温度的设置,单片机收到温度设定完成的信号后将设定的温度数据通过(5)rs232端口传送给上位机,同时通过(4)lcd1602液晶显示器设定温度。上位机进行数据处理得出adn8831的输入电压值并回传单片机,单片机接收数据后向adn8831输送电压,从而控制(2)tec半导体制冷片加热或降温,实现温度控制。温度采集模块采集到的温度信息传送给单片机后,单片机将数据封装并通过(5)rs232端口传递给上位机,上位机进行数据处理计算出当前温度,并回传单片机,单片机利用lcd1602液晶显示屏进行显示,从而实现温度的实时显示。

本发明的温控电路原理图如图3和图4所示,其中图3为adn8831控制模块,图4为按键控制模块。用户可通过按键设定目标温度,并在lcd1602上显示目标温度。单片机及上位机对数据进行处理后将输出电压传入adn8831的第5脚(in2p)。热敏电阻ntc采集到的温度电压经过放大后输入到adn8831的第6脚(in2in)并,与单片机穿送到第五脚(in2p)的温度设定电压相比较,从而控制tec04903型半导体制冷片加热或制冷。fds8960c为一款mos门驱动芯片,用于驱动tec进行温控。

本发明按键处理采用四按键设计,第一键为设置键,第四键为加减选择键,第二键为个位设定键,第三位为小数位设定键。按键一端与5v稳压电源连接,并在旁路加入一个电解电容进行滤波和紊流,故按键接通时为高电平,断开时为低电平。第一键连接到单片机23脚外部中断(int0)。外部中断设置为下降沿触发,当设置键被按下再复位后,23脚收到一个下降沿,外部中断被触发,开启温度设定模式。第四键连接到单片机第37脚(p2.5),第二键与第三键分别连接到单片机36脚(p2.4)和35脚(p2.3),均由软件设置为下降沿触发。

本发明温度采集电路原理图如图5所示,电路由lm334恒流源、pt100铂电阻、运算放大电路及dac等组成。pt100铂电阻为负温度系数的热敏电阻,在-100℃至100℃区间内,阻值与温度线性系数良好。当lm334恒流源产生的恒定电流通过一端接地的pt100时,在pt100上产生一个与温度呈线性的电压值。将此电压值与基准电压源adr421产生的1v基准电压分别送入差分放大器ina333的正向端和反向端,产生一个温度呈线性的误差电压,将此误差电压送入tlc2312进行模数转换后传递给单片机,完成实时温度的采集。

lm334输出电流的计算公式如公式1,

当电阻r4选取为10k时,输出电流iout=0.0134a。

pt100阻值在-50℃时为80.31欧姆,-50℃时为80.31欧姆100℃时为138.5欧姆,可得出pt100输入端电压范围:

v0=0.0134xrt=(1.076-1.8559)v

adr421基准电压源可提供2.5v稳定电压,若r13选取1.5k,r17选取1k,则ina333的反向输入电压v-为1v。将vo输入ina333的同向输入端,v-输入反向输入端,ina333输出电压计算公式如公式2,

rg电阻选取25k,则输出电压范围为0.38v-4.2945v,符合ltc2314的基准电压范围。

本发明温度显示模块由单片机控制lcd1602实现,lcd1602在本系统中按照传统的接线模式实现8位只读操作。通过对寄存器选择端口rs进行操作可以对显示屏写指令或写数据。为防止出现“鬼影现象”,背光灯电阻选用220欧姆。屏幕对比度调节采用三端滑动变阻器。八位数据线与单片机p0口相连,实现八位并行数据的传送。lcd1602液晶显示器在本系统中接线图如图6所示。

本发明通过lt1181ascw进行ttl电平与rs232电平的逻辑转换,从而实现单电机与计算机的通信。由于单片机与计算机进行双通道通信,所以本设计采用两片lt1181ascw分别与单片机9、10脚和21、22脚相连,并连接到两个rs232接口上。

本发明系统软件由按键模块、pwm模块、串口模块、显示模块、同步串行外围接口(spi)模块和上位机组成。按键模块使用外部中断0(int0),用于实现温度设定。串口模块用于单片机与上位机之间的通信,使用串口1中断(uart1)、串口2中断(uart2)。pwm模块用定时计数器0(t0)作为定时器,实现对adn8831的控制。同步串行外围接口(spi)模块用于温度反馈模块与单片机之间的通信,使用spi中断。中断共分为两个优先级,第一级为串口1中断(uart1)、串口2中断(uart2),第二级为外部中断0(int0)、定时计数器0(t0)、同步串行外围接口(spi)。在高等级中断程序执行时,低级中断申请被忽略。在低级中断执行时发生高级中断申请,先进入高级中断程序,高级中断程序执行完后返回低级别中断的间断点出继续执行。同级中断不可打断正在执行的中断程序。外部中断0(int0)用作实现通过按键的设定温度,为下降沿触发,空闲时为低电平。串口1中断(uart1)和串口2中断(uart2)用作与上位机进行通信,实现高速率、高精度的运算与回传。计时计数器0(t0)工作在计时器模式下,通过t0实现高速pwm,进而实现软件dac。同步串行外围接口(spi)用作tlc2314模数转换芯片与单片机14位的串行通信。

本发明系统软件总体设计框图如图7所示,程序首先对单片机进行初始化并打开各个所需中断源,初始化lcd1602液晶显示屏,然后进入等待模式,当满足中断触发条件后,中断程序向主程序发出中断申请,进入各个中断程序。

系统初始化主要完成对单片机和lcd1602的初始化,在对单片机的初始化中,打开外部中断0(int0)、串口1中断(uart1)、串口2中断(uart2)、定时计数器0(t0)、同步串行外围接口(spi)五个中断源,并进行优先级设置。选择单片机相应寄存器的外部输出管脚,其中串口1(uart1)选择21脚为rxt、22脚为txd,串口2选择9脚为rxt、10脚为txd,同步串行外围接口(spi)选择11脚为同步时钟(sclk),12脚为数据通信口(miso)。lcd1602用两行显示,第一行显示设定温度,默认初始值为25℃,用字符串"objtem:+25.0"作为显示框架。第二行显示当前温度,默认初始值为0℃,用"crutem:+00.0"作为显示框架。在系统初始化结束后,程序进入中断等待状态,系统需要实现的各个功能都在中断子程序中实现。系统初始化程序如程序1。

程序1系统初始化程序

本发明按键处理采用四按键设计,第一键接通到单片机23脚外部中断(int0)。外部中断设置为下降沿触发,当设置键被按下再复位后,23脚收到一个下降沿,外部中断被触发。进入中断后,首先在lcd1602第一行末显示“set”,表示系统正在设置状态。因为中断处理需要一定时间,所以此段程序还可以起到去抖的作用。lcd1602设置完成后循环检测四个按键是否有下降沿发生。程序设定一个加减标志位,来识别当前当的加减状态,检测到加减选择键发生下降沿时,数字标志位取反,加减状态反转。检测到第个位选择键或小数选择键发生下降沿时,程序根据数字标志位的不同,分别对温度设定值加1(0.1)或减1(0.1)。当设置键再次出现下降沿时,退出温度设定,清空“set”标志,向上位机发送设定温度数据。按键处理程序如程序2。

程序2按键处理程序

本发明串口模块用于单片机与上位机之间通信,由于单片机与上位机之间需要进行双通道通信,所以采用uart1与uart2两个串行通信端口。uart1用作单片机与上位机之间设定温度与adn8831控制电压之间的传输,工作于工作方式1,采用定时器2作为波特率发生器,波特率固定为57600。uart2用于单片机与上位机进行实时温度的处理与回传。工作于工作方式2,同样采用定时器2作为波特率发生器,波特率同uart1.。uart1向上位机发送数据时,先检测串口忙标志(busy1)是否空闲,空闲则开始发送数据,若忙则等待,当串口完成一帧数据的发送后,软件将busy1置位为空闲状态然后进行数据发送,uart1发送程序如程序3所示。

程序3urat1发送程序

uart1接收上位机发送的数据时每帧固定为六个字节,第一、第二字节为"te",用于识别每帧数据的开始。第三、第四字节为所要发送的数据,即adn8831的设定电压。当串口在空闲状态下接收到数据后,首先识别是否为字符"t",若是则开始接收数据,若不是则丢弃。数据接收完成后判断第二字节是否为"e",若是则保存数据,交由pwm模块对adn8831进行控制,若不是则丢弃。第五和第六字节为"00",作为每帧的结束标志。uart1接收程序如程序4所示。

程序4urat1接收程序

uart2接收数据时每帧固定为九个字节,第一、第二字节为"te",用于识别每帧数据的开始。第三至第七字节为所要发送的数据,即adn8831的设定电压。当串口在空闲状态下接收到数据后,首先识别是否为字符"t",若是则开始接收数据,若不是则丢弃。数据接收完成后判断第二字节是否为"e",若是则保存数据,交由pwm模块对adn8831进行控制,若不是则丢弃。第八和第九字节为"00",作为每帧的结束标志。与uart1不同的是,uart2每接收一帧数据后要传送送到字符数组crutem,用于lcd1602的显示。uart2接收程序如程序6所示。

程序6uart1接收程序

本发明通过t0定时器软硬结合模拟12位pwm。t0工作于16位自动重载模式,采用51单片机传统的12分频。当进入t0中断后,首先将uart1接收到的温度设定电压volput赋给pwm高电平变量pwm_high,并求出低电平变量pwm_low,并通过判断电压标志位flag来判断此次中断周期内pwm输出为高电平或低电平,并给t0赋相应的初值。通过单片机p3.5口进行pwm输出,p3.5口状态与flag一致。每进入一次t0中断,电平标志位取反。pwm程序如图7所示。

程序7pwm子程序

液晶显示模块主要有三个子程序,lcd_write_char为在指定位置写入一个字符,lcd_write_line为写入整行,字符串长度应小于16,不足则不覆盖。lcd_write_str为指定位置写入字符串。三个子程序可以方便的在工程任何位置调用,极高的提高了程序的灵活性和设计的稳定性。程序如程序8所示。

程序8显示模块子程序

在本发明中,上位机主要负责较为复杂的运算,以便提高系统的速率及稳定性。上位机接收两种来自单片机的数据,第一种为用户的设定温度数据,上位机进行运算后得出该设定温度下adn8831所需的设定电压,并回传单片机。第二种为温度反馈模块采集到的温度信息,上位机处理为摄氏温度值后回传单片机。

对于adn8831设定温度的模拟电压量可由第二章的公式3至7得出,现重抄如下:

rlow=rth@tlow(式3)

rmid=rth@tmid(式4)

rhigh=rth@thigh(式5)

adn8831在温度设定的输入电压计算公式为公式2.5。

在计算出adn8831所需的模拟量后,则可根据stc15fk60s2基准电压为5v得出上位机回传单片机的数字量计算公式8。

对于实时温度的计算可由第二章中式2.6至2.10进行逆运算得出,现整理为公式如下。

最后可得出温度t为:

应当指出的是,具体实施方式只是本专利申请比较有代表性的例子,显然本专利申请的技术方案不限于上述实施例,还可以有很多变形。本领域的普通技术人员,以本专利申请所明确公开的或根据文件的书面描述毫无异议的得到的,均应认为是本专利所要保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1