基于单片机的智能温控电机系统设计本科生毕业论文_第1页
基于单片机的智能温控电机系统设计本科生毕业论文_第2页
基于单片机的智能温控电机系统设计本科生毕业论文_第3页
基于单片机的智能温控电机系统设计本科生毕业论文_第4页
基于单片机的智能温控电机系统设计本科生毕业论文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、 PAGE35 / NUMPAGES40 本科生毕业论文(设计)题目:基于单片机的智能温控电机系统统计学 院 电子信息工程学院 学科门类 工 学 专 业 电子信息工程 学 号 1308211032 姓 名 郭 标 指导教师 时晶晶/元明 2015年05月06日摘 要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本论文介绍了基于单片机的温度控制直流电机转速的基本方法,直流电机调速的相关知识以与PWM调速的基本原理和实现方法。重点介绍了基于MCS-52单片机的用软件产生PWM信号以与温度和电机转速的显示方法。

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

3、;显示电路 AbstractWith 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

4、 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.Mainlyintroduced the display method of MCS-52 MCU software produced by the PWM signal an

5、d 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 L

6、298N chip PWM.The control system can real-time storage temperature data,and displayed on the LCD screen.The system design of the related hardware circuit and related applications.The hardware circuit mainly includes the STC89C52 MCU minimum system, temperature measurement circuit,DC motor drive circ

7、uit,LCD display circuit, double communication 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 Words:STC89C52; DS18B20; PWM; L298; dis

8、play circuit目 录TOC o 1-3 h u HYPERLINK l _Toc418626449摘要 PAGEREF _Toc418626449 h IHYPERLINK l _Toc418626450Abstract PAGEREF _Toc418626450 h IIHYPERLINK l _Toc418626451目录 PAGEREF _Toc418626451 h IIIHYPERLINK l _Toc4186264521.引言 PAGEREF _Toc418626452 h 1HYPERLINK l _Toc4186264531.1 研究的背景和意义 PAGEREF _T

9、oc418626453 h 1HYPERLINK l _Toc4186264541.2 国外研究现状 PAGEREF _Toc418626454 h 1HYPERLINK l _Toc4186264551.3 本论文设计容 PAGEREF _Toc418626455 h 2HYPERLINK l _Toc4186264562.总体方案的分析与论证 PAGEREF _Toc418626456 h 2HYPERLINK l _Toc4186264572.1 设计任务与要求 PAGEREF _Toc418626457 h 2HYPERLINK l _Toc4186264582.2 设计方案的比较与选

10、择 PAGEREF _Toc418626458 h 3HYPERLINK l _Toc4186264593.系统硬件的设计 PAGEREF _Toc418626459 h 4HYPERLINK l _Toc4186264603.1 MCU的简介 PAGEREF _Toc418626460 h 4HYPERLINK l _Toc4186264613.2 MCU的选择 PAGEREF _Toc418626461 h 5HYPERLINK l _Toc4186264623.2.1 STC89C52的简介 PAGEREF _Toc418626462 h 5HYPERLINK l _Toc4186264

11、633.2.2 STC89C52的主要参数 PAGEREF _Toc418626463 h 5HYPERLINK l _Toc4186264643.2.3 STC89C52的引脚 PAGEREF _Toc418626464 h 6HYPERLINK l _Toc4186264653.3 温度采集模块 PAGEREF _Toc418626465 h 8HYPERLINK l _Toc4186264663.3.1 温度传感器的介绍 PAGEREF _Toc418626466 h 8HYPERLINK l _Toc4186264673.3.2 DS18B20的工作原理 PAGEREF _Toc418

12、626467 h 9HYPERLINK l _Toc4186264683.4 温度显示器模块 PAGEREF _Toc418626468 h 11HYPERLINK l _Toc4186264693.5 电机转速显示模块 PAGEREF _Toc418626469 h 12HYPERLINK l _Toc4186264703.6 电机驱动模块L298N芯片 PAGEREF _Toc418626470 h 12HYPERLINK l _Toc4186264713.7 直流电机 PAGEREF _Toc418626471 h 14HYPERLINK l _Toc4186264723.8 PWM调速

13、原理 PAGEREF _Toc418626472 h 14HYPERLINK l _Toc4186264733.9 系统硬件原理图 PAGEREF _Toc418626473 h 15HYPERLINK l _Toc4186264744.软件设计与系统调试 PAGEREF _Toc418626474 h 16HYPERLINK l _Toc4186264754.1 软件设计主程序流程图 PAGEREF _Toc418626475 h 16HYPERLINK l _Toc4186264764.2 系统仿真软件介绍 PAGEREF _Toc418626476 h 17HYPERLINK l _To

