基于at89s51控制的电机调速设计说明

上传人:痛*** 文档编号:98292987 上传时间:2022-05-29 格式:DOC 页数:47 大小:669KB
收藏 版权申诉 举报 下载
基于at89s51控制的电机调速设计说明_第1页
第1页 / 共47页
基于at89s51控制的电机调速设计说明_第2页
第2页 / 共47页
基于at89s51控制的电机调速设计说明_第3页
第3页 / 共47页
资源描述:

《基于at89s51控制的电机调速设计说明》由会员分享,可在线阅读,更多相关《基于at89s51控制的电机调速设计说明(47页珍藏版)》请在装配图网上搜索。

1、 . . . 摘 要随着数字技术的迅速发展,微控制器在社会的各个领域得到了广泛的应用,由于数字系统有着模拟系统所没有的优势,如抗干扰性强、便于和PC机相联、系统易于升级维护。本毕业设计的主要容是根据仓库的温度调节排气扇的转速从而达到控制仓库温度的作用,同时本系统还要实现将仓库的温度和电机的转速传送到控制室的PC机上,方便工作人员对仓库的温度和情况进行远程监控。本设计利用数字测温计DS18B20测温、用市场上常见的AT89S52单片机作为控制器、采用易于和数字系统连接的PWM波调速、用MAX232实现TTL电平和RS232电平之间信号的转换。整个系统采用的都是数字芯片,因此系统工作稳定,升级维护

2、方便。关键词:数字系统;DS18B20;AT89S52;PWM调速;AbstractWith the rapid development of digital technology, micro-controller in all areas of society have been widely used.Because digital system has many advantages which analog system does not have,such as strong anti-interference,simple interface with the PC,easy u

3、pgrade and maintenance for system.The main content of graduation project is that the system itself controls the speed of the DC motor according to the temperature of the warehouse.Thus we achieve to control the temperature of the warehouse.At the same time,this design would also like to send the spe

4、ed and temperature to PC in order to achieve Remote Control. Taking into account of the advantages of digital system,this design is almost consist of digital chips,such as digital thermometer chip DS18B20,readily available microcontroller AT89S52,TTL/RS-232 level converter chip MAX232 and digital pw

5、m controller.Therefore the system is stable, easy to upgrade and maintain.Keywords: digital system; DS18B20; AT89S52; PWM;目 录摘要IAbstractII1 引言11.1 研究背景11.2 课题研究意义22 系统概述42.1 系统结构图42.2 系统原理简介52.2.1主控制器工作原理52.2.2 显示电路原理63 各模块的分析、计算与硬件电路设计73.1 PWM发生器模块73.1.1 AT89S52单片机介绍73.1.2PWM发生器原理93.1.3PWM波程序设计103.

6、2 串行通信模块123.2.1 MAX232芯片简介123.2.2 下位机程序设计133.2.3 上位机设计143.3 测温电路153.3.1 DS18B20简介153.3.2 测温电路设计183.4 电机模块设计203.4.1 L298芯片驱动电路设计203.4.2 测速电路设计224 PROTEUS软件仿真235 总结与展望27致28参考文献29附录程序流程图30附录源程序32附录电路图4344 / 471 引言1.1 研究背景随着现代生产技术的不断改进发展,企业工厂的生产能力已远远大于市场的消费能力,另外许多商品在生产和消费之间都存在着时间间隔与地域差异,因此为了调整商品在生产和消费之间

7、的时间、地域错位,几乎各个企业设置了自己的仓库将商品储存于其中,很好的解决了这一问题。仓库还有一个重要的作用就是商品在入仓库这一环节,工作人员可以对即将进入市场的商品在仓库进行检验,防止质量不合格或质量低下的商品进入市场,从而可以最大限度的保护本企业的名誉。但设置仓库也有其不利的一方面,最明显的就是增加了商品的成本,最重要的是如果仓库的管理不善,那么储存的商品极易变质,从而给企业带来巨大的损失,由此可以看出仓库对于一个现代企业来说是必不可少的。目前来说对于仓库管理的研究主要集中在两个方向:其一,如何尽最大限度的降低仓库的运行成本从而降低商品的成本,增强企业的市场竞争力;其二,如何保证仓库储存商

