基于51单片机的温度控制直流电动机转速系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

邵阳学院课程设计报告1第一章系统方案设计1.1系统的设计要求及主要技术指标本论文要求使用单片机进行电路设计,同时单片机部分应带有显示功能。单片机对某个位置进行温度监控,当外部温度≥45℃时,电动机加速正转,当温度≥75℃时,电动机全速正转;当外部温度≤10℃时,电动机加速反转,当温度≤0℃时,电动机全速反转;当温度回到10℃~45℃之间时电动机逐渐停止转动。1.2系统总体方案系统总体方案设计,如下图1.1图1.1系统总体方案图1.3总体方案论述该系统采用AT89C51单片机为核心,通过DS18B20进行温度采集,送入单片机,经过软件编程进行温度的比较和范围划定,然后通过程序控制由单片机产生不同的PWM(脉冲宽度调制)信号,送给电机驱动芯片L298的使能端口,通过L298驱动芯片来控制直流电机的启动、速度、方向的变化;单片机将温度数据传送给LM016L显示温度。整个电路设计包括温度采集模块,单片机控制模块,温度显示模块,和电机及电机驱动模块。单片机温度显示温度采集DS18B20PWM输出电机驱动L298直流电动机系统供电邵阳学院课程设计报告2第二章硬件电路设计2.1单片机的选择2.1.1AT89C51单片机AT89C51是美国ATMEL公司生产的低电压高性能CMOS8位单片机,片内含4Kbytes的可反复檫写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MSC-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.1.2单片机晶振电路单片机系统里都有晶振,如图2.1所示(左图为内部振荡方式,右图为外部振荡方式)在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。图2.1晶振电路在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。当采用内部时钟时,片外连接石英晶体(或陶瓷振荡器)和微调电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2起稳定振荡频率、快速起振的作用。虽然没有十分严格的要求但电容容量的大小会轻微影响振荡频率邵阳学院课程设计报告3的高低、振荡工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,推荐使用30pf±10pf,而如使用陶瓷振荡器最好选择40pf±10pf,产生原始的振荡脉冲信号。采用外部时钟时,XTAL1输入即内部时钟发生器的输入端外部时钟脉冲信号,XTAL2悬空。仿真如图2.1所示。2.1.3单片机复位电路复位是单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和手动复位。上电复位:上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。手动复位:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作,仿真如图2.2所示。图2.2Protues仿真的晶振及复位图2.2温度采集模块设计温度是一种最基本的环境参数,在工农业生产及日常生活中对温度的测量及控邵阳学院课程设计报告4制具有重要意义。本模块的功能是进行温度采集,获取温度数据然后经过单片机处理,由单片机来控制PWM的输出。2.2.1方案论证:方案一由于本模块是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。该模块通过AT89C51单片机驱动数字温度传感器DS18B20,进行温度数据采集、读取、处理,并通过LCD显示出来。温度传感器是该模块的关键器件,本系统选用的是美国Dallas半导体公司生产的数字化温度传感器DS18B20。DS18B20支持“一线总线”接口,测量温度范围为-55℃~+125℃,被测温度用符号扩展的16位数字量方式串行输出,在-10~+85℃范围内,精度为±0.5℃。DS18B20采集到的现场温度直接以先进的单总线数据通信方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20可程序设定9~12位的分辨率,精度可达±0.5℃。DS18B20具有内置的EEPROM,用户设定的分辨率和报警温度都可存储在其中,且掉电后依然存在。2.2.2DS18B20的内部结构DS18B20内部结构由64bit闪速ROM、温度传感器、非易失性温度报警触发器TH和TL配置寄存器等4个数字器件组成,如图2.3。温度传感器DS18B20是通过温度对振荡器的频率影响来测量温度,如图2.4。DS18B20内部有2个不同温度系数的振荡器,低温度系数振荡器输出的时钟脉冲信邵阳学院课程设计报告5号在高温度系数振荡器产生的门周期内进计数。计数初值被预置-55℃相对的基数值,如计数器在高温度系数振荡器输出的门周期结束前计数为零,表示测量温度值高于-55℃,被预置在-55℃的温度寄存器的值加1,重复该过程,直到高温度系数振荡器门周期结束止,温度寄存器中的值就是被测的温度值。该值由主机通过发读存储器命令读出,经取补和十进制转换,得到实测的温度值。斜率累加器用于补偿和修正温度振荡器的非线性,以产生高分辨率的温度测量。通过改变温度每升高1℃,计数器须经计数值实行补偿。为获得所需分辨率,必须知道该数值及在给定温度处每1℃的计数值(斜率累加器的值)。图2.3DS18B20的内部结构图2.4DS18B20测温原理图DS18B20的管脚排列如下图2.5所示:图2.518B20管脚图DQ为数字信号输入/输出端;GND为电源地;VCC为外接供电电源输入端(在邵阳学院课程设计报告6寄生电源接线方式时接地)。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。表2.1DS18B20的RAM这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中如图7所示,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H,温度代码对照如图8所示。表2.2温度代码对照邵阳学院课程设计报告72.2.3DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节如表2.3所示,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。表2.3DS18B20的寄存器寄存器内容字节地址温度最低数字位0温度最高数字位1高温限值2低温限值3保留4保留5计数剩余值6每度计数值7CRC校验8该字节各位的意义如下:TMR1R0低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表2.4所示:(DS18B20出厂时被设置为12位)分辨率设置表:表2.4DS18B20分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。CPU只需一根端口线就能与DS18B20进行通信,占用微处理器的端口较少,邵阳学院课程设计报告8可节省大量的引线和逻辑电路。与前一代产品(DS1820温度传感器)不同,DS18B20支持3.0V~5.5V的电压范围,使系统设计更灵活、方便,而且DS18B20价格更便宜,体积更小。(1)DS18B20芯片存储器操作指令表:WriteScratchpad(向RAM中写数据)[4EH]这是向RAM中写入数据的指令,随后写入的两个字节的数据将会被存到地址2(报警RAM之TH)和地址3(报警RAM之TL)。写入过程中可以用复位信号中止写入。ReadScratchpad(从RAM中读数据)[BEH]此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。CopyScratchpad(将RAM数据复制到EEPROM中)[48H]此指令将RAM中的数据存入EEPROM中,以使数据掉电不丢失。此后由于芯片忙于EEPROM储存处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功