(精品)基于单片机的智能温控电机系统设计本科生毕业设计

发布时间:2017-08-26 21:28:03   来源:文档文库   
字号:

本科生毕业论文(设计)

题目:基于单片机的智能温控电机

系统统计

电子信息工程学院

学科门类

电子信息工程

指导教师 时晶晶张元明

20150506

随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本论文介绍了基于单片机的温度控制直流电机转速的基本方法,直流电机调速的相关知识以及PWM调速的基本原理和实现方法。重点介绍了基于MCS-52单片机的用软件产生PWM信号以及温度和电机转速的显示方法。对于直流电机速度控制系统的实现提供了一种有效的途径。

本设计论述了一种以两个STC89C52单片机通信为主控制单元,以DS18B20为温度传感器,以软件和L298N芯片实现PWM直流电机调速的温度控制系统。该控制系统可以实时存储相关的温度数据,并显示LCD液晶屏上。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC89C52单片机最小系统,测温电路、直流电机驱动电路、LCD液晶显示电路以及双机通讯模块电路等。系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LCDLED显示程序以及直流电机PWM程序等。

关键词STC89C52DS18B20PWML298显示电路


Abstract

With the rapid development and wide application of computer measurement and control technology, development and application of temperature acquisition and control system based on MCU to improve the control level of the temperature in the production and life to a large extent. This paper also introduces the basic method of DC motor speed control based on single chip microcomputer, the DC motor speed related knowledge as well as the basic principles and implementation methods of PWM speed control. Mainly introduced the display method of MCS-52 MCU software produced by the PWM signal and the temperature and motor speed based on. Provides an effective way for the realization of DC motor speed control system.

The design of two STC89C52 single chip as the main control unit, using DS18B20 as the temperature sensor, the temperature control system of DC motor speed control by software and L298N chip PWM. The control system can real-time storage temperature data, and displayed on the LCD screen. The system design of the related circuit. The system program mainly includes the main program, read the temperature subroutine, the calculation of temperature subroutine, key processing program, LCD, LED display program and the DC motor PWM program.

Key WordsSTC89C52; DS18B20; PWM; L298; display circuit


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) 方案一

由于是测温电路的设计,所以可以用热敏电阻之类的器件。利用它的感温效应,在将随被测温度的变化而产生变化的电压或电流采集过来。并用具有AD 通道的单片机,再进行AD 转换之后,就能用单片机来实行数据处理,之后在显示电路上将被测的温度显示出来。但是,这种设计需要使用到AD转换电路,并且其中还牵涉到了电阻和温度之间对应值的计算。感温电路不仅比较麻烦。而且所采集到的信号进行放大的时候容易受到温度的影响从而出现较大的偏差[7]

(2) 方案二

利用数字式温度传感器DS18B20来进行测量温度。由于它的输出信号全数字化,所以便于单片机的处理和控制,并且还能省去传统测温方法中很多外围的电路。而且它的物理和化学性都很稳定,更加适用于做工业测温。此外它的精确度也很高,在-10 ~85 ℃范围内可以精确到±0.5 ℃。完全满足设计要求。关键DS18B20 的最大的特点之一就是它采用了单总线形式的数据传输。由数字温度传感器DS18B20和单片机STC89C52构成的数字温度计,它能够输出温度信号。如此,温度测控系统就简化了很多。使用52单片机进行温度和电机控制,软件编程的应用空间很大,能通过编程的方式来实现多种的逻辑控制。而且它体积小、硬件实现方便、组合安装简单。既能单独的对多个DS18B20控制,还能够与PC机进行数据通信。

此系统采用STC89C52单片机来控制数字温度传感器DS18B20从而进行实时温度的检测与显示,不仅可以实现快速测量环境温度,还能够根据需要进行设定上下限报警温度的范围。此外这个系统的扩展性也十分强,如它能够在设计的时候加入时钟芯片从而来获取时间数据,达到在温度处理的同时显示时间。从而满足多方面的设计要求。