14、c4186264774.3 系统调试 PAGEREF _Toc418626477 h 19HYPERLINK l _Toc4186264784.3.1 Proteus仿真调试 PAGEREF _Toc418626478 h 19HYPERLINK l _Toc4186264794.3.2 系统整体调试与操作 PAGEREF _Toc418626479 h 20HYPERLINK l _Toc4186264805.总 结 PAGEREF _Toc418626480 h 22HYPERLINK l _Toc418626481参考文献 PAGEREF _Toc418626481 h 24HYPERL

15、INK l _Toc418626482致 PAGEREF _Toc418626482 h 25HYPERLINK l _Toc418626483附录 PAGEREF _Toc418626483 h 261.引 言1.1研究的背景和意义随着社会的发展和科技的进步,温度控制系统以与测温仪器已经广泛应用于社会生活的各个领域,尤其是在工业自动化控制中占有非常重要的地位。温度是一个在日常生活和生产过程甚至科学实验中普遍而且重要的物理参数。近年来,人们通过温度计来采集温度,经过人工操作进行加热、通风和降温。从而来控制温度,但是对于这些控制对象惯性大,滞后性严重,而且还存在有许多不定的因素,从而根本难以建立

16、精确的数学模型。这样不仅控制精度低、实时性差,而且操作人员的劳动强度大,并且有许多工业生产环节是人们不能直接介入的。因此智能化已然成为现代温度控制系统发展的主流方向。针对这一种实际情况,设计个温度控制系统,具有非常广泛的应用前景和实际意义1。随着电子信息技术和微型计算机技术的飞速发展。单片机技术也得到了飞速的发展。尤其是在高集成度、高速度、低功耗还有高性能方面取得了巨大的进展。使得单片机在电子产品当中的应用越来越广泛。使用单片机对温度进行控制的技术也油然而生。它不仅可以克服温度控制系统中存在的严重的滞后现象,同时还可以在提高采样频率的基础上很大程度的提高控制的效果和控制的精度。并且随着技术日益

17、发展和完善,相信越来越能显现出它的优越性2。1.2国外研究现状温度控制已经成为一门广泛应用于很多领域。像化工、电力、冶金、石油、机械制造、航空航天、粮食存储、酒类生产等。温度控制系统虽然在国各行各业的应用已十分广泛,但是从温度控制器的生产角度来看,总体的发展水平仍不高。跟美德日等先进国家相比,仍有差距。温度控制和常规的控制器占领了成熟产品的主体份额。但它只可以适用于一般的温度控制系统,难于控制、复杂、滞后、时变的温度控制系统。此外,适合应用控制场合的智能化等仪器仪表,目前在国还没有取得较好的研究成果。并且,一些先进国家虽已经有一批成熟的产品3。可是,由于国外对于先进技术的和国开发起步的滞后,导

18、致至今国还没有开发出一套拥有可靠性能的自主软件。因此大多需要依靠人为的现场调试来确定控制的参数。当下,国外温度控制系统的发展依旧迅速,且在智能化和自适应还有参数自整定等方面均取得了显著的成果。其中以美德日瑞典等国尤为突出,都已生产出了一批商品化且具有高性能的温度控制器与仪器仪表,并在各行各业都有广泛应用。当下,国外温度控制系统与仪表正朝向高精度、智能化、小型化等方面快速发展4。1.3 本论文设计容在本次的设计研究当中,本次设计需要设计一个数字温度计控制的电机。它是由STC89C52单片机为核心,通过DS18B20数字式温度传感器进行温度的采集,再由LCD1602液晶显示器直观的展现出来,根据温

19、度的高低来控制电机的转速。它在正常工作的时候直接显示当前温度,当温度的变化超出或低于所设定的警戒值时,系统就会通过两个通信端口传输到另一个单片机上,从而提醒注意温度变化来控制电机的运转。并且将电机的转速显示在四位共阳的数码管上。通过人为的设置温度警戒值的上下限,来适用于不同场合的需要。由于单片机的工作电压是+5V,而实际生活中并没有直接提供+5V的干电池,所以本次设计就通过外接了一个外设的USB接口。2. 总体方案的分析与论证2.1 设计任务与要求本次设计的硬件部分是以STC89C52单片机为核心,通过DS18B20温度传感器进行温度的测量,根据温度的高低来控制电机的转速。并将测量结果显示出来