8、品处于相对静止状态时不发生物理、化学变化,保证储存商品的质量。本毕业设计主要就是从这两点展开的。防潮、防霉、防腐、防爆是仓库日常工作的重要容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库温度的控制工作。对于仓库温度的控制可以说有多种方法如通风、保温、制冷等措施,但其中最为普遍、简单的措施就是通风。所谓通风就是利用库外空气温度不同而形成的气压差或借助于排气扇,使库外空气形成对流,来达到调节库温湿度的目的。库外温度差距越大或排气扇转速越大,空气流动就越快;若库外有风,借风的压力更能加速库外空气的对流。但风力也不能过大(风力超

9、过5级,灰尘较多)。正确地进行通风,不仅可以调节与改善库的温湿度,还能与时散发商品与包装物的多余水分。正如文中所说的那样,通风一般有两种措施:其一,利用自然地气压差就行通风,对于要求不高的仓库这是可以的,但对于要就稍微高一点的仓库靠自然通风是决对不行的;其二,就是靠排气扇,即电动机带动的风扇就行通风。这种方法可以人工控制电机的转速从而控制通风的强度,且可以在任何需要通风的地方安装排气扇,效果明显、与其它方法相比成本最低,此种方法在各种仓库中得到广泛应用。而现在的大部分仓库的排气扇控制系统都是开环的,需要人工进行控制,反应比较慢。造成了不必要的电能浪费。本设计就是根据此问题对仓库的排气扇控制系统

10、进行了改进,通过测量仓库的温度来控制排气扇的转速,以控制仓库的通风的强度。由于其可以根据实际需要控制电机转速,因此避免了不必要的电能浪费,降低了仓库的成本,具有非常强的实际应用性。1.2 课题研究意义随着科学技术的进步,科技成果越来越迅速地应用于社会生活中,为人类提供新的认识外部世界和自身的途径,带来巨大的利益和效益,深刻影响着人类的生存方式。特别是近四十年来电子计算机的发展经历了从电子管、晶体管、中小规模集成电路到大规模集成电路这样四个阶段,尤其是随着半导体集成技术的飞跃发展,七十年代初诞生了新型的电子计算机微型计算机,使得计算机应用日益广泛,而单片微型计算机的问世,则更进一步推动了这一发展

11、趋势,使计算机应用渗透到各行各业,达到了前所未有的普与程度。在国由于单片机具有功能强、体积小、可靠性好、价格低廉等独特优点,因此,在智能仪器仪表、工业自动控制、计算机智能终端、家用电器、儿童玩具等许多方面,都已得到了很好的应用,因而受到人们高度重视,取得了一系列科研成果,成为传统工业技术改造和新产品更新换代的理想机种,具有广阔的发展前景。本文就是针对目前的仓库排气扇控制系统大多数是模拟系统,虽然其技术成熟,但其致命的弱点就是不利于和最新的数字控制器结合,从而给整个仓库管理系统的升级带来了很大的不便,且其也不便与和PC上位机进行通信,以实现系统的远程监控,从而减少工作人员的工作量。另外在目前的电

12、机调速系统中,尽管交流电机在调速控制领域取得了飞速的发展,在许多领域取代了直流电机,但直流电机的控制技术最为成熟,且和交流电机相比其调速系统更为方便,最重要的还是其调速系统成本远远低于交流电机,虽然直流电机在高速运转时会出现一系列问题,但仓库排气扇的转速和高速相比要低的多,故不必考虑这一问题,因此本设计中的排气扇采用的就是直流电机。传统的直流电机调速方法很多,如调压调速、弱磁调速等,它们存在着调速响应慢、精度差、调速装置复杂的缺点。目前随着电力开关半导体器件的发展,直流电机脉宽调制(PWM)直流调速技术得到了飞速发展,它具有的调速精度高、响应速度快、调速围宽和耗损低等特点,使它成成为直流电机应

13、用的主要调速方式。本文所要讲的就是基于市场上比较常见且价格便宜的AT89S52单片机所设计的。利用价格只有几块钱的单片机来产生PWM波,其整体设计是在单片机里完成的因此系统升级、修改更加方便。2 系统概述2.1 系统结构图本毕业设计采用模块化设计思想,整个系统由五大模块组成,分别是PWM波模块、电机模块、测温模块、显示模块、测速模块。各个模块之间的关系如结构图2-1所示。单片机AT89S52(速度的测量计算异步串行口通信与系统控制)LCD显示测温模块上位机(即PC机)按键以与工作状态指示灯单片机的T0定时器和T2定时器用来产生PWM波电机驱动电路L298直流电机速度采集电路 霍尔传感器图2-1

14、 系统结构图本设计的工作原理是,首先由测温电路每隔一秒测一次仓库的实际温度,再利用单片机将此温度储存起来:一方面传给LCD和上位机显示;另一方面要对位读数据进行判断。电机的调速方式有三种:按键调速、上位机调速和根据温度自动调速。现假设系统工作在方式三,且不妨设将温度数据储存在名字为wendu的存中,当wendu0(摄氏度,后面的不作说明默认即为此)时,说明仓库温读较低,不需要降温,因此关闭电机,省电,当0wendu20时,电机低速运转即可,当20wendu50时说明仓库温度过高,电机全速运行,最大限度的通风。电机的调速方式可以通过按键调节,默认的是调速方式三。另外系统还设了加速键、减速键,当然

