一种温度控制系统的设计_第1页
一种温度控制系统的设计_第2页
一种温度控制系统的设计_第3页
一种温度控制系统的设计_第4页
一种温度控制系统的设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前言目前关于单片机温度控制的应用已经不断融入我们的生活的方方面面之中,例如工业方面的冶金测温、机房测温、电缆沟测温、高炉水测温等、农业方面的蔬菜大棚、粮仓存储粮食、日常生活中的空调、电风扇等都需要温度控制系统,这些例子足以体现出温度控制系统对于我们日常的生产生活的重要性。所以本次设计设计了一款具有红外控制、测温、报警、模拟升温/降温的温度控制系统。以前主要使用热敏电阻温度传感器测温[1],它输出的电压是随着温度变化而变化、例如一个热敏电阻和一个普通电阻串联、一头接VCC,另一头接GND,中间的电压值就会随着温度的变化而变化,然后通过AD采集芯片把模拟的电压值转化为一个通用的字节或位,把她量化,这样单片机就可以读取到温度值,这种传感器测量精度较低,A/D转换电路复杂,离散性大。而缓慢的温度响应,用起来十分麻烦,而本此设计用到的温度传感器是DS18B20数字型温度传感器,在其中集成了模拟温度传感器、微控制器、相当于把整个模拟温度传感器封装到其中、然后自动把读取到的数据存在RAM当中,然后我们只需要通过引脚与单总线通信协议把温度转化读取出来,而且整个转化的过程都是数字量输入输出,就不需要单片机有AD转换的功能,应用起来十分方便,而且它的体积小、功耗低、抗干扰能力强,且造价低,性价比非常高。其次本次设计多方考虑了用户的需求,比如报警功能,需要时,可以打开报警功能,当环境温度超出设定的阈值时,蜂鸣器就会报警,提醒用户注意当前温度。还设计了按键功能和遥控功能,可以按按键自由调节温度阈值或者遥控远程调节温度阈值,并且加入了步进电机模拟升温降温,当温度超过阈值上限,步进电机顺时针转动模拟升温、温度超过阈值下限时,步进电机逆时针转动模拟降温等功能。用C语言编写程序后使用Proteus软件设计仿真图纸,并且进行测试与调试,证实本设计的思路确实可行。第一章绪论第一节研究背景现如今的科技处于高速发展阶段,社会各个领域都需要具有控制功能的产品,这些产品遍布在社会在各方面,都极大地促进了社会生产力的发展,促进了我国的科学技术和近代化。但是与此同时,随着电子产品不断更新,人们对其的需求量不断增加,其价格也在不断上涨。传统的电子产品已经不能满足当前人们对于电子产品的需求了,因此,电子技术被广泛地运用于电子领域。而电子信息技术则是科技进步的结果。电子资讯科技日新月异。为适应现代科学技术的发展。为了适应社会科技的发展,对智能温控系统的研究也应该有所加深。随着前沿技术的不断发展,单片机也飞速发展,以微型计算机为核心的技术革命浪潮也随之兴起,单片机的应用已经遍布社会工业生产中的各个领域。传统的测温技术费力劳神,而且准确度不高,单片机技术的出现和发展让测温技术和温度控制技术变得简单起来。对于精度要求高,控制速度快等需求,传统的温度测量技术已经不能满足。DS18B20具有很好的应用前景,广泛使用,经常用于微处理器的电压和简单的界面[3]。其中设计为单总线结构使它拥有简单、性价比高的特点。DS18B20的问出传感范围为-55℃~+125℃,而且精度±0.5℃。DS18B20由于其"单总线"特性,能够采用数字方式进行直接传送,与以前相比,其抗干扰性得到了极大的改善。采集出的温度可以直接进行查看,查看模式9~12位数字值可以根据实际需要的需求进行简单的编程程序实现,DS18B20的工作电压范围为3~5V。采用不同的包装形式,可以让系统设计变得灵活和方便。STC89C52被选中作为主要控制芯片。强大的扩展功能的优势,低成本,许多模型和方便的发展,STC89C52迅速占领了中国市场。STC89C52有6至8个中断电源;具有三个16比特(计数)的计时器主频:0~40m;它具有ISP/IAP等功能,比传统的51单片机芯片功能更强大。在许多领域,如工业和农业生产、科研、人民生活等,严格控制和检测的温度是非常重要的。为此,设计了基于单片机的温度控制系统,该系统具有环境温度实时检测和调节的优点[2]。适用于一般工业和农业的场合,具有一定的的实际应用意义。第二节国内外研究现状我国的温度测控技术取得了一些成果,但主要是针对单一环境要素的控制。在我国的温度测控领域中,计算机的应用已经从简单的应用转向了复合的、实际的应用,但是从某些方面来看与外国来比技术水平还有很大悬殊,大部分情况下只能把握比较单一的环境温度。单片机受到关注和欢迎后,近年来不断改进,价格也在逐年下降,因此单片机温控系统将得到广泛发展及其应用前景。近年来,温度监测系统无线收发设备的开发已经相当成熟,但在实际测控中,温度采集具有实时性、数据传输准确性、温度控制与测量等特点。被测物体与传感器之间产生热电势;需要对传感器进行加热或冷却。这样会降低测温准确度和提高能耗。但它也存在着一些缺点:传感元件的响应时间较长,不能直接用来测量热容量和腐蚀性介质等。无接触测温仪不受目标表面辐照的影响,具有较高的测温场精度,适合于测量微小目标的热容,尤其适合于移动目标;其不足之处在于,难以控制温度场,反应速度较慢;测量误差主要来自于设备示值、表面温度等因素。而非接触型测温方法由于其结构简单,成本低廉,易于实现等优点,越来越受到人们重视。但是,非接触测温也存在着一些缺点:受环境干扰大;不能对高温进行精确定位等等。因材施教,根依据不同的测量目标,选择合适的方法来确保测量的准确性。所以,传感器的研究重点逐渐转向非接触型的智能型传感器。随着微电子技术及计算机应用水平的提高,特别是以微处理器为核心的数字信号处理器(DSP)的出现和迅速普及。目前,新型的测温技术正在向模拟、集成化、智能化、网络化发展。九十年代初,我国已开发出首个智能测温装置,但由于采用传统的8位模数转换方式,其测温精度及分辨率均不能满足要求。目前市面上已有一些高精度、高分辨率的9-12位ADC,分辨率在0.0625-50%之间。温度控制系统是温度控制技术中应用最广泛的领域之一,从七十年代开始发展至今已经有了很大进步。随着计算机技术和网络技术的迅速发展,在工业生产中,以单片机为核心的智能控制器得到了广泛的应用。它能实现对各种被控对象进行实时监控,并根据实际需要输出不同形式的信号来达到所需目的。在世界各地,温度测量与控制技术发展迅速的同时,一些国家的温度检测与控制技术也逐渐朝着无人化方向发展。第三节本设计的主要工作内容温度传感器作为整个检测装置中最基本的传感器之一,它的性能好坏直接影响着整个系统能否正常工作和数据的远距离传输,通过DS18B20数字式温度传感器,将测量数据转化成数字信号,输入STC89C52芯片,以提高测量精度。用单片机进行数据的应答,当读取到的温度数据超过所预设的温度范围时,温度控制系统可以自发报警,并且对步进电机进行对应操作,通过模拟升温/降温功能使温度值恢复到预先所设定的范围内,实现自动控制,其中,温度控制系统在读出的温度值小于设置的温度范围时,触发警报,即蜂鸣器,利用单片机实现步进电机的顺时针转动,模拟升温操作;当检测到的温度超过设定值时,温度控制器会触发报警,由单片机将步进电机的逆时针方向旋转。模拟降温操作;当检测到的温度超过设定值时,温度控制器会触发报警,由单片机将步进电机的逆时针方向旋转。蜂鸣器组件与步进马达组件分离;LCD1602是一种低功耗、低功耗的LCD1602LCD显示器。无辐射等特点。本系统还可以通过K1~K4独立按键设置所需温度范围、是否开始报警和控制温度功能。第四节本章小结本章从研究背景、国内外研究现状与本次设计的主要工作内容等出发,通过研究背景可以得出现在社会在方方面面都需要智能温度控制系统,比如在医疗方面的医院、农业方面的蔬菜大棚、粮仓,还有工业生产方面对于温度把控的精确度也是十分关键的,这些内容都表明我国在研究温度控制技术方面需要持续推进,温度控制技术的市场、应用场景与社会意义都非常巨大。最后阐述了本设计的主要工作内容,能够让本文的结构更加清晰。第二章系统总体设计本设计的核心是STC89C52芯片,采用DS18B20数字温度传感器,当采集到的环境温度不在设置的温度阈值内时。蜂鸣器就会出现声音报警信号提醒用户。用户通过独立按键和红外遥控选择自己想要设置的阀值,然后输入需要改变的参数后即可显示出来。DS18B20可以将所测温度数据直接变换为数字信号,并将其传输至微处理器;STC89C52进行一系列处理,即通过比对传感器采集的温度和预先设置的温度范围来判断是否需要进行报警和升温/降温操作,使报警模块工作,并控制步进电机,从而使相应的设备调节室内温度,更改设置的范围,方法如下:本文的研究思路和方法是:预设控制范围:根据人们日常生活习惯所需要的温度,结合当地天气等因素对室内温度的影响确定一个系统的控制范围。DS18B20测温传感器对当前环境温度进行采集,并将采集到的数据发送至微处理器,CPU通过一系列处理后将数字温度值显示在LCD1602显示屏上,并且对此时的温度进一步判断与分析,以便管理员做出相应决策。单片机的控制:单片机根据接收到的温度值及传感器测得的温度值,驱动步进电机按顺时针或逆时针方向转动,从而实现对空调的开启和关闭以及室内温度的调节。温度范围可调节:根据设备的位置、当前环境、当地气候等相关因素,每天室内活动所需的温度会有所不同,所以设计一个按键模块,供用户调节所需温度。系统总体框图如图2.1所示:图2.1系统总流程图第一节系统硬件电路设计一、温度检测模块传感器的选择本文主要对DS18B20传感器进行设计仿真,并重点研究其性能。DS18B20温度传感器与传统温度检测方法相比有着很多优点,例如:灵敏度高,响应快,可靠性好等。同时也可以实现远距离测温,并且在一定程度上解决了高温测量问题。DS18B20应用广泛,可以用在冷冻仓库,存储仓库,机房和电缆线槽内,以及空间狭小的工业设备中,例如:轴瓦、纺织机器、及空调等、可用于各种金属或非金属材料的表面温度测量,如冰箱、冷柜等,中低温干燥箱等小类工业领域测温操控;可应用于家庭/单位用热量计量。它采用了先进的集成电路和电子元器件技术。可靠度高。高灵敏度,低功耗;抗干扰能力强,精度高,使用寿命长,可靠,测量范围广泛[6]。具有广泛的测量范围和较高的分辨率。耐磨耐碰,小巧、易操作、多种包装方式,适合于数码控制的各类空间装置。传感器DS18B20的简介1)引脚图如2.2图所示图2.2DS18B20引脚图2)DS18B20的工作原理从如上图所示,当我们面向传感器剖面时,传感器插针的位置按从左至右排列,这表示传感器与PCB之间有一个连接导线。在电路板上,这个连接线就是用来传输信号和控制电流的。它分为三个部分:即管脚1管脚2和管脚3。引脚1为GND,引脚2为数据DQ,引脚3为VDD。DS18B20内部结构如图2.3所示:图2.3DS18B20的内部结构在ROM中,64比特的序号可以看作是DS18B20的一个地址序号。光刻只读存储器是为了让DS18B20的每一个都有差别,从而可以将多个DS18B20附加到总线上。DS18B20的温度传感器有一个超高速暂存器和一个非易失性EEPROM,用于存储高低温触发TH,TL和配置寄存器[7],该EEPROM用于测定诸如配置寄存器之类的温度和数字变换。结构图如表2.4所示:表2.4寄存器结构图11111R1,R0表示DS18B20的精度。可用在9、10、11或12位的环境中,对应于0.5℃、0.25℃、0.125℃、分辨率为0.0625℃。在图2.5中显示了R0和R1的结构:表2.5R1和R0配置图00s(tCONV/8)01(tCONV/4)10(tCONV/2)10(tCONV)初始状态下的默认精度为12、R0=1和R1=1。在系统运行时,如果需要提高精度,可以通过调整高速缓存来实现。本文给出了一种新方法:用一个16位RAM作为高速缓存器,它具有较高的读写速度和数据存储容量。由九个字节构成的高速临时存储器,它的指派比特如图2.6所示:表2.6高速暂存存储器分配位温度值低位(LSByte)0温度值高位(MSByte)1高温限值(TH)2低温限值(TL)345678当发出温度转换命令(44H)时,在高速暂时存储器中以字节0和1的形式存储转换后的温度值,并且以2字节的形式进行补充[8]。当需要对某一数值进行修改时,将此数据存贮在高速暂存存储器中的相应位置上并按一定规则输出,从而实现了对某一值的任意更改。两个字节的存储,前五个字节的高字节是一个符号比特S,单片机可以从一个单行接口中读出数据,数据格式如表2.7所示:表2.7数据格式图bit7bit6bit5bit4bit3bit2bit1bit02-12-22-3LSByteMSBytebit15bit14bit13bit12bit11bit10bit9bit8SSSSS若测量的温度超过0,则五个比特是0,用0.0625乘以测量值即可求出真实的温度;若温度低于0,则5比特为1,测量结果要用1和0.0625相乘。在表2.8中显示了温度和数据的对应关系:表2.8温度/数据关系11101000025℃110010001+10.125℃0101000100.5℃00000000100000000000-0.5℃0h-10.125℃0h0625℃h55℃hDS18B20的温度读出程序为:重设→SKIPROM指令(0XCC)→启动转换指令(0X44)→延迟→重设→传送SKIPROM指令(0XCC)→发送读内存指令(0XBE)→重复2字节的数据(即温度)→完成.DS18B20温度传感器的原理图如图2.4所示:图2.4DS18B20原理图二、单片机控制模块单片机STC89C52的引脚图如图2.5所示:图2.5STC89C52引脚图内部时钟电路设计如下图所示STC89C52微处理器XTAL1与外晶体振荡器一端相连,XTAL2与其另一端相连[9]。再将一个串行到MCU上电阻R8,并将该电阻接入晶振的正端。当晶振正端的电压为零时,则构成串联的谐振回路。采用晶振方式将C2、C3串联起来,构成了单片机的时钟电路。图2.6本设计所用时钟电路:图2.6单片机时钟电路复位电路设计本系统使用复位按键来进行系统复位,电路图如图2.7所示:图2.7单片机复位电路单片机最小系统电路该微处理器的最小系统包括一个复位电路和一个时钟电路,如图2.8所示:图2.8最小系统电路STC89C52内部结构STC89C52单片机的结构组成如图2.9所示:图2.9STC89C52内部结构三、报警电路模块为了警示用户,本系统设计了一个报警模块,报警方式位声音报警,当温度过高或过低时,首先输出脉冲信号,三极管通过导通和截止,让蜂鸣器开始工作,发出报警信号,从而达到提醒用户的目的。其具体电路图2.10如下图2.10报警电路四、显示模块显示模块用于显示当前温度和所设置的温度范围。LCD1602是一种能够显示ASCII代码标准字符以及其他一些内置的特定字符的字符[11]。它具有低功耗、空间小、显示清晰等优点,而且无需外界驱动电路,显示16x2位的存储空间,5x7的点阵。在图2.11中显示了LCD1602LCD的插脚图:图2.11LCD1602引脚图显示模块电路图如图2.12所示:图2.12显示模块电路图LCD1602一共可以显示32个字符,分两行显示,如图2.13所示图2.13LCD1602实物图引脚图五、按键模块为了保证自然环境和实际生活中的天气对室内温度有很大的影响,系统考虑到手动设置的控制范围不会太多,所以设计时只需要使用几个按钮就可以完成控制范围的设置,因此系统设计了一个手动按键来改变系统所控制的室内温度。该系统采用四个按键,一个为复位键,K1为菜单键,按下K1首先进入设计温度下限的界面,再次按下K1进入设置温度上限,按K2代表温度加,K4代表温度减,可以自由设置温度阈值,当在非设置界面时,按K2控制蜂鸣器与步进电机的开关。按键部分的电路如图2.14所示:图2.14按键模块电路六、步进电机模块步进电动机也叫脉冲电动机,是根据电磁体的最基础原理,采用电磁体的运动方式,通过改变空气间隙磁导,产生电磁力矩。与其他控制目的马达相比,步进马达最大的不同在于,它接受并转换为相应的角度或线性位移的数字控制信号(电脉冲信号),其自身为执行单元,以完成数字图形转换[10]。步进马达精度高,响应快,结构简单,价格低廉,可靠性高,维护方便等优点。特别适用于高速高精度的场合,如精密定位与加工、自动化生产设备以及数控机床等[12]。所以在很多方面都得到了广泛的应用。图2.15显示了混合步进电动机的构成:图2.15混合式步进电机步进电机工作原理:步进电动机的转子一般为永久磁铁,在流经定子绕组时,定子绕组将产生向量磁场。磁场在转子上分布不均匀,在转子上存在一对互相垂直的磁场,这两种磁场的强度与定子的磁场是不同的[13];该定子形成向量场;同时,转子的步距角度也发生了变化。在此过程中产生了一个电脉冲,驱动电动机向前移动一步。角度位移与脉冲的数量和速度呈正相关,而与脉冲的频率呈反比关系。如果在定子上施加电压和电流值相同,则电动机将停止运转;若相反,电动机将继续工作。这种现象叫电磁感应原理。绕组在电机中分布均匀。因此,能够控制电动机的脉冲数目、频率和电动机各个相绕组的通电次序,从而实现对步进电动机的旋转控制[14]。在给定参数下,可以使电动机获得最大转矩和最小损耗。具体如图2.16所示:图2.16混合式步进电机切面图里圈:里面有六个齿轮,依次标注位0~5,由于要旋转,所以叫转子,每一个齿都有一个永久磁铁。外圈:由于要保持不动,因此叫做定子,和步进电动机的壳体是一体的,共有八个齿轮,每一个都有一个线圈。两个直角上的线圈是串连在一起的。也就是说,在4相图中,两个线圈始终处于接通和断开状态,从而构成ABCD[15]。为了电机的正常启动,需要每秒给550个步进脉冲,表2-21中的启动频率P.P.S就表示起动所需的脉冲数量。表格中的减速比率是1:64,表示转子要旋转64次才能完成一次旋转。表2-2128BYJ-48步进电机参数表P.P.S4如图2.17步进电动机控制线路,通过在各相控线上增设三极管,以改善步进电动机的起动性能。通过对以上因素的分析,得出了八节拍的IO控制代码数组:{0xE、0xC、0xD0x9、0xB、0x3、0x7、0x6}图2.17步进电机控制电路七、红外遥控模块设计红外遥控模块是考虑到当用户不方便使用独立按键时,可以通过红外遥控模块直接修改送风系统的温度上下限,以及开启或关闭报警与送风功能。红外遥控是利用红外光进行通讯的设备,本质上是一种通信,把从红外遥控器按下的键码通过红外的方式发送到接收机上,接收机器接收到信号后则知道我们按了哪个按键,可以进行相应的操作,红外遥控是由红外LED将调制后的信号发出,红外LED与普通LED的区别为红外LED发出红外光,而普通LED发出可见光,光出红外光后需要进行调制,经过调制后红外光增强了抗干扰性,然后由专用的红外接收头进行调节输出,红外接收头中包含了一个红外接收管以及一个集成电路,集成电路中又包含放大器、滤波器等,用来进行红外线的解调,我们只需要进行信号的读取即可[16]。通讯方式为单工(只能由发送LED发送,接收头接收)、异步(没有共同的时钟,接收头不知道红外LED什么时候发送)。红外LED协议波长为940nm,此波段的红外光人眼不可见。通信协议标准为NEC标准。这是我国常用的通信协议标准。图2.18从从左到右依次为红外遥控器、红外发送LED、红外接收头。图2.18红外遥控器、红外发送LED、红外接收头硬件电路发送部分:其中包括两个三极管开关、一个红外发光二极管、一个限流电阻,上方是两个串联的三极管开关,只有这两个开关同时打开的时候下方的LED才发光[13]。第一个三极管开关为38千赫兹的调制频率,这个频率代表会一直输入一个38千赫兹的方波,IN口用来接收波形。三极管是低电平导通,所以可以得出当低电平时,LED灯是以38千赫兹的频率闪烁,这么做的好处是自然界中没有以38千赫兹杀闪烁的光,从而提高抗干扰能力,即这就是调制的过程。图2.24红外发送部分电路接收部分:近年来,大部分的红外接收机都是由成品的红外接收机完成的,完成后的红外接收机主要有两种:一种是带金属外壳的红外接收机,一种是塑料包装的[18]。红外线接收机可以将所接收的信号直接进行输出,从而获得所需的高度和高度。由于红外信号发送的很快,每次遥控按键按下会出现很多高低电平,这些高低电平会在几十毫秒内跑完,为了更快的处理,需要把OUT引脚连接到外部中断引脚上,如果产生下降沿,则立马进入中断进行及时处理,由此可以提高即时性。将红外接收头接受的部分进行解码,读取其中的键码值图2.19红外接收电路硬件电路红外接收头引脚功能简介如下:OUT(1脚):对应的红外接收头接收到遥控信号输出的转换信号。连接到单片机P3.2。GND(2脚):接地。VCC(3脚):电源引脚。图2.20为红外信号的调制与解调图2.20调制与解调第二节系统软件设计一、主程序设计系统主程序的工作顺序为:通电以后各个模块初始化,然后DS18B20开始采集环境温度,把采集到的数据传送到STC89C52中,然后将温度信息显示到LCD1602上。然后检测按键模块是否开启报警功能与升温/降温功能。如果已经开启报警与升温/降温功能,且当前环境温度高于或低于设置的阈值,则调用报警模块与步进电机模块。大概流程图如图2.21所示:图2.21主程序流程二、温度子程序设计由于DS18B20的温度传感器内置A/D变换器,因此,在进行温度测量时需要有一小段时间,然后将采集到的温度传输到芯片中。其流程图如图2.22所示:图2.22检测部分的程序流程图三、报警子程序设计把采集到的温度与阈值进行对比,超出阈值时,蜂鸣器开始报警。程序流程图如图2.23所示:图2.23报警子程序流程图四、按键子程序设计硬件方面通过三个按键,扫描子程序提供软件支持。按一次K1为设置温度下限,按两次K1为设置温度上限,K2和K4分别为温度加、温度减,当在非设置温度阈值模式时,按下K2键可以控制蜂鸣器与步进电机的开启与关闭。图2.24按键子程序流程图第三节本章小结通过介绍温度检测模块的硬件电路设计可以知晓温度传感器工作的原理,工作的过程、以及工作的调节,通过介绍单片机控制模块可以得知单片机最小系统是什么,最小系统的组成等。为了实现超出温度阈值报警功能,加入了蜂鸣器模块,并且通过报警电路模块可以知道本系统的报警方式、以及了解什么是蜂鸣器、以及蜂鸣器的工作方式等。为了显示温度信息、温度阈值信息等,使用LCD1602,并介绍相关知识。为了实现设置温度范围设计的功能,加入了按键模块以及红外遥控模块,用户可以使用按键和红外遥控设施温度阈值,通过介绍按键模块和红外遥控模块可以了解到这两个模块的工作原理、如何工作等。最后为了实现模拟升温/降温,采用了五线四相步进电机,通过使用它正传反转的功能,来模拟升温降温,通过步进电机模块可以知道它的工作原理。通过系统软件设计我们可以知道主程序与各个子程序之间的运行流程,也从中可以了解到整个系统是如何运行的。第三章PROTEUS仿真第一节本设计仿真结果采用PROTEUS软件进行仿真,用KEILC51软件编写此设计程序,调试完成后进行编译,生成目标文件,并把文件添加到芯片中,仿真图如下:图3.1仿真图一、仿真设计元器件介绍①LCD1602仿真设计,第一行显示当前温度值,蜂鸣器与步进电机的开关状态,第二行显示当前设置的温度阈值。当进入设置温度阈值状态时候,分别显示设置低温度范围与高温范围的图像,其中左侧连接一个电位器用来调整屏幕对比度。图3.2LCD1602仿真图3.3LCD1602仿真图3.4LCD1602仿真②升温/降温模块,包括ULN2003A和一个四相五线步进电机,其中ULN2003A用来驱动步进电机,它有着500mA额定集电机电流,其中ULN2003的1B-4B与单片机的P1.0-P1.3相连,对应输出的是1C-4C,电机的一根线连接在电源上,另一根线连接在ULN2003A的输出端,可以通过单片机的P1.0口输出高电平控制电机旋转,输出低电源控制电机停止。当温度超出温度范围时,输出一个数据类ULN2003从而实现向步进电机发送一个脉冲,步进电机就开始旋转,其中程序中定义一个变量,当变量改变时步进电机的转动方向也会发生改变。图3.5ULN2003A和步进电机仿真③报警模块仿真设计,这里采用了一块有源蜂鸣器作为报警器,当温度超出设置的阈值时且开启报警模式时,蜂鸣器会发出警。这个蜂鸣器驱动是通过三极管把电流放大然后再驱动蜂鸣器,这样单片机的IO口提供非常少点电流就可以控制蜂鸣器,图3.6蜂鸣器仿真④温度采集模块仿真设计,这里采用了DS18B20元器件作为仿真,可以从图中看到其中VCC连接电源正极,DQ连接单片机P3.7,GND接地,右边显示当前设置的温度,下方有两个按钮可以用来调高或者降低温度。它的作用是用来模拟采集环境温度。图3.7DS18B20仿真⑤红外遥控模块,由于仿真中没有红外遥控器,所以这里使用一个红外接收头和一个红外发射头,还有按键进行模拟。左边的是红外接收头,右侧是红外发射头。其中红外接收的OUT脚接在MCU的P3.2上。图3.8红外接收头与发射头仿真图3.9红外按键仿真⑥单片机最小系统模块,其中包括电源、晶振电路、复位电路。图3.10单片机最小系统仿真第二节仿真案列温度范围温度:10℃~30℃;(1)温度超限①温度低于10℃:检测温度为5℃;仿真结果:LCD显示结果:温度5.0℃;报警模块:蜂鸣器响;步进电机模块:步进电机顺时针转动模拟升温操作。②温度高于30℃:检测温度为35℃;仿真结果:LCD显示结果:温度35.0℃;报警模块:蜂鸣器报警;步进电机模块:步进电机逆时针转动模拟降温操作。第三节程序编写与调试本次程序编写与编译主要使用KEILC51软件,这是一个支持8051微控制器的专业发开工具,支持所有8051系列的芯片。仿真设计使用Proteus软件,当绘制好原理图后,将编译好的目标文件代码调入,就可以在Proteus的原理图中看到模拟的实物运行状态和过程。最后使用STC-ISP烧录软件,将编译好的目标代码烧录到单片机,单片机实物就可以运行了,它支持STC89系列、12C2052系列和12C5410系列的单片机,使用起来十分便捷。第四节本章小结本章描述的是仿真与测试,仿真用的元器件分别有、AT89C51芯片、晶振电路、电源电路、ULN2003A芯片、步进电机、蜂鸣器电路、LCD1602、DS18B20、按键等,并且分别介绍了它们的使用方式,然后通过多次仿真测试证明了系统的稳定性、可行性、准确性,最后编写了仿真测试案例,还介绍了本次系统编写、编译、调试与仿真过程中使用的KeilC51软件、Proteus软件以及、STC-ISP烧入软件等。结语此次设计的是温控系统,这次我收到了大量的知识,在生产时,必须对每一个工作环节进行认真的检查,以保证系统最后的顺利完成。这个项目花了三个多月的时间,从最初的研究,到后来的理论学习,再到最近几天的系统调试,让我的理论和实践能力都得到了极大的提升。该系统的硬件部分主要包括:步进电机模块、板载按键设置模块、报警模块、温度检测模块、红外遥控模块,而软件部分采用C语言编写,充分体现了系统的实时性和灵活性,同时也充分考虑到了用户的需要。该系统具有如下的许多功能:温度显示系统可以不断检测环境温度,并实时显示温度与温度阈值信息。报警当环境温度参数超出设置上限或下限时,将触发报警。自动降温(升温)当系统受到温度影响启动报警后系统会在设定的时间内,自动开启控制系统进行加温和冷却。按键与遥控设置目标温度可以通过板载按键与红外遥控设置温度阈值,控制报警模块与升温降温模块的开关。本次设计的智能温度控制系统最大的重难点是对于温度传感器的原理、结构、应用等各个方面重新学习,以及电路的实现过程和怎么通过单片机来间接地控制。智能温度控制系统具有广阔的市场前景,可以应用在各个生产行业当中。不过,在使用方便上,还有很大的改进余地,以后会继续对智能温控系统进行改进和改进。参考文献[1]袁铭,李浩光,臧可欣,等.基于模糊控制与物联网的智慧水族箱系统设计[J].价值工程,2019,038(017):247-251.[2]朱世勇.基于单片机的温度控制系统设计[J].决策探索(中),2019,No.609(03):61-61.[3]王顺喜,张光杰.畜禽舍温度控制系统设计[J].粮油加工(电子版),1995.[4]韩悦.基于单片机的温度控制系统的设计与实现[J].城市建设理论研究:电子版,2014,000(006):1-5.[5]杨日容[1].基于STM32和手机APP的智能血压计监测系统设计及实现[J].电子技术与软件工程,2019(2):2.[6]李荣学,游少华.机械手单片机控制系统设计[J].制造业自动化,2013(12):56-61.[7]李君霖.基于无线网络的静脉输液监控系统的设计[J].硅谷,2013(21):2.[8]董秀洁,赵程程.基于AT89S52和nRF905的无线遥控系统设计与实现[J].中原工学院学报,2010,21(4):3.[9]张菁.单片机温度控制系统方案的研究[J].上海交通大学学报,2007,41(1):142-144.[10]张开生,郭国法.MCS-51单片机温度控制系统的设计[J].微计算机信息,2005,21(06Z):3.[11]刘军,李建伟,李慧琴.基于模糊PID的通用中档单片机温度控制系统设计[J].科学技术与工程,2007,7(15):3.[12]明德刚.DS18B20在单片机温控系统中的应用[J].贵州大学学报:自然科学版,2006,23(1):5.[13]李晓妮.单片机温度控制系统的设计[J].九江学院学报:自然科学版,2005,20(2):4.[14]卢思祺.MCS-51单片机温度控制系统的设计[J].科技致富向导,2013(17):2.[15]龚红军.单片机温度控制系统[J].电气时代,2002.