20、5。显示电机转速显示温度L298DS18B20STC89C52单片机STC89C52单片机电机显示电机转速显示温度L298DS18B20STC89C52单片机STC89C52单片机电机图2-1系统设计框图首先由DS18B20温度传感器进行采集当前温度,然后传输到STC89C52单片机中,再由LCD1602液晶显示器显示出,当测温超出本次设计预设的警告值时,电机加速旋转并且电机的转速最终控制在一百。当测温低于预设的警告值时,电机减速旋转并且直到电机的转速为零。从而组成一个具有高低温的温度控制电机旋转检测系统,具体系统设计框图如图2-1所示6。2.2 设计方案的比较与选择本次设计有两种方案可供选择

21、。(1) 方案一由于是测温电路的设计,所以可以用热敏电阻之类的器件。利用它的感温效应,在将随被测温度的变化而产生变化的电压或电流采集过来。并用具有A/D 通道的单片机,再进行A/D 转换之后,就能用单片机来实行数据处理,之后在显示电路上将被测的温度显示出来。但是,这种设计需要使用到A/D转换电路,并且其中还牵涉到了电阻和温度之间对应值的计算。感温电路不仅比较麻烦。而且所采集到的信号进行放大的时候容易受到温度的影响从而出现较大的偏差7。 (2) 方案二 利用数字式温度传感器DS18B20来进行测量温度。由于它的输出信号全数字化,所以便于单片机的处理和控制,并且还能省去传统测温方法中很多外围的电路

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

23、行实时温度的检测与显示,不仅可以实现快速测量环境温度,还能够根据需要进行设定上下限报警温度的围。此外这个系统的扩展性也十分强,如它能够在设计的时候加入时钟芯片从而来获取时间数据,达到在温度处理的同时显示时间。从而满足多方面的设计要求。这样的设计就能够不使用A/D转换器,从而不仅能令系统提高精确度,还可以大大节约单片机的系统资源8。所以经过上述两种方案的对比,本次设计挑选方案二来作为设计方案。因为方案二与方案一对比,它不仅硬件系统更为简单,并且实现功能却更加强大,而且方案二本身模块化的设计又让它的系统通用性远远高于方案一。所以在最终的对比下选择方案二。3. 系统硬件的设计硬件设计器件主要有:MC

24、U、DS18B20、 LCD1602、四位共阳数码管、L298N、直流电机等硬件系统9。以下是对硬件的功能与原理简介。3.1 MCU的简介单片机集成了一个完善的中央处理单元。它是由CPU、RAM存储器、ROM存储器、I/O接口,还有可能包括定时/计数器、串行通信口、显示电路(LCD和LED电路)、脉宽调制电路、模拟转换器等多种电路均集成在了同一个单块芯片之上,从而,构成了一个最小但完善的单片机任务。因此,它的处理功能强。在中央处理单元之中集成了既方便又灵活的专用寄存器,这让人们使用单片机得到了很大的便利。它把微型计算机的主要部件都集成在一块芯片之上,从而让数据的传送距离大大的缩短了,运行的速度

25、加快了,可靠性提高了,抗干扰能力加强了。因为它是属于芯片化的微型计算机,所以每个功能部件在芯片上的布局与结构都得到最优化,使得工作也相对稳定。52单片机的优势在于它价钱便宜并I/O口多且程序存储空间大。所以,在测控系统中,使用52单片机是最为理想的选择。由于单片机是属于最为典型的一种嵌入式系统,因此它是低端控制系统中最佳的器件10。单片机的基本结构1、运算器运算器是将来自于累加器和数据寄存器的数据进行计算或者逻辑运算。其有两个功能如下:(1) 执行各种算术运算。(2) 执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。2、控制器控制器是协调和指挥整个微机系统的操作。其主要功能有:(1

26、) 从存中取出一条指令,并指出下一条指令在存中的位置。(2) 对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。(3) 指挥并控制CPU、存和输入输出设备之间数据流动的方向。3、主要寄存器(1) 累加器A(2) 数据寄存器DR(3) 指令寄存器IR和指令译码器ID(4) 程序计数器PC(5) 地址寄存器AR3.2 MCU的选择本系统主要以单片机为设计核心,而市场上单片机主要有51基本型和52增强型。考虑到52型有更强大的功能,ROM和RAM有更大的存储空间等优点,同时,52型还兼容51型指令系统。出于对本设计容的需要,经过综合考虑过后,我们选择单片机STC89C52作为本系