15、其只有系统工作在调速方式一时在起作用,系统中还有转向、工作模式调节键,这写功能也可以在上位机上直接实现。设计中为了使工作人员更好的操作系统,设置了四个工作状态指示灯,正转、反转、转向以与工作模式指示灯。系统中还把电机的转速测了出来并且显示出来,以监视电机是否工作正常。2.2 系统原理简介2.2.1主控制器工作原理下面将对结构图中的各个模块作一简单介绍以对本设计有一个大致的了解。如图2-1系统结构图中所示本设计主要利用了单片机AT89S52以下三个资源:其一,利用52单片机的定时器T0和T2来产生PWM波,这里没有采用定时器T1的原因是定时器T1要用来作为单片机异步串行通信口的波特率发生器,且T

16、2口的16位计时器可以利用RCAP2H、RCAP2L实现自动重装,一方面是软件设计变得简单,另一方面使得定时器的定时误差降低。具体怎样利用T0和T2产生PWM波将会在后面的章节中详细讲解;其二,利用单片机自身携带的异步串行通行口P3.0(TXD)和(P3.1RXD)和上位机(PC)进行通信,在本系统中将串行口设置为工作方式1,波特率为9600,通过RS-232串口座(9针)与上位机相连。经过实际硬件检验,其通信效果非常好;其三,采用单片机的外部中断0(P3.2)对霍尔传感器传过来的脉冲进行计数,并且通过部的数据处理程序来计算出电机的转速,然后将转速数据送到LCD显示器和上位机。当然了单片机在本

17、系统中还起其它着重要作用,如对温度传感器的驱动控制、大量的数据处理以与做出一些逻辑判断控制电机的转速等功能。由于在后面的章节中还会详细阐述在这里不再详述。2.2.2 显示电路原理设计中的显示部分采用两种方案:LCD1602和上位机显示。LCD1602主要是为了方便工作人员在现场查看以与现场维修调试系统时查看系统工作是否正常,这里使用的LCD1602用5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,置含128个字符的ASC字符集字库,只有并行接口,无串行接口,操作方便、简捷,在实际应用中其显示的容清晰、美观。上位机显示主要是为了方便控制室的操作人员进行远程检测仓库的温度状况和系统

18、工作情况。本设计的单片机与PC机通信采用的是RS-232协议,这是因为计算机的串口为RS-232电平。RS-232协议用的是负逻辑电平,其中高电平为-12V,低电平为+12V。而单片机用的是TTL电平,其高电平时+5V,低电平为0V。因此二者不能直接通信,本设计用的是常用的TTL/COMS和RS-232电平转换芯片MAX232,其操作简单,性能稳定,后面的章节中会给出其具体的用法,在这里不再详述。系统中所用到的测温装置用的是集成数字测温芯片DS18B20该芯片效率高,具有较强的稳定性和灵活性,且其采用1wire技术使其和单片机的接口大大简化,节约了单片机的I/O口。系统中的电机驱动模块才用L2

19、98芯片,其部实际上集成了两个H桥电路,使用方便,性能稳定,电机的测速电路采用的是霍尔传感器,霍尔传感器本身已带有滤波电路,所以外部就不用再加了。系统中还设置了四个按键四个工作状态指示,按键有加速键、减速键、换向键和工作模式转换键,工作指示灯由LED发光二极管组成,分别为正转指示灯、反转指示灯、自动调速指示灯和手动调速指示灯。3 各模块的分析、计算与硬件电路设计3.1 PWM发生器模块脉宽调制(PWM)调速是利用数字输出对模拟电路进行控制的一种有效技术,目前它在数字系统中是应用最多的调速方案,这是因为除了PWM技术容易与数字控制器相联接这一优点外,它在对电机的转速控制方面,可大大节省能量,PW

20、M 具有很强的抗噪性,且有节约空间、比较经济等特点,而模拟控制电路有以下缺陷:模拟电路容易随时间漂移,会产生一些不必要的热损耗,以与对噪声敏感等。而在用了PWM技术后,避免了以上的缺陷,实现了用数字方式来控制模拟信号,可以大幅度降低成本和功耗。目前市场上有很多专用的PWM发生芯片,虽然其性能稳定、操作方便,但是像这种芯片价格一般都比较贵,所以本设计采用价格便宜的单片机来作PWM发生器。用单片机来做PWM发生器的优点是明显的:其一,系统设计成本大大降低;其二,单片机也是本系统的中心控制芯片,将PWM发生器模块设计在中心控制芯片,不仅简化了系统的接口,而且使控制器更容易控制PWM波。由于本设计是利