这样的设计就能够不使用AD转换器,从而不仅能令系统提高精确度,还可以大大节约单片机的系统资源[8]

所以经过上述两种方案的对比,本次设计挑选方案二来作为设计方案。因为方案二与方案一对比,它不仅硬件系统更为简单,并且实现功能却更加强大,而且方案二本身模块化的设计又让它的系统通用性远远高于方案一。所以在最终的对比下选择方案二。

3. 系统硬件的设计

硬件设计器件主要有:MCUDS18B20 LCD1602、四位共阳数码管、L298N、直流电机等硬件系统[9]。以下是对硬件的功能与原理简介。

3.1 MCU的简介

单片机集成了一个完善的中央处理单元。它是由CPURAM存储器、ROM存储器、IO接口,还有可能包括定时计数器、串行通信口、显示电路(LCDLED电路)、脉宽调制电路、模拟转换器等多种电路均集成在了同一个单块芯片之上,从而,构成了一个最小但完善的单片机任务。因此,它的处理功能强。在中央处理单元之中集成了既方便又灵活的专用寄存器,这让人们使用单片机得到了很大的便利。它把微型计算机的主要部件都集成在一块芯片之上,从而让数据的传送距离大大的缩短了,运行的速度加快了,可靠性提高了,抗干扰能力加强了。因为它是属于芯片化的微型计算机,所以每个功能部件在芯片上的布局与结构都得到最优化,使得工作也相对稳定。

52单片机的优势在于它价钱便宜并IO口多且程序存储空间大。所以,在测控系统中,使用52单片机是最为理想的选择。由于单片机是属于最为典型的一种嵌入式系统,因此它是低端控制系统中最佳的器件[10]

单片机的基本结构

1、运算器

运算器是将来自于累加器和数据寄存器的数据进行计算或者逻辑运算。其有两个功能如下:

(1) 执行各种算术运算。

(2) 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。

2、控制器

控制器是协调和指挥整个微机系统的操作。其主要功能有:

(1) 从内存中取出一条指令,并指出下一条指令在内存中的位置。

(2) 对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。

(3) 指挥并控制CPU、内存和输入输出设备之间数据流动的方向。

3主要寄存器

(1) 累加器A

(2) 数据寄存器DR

(3) 指令寄存器IR和指令译码器ID

(4) 程序计数器PC

(5) 地址寄存器AR

3.2 MCU的选择

本系统主要以单片机为设计核心,而市场上单片机主要有51基本型和52增强型。考虑到52型有更强大的功能,ROMRAM有更大的存储空间等优点,同时,52型还兼容51型指令系统。出于对本设计内容的需要,经过综合考虑过后,我们选择单片机STC89C52作为本系统的控制中心。此外,STC89C52具有无法解密低功耗,超低价高速,可靠性强,抗静电,超强的抗干扰力和功能强大等优点[11]

3.2.1 STC89C52的简介

STC89C52是功耗低、性能高CMOS8位微型控制器,拥有8K 在系统可编程Flash。拥有8 CPU 和可编程Flash使得STC89C52控制系统提供使用范围广、有效的方案。基本参数:8K字节Flash512字节RAM32 IO接口,内置三个16 位计数器定时器,一个6向量多级中断结构。当处于空闲状态时,CPU 停止工作,允许RAM、定时器计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz

3.2.2 STC89C52的主要参数

1工作电压:5.5V~3.3V3.8V~2.0V

2工作频率范围:0~40MHz

3通用IO 口(32个),复位后为:P1P2P3 是准双向口弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不加上拉电阻,作为IO口使用时,要加上拉电阻。

4ISPIAP,不需要专门的编程器,可直接通过串口直接烧程序,下载非常的快速。

5具有EEPROM 功能。

63 16位计数器定时器,为T0T1T2定时器。

7 外部中断4路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒。

3.2.3 STC89C52的引脚

STC89C52共有40个引脚,32个外部双向输入输出(IO)端口,316位可编程定时器,2个外中端口,2个全双工串行通信口,2个读写口线。片内振荡器及时钟电路[12]