27、统的控制中心。此外,STC89C52具有无法解密低功耗,超低价高速,可靠性强,抗静电,超强的抗干扰力和功能强大等优点11。3.2.1 STC89C52的简介STC89C52是功耗低、性能高CMOS8位微型控制器,拥有8K 在系统可编程Flash。拥有8 位CPU 和可编程Flash,使得STC89C52在控制系统提供使用围广、有效的方案。基本参数:8K字节Flash,512字节RAM,32 位I/O接口,置三个16 位计数器/定时器,一个6向量多级中断结构。当处于空闲状态时,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一

28、切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz。3.2.2 STC89C52的主要参数1、工作电压:5.5V3.3V/3.8V2.0V。 2、工作频率围:040MHz。 3、通用I/O 口(32个),复位后为:P1/P2/P3 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不加上拉电阻,作为I/O口使用时,要加上拉电阻。4、ISP/IAP,不需要专门的编程器,可直接通过串口直接烧程序,下载非常的快速。5、具有EEPROM 功能。 6、共3 个16位计数器/定时器,为T0、T1、T2定时器。7、 外部中断4路,下降沿中断或低电平触发电路,Power Down 模

29、式可由外部中断低电平触发中断方式唤醒。 3.2.3STC89C52的引脚STC89C52共有40个引脚,32个外部双向输入/输出(I/O)端口,3个16位可编程定时器,2个外中端口,2个全双工串行通信口,2个读写口线。片振荡器与时钟电路12。STC89C52有两种编程方法,既可以按照常规编程,同时又可以在线编程。芯片的引脚图如图3-1所示:图3-1 STC89C52引脚STC89C52主要引脚功能说明:VCC(40引脚):电源电压。VSS(20引脚):接地。P0端口(P0.0P0.7):P0口是一个漏极开路的8位双向I/O口。P1端口(P1.0P1.7):P1口是一个带部上拉电阻的8位双向I/

30、O口。另外,P1.0口和P1.1还具有引脚功能复用,具体参数见表3-1:表3-1 P1.0和P1.1引脚功能复用引脚号功能特性P1.0T2(定时器/计数器2)P1.1T2EX(定时器/计数器2捕获/重装触发控制方向)P2端口(P2.0P2.7):P2口是一个带部上拉电阻8位双向I/O端口。在访问外部和16位地址存储器时,P2端口送出高8位地址。在访问8位地址的外部存储器时,P2口引脚上的信息在整个访问其不变。对于Flash ROM编程和校检期间,P2也会接受高位的地址和一些控制信息。P3端口(P3.0P3.7):P3是一个带部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流

31、方式)4个TTL输入。P3端口还具有一些其他复用的功能。如表3-2所示:RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。看门狗计时之后,RST引脚随后输出具有96个晶振周期的高电表3-2P3端口的复用功能引脚号复用功能P3.0RXDP3.1XDP3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的输入)P3.5T1(定时器1的输入)P3.6(写选通)P3.7(读选通)平有效。另外特殊寄存器AUXR上的DISRTO位能够使此功能处于无效模式。在DISRTO默认状态下,复位高电平有效。ALE(30引脚):当地址锁存控制信号访问外部

32、程序存储器时,输出脉冲由锁存低8位地址提供。在大多数情况下,ALE的输出脉冲固定频率为晶振六分之一,具有作为时钟或外部定时器使用的功能。XTAL1(19引脚):振荡器反相放大器和部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输出端。单片机的最小系统:指的是用最少的原器件组成的能够工作的单片机系统。就用52系列单片机来说,最小系统应该包括单片机和晶振电路还有复位电路。如图3-2所示:图3-2 单片机最小系统3.3 温度采集模块温度传感器的种类繁多,但是应用在高精度和高可靠性的场合时,DS18B20温度传感器当仁不让。3.3.1温度传感器的介绍DS18B20数字温度传感器是美国

33、DALLAS公司生产的1-Wire,即单总线器件,它是世界上最早的支持 “一线总线”接口的温度传感器13。它具有体积小、适用电压宽、功耗低、抗干扰能力性能高、配处理器容易等优点,它能够直接将温度转化成串行数字信号(按9位二进制数字)给单片机进行处理,还能在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式。它的温度测量围在-55+125,测温分辨率可达0.0625 ,特别是在-10+85 围之间,精度更能达到0.5 。同样的,DS18B20可编程温度传感器它包含3个管脚。DS18B20的引脚排列图如图3-3所示:图3-3 DS18B20的管脚图如上图所示:GND引脚为接地线