21、用单片机AT89S52的资源来产生PWM波,故在对PWM波产生的原理介绍之前,应该先介绍一下AT89S52芯片。3.1.1 AT89S52单片机介绍AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在线可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在线可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,3

22、2 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片晶振与时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM容被保存,振荡器被冻结,单机一切工作停止,直到下一个硬件复位为止。图3-1就是在实际应用中常用的引脚图。图3-1 AT89S52引脚图AT89S52部集成了很多资源,鉴于网上有很多这方面的资料,在这里不再一一详述,本文只对设计中用到的资源展开叙述。 AT89S52部设有三个16位可编程的定

23、时器/计数器,简称定时器0、1、2,分别用T0、T1和T2来表示。它们的工作方式、定时时间、量程、启动方式等均可以通过程序来设置和改变。其中定时器T0和T1的用法一样,其部由特殊功能寄存器TCON、TMOD以与T0、T1组成。其中TMOD为模式控制寄存器,主要用来值定时器/计数器的工作模式;TCON为控制寄存器,主要用来控制定时器的启动和停止。两个16位的工作寄存器T0、T1是定时器/计数器的核心,它们均可分成2个独立的8位计数器即TH0、TL0、TH1和TL1,均是加1的计数器。加1计数器的脉冲有两个来源,一个是外部脉冲源,另一个是系统时钟振荡器。计数器对两个脉冲源之一进行输入计数每输入一个

24、脉冲,计数值加1。T2定时器和T0、T1的用法有所不同,并且具有除了定时、计数的功能外还有捕捉、时钟输出这些额外功能。本设计中只用到了其定时器功能,它的主要控制寄存器是T2CON。 单片机中的串行接口是一个全双工通信接口,即能同时进行数据的发送和接收。它可以作UART(通用异步接收和发送器)用,也可以用作同步移位寄存器,其帧格式和波特率均可通过软件编程设置。本设计中串行口工作在UART方式,即工作在方式1。方式1为10位数据,一个起始位、8个数据位和一个停止位,波特率可以改变(由定时器T1的溢出频率决定,并可由SMOD加倍)。对其的控制主要在控制寄存器SCON和PCON。 单片机有2个外部中断

25、口INT0和INT1,其中断请求信号分别由P3.2、P3.3引脚输入,可选择低电平有效或下降沿有效(分别由IT0和IT1设置)。中断的控制分别由中断请求标志寄存器TCON、SCON,中断允许寄存器IE,中断优先级寄存器IP。3.1.2 PWM发生器原理在介绍如何用52单片机产生PWM之前,先向大家简单介绍一下PWM调速原理。图3-2PWM波图3-2即为单片机产生的PWM波,现不妨设方波高电平的时间为,低电平的时间为,且设PWM波的周期为T,易得T=+。我们定义为占空比, (3-1)则PWM波输出的平均电压,其中为高电平的电压,通过调节占空比,即可达到调节平均电压U的目的,从而实现调压调速。从上

26、面的介绍中我们很容易得出产生PWM波的两个重要参数:方波周期T和高电平时间,显然。我们只要利用单片机来控制这两个参数就可以产生想要的PWM波。脉宽调制的方式有三种:定频调宽、定宽调频和调宽调频。本设计采用了定频调宽方式上面介绍的PWM调速原理也就是基于此种方式,采用这种方式的优点是电动机在运转时比较稳定,并且在采用单片机产生PWM脉冲的软件实现上比较方便。对于实现方式则有两种方案。方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。方案二:采用软件延时方式,这一方式在精度上不与方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直

27、流电机,采用软件延时所产生的定时误差在允许围。本设计定时器并没有被占用,因此采用方案一。3.1.3 PWM波程序设计设计中用到的定时器为T0、T2,T1用来控制串口的波特率。由于T2定时具有16位自动重装功能,因此将其作为周期T的计数,设计中设定PWM波的周期T=10ms,晶振采用的是11.0592MHZ,晶振频率的选择主要是依据串口而定的,只有选择这样大小的晶振,串口波特率的计算结果和实际值的误差才会是0。为了达到10ms计时,只需将寄存器TH2、RCAP2H初始化为0xdc,寄存器TL2、RCAP2L初始化为0x00即可,T2寄存器有多种工作方式,为了使其工作在自动重装模式只需将T2控制寄