附件一、源程序#include<reg51.h>#include"lcd.h"#include"temp.h"sbitK1=P2^4;//按键1sbitK2=P2^5;//按键2sbitK3=P2^6;//按键3sbitK4=P2^7;//按键4sbitK_OUT1=P2^3;sbitbeep=P1^6;sbitENLED=P1^4;ucharstate=0;ucharwar=25;//温度范围低ucharwar2=31;//温度范围高ucharcodezz[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//正转ucharcodefz[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};//反转uintTime=1;//延时时间inttemp;voidLcdDisplay(int);voiddelay(uintms)//延时,用于调速{uintt;while(ms--)for(t=0;t<80;t++);}voidfengming(ucharx)//蜂鸣器{uchari,j;for(i=0;i<200;i++){beep=~beep;for(j=0;j<x;j++);}beep=1;}voidmotor_zz()//正传函数{uinti,j;for(i=0;i<64;i++){for(j=0;j<8;j++){P1=zz[j];delay(Time);}}fengming(60);}voidmotor_fz()//反转函数{uinti,j;for(i=0;i<64;i++){for(j=0;j<8;j++){P1=fz[j];delay(Time);}}fengming(60);}voidDelay10ms(unsignedintc)//误差0us{unsignedchara,b;for(;c>0;c--)for(b=38;b>0;b--)for(a=130;a>0;a--);}voidmain(void){floattp;K_OUT1=0;ENLED=0;tp=Ds18b20ReadTemp();LcdInit();//初始化LCD1602Delay10ms(100);TMOD=0X01;TH1=(65536-2000)/256;TL1=(65536-2000)%256;EA=1;LcdWriteCom(0x88+2);//写地址80表示初始地址LcdWriteData('C');LCDWrite_String(0,1,"FanWei:");LcdWriteCom(0xc2+8);LcdWriteData('-');LcdWriteData('-');tp=Ds18b20ReadTemp();temp=Ds18b20ReadTemp();LcdDisplay(temp);while(1){if(K1==0)//设置温度范围{wa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论