34、;DQ引脚为数据输入/输出的接口,它经过一个较弱的上拉电阻和单片机相连;VDD引脚为电源接口,它既能够由数据线提供电源,又能够由外部提供电源,围3.0V5.5V14。DS18B20具体特性如下:(1)DS18B20采用了单总线技术,可通过串行口线,也可通过其他I/O口线与微机直接接传感器就能直接输出被测温度值。(2) DS18B20中的器件都有各自的的序列号。(3) 在实际的使用中不需要外接其他器件就能测温。(4) 温度检测围为-55+125。(5) “0”功耗待机。(6) 可自行设定温度报警上下限值。(7) 能够实现多点连接功能,多个DS18B20能够并联在统一的三线上,完成多点温度测量。(

35、8) 负压特性,当电源接反时,DS18B20不会烧坏,但不能够测温。DS18B20部结构大体是由:64位光刻ROM、非挥发的温度报警触发器TH与TL、配置寄存器与高速暂存器这4个部分组合而成。3.3.2 DS18B20的工作原理按照DS18B20的通讯协议,单片机控制DS18B20要完成温度的转换必须得经过以下几个步骤才能完成: (1) 读写时都必须对DS18B20完成复位。 (2) 复位成功之后都会送出ROM命令。 (3) 最终会传出RAM命令,这样才能够对DS18B20实现实际控制。 复位时,先得取得单片机对数据线下拉500s再释放,待DS18B20取到命令信号,等待1560s左右后,再发

36、出60240s的存在低脉冲,最后主CPU收到此信号表示复位成功。它的工作时序有初始化时序和写时序还有读时序。具体工作方法如图3-4、3-5、3-6所示。(1) 初始化时序总线上的一切传输过程均是以初始化开始的。主机响应应答脉冲。应答脉冲让主机知道,总线上有从机设备,并准备就绪。主机输出低电平,且保持低电平的时间至少480微秒,从而产生复位脉冲。然后主机释放总线,4.7K上拉电阻将总线拉高,延时1560微秒后进入接受模式,用来产生低电平应答脉冲。如果为低电平,就再延时480微秒。图3-4 初始化时序 (2) 写时序图3-5 写时序 写时序包含写“0”时序与写“1”时序。一切写时序最少要60微秒,

37、并且在两次独立的写时序当中最少要1微秒的恢复时间。两者都是从总线拉低开始。写“1”时序:主机先输出低电平,延时2微秒后释放总线再延时60微秒。写“0”时序:主机先输出低电平,延时60微秒后释放总线再延时2微秒。(3) 读时序图3-6 读时序总线器件只在主机发出读时序的时候,才向主机传输数据。因此,在主机发出读数据命令后,定要马上产生读时序,从而使从机可以够传输数据。一切读时序至少要60微秒,而在两次独立的读时序当中至少需要1微秒的恢复时间。每个读时序均靠主机发起,且至少拉低总线1微秒。主机在读时序的时候一定要释放总线,且在时序开始后的15微秒中采样总线状态。主机输出低电平延时2微秒后主机转入输

38、入模式,再延时12微秒后读取总线当前电平,然后延时50微秒。3.4 温度显示器模块LCD1602可以显示为162的数字和字符容,即能够显示两行,每一行具有16个液晶模块。1602液晶也叫1602字符型液晶。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,LCD1602引脚如图3-7所示:图3-7 LCD1602引脚图1602具有标准的16引脚脚接口,各个引脚功能如下:第1脚:GND为电源地第2脚:VCC接5V电源正极第3脚:液晶显示偏压(调节对比度)第4脚:寄存器选择第5脚:R/W读/写第6脚:使能端第714脚:数据总线,与单片机数据总线相连第15脚:背光板电源,串联

39、1个滑动变阻器第16脚:背光板电源地LCD1602和单片机STC89C52的连接电路非常简单,RS、RW、EN分别接主控单片机的P3.4、P3.5、P3.6脚,DB0DB7接到主控单片机的P0数据接口。VSS端接地,VDD供电,电路如图3-8所示:图3-8 LCD1602液晶显示电路3.5 电机转速显示模块LED(Light Emitting Diode)是发光二极管的缩写。LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。LED显示器在单片机系统中应用非常广泛。四位共阳数码管如图3-9图所示:图3-9 四位共阳数码管常用的LED显示器为8段。每一段对应一个发光二极管这种显示器