STC89C52有两种编程方法,既可以按照常规编程,同时又可以在线编程。芯片的引脚图如图3-1所示:

3-1 STC89C52引脚

STC89C52主要引脚功能说明:

VCC(40引脚):电源电压。

VSS(20引脚):接地。

P0端口(P0.0~P0.7)P0口是一个漏极开路的8位双向IO口。

P1端口(P1.0~P1.7)P1口是一个带内部上拉电阻的8位双向IO口。

另外,P1.0口和P1.1还具有引脚功能复用,具体参数见表3-1

3-1 P1.0P1.1引脚功能复用

P2端口(P2.0~P2.7)P2口是一个带内部上拉电阻8位双向IO端口。

在访问外部和16位地址存储器时,P2端口送出高8位地址。在访问8位地址的外部存储器时,P2口引脚上的信息在整个访问其不变。对于Flash ROM编程和校检期间,P2也会接受高位的地址和一些控制信息。

P3端口(P3.0~P3.7)P3是一个带内部上拉电阻的8位双向IO端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4TTL输入。P3端口还具有一些其他复用的功能。如表3-2所示:

RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。看门狗计时之后,RST引脚随后输出具有96个晶振周期的高电

3-2 P3端口的复用功能

平有效。另外特殊寄存器AUXR上的DISRTO位能够使此功能处于无效模式。在DISRTO默认状态下,复位高电平有效。

ALE30引脚):当地址锁存控制信号访问外部程序存储器时,输出脉冲由锁存低8位地址提供。

在大多数情况下,ALE的输出脉冲固定频率为晶振六分之一,具有作为时钟或外部定时器使用的功能。

XTAL119引脚):振荡器反相放大器和内部时钟发生电路的输入端。

XTAL218引脚):振荡器反相放大器的输出端。

单片机的最小系统:指的是用最少的原器件组成的能够工作的单片机系统。就用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-3 DS18B20的管脚图

如上图所示:GND引脚为接地线;DQ引脚为数据输入输出的接口,它经过一个较弱的上拉电阻和单片机相连;VDD引脚为电源接口,它既能够由数据线提供电源,又能够由外部提供电源,范围3.0V~5.5V[14]

DS18B20具体特性如下:

(1) DS18B20采用了单总线技术,可通过串行线,也可通过其他IO口线与微机直接接传感器就能直接输出被测温度值。

(2) DS18B20中的器件都有各自的的序列号。

(3) 在实际的使用中不需要外接其他器件就能测温。

(4) 温度检测范围为-55~+125℃。

(5) 0”功耗待机。

(6) 可自行设定温度报警上下限值。

(7) 能够实现多点连接功能,多个DS18B20能够并联在统一的三线上,完成多点温度测量。

(8) 负压特性,当电源接反时,DS18B20不会烧坏,但不能够测温。

DS18B20内部结构大体是由:64位光刻ROM、非挥发的温度报警触发器THTL配置寄存器高速暂存器4个部分组合而成。

3.3.2 DS18B20的工作原理

按照DS18B20的通讯协议,单片机控制DS18B20要完成温度的转换必须得经过以下几个步骤才能完成:

(1) 读写时都必须对DS18B20完成复位。

(2) 复位成功之后都会送出ROM命令。

(3) 最终会传出RAM命令,这样才能够对DS18B20实现实际控制。

复位时,先得取得单片机对数据线下拉500μs再释放,待DS18B20取到命令信号,等待15~60μs左右后,再发出60~240μs的存在低脉冲,最后主CPU收到此信号表示复位成功。它的工作时序有初始化时序和写时序还有读时序。具体工作方法如图3-43-53-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-7 LCD1602引脚图

1602具有标准的16引脚脚接口,各个引脚功能如下:

1脚:GND为电源地

2脚:VCC5V电源正极

3脚:液晶显示偏压(调节对比度)

4脚:寄存器选择

5脚:RW读写

6脚:使能端

7~14脚:数据总线,与单片机数据总线相连

15脚:背光板电源,串联1个滑动变阻器