28、存器初始化为0x00即可。这样当T2开始计数后,一旦计时到0xffff,RCAP2H RCAP2L的值会自动重装到TH2 TL2,并且会在其中断程序中,将脉冲输出口clkz(若反转为clkf)清零,且启动定时器T0。T0用来控制何时将clkz置为高电平,当T0口溢出时进入中断,关闭clkz=1、关闭T0,也就是说T0的计数初值越大,其进入中断的时间就越早,从而clkz高电平的时间就越长即占空比越大。对T0的初始化为TMOD=0x21、TH0=pwmh、TL0=pwml,pwmh、pwml为T0计时初值根据情况而定。图3-3即为PWM波程序的流程图。NYYYN开始设置定时计数器达到上限保持0xf

29、f减小计数初值减小脉宽保持下限增加计数初值增加脉宽NYN达到下限结束图3-3 PWM波流程图3.2 串行通信模块本设计中用到的单片机串口其工作方式为1,由于单片机输出的是TTL电平而PC机com口为RS-232电平,因此二者不能够直接通信。设计中采用了点品转换芯片MAX232,其工作性能稳定、抗干扰能力强,最重要的是对芯片的操作简单,不需要单片机对芯片进行控制操作,只需将引脚连接正确即可工作。3.2.1 MAX232芯片简介在介绍单片机部分程序设计之前,我们先介绍一下MAX232芯片的用法,这要在后面介绍单片机通信模块电路设计时有利于大家的理解。MAX232是由仪器公司(TI)推出的一款兼容R

30、S232标准的芯片。由于电脑串口RS232电平是-12v+12v,而一般的单片机应用系统的信号电压是TTL电平0+5v,MAX232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。其引脚图如图3-4所示。表3-1是MAX232芯片的引脚功能说明,在3.2节的最后会给出其实际应用中的连接图。图 3-4 MAX232引脚图表3-1 MAX232引脚功

31、能引脚引脚功能说明1、3,3、4引脚16(VCC)15(GND)2,6(V+,V-)11(T1in) 10(T2in)14(T1out)7(T2out)12(R1out)9(R2out)13(R1in)8(R2in)电源变换电路一部分,实际应用中接0.1uF的非极性瓷片电容即可16、15引脚分别接+5v电源和地,实际应用中器件对电源噪声很敏感,因此电源必须接0.1uF去耦电容是电源变换电路的一部分,应当分别通过0.1uF的电容接电源和地11、10引脚的功能一样,均是TTL/CMOS输入端,直接与单片机的TXD引脚相连即可RS-232电平输出,直接和DB9插座相连即可TTL/COMOS输出,直接

32、和单片机的RXD引脚相接RS-232输入,上位机PC通过该引脚相单片机发指令3.2.2 下位机程序设计下位机的程序设计主要集中在单片机程序串口的初始化,由于PC上位机的波特率为9600,所以下位机单片机的程序也必须设置为9600,工作方式为1,单片机规定在工作方式为1时,其波特率由定时器/计数器T1的溢出率与SMOD位共同控制。设晶振频率为f,其波特率可表示为: (3-2)在式3-2中,定时器T1的计数值等于M-X,X为计数初值,M为定时器最大的计数值,与工作方式有关。使用时一般将其设置为方式2,即自动重装模式。当T1工作在方式2时,其计数初值和波特率的关系如公式3-3, (3-3)根据公式3

33、-3即可计算出本设计的计数初值,在本文中SMOD=0,波特率9600,晶振11.0592,所以X=0xfd。在程序中不断查询RI标志位,若RI=1则说明接收到了上位机发送的数据,然后判断此数据的大小: 若为0,就将温度值、速度值传送给PC机。 若为1,系统自动进入手动调速模式,并且进行一次加速操作。 若为2,系统自动进入手动调速模式,并且进行一次减速操作。 若为3,转换电机的转动方向。 若为4,电机调速进入根据温度自动调速模式。图3-5 串口连接电路图3.2.3 上位机设计上位机的设计我们采用专门对PC机串口操作的软件“串口调试助手”。该串口调试助手是一款绿色软件,且其界面友好,操作简单。该款

34、软件可以支持计算机上的所有com串口,在毕业设计中采用的是电脑上的com1口;本软件支持多种串口传输方式,可以在软件中进行设置,本毕业设计中采用的是串口传输方式1;串口传输数据的波特率为1200115200,计算机串口的波特率大多数位9600,所以在软件的波特率应设置成为9600。本毕业设计中上位机软件的详细参数设置如图3-6所示。图3-6 上位机软件3.3 测温电路在本设计中,由于大量使用了数字芯片,为了使测温电路的接口简单化,所以测温器件采用了单线数字温度传感器DS18B20,不需要专用A/D转换电路来实现温度量由模拟量到数字量的变换,并可与单片机直接连接。在介绍测温电路之前先介绍一下测温