40、有共阴和共阳级两种。了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。本设计所应用的就是四位共阳极数码管。LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。3.6 电机驱动模块L298N芯片本次设计采用的电机驱动为L298N芯片,该芯片的图形如图3-10所示:图3-10 L298N芯片实物图L298N是一款单片集成的高电压、高电流、双路全桥式电机驱动,设计用于连接标准TTL逻辑电平,驱动电感负载(诸如继电器、线圈、DC和步进电机)。L

41、298N提供两个使能输入端,可以在不依赖于输入信号的情况下,使能或禁用L298N器件15。使用L298N芯片驱动电机,该芯片可以驱动两台直流电机,也可以驱动一台两相步进电机或四相步进电机,本设计就是让该芯片驱动一台直流电机。图3-11 L298N管脚图芯片简要说明:1、驱动芯片:全新原装L298N双H桥驱动芯片2、驱动部分端子供电围VMS:+5V+30V3、驱动部分峰值电流:2A4、逻辑部分端子供电围VSS:3.35.5V5、逻辑部分工作电流围:047mA6、控制信号输入电压围:高电平4.55.5V 低电平0V7、最大功耗:20W8、存储温度:-25+130当L298N的ENA通道为低电平时候

42、,IN1通道和IN2通道的输入信号是无效的。电机始终处于停止状态。当ENA为高电平的时候IN1和IN2的信号输出才是有效的。当IN1输出为高电平而IN2的输出频率为低电平的时候。电机会顺时针转动。当IN1输出为低电平,而IN2输出为高电平时候,电机会逆时针转动。具体功能整理后如下表3-3所示:表3-3 L298N功能表IN1IN2ENA电机状态XX0停止101顺时针011逆时针000停止110停止3.7 直流电机本设计采用直流电机,直流电机由定子和转子两部分组成。直流电机具有优良的调速特性,调速平滑、方便,调整围宽泛。直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈

43、与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动16。电机转速控制原理图如图3-12所示:图3-12 电机控制系统原理图3.8PWM调速原理脉宽调制(PWM)基本原理:PWM的调速原理是通过调节一个载波周期中的脉冲占空比来调节电机功率而达到调速目的。本设计中,PWM的斩波周期为1ms,那也就是说斩波频率为1KHz,在理论上能达到1线性可调,也就是能以0.1%的调节精度来调节PWM占空比。直流电机PWM调速系统以STC89C52单片机为控制核心,由命令输入模块、LED显示模块与电机驱

44、动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给L298N直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正转反转和急停控制,同时单片机不停的将PWM脉宽调制占空比送到LED数码管完成实时显示17。PWM控制技术主要应用在电力电子技术行业,具体包括风力发电、电机调速、直流供电等领域,由于其四象限变流的特点,可以反馈再生制动的能量,对于如今国家提出的节能减排具有积极意义。3.9 系统硬件原理图温度采集和检测由主单片机进行控制,并且通过单片机的P2.1和P2.2与另外一个单片机进行通信,来控制电机的转速增加和减小,控制原理图如图3-13所示:图3-13 温度控制

45、原理图电机转速和数码管控制由另一个单片机控制,并且通过P1.3和P1.4 和主单片机进行通信。电机转速控制原理图如图3-14所示:图3-14 电机转速控制原理图系统的整体电路图和通信原理图如图3-15所示:图3-15 系统整体原理图4. 软件设计与系统调试本次设计列出了温度检测值与设置的温度值进行对比,主要程序的流程图如图4-1,主程序主要功能为进行温度的实时显示,读出并处理DS18B20测量的当前温度值,温度进行实时的测量。4.1 软件设计主程序流程图系统设计的主要流程图如图4-1所示:NYNY图4-1 程序流程图开始调用初始化子程序液晶显示当前温度判断温度是否超过设定值?判断温度是否低于设

46、定值?超过设定温度,电机 转速增加 低于设定温度,电机转速降低结束4.2 系统仿真软件介绍本设计需用到多种软件,如Keil uVision4软件、Protues软件,而且还需要编写相应的C语言程序,本节简述一下C语言以与各个软件的发展和特点。C语言C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以与不需要任何运行环境支持便能运行的编程语言。而且还在各类科研中运用到了C语言,适于编写系统软件,动画、二维和三维图形,具体的应用比如单片机系统程序以与嵌入式系统开发18。Keil uVision4软件Keil是美国Keil Sof