16脚:背光板电源地

LCD1602和单片机STC89C52的连接电路非常简单,RSRWEN分别接主控单片机的P3.4P3.5P3.6脚,DB0~DB7接到主控单片机的P0数据接口。VSS端接地,VDD供电,电路如图3-8所示:

3-8 LCD1602液晶显示电路

3.5 电机转速显示模块

LEDLight Emitting Diode)是发光二极管的缩写。LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。LED显示器在单片机系统中应用非常广泛。四位共阳数码管如图3-9图所示:

3-9 四位共阳数码管

常用的LED显示器为8段。每一段对应一个发光二极管这种显示器有共阴和共阳级两种。了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。本设计所应用的就是四位共阳极数码管。

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

3.6 电机驱动模块L298N芯片

本次设计采用的电机驱动为L298N芯片,该芯片的图形如图3-10所示:

3-10 L298N芯片实物图

L298N是一款单片集成的高电压、高电流、双路全桥式电机驱动,设计用于连接标准TTL逻辑电平,驱动电感负载(诸如继电器、线圈、DC和步进电机)。L298N提供两个使能输入端,可以在不依赖于输入信号的情况下,使能或禁用L298N器件[15]使用L298N芯片驱动电机,该芯片可以驱动两台直流电机,也可以驱动一台两相步进电机或四相步进电机,本设计就是让该芯片驱动一台直流电机。

3-11 L298N管脚图

芯片简要说明: 

1驱动芯片:全新原装L298NH桥驱动芯片

2驱动部分端子供电范围VMS+5V~+30V

3、驱动部分峰值电流:2A

4、逻辑部分端子供电范围VSS3.3~5.5V

5、逻辑部分工作电流范围:0~47mA

6、控制信号输入电压范围:高电平4.5~5.5V 低电平0V

7、最大功耗:20W

8、存储温度:-25~+130

L298NENA通道为低电平时候,IN1通道和IN2通道的输入信号是无效的。电机始终处于停止状态。当ENA为高电平的时候IN1IN2的信号输出才是有效的。当IN1输出为高电平而IN2的输出频率为低电平的时候。电机会顺时针转动。当IN1输出为低电平,而IN2输出为高电平时候,电机会逆时针转动。具体功能整理后如下表3-3所示:

3-3 L298N功能表

3.7 直流电机

本设计采用直流电机,直流电机由定子和转子两部分组成。直流电机具有优良的调速特性,调速平滑、方便,调整范围宽泛。直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动[16]。电机转速控制原理图如图3-12所示:

3-12 电机控制系统原理图

3.8 PWM调速原理

脉宽调制(PWM)基本原理:PWM的调速原理是通过调节一个载波周期中的脉冲占空比来调节电机功率而达到调速目的。本设计中,PWM的斩波周期为1ms,那也就是说斩波频率为1KHz,在理论上能达到1‰线性可调,也就是能以0.1%的调节精度来调节PWM占空比。

直流电机PWM调速系统以STC89C52单片机为控制核心,由命令输入模块、LED显示模块及电机驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L298N直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正转反转和急停控制,同时单片机不停的将PWM脉宽调制占空比送到LED数码管完成实时显示[17]

PWM控制技术主要应用在电力电子技术行业,具体包括风力发电、电机调速、直流供电等领域,由于其四象限变流的特点,可以反馈再生制动的能量,对于如今国家提出的节能减排具有积极意义。

3.9 系统硬件原理图

温度采集和检测由主单片机进行控制,并且通过单片机的P2.1P2.2与另外一个单片机进行通信,来控制电机的转速增加和减小,控制原理图如图3-13所示:

3-13 温度控制原理图

电机转速和数码管控制由另一个单片机控制,并且通过P1.3P1.4 和主单片机进行通信。电机转速控制原理图如图3-14所示:

本文来源:https://www.2haoxitong.net/k/doc/919fe163dc36a32d7375a417866fb84ae45cc333.html

《(精品)基于单片机的智能温控电机系统设计本科生毕业设计.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式