35、芯片DS18B20,以方便介绍测温电路设计时大家更容易理解。3.3.1 DS18B20简介DS18B20温度传感器是美国DALLAS半导体公司推出的一款改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。本设计应用到的DS18B20的性能特点如下: 独特的单线接口仅需要一个端口引脚进行通信; 无须外部器件; 可通过数据线供电,电压围为3.05.5V; 零待机功耗; 温度以9或12位数字存储; 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位

36、带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB式表示。当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表3-2温度/数据关系温度数据输出(二进制)数据输出(十六进制)+12500000000 1111101000FA+2500000000 001100100032+1/200000000 000000010001000000000 000000000000-1/211111111 1111

37、1111FFFF-2511111111 11001110FFCE-5511111111 10010010FF92在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。通过参阅DS18B20中文资料,得到初始化时序如图3-7所示。读写时序图如图3-8和图3-9所示。图3-7 初始化时序图3-8 读时序图3-9 写时序操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作

38、命令处理数据。具体过程如下所述。初始化 单总线的所有处理均从初始化开始。初始化过程是主机通过向作为从机的DS18B20芯片发一个有时间宽度要求的初始化脉冲实现的。初始化后,才可进行读写操作。ROM操作命令 总线主机检测到DS18B20的存在,便可以发出ROM操作命令之一。如表3-3所示。表3-3 ROM操作命令指 令代 码Read ROM(读ROM)33HMatch ROM(匹配ROM)55HSkip ROM(跳过ROMCCH存储器操作 存储器操作的命令如表3-4:表3-4 存储器操作命令指令代码Write Scratchpad(写暂存存储器)4EHRead Scratchpad(读暂存存储器

39、)BEHCopy Scratchpad(复制暂存存储器)48HConvert Temperature(温度变换)44H对DS18B20操作,先跳过ROM,即是启动DS18B20进行温度变换,之后通过匹配ROM 再逐一地读回每个DS18B20的温度数据。在DS18B20组成的测温系统中,主机在发出跳过ROM命令之后,再发出统一的温度转换启动码44H,就可以实现所有DS18B20的统一转换,再经过250ms后,就可以用很少的时间去逐一读取。这种方式使其T值往往小于传统方式。3.3.2 测温电路设计传感器数据采集电路主要指DS18B20温度传感器与单片机的接口电路。DS18B20可以采用两种方式供电

40、,一种是采用电源供电方式,如图3-10所示,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式考虑到实际应用中寄生电源供电方式适应能力差且易损坏,此处采用电源供电方式,I/O口接单片机的P2.2口。图 3-10电源供电方式由于DS18B20采用单线式设计,所以其接口电路比较简单,虽然其时序电路比较复杂,但DS18B20是一个应用比较广泛的芯片因此网上有很多对DS18B20操作的头文件我们之学稍加修改一下即可。在设计中遇到的最难得问题,是对DS18B20转换后的温度数据的处理。由前面的介绍知单片机从DS18B20读出的数据是一个16位的数据,高五位代表的是符号位,

41、即是否大于零度。低四位代表的是小数位,因keil编译器处理浮点型数据不方便,因此将低四位单独去出来,将小数部分看做整数部分处理,考虑到本设计的温度只精确到0.1,故只看D3D2两位数据,其对应的数据表如下:表3-5 小数数据对应关系D3 D2实际值D3 D2实际值0 00.01 00.50 10.31 10.83.4 电机模块设计由于单片机I/O口输出的电流太小因此不能将电机直接接在单片机上,需要加以驱动电路,驱动电路有以下三种方案:方案一:采用专用小型直流电机驱动芯片。这个方案的优点是驱动电路简单,几乎不添加其它外围元件就可以实现稳定的控制,使得驱动电路功耗相对较小,而且目前市场上此类芯片种

42、类齐全,价格也比较便宜。方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案三:采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。因方案一采用集成芯片,能够使电路简单,且工作稳定,本设计采用的是L298驱动芯片。3.4.1 L298芯片驱动电路设计L2

43、98芯片是目前市场上较容易买到的直流或步进电机驱动芯片,它采用单片集成塑装,是一个高电压、大电流全双桥驱动器,由标准的TTL电平控制。L298支持50V以的电机控制电压,在直流运转条件下,可以通过高达2A的电流,因此它满足了一般小型电机的控制要求。其部原理结构如图3-11。接法见图3-12,图中二极管的作用是消除电机的反向电动势,保护电路,因此采用整流二极管比较合适。PWM控制信号由in1、in2输入。如果in1为高电平,in2为低电平时电机为正向转速,反之in1为低电平,in2为高电平时,电机为反向转速。ENA引脚为芯片使能端,若为高电平,芯片工作,为低电平,芯片停止工作。图3-11 L29

44、8部原理结构图图3-12电机驱动电路3.4.2 测速电路设计系统中加入了测速电路的目的是为了监控电机是否运转正常。测速电路采用了霍尔传感器,霍尔传感器的外形图如图3-13左所示,霍尔传感器的磁场由磁钢提供,因此霍尔传感器要和磁钢配对使用。其测速示意图如图3-13右所示,在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。圆盘每转动一圈,霍尔传感器便输出一个脉冲,让其和单片机的INT0口相连,每一个脉冲触发一次中断,记一次数,在规定的时间读出脉冲数,在根据数学关系就可算出电机转速。值得注意的是,脉冲电路不需要再加滤波电路,因为芯片部已集成了;当没信号产生时,可以换一下磁钢的方向,其对

45、磁钢的方向是有要求的;磁钢和传感器的距离要小于5mm,一个码盘上磁钢数量以36个为好。其电路原理图如图3-14所示。图3-13 霍尔传感器外形和测速示意图图3-14 测速电路图4 PROTEUS软件仿真按照设计要求,对设计电路的温度检测、转速控制、上位机控制进行了仿真。A B温度 PWM波形 转速 温度控制电机转速仿真。图4-1 温度对转速的影响仿真结果在系统中设计了当温度低于20度大于0度时电机低速运行,温度大于20度小于50度时进入中速运行,从图4-1的A图到B图可以看到温度从15到30度,而转速也从153到268r/min。由此可知功能得以实现。 按键调速仿真。如图4-2所示,A图是某时

46、刻PWM波的占空比,然后将调速模式切换入手动调速,B图是按动加速键后的PWM波占空比,C图是减速后的PWM波形的占空比。有仿真波形可得,按动加速键后占空比增大,电机加速,按动减速键后占空比减小,电机减速。BAC图4-2 按键调速波形 是温度检测仿真。如图4-3所示,主要的仿真方法是给DS18B20设置不同的温度,观查LCD显示的温度是否正确。本次仿真设置了两个温度,分别是20和-30,通过仿真在LCD上正确显示出了,说明硬件连接和软件设计都是正确无误的。图4-3 温度检测仿真 上位机和下位机通信仿真。在仿真时应注意一定要启动定时器T1否则单片机将收不到任何数据,系统设计的是当,上位机向单片机发

47、送命令0x00时,单片机就应当就温度、转速传给PC机。在仿真时用到了虚拟串口软件(VSPD XP 5),设置了虚拟串口COM3和COM4,相应的将仿真图中的串口插座COMPIM中的串口选为COM3,将“串口调试助手”中的串口设置为COM4。其它的设置如图4-6所示。另外需要重点说明的是,PROTEUS中的串口头COMPIM默认已包含有MAX232芯片,所以在仿真时不要加入该芯片,否侧容易出错。如图4-4即为串口头COMPIM的接法。图4-4串口头COMPIM(DB9)图4-5 LCD显示串行口参数设置此即为发送的命令图4-6 上位机界面当然系统还有很多部分,如控制电机正反转、调速模式设置、工作

48、状态指示灯以与电源等,经过仿真这些部分都工作正常。这些部分的仿真都很简单,或者跟上面给出的仿真模块有着同样的原理,限于篇幅的原因,这里就不在给出其仿真结果。5 总结与展望随着数字系统的飞速发展,以微控制器为核心的数字调速系统是目前调速系统的发展趋势,本文的设计就是从微处理器到各种功能芯片都是数字形式的,无需进行数模转换。让信号保持为数字形式其最大的优点之一就是可将噪声影响降到最小。噪声只有在强到逻辑电平0改变为逻辑电平1时或者足以将逻辑电平1改变为逻辑电平0时才有可能同系统产生影响,并且通常情况下,这种干扰也是很容易经过一些校验电路或某些算法将其去除掉,因此其抗干扰能力与模拟信号相比有一个大幅

49、度的提高。当然在本设计中还是遇到一些问题的,如电机的测速模块中就存在问题,假若电机在运行的过程中不稳定,特别是在换向过程中很容易产生误脉冲,但考虑到本系统对并不需要太准确的掌握电机的转速,因此也就没有深究。另外在软件调试过程中也遇到了大量的问题,经过自己不懈的努力以与参阅了大量的编程料,最终将问题一一克服。同时自己也学会了很多的程序调试小技巧,可以说受益匪浅。当今社会科技日新月异,数字系统的更新换代速度不断加快,而本毕业设计就是据此,重新设计了仓库排气扇监控系统,将其原来的模拟系统改为数字系统,为的就是其便于和整个仓库控制系统相连接,特别是PC机的连接,当然最重要的是便于其随着整个系统的维护升

50、级,因此其必然会有广阔的市场前景。致 本论文是在XXX老师的悉心指导下经过半年的忙碌和工作完成的。作为一位本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以与一起工作的同学们的支持,想要完成这个设计是难以想象的。 在这里首先要感我的导师老师。老师平日里工作繁多,但在我做毕业设计的每个阶段,从查阅资料到设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是老师仍然细心地纠正设计中的错误。除了敬佩老师的专业水平外,她的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。 其次

51、要感我的同学对我无私的帮助,特别是在软件编程的使用方面,正因为如此我才能顺利的完成设计,我要感我的母校理工大学大学,是母校给我们提供了优良的学习环境;另外,我还要感那些曾给我授过课的每一位老师,是你们教会我专业知识。在此,我再说一次,大家!参考文献1 余发山,单片机原理与应用技术。:中国矿业大学,2003.76-94.2 徐爱钧,8051单片机实践教程。:电子工业,2006.50-65.3 周润景,丽娜,基于PROTEUS的电路与单片机系统设计与仿真。:航空航天大学,2006.100-120.4 辉平,周国雄,基于PROTEUS的单片机系统设计与仿真实例。:机械工业,2009.123-133.

52、5 泉溪,单片机原理与应用实例仿真。:航空航天大学,2009.200-210.6 汤竞南, 国琴,51单片机C语言开发与实例。:人民邮电,2008.125-128.7 戴佳,戴卫恒,博文,51单片机C语言应用程序设计实例精讲。:电子工业,2008.30-45.8 学礼,基于Proteus的8051单片机实例教程。:电子工业,2008.42-60.附录 程序流程图YYYYYYN初始化开始换向?执行换向N变模式?N改调速模式手动?N一秒到?刷新温度1自动调速?调节转速N2加速或减速速?执行加速减速命令NYNYNNNY1收到上位机数据?是0?N是1?执行加速命令是2?是3?是4?Y给PC发数据Y执行

53、减速命令Y执行反转命令Y温控调速模式2N一分钟到?刷新速度结束附录 源程序#include#define uchar unsigned char#define uint unsigned intsbit rs=P35;sbit e=P34;sbit clkz=P20;/正转PWM波输出sbit clkf=P21;/反转PWM波输出sbit DQ=P22;/温度线sbit beep=P23;/蜂鸣器sbit e_motor=P24;/l298使能端sbit dula=P26;sbit wela=P27;sbit jia=P10;/加速键sbit jian=P11;/减速键sbit direct=

54、P12;/换向键sbit mode=P13;/模式选择键,是手动调速,还是根据温度自动sbit zheng=P14;/正转指示灯sbit fan=P15;/反转指示灯sbit autoled=P16;/自动调速模式指示灯sbit handleled=P17;/手动调速模式指示灯uchar pwmh=0xed;/调宽值uchar pwml=0xff;uint speed=0,wendu;/wendu用来存温度整数值uchar data_T10,data_v11=V,:,2,0,0,r,/,m,i,n,n;uchar sec=0,sec_20s=0;/秒,20s计时bit zf=0,refresh

55、_T=0,refresh_v=0,njump=1,zero=0,pattern=0;void delay(uchar k) uchar i,j; for(j=0;jk;j+) for(i=0;i200;i+);/*报警子程序*/void alarm() unsigned int i; for(i=0;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); return(dat);/*ds18b20写一个字节*/ void WriteOneChar(unsigned char dat) uns

56、igned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat=1; /*设置DS18B20工作状态*/signed int ReadTemperature() unsigned char a,b; signed int temp;EA=0;Init_DS18B20();WriteOneChar(0xCC); WriteOneChar(0x44); delay_18B20(70); EA=1; Init_DS18B20(); EA=0; WriteOneChar(0xCC); WriteO

57、neChar(0xBE); a=ReadOneChar(); b=ReadOneChar(); EA=1; temp=b; temp0) zero=0;/温度大于0q=temp&0x000f; p=temp4;wendu=p;data_T2=p/100+0x30; else zero=1;/温度小于等于0p=(temp)+1;q=p&0x000f; p=p4;wendu=p; data_T2=-; data_T3=p%100/10+0x30; data_T4=p%10+0x30; dot=q&0x000c; switch(dot) case 0:data_T6=0;break; case 4:data_T6=3;break;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!