基于单片机的智能温控电机系统统计毕业设计论文.docx
- 文档编号:16971712
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:41
- 大小:493.90KB
基于单片机的智能温控电机系统统计毕业设计论文.docx
《基于单片机的智能温控电机系统统计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能温控电机系统统计毕业设计论文.docx(41页珍藏版)》请在冰点文库上搜索。
基于单片机的智能温控电机系统统计毕业设计论文
摘要
随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
本论文介绍了基于单片机的温度控制直流电机转速的基本方法,直流电机调速的相关知识以及PWM调速的基本原理和实现方法。
重点介绍了基于MCS-52单片机的用软件产生PWM信号以及温度和电机转速的显示方法。
对于直流电机速度控制系统的实现提供了一种有效的途径。
本设计论述了一种以两个STC89C52单片机通信为主控制单元,以DS18B20为温度传感器,以软件和L298N芯片实现PWM直流电机调速的温度控制系统。
该控制系统可以实时存储相关的温度数据,并显示在LCD液晶屏上。
系统设计了相关的硬件电路和相关应用程序。
硬件电路主要包括STC89C52单片机最小系统,测温电路、直流电机驱动电路、LCD液晶显示电路以及双机通讯模块电路等。
系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LCD、LED显示程序以及直流电机PWM程序等。
关键词:
STC89C52;DS18B20;PWM;L298;显示电路
Abstract
Withtherapiddevelopmentandwideapplicationofcomputermeasurementandcontroltechnology,developmentandapplicationoftemperatureacquisitionandcontrolsystembasedonMCUtoimprovethecontrollevelofthetemperatureintheproductionandlifetoalargeextent.ThispaperalsointroducesthebasicmethodofDCmotorspeedcontrolbasedonsinglechipmicrocomputer,theDCmotorspeedrelatedknowledgeaswellasthebasicprinciplesandimplementationmethodsofPWMspeedcontrol.MainlyintroducedthedisplaymethodofMCS-52MCUsoftwareproducedbythePWMsignalandthetemperatureandmotorspeedbasedon.ProvidesaneffectivewayfortherealizationofDCmotorspeedcontrolsystem.
ThedesignoftwoSTC89C52singlechipasthemaincontrolunit,usingDS18B20asthetemperaturesensor,thetemperaturecontrolsystemofDCmotorspeedcontrolbysoftwareandL298NchipPWM.Thecontrolsystemcanreal-timestoragetemperaturedata,anddisplayedontheLCDscreen.Thesystemdesignoftherelatedhardwarecircuitandrelatedapplications.ThehardwarecircuitmainlyincludestheSTC89C52MCUminimumsystem,temperaturemeasurementcircuit,DCmotordrivecircuit,LCDdisplaycircuit,doublecommunicationcircuit.Thesystemprogrammainlyincludesthemainprogram,readthetemperaturesubroutine,thecalculationoftemperaturesubroutine,keyprocessingprogram,LCD,LEDdisplayprogramandtheDCmotorPWMprogram.
KeyWords:
STC89C52;DS18B20;PWM;L298;displaycircuit
1.引言
1.1研究的背景和意义
随着社会的发展和科技的进步,温度控制系统以及测温仪器已经广泛应用于社会生活的各个领域,尤其是在工业自动化控制中占有非常重要的地位。
温度是一个在日常生活和生产过程甚至科学实验中普遍而且重要的物理参数。
近年来,人们通过温度计来采集温度,经过人工操作进行加热、通风和降温。
从而来控制温度,但是对于这些控制对象惯性大,滞后性严重,而且还存在有许多不定的因素,从而根本难以建立精确的数学模型。
这样不仅控制精度低、实时性差,而且操作人员的劳动强度大,并且有许多工业生产环节是人们不能直接介入的。
因此智能化已然成为现代温度控制系统发展的主流方向。
针对这一种实际情况,设计个温度控制系统,具有非常广泛的应用前景和实际意义[1]。
随着电子信息技术和微型计算机技术的飞速发展。
单片机技术也得到了飞速的发展。
尤其是在高集成度、高速度、低功耗还有高性能方面取得了巨大的进展。
使得单片机在电子产品当中的应用越来越广泛。
使用单片机对温度进行控制的技术也油然而生。
它不仅可以克服温度控制系统中存在的严重的滞后现象,同时还可以在提高采样频率的基础上很大程度的提高控制的效果和控制的精度。
并且随着技术日益发展和完善,相信越来越能显现出它的优越性[2]。
1.2国内外研究现状
温度控制已经成为一门广泛应用于很多领域。
像化工、电力、冶金、石油、机械制造、航空航天、粮食存储、酒类生产等。
温度控制系统虽然在国内各行各业的应用已十分广泛,但是从温度控制器的生产角度来看,总体的发展水平仍不高。
跟美德日等先进国家相比,仍有差距。
温度控制和常规的控制器占领了成熟产品的主体份额。
但它只可以适用于一般的温度控制系统,难于控制、复杂、滞后、时变的温度控制系统。
此外,适合应用控制场合的智能化等仪器仪表,目前在国内还没有取得较好的研究成果。
并且,一些先进国家虽已经有一批成熟的产品[3]。
可是,由于国外对于先进技术的保密和国内开发起步的滞后,导致至今国内还没有开发出一套拥有可靠性能的自主软件。
因此大多需要依靠人为的现场调试来确定控制的参数。
当下,国外温度控制系统的发展依旧迅速,且在智能化和自适应还有参数自整定等方面均取得了显著的成果。
其中以美德日瑞典等国尤为突出,都已生产出了一批商品化且具有高性能的温度控制器及仪器仪表,并在各行各业都有广泛应用。
当下,国外温度控制系统及仪表正朝向高精度、智能化、小型化等方面快速发展[4]。
1.3本论文设计内容
在本次的设计研究当中,本次设计需要设计一个数字温度计控制的电机。
它是由STC89C52单片机为核心,通过DS18B20数字式温度传感器进行温度的采集,再由LCD1602液晶显示器直观的展现出来,根据温度的高低来控制电机的转速。
它在正常工作的时候直接显示当前温度,当温度的变化超出或低于所设定的警戒值时,系统就会通过两个通信端口传输到另一个单片机上,从而提醒注意温度变化来控制电机的运转。
并且将电机的转速显示在四位共阳的数码管上。
通过人为的设置温度警戒值的上下限,来适用于不同场合的需要。
由于单片机的工作电压是+5V,而实际生活中并没有直接提供+5V的干电池,所以本次设计就通过外接了一个外设的USB接口。
2.总体方案的分析与论证
2.1设计任务及要求
本次设计的硬件部分是以STC89C52单片机为核心,通过DS18B20温度传感器进行温度的测量,根据温度的高低来控制电机的转速。
并将测量结果显示出来[5]。
图2-1系统设计框图
首先由DS18B20温度传感器进行采集当前温度,然后传输到STC89C52单片机中,再由LCD1602液晶显示器显示出,当测温超出本次设计预设的警告值时,电机加速旋转并且电机的转速最终控制在一百。
当测温低于预设的警告值时,电机减速旋转并且直到电机的转速为零。
从而组成一个具有高低温的温度控制电机旋转检测系统,具体系统设计框图如图2-1所示[6]。
2.2设计方案的比较与选择
本次设计有两种方案可供选择。
(1)方案一
由于是测温电路的设计,所以可以用热敏电阻之类的器件。
利用它的感温效应,在将随被测温度的变化而产生变化的电压或电流采集过来。
并用具有A/D通道的单片机,再进行A/D转换之后,就能用单片机来实行数据处理,之后在显示电路上将被测的温度显示出来。
但是,这种设计需要使用到A/D转换电路,并且其中还牵涉到了电阻和温度之间对应值的计算。
感温电路不仅比较麻烦。
而且所采集到的信号进行放大的时候容易受到温度的影响从而出现较大的偏差[7]。
(2)方案二
利用数字式温度传感器DS18B20来进行测量温度。
由于它的输出信号全数字化,所以便于单片机的处理和控制,并且还能省去传统测温方法中很多外围的电路。
而且它的物理和化学性都很稳定,更加适用于做工业测温。
此外它的精确度也很高,在-10℃~85℃范围内可以精确到±0.5℃。
完全满足设计要求。
关键DS18B20的最大的特点之一就是它采用了单总线形式的数据传输。
由数字温度传感器DS18B20和单片机STC89C52构成的数字温度计,它能够输出温度信号。
如此,温度测控系统就简化了很多。
使用52单片机进行温度和电机控制,软件编程的应用空间很大,能通过编程的方式来实现多种的逻辑控制。
而且它体积小、硬件实现方便、组合安装简单。
既能单独的对多个DS18B20控制,还能够与PC机进行数据通信。
此系统采用STC89C52单片机来控制数字温度传感器DS18B20从而进行实时温度的检测与显示,不仅可以实现快速测量环境温度,还能够根据需要进行设定上下限报警温度的范围。
此外这个系统的扩展性也十分强,如它能够在设计的时候加入时钟芯片从而来获取时间数据,达到在温度处理的同时显示时间。
从而满足多方面的设计要求。
这样的设计就能够不使用A/D转换器,从而不仅能令系统提高精确度,还可以大大节约单片机的系统资源[8]。
所以经过上述两种方案的对比,本次设计挑选方案二来作为设计方案。
因为方案二与方案一对比,它不仅硬件系统更为简单,并且实现功能却更加强大,而且方案二本身模块化的设计又让它的系统通用性远远高于方案一。
所以在最终的对比下选择方案二。
3.系统硬件的设计
硬件设计器件主要有:
MCU、DS18B20、LCD1602、四位共阳数码管、L298N、直流电机等硬件系统[9]。
以下是对硬件的功能与原理简介。
3.1MCU的简介
单片机集成了一个完善的中央处理单元。
它是由CPU、RAM存储器、ROM存储器、I/O接口,还有可能包括定时/计数器、串行通信口、显示电路(LCD和LED电路)、脉宽调制电路、模拟转换器等多种电路均集成在了同一个单块芯片之上,从而,构成了一个最小但完善的单片机任务。
因此,它的处理功能强。
在中央处理单元之中集成了既方便又灵活的专用寄存器,这让人们使用单片机得到了很大的便利。
它把微型计算机的主要部件都集成在一块芯片之上,从而让数据的传送距离大大的缩短了,运行的速度加快了,可靠性提高了,抗干扰能力加强了。
因为它是属于芯片化的微型计算机,所以每个功能部件在芯片上的布局与结构都得到最优化,使得工作也相对稳定。
52单片机的优势在于它价钱便宜并I/O口多且程序存储空间大。
所以,在测控系统中,使用52单片机是最为理想的选择。
由于单片机是属于最为典型的一种嵌入式系统,因此它是低端控制系统中最佳的器件[10]。
单片机的基本结构
1、运算器
运算器是将来自于累加器和数据寄存器的数据进行计算或者逻辑运算。
其有两个功能如下:
(1)执行各种算术运算。
(2)执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
2、控制器
控制器是协调和指挥整个微机系统的操作。
其主要功能有:
(1)从内存中取出一条指令,并指出下一条指令在内存中的位置。
(2)对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。
(3)指挥并控制CPU、内存和输入输出设备之间数据流动的方向。
3、主要寄存器
(1)累加器A
(2)数据寄存器DR
(3)指令寄存器IR和指令译码器ID
(4)程序计数器PC
(5)地址寄存器AR
3.2MCU的选择
本系统主要以单片机为设计核心,而市场上单片机主要有51基本型和52增强型。
考虑到52型有更强大的功能,ROM和RAM有更大的存储空间等优点,同时,52型还兼容51型指令系统。
出于对本设计内容的需要,经过综合考虑过后,我们选择单片机STC89C52作为本系统的控制中心。
此外,STC89C52具有无法解密低功耗,超低价高速,可靠性强,抗静电,超强的抗干扰力和功能强大等优点[11]。
3.2.1STC89C52的简介
STC89C52是功耗低、性能高CMOS8位微型控制器,拥有8K在系统可编程Flash。
拥有8位CPU和可编程Flash,使得STC89C52在控制系统提供使用范围广、有效的方案。
基本参数:
8K字节Flash,512字节RAM,32位I/O接口,内置三个16位计数器/定时器,一个6向量多级中断结构。
当处于空闲状态时,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz。
3.2.2STC89C52的主要参数
1、工作电压:
5.5V~3.3V/3.8V~2.0V。
2、工作频率范围:
0~40MHz。
3、通用I/O口(32个),复位后为:
P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不加上拉电阻,作为I/O口使用时,要加上拉电阻。
4、ISP/IAP,不需要专门的编程器,可直接通过串口直接烧程序,下载非常的快速。
5、具有EEPROM功能。
6、共3个16位计数器/定时器,为T0、T1、T2定时器。
7、外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。
3.2.3STC89C52的引脚
STC89C52共有40个引脚,32个外部双向输入/输出(I/O)端口,3个16位可编程定时器,2个外中端口,2个全双工串行通信口,2个读写口线。
片内振荡器及时钟电路[12]。
STC89C52有两种编程方法,既可以按照常规编程,同时又可以在线编程。
芯片的引脚图如图3-1所示:
图3-1STC89C52引脚
STC89C52主要引脚功能说明:
VCC(40引脚):
电源电压。
VSS(20引脚):
接地。
P0端口(P0.0~P0.7):
P0口是一个漏极开路的8位双向I/O口。
P1端口(P1.0~P1.7):
P1口是一个带内部上拉电阻的8位双向I/O口。
另外,P1.0口和P1.1还具有引脚功能复用,具体参数见表3-1:
表3-1P1.0和P1.1引脚功能复用
引脚号
功能特性
P1.0
T2(定时器/计数器2)
P1.1
T2EX(定时器/计数器2捕获/重装触发控制方向)
P2端口(P2.0~P2.7):
P2口是一个带内部上拉电阻8位双向I/O端口。
在访问外部和16位地址存储器时,P2端口送出高8位地址。
在访问8位地址的外部存储器时,P2口引脚上的信息在整个访问其不变。
对于FlashROM编程和校检期间,P2也会接受高位的地址和一些控制信息。
P3端口(P3.0~P3.7):
P3是一个带内部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
P3端口还具有一些其他复用的功能。
如表3-2所示:
RST(9引脚):
复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。
看门狗计时之后,RST引脚随后输出具有96个晶振周期的高电
表3-2P3端口的复用功能
引脚号
复用功能
P3.0
RXD
P3.1
XD
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0的输入)
P3.5
T1(定时器1的输入)
P3.6
(写选通)
P3.7
(读选通)
平有效。
另外特殊寄存器AUXR上的DISRTO位能够使此功能处于无效模式。
在DISRTO默认状态下,复位高电平有效。
ALE(30引脚):
当地址锁存控制信号访问外部程序存储器时,输出脉冲由锁存低8位地址提供。
在大多数情况下,ALE的输出脉冲固定频率为晶振六分之一,具有作为时钟或外部定时器使用的功能。
XTAL1(19引脚):
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2(18引脚):
振荡器反相放大器的输出端。
单片机的最小系统:
指的是用最少的原器件组成的能够工作的单片机系统。
就用52系列单片机来说,最小系统应该包括单片机和晶振电路还有复位电路。
如图3-2所示:
图3-2单片机最小系统
3.3温度采集模块
温度传感器的种类繁多,但是应用在高精度和高可靠性的场合时,DS18B20温度传感器当仁不让。
3.3.1温度传感器的介绍
DS18B20数字温度传感器是美国DALLAS公司生产的1-Wire,即单总线器件,它是世界上最早的支持“一线总线”接口的温度传感器[13]。
它具有体积小、适用电压宽、功耗低、抗干扰能力性能高、配处理器容易等优点,它能够直接将温度转化成串行数字信号(按9位二进制数字)给单片机进行处理,还能在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式。
它的温度测量范围在-55~+125℃,测温分辨率可达0.0625℃,特别是在-10℃~+85℃范围之间,精度更能达到±0.5℃。
同样的,DS18B20可编程温度传感器它包含3个管脚。
DS18B20的引脚排列图如图3-3所示:
图3-3DS18B20的管脚图
如上图所示:
GND引脚为接地线;DQ引脚为数据输入/输出的接口,它经过一个较弱的上拉电阻和单片机相连;VDD引脚为电源接口,它既能够由数据线提供电源,又能够由外部提供电源,范围3.0V~5.5V[14]。
DS18B20具体特性如下:
(1)DS18B20采用了单总线技术,可通过串行口线,也可通过其他I/O口线与微机直接接传感器就能直接输出被测温度值。
(2)DS18B20中的器件都有各自的的序列号。
(3)在实际的使用中不需要外接其他器件就能测温。
(4)温度检测范围为-55℃~+125℃。
(5)“0”功耗待机。
(6)可自行设定温度报警上下限值。
(7)能够实现多点连接功能,多个DS18B20能够并联在统一的三线上,完成多点温度测量。
(8)负压特性,当电源接反时,DS18B20不会烧坏,但不能够测温。
DS18B20内部结构大体是由:
64位光刻ROM、非挥发的温度报警触发器TH与TL、配置寄存器与高速暂存器这4个部分组合而成。
3.3.2DS18B20的工作原理
按照DS18B20的通讯协议,单片机控制DS18B20要完成温度的转换必须得经过以下几个步骤才能完成:
(1)读写时都必须对DS18B20完成复位。
(2)复位成功之后都会送出ROM命令。
(3)最终会传出RAM命令,这样才能够对DS18B20实现实际控制。
复位时,先得取得单片机对数据线下拉500μs再释放,待DS18B20取到命令信号,等待15~60μs左右后,再发出60~240μs的存在低脉冲,最后主CPU收到此信号表示复位成功。
它的工作时序有初始化时序和写时序还有读时序。
具体工作方法如图3-4、3-5、3-6所示。
(1)初始化时序
总线上的一切传输过程均是以初始化开始的。
主机响应应答脉冲。
应答脉冲让主机知道,总线上有从机设备,并准备就绪。
主机输出低电平,且保持低电平的时间至少480微秒,从而产生复位脉冲。
然后主机释放总线,4.7K
上拉电阻
将总线拉高,延时15~60微秒后进入接受模式,用来产生低电平应答脉冲。
如果为低电平,就再延时480微秒。
图3-4初始化时序
(2)写时序
图3-5写时序
写时序包含写“0”时序与写“1”时序。
一切写时序最少要60微秒,并且在两次独立的写时序当中最少要1微秒的恢复时间。
两者都是从总线拉低开始。
写“1”时序:
主机先输出低电平,延时2微秒后释放总线再延时60微秒。
写“0”时序:
主机先输出低电平,延时60微秒后释放总线再延时2微秒。
(3)读时序
图3-6读时序
总线器件只在主机发出读时序的时候,才向主机传输数据。
因此,在主机发出读数据命令后,定要马上产生读时序,从而使从机可以够传输数据。
一切读时序至少要60微秒,而在两次独立的读时序当中至少需要1微秒的恢复时间。
每个读时序均靠主机发起,且至少拉低总线1微秒。
主机在读时序的时候一定要释放总线,且在时序开始后的15微秒中采样总线状态。
主机输出低电平延时2微秒后主机转入输入模式,再延时12微秒后读取总线当前电平,然后延时50微秒。
3.4温度显示器模块
LCD1602可以显示为16×2的数字和字符内容,即能够显示两行,每一行具有16个液晶模块。
1602液晶也叫1602字符型液晶。
每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,LCD1602引脚如图3-7所示:
图3-7LCD1602引脚图
1602具有标准的16引脚脚接口,各个引脚功能如下:
第1脚:
GND为电源地
第2脚:
VCC接5V电源正极
第3脚:
液晶显示偏压(调节对比度)
第4脚:
寄存器选择
第5脚:
R/W读/写
第6脚:
使能端
第7~14脚:
数据总线,与单片机数据总线相连
第15脚:
背光板电源,串联1个滑动变阻器
第16脚:
背光板电源地
LCD1602和单片机STC89C52的连接电路非常简单,RS、RW、EN分别接主控单片机的P3.4、P3.5、P3.6脚,DB0~DB7接到主控单片机的P0数据接口。
VSS端接地,VDD供电,电路如图3-8所示:
图3-8LCD1602液晶显示电路
3.5电机转速显示模块
LED(LightEmittingDiode)是发光二极管的缩写。
LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。
LED显示器在单片机系统中应用非常广泛。
四位共阳数码管如图3-9图所示:
图3-9四位共阳数码管
常用的LED显示器为8段。
每一段对应一个发光二极管这种显示器有共阴和共阳级两种。
了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
本设计所应用的就是四位共阳极数码管。
LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。
3.6电机驱动模块L298N芯片
本次设计采用的电机驱动为L298N芯片
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 温控 电机 系统 统计 毕业设计 论文