47、tware公司出品的51系列并且兼容单片机C语言软件开发系统,运行Keil软件可以在Windows XP等多种操作系统环境下运行。如果你使用C语言编程,那么Keil是最好的选择,具有方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil uVision4软件界面如图4-2所示。图4-2 Keil uVision4软件仿真界面Protues软件1、简介:Proteus是英国Lab Center Electronics公司推出的仿真软件。既有其他软件的仿真功能,又能够仿真单片机与外围器件。是国际上目前为止唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三个软件融合在一起的设计台。

48、已广受单片机开发爱好者的亲睐。2、Proteus软件功能:(1) 原理布图(2) PCB自动或人工布线(3) SPICE电路仿真3、Proteus软件特点:(1) 互动的电路仿真:能够实时运用像RAM,ROM,电机,LED,LCD,键盘,部分SPI、IIC器件。(2) 仿真单片机与外部电路:能够仿真51系列、AVR、PIC、ARM等使用较多的单片机。也能够协同显示和输出,直接在虚拟原型上进行编程,这样就可以看到软件运行后输入输出的情况。Proteus软件界面如下图4-3所示:图4-3 Protues软件仿真界面4.3 系统调试4.3.1 Proteus仿真调试在经过对电路的硬件设计与程序设计后

49、,便可以使用Protues对所设计的电路进行仿真设计。首先,先把硬件电路在Protues中连接好,照着设计总电路图连接每一个硬件。其次便程序的编写工作,用C语言来进行编程,程序如附录所示。再用Keil软件把本次设计的源程序转换成目标程序来进行仿真,从而生成*.hex文件。最后在Protues中,把本次设计的程序导入单片机中,便可以进行实时仿真19。4.3.2 系统整体调试与操作(1) 低于设定温度调试时设置的对比温度为34,当低于设置的温度时,电机的转速逐渐降低直到停止。显示如图4-4、4-5、4-6所示:图4-4 温度低于34图4-5 电机转速逐渐减小图4-6 电机转速降为0(2) 高于设定

50、温度调试时设置的对比温度为34,当高于设置的温度时。电机的转速逐渐增加直到100,并且最终转速设定为100。显示如图4-7、4-8、4-9所示:图4-7 温度高于34图4-8 电机转速增加图4-9 电机转速增加至1005. 总 结通过本次毕业设计,使我学到了许多书本上无法学到的知识,也让我深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机产生了更大的兴趣。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:直流电机PWM调速、STC89C52单片机、L298N引脚图与其引脚功能、LED数码管显示、LCD液晶显示等。论文容和格式

51、的修改已经完成,实物焊接和调试已经完成。同时在毕业设计中也存在许多的问题,比如电路的焊接存在的问题,存在虚焊、漏焊和错焊等问题,由于焊接时大部分是用焊锡焊的,存在着电路之间的相互干扰,从而影响电路的稳定。一开始数码管显示错误了,通过自己耐心细致的检查,是由于三极管焊接错误的原因,所用的三级管应该是PNP的,结果我用成NPN的了。经过更换三极管问题得到解决。但是数码管显示时存在闪烁现象很严重,可能是由于程序编写不够合理造成的,经过和同学以与老师的共同修改,基本上已经稳定,但是还存在一些不够完善的地方。两个单片机之间进行通信时由于焊锡焊接的太近,也对电路有一些影响,我又用两根跳线进行连接,结果影响

52、消除了。通过本次科技创新实践,我学到了许多东西,光知道靠书本上的东西是不够的,还需要理论和实践相结合。无论是在硬件还是软件设计上,我都遇到了不少的问题,在克服困难的过程中,我学到了许多,特别是在课堂上学不到的东西如(PWM)。进一步加强了我的动手能力和运用专业知识的能力,从中学习到如何去思考和解决问题,以与如何灵活地改变方法去实现设计方案。同时也让我了解到单片机技术对当今人们生活的重要性。同时这次做毕业设计的经历也使我受益匪浅,让我知道做任何事情都应脚踏实地,刻苦努力地去做,只有这样,才能做好。参考文献1 秀峰, 游雨云. 单片机原理与应用M. : 理工大学, 2011.2 良炳. 现代电力电

53、子技术基础M. : 清华大学, 1995.3 振江. 智能仪器与数据采集系统中的新器件与应用M. : 电子科技大学, 2001.4 Meehan Joanne, Muir Lindsey. SCM in Merseyside SMEs: Benefits and barriersJ. TQM Journal, 2008, (03): 24-35.5 升. 单片机原理与接口技术M. : 机械工业, 2011.6 卢春华. 基于单片机的直流电机调速系统设计J. 硅谷, 2009, (20): 15-18.7 宪, 宋立军. 传感器与测控电路M. : 化学工业, 2011.8 全利, 仲伟峰, 徐军

54、. 单片机原理与应用M. : 清华大学, 2008.9 王文海. 单片机应用于实践项目化教程M. : 化学工业, 2010.10 畅生. 传感器简明手册与应用电路M. :电子科技大学, 2005.11 巧媛. 单片机原理与应用(第二版)M. : 电子工业, 2002.12 王永华. 现代电气与可编程控制技术M. : 航空航天大学, 2002.13 龚红军. 单片机温度控制系统J. 电气时代, 2002, (10): 17-18.14 戢卫平, 胡耀辉. 单片机系统开发实例经典M. : 冶金工业出版, 2006.15 王晓明. 电动机的单片机控制M. : 航空航天大学, 2003.16 泳良.

55、电动童车速度测量系统的研究与实现D. : 大学, 2010.17 浦龙梅, 私. 单片机控制的直流PWM调速装置的研究J. 变频器世界, 2006.18 伟. 单片机C语言程序设计实例100例M. : 电子工业, 2010.19 林志琦. 基于Proteus的单片机可视化软硬件仿真M. : 航空航天大学出版 社, 2006.致 在这次毕业设计中,要特别感时晶晶老师给予的耐心细致的指导,对于在设计过程中所遇到的许多具体问题,她均提出了相应的解决方案。这对于毕业设计的顺利完成起到了十分重要的作用。我选择了这一课题来作为我的毕业设计不仅是对我五年知识的考察,也是对我应用这些能力的考察,我尽力使自己的

56、设计减少错误,但是由于知识和能力的欠缺,这套设计依然不够完善。在硬件设计部分由于设计之初忽略了实际装配问题,导致电机安放位置不够理想,还有温度没能设置实时的刷新,造成温度不能实时的变化,每次温度改变只能通过复位电路来进行刷新。但由于时间的紧迫,加上整套设计的基本定型而未能加以修正。通过本次设计我学到的不仅仅是对单片机一方面的了解,同时也让我熟悉了关于设计的各个方面的流程,学会了把自己在大学期间所学的知识运用到实际工作中的方法。从前总感觉学的许多科目没有实际意义,到现在才觉得以前的专业知识不够扎实,从而给自己的设计过程带来了很大的麻烦。这次设计培养了我的综合能力、自学能力,让我在以后的学习和工作

57、岗位上能够更快的适应。附 录部分设计程序1.电机控制程序#include#define unchar unsigned char#define unint unsigned intunsigned char code dispcode=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x84,0 xff,0 xbf; /显示代码unsigned char dispbitcode=0 xfe,0 xfd,0 xfb,0 xf7;/位选口unsigned char

58、dispbuf4=0,0,0,0;unsigned char dispbitcnt;unint mstcnt;unint i;unint count=0;unchar tp=0;void ledshow();void keyscan();void delay();void just();void turn();void motorstop();void speedup();void speeddown();void main(void)P3_0=1;P3_1=0;dispbuf0=16;TMOD=0 x02;TH0=0 x06;TL0=0 x06;TR0=1;ET0=1;EA=1;while(

59、1)ledshow();/数码管显示keyscan();/键盘扫描/延时10ms程序void delay()unsigned char i,j;for(i=20;i0;i-)for(j=248;j0;j-);/键盘扫描程序void keyscan()unchar temp=0;P1=0 xff;if(P1&0 x1f)!=0 x1f)delay();if(P1&0 x1f)!=0 x1f)temp=P1&0 x1f;switch(temp)case 0 x1e:just();break;case 0 x1d:turn();break;case 0 x1b:motorstop();break;c

60、ase 0 x17:speedup();break;case 0 x0f:speeddown();break;while(P1&0 x1f)!=0 x1f);/数码管显示程序void ledshow()/* P0=dispcodedispbufdispbitcnt;P2=dispbitcodedispbitcnt;dispbitcnt+;if(dispbitcnt=4)dispbitcnt=0; */P2=0 x01;P0=dispcodedispbuf0;for(i=0;i700;i+);P2=0 x02;P0=dispcodedispbuf1;for(i=0;i700;i+);P2=0 x

温馨提示

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

评论

0/150

提交评论