温度控制电机系统的设计_第1页
温度控制电机系统的设计_第2页
温度控制电机系统的设计_第3页
温度控制电机系统的设计_第4页
温度控制电机系统的设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

淮南师范学院电气信息工程学院2013届自动化专业课程设计报告 成绩课程设计报告题 目: 温度控制电机系 学生姓名: 孙周军 学生学号: 系 别: 电气信息工程学院 专 业: 自动化 届 别: 2013届 指导教师: 苗磊 电气信息工程学院制2012年5月课程设计题目:温度控制电机系统学生:孙周军指导教师:苗磊电气信息工程学院自动化系1课程设计的任务与要求1.1 课程设计的任务本次课程设计利用温度传感器DS18B20采集温度数据,通过单片机控制直流电机的启动,应做到以下几点:(1)熟练掌握温度传感器DS18B20的工作原理及使用方法。(2)学会利用单片机的I/O端口对电机的控制方法。(3)能够熟练使用Keil编程软件和Protues仿真软件。(4)本次设计可以满足电脑散热风扇的技术要求。1.2 课程设计的要求本次设计应实现以下功能:(1)利用数码管显示温度传感器所测得的温度,并显示温度符号为.C。(2)当温度大于或等于50度时,电机正向转动;当温度小于50度时,电机停止转动。1.3 课程设计的研究基础本次课程设计分为硬件和软件两部分。(1)硬件部分对于测温电路、显示电路、电机系统我们要有足够的了解。温度传感器DS18B20的测温原理,数码管显示数据的基本原理以及电机的正反转我们都应通过查阅相关资料,熟练掌握。(2)软件部分首先,编程软件Keil和仿真软件Protues必须应用熟练。其次,我们应该知道如利用单片机端口电平的变化来驱动数码管、电机等。2 温度控制电机系统方案制定2.1 方案提出方 案一由于本模块是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路 , 其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对采集的信号进行放大时容易受温度的影响出现较大的偏差。单片机 A/D转换热敏电阻感温显示模块电机系统电源供电图1系统方案一方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求 。单片机温度采集DS18B20电源供电电机系统显示模块图2系统方案二2.2 方案比较比较上述两种方案,第一种方案采用热敏电阻感温,引起电流或者电压的变化,然后用A/D转换测出温度,这种方法不仅繁琐而且误差很大,灵敏度也不高。相反方案二采用温度传感器DS18B20测量温度,方便快捷,并且精度更高。2.3 方案论证温度传感器是该模块的关键器件,本系统选用的是美国Dallas 半导体公司生产的数字化温度传感器 DS18B20。DS18B20 支持“一线总线”接口,测量温度范围为-55+125,被测温度用符号扩展的16 位数字量方式串行输出,在-10+85 范围内,精度为0.5。DS18B20 采集到的现场温度直接以先进的单总线数据通信方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20 可程序设定912 位的分辨率,精度可达0.5。DS18B20具有内置的EEPROM,用户设定的分辨率和报警温度都可存储在其中,且掉电后依然存在。2.4 方案选择比较上述两种方案,显然方案二在很多方面都优于方案一,无论是测量精度还是实际电路的设计,都比较不错,故而本次设计采用的是方案二。3 温度控制电机系统方案设计3.1各单元模块功能介绍及电路设计1.温度显示模块设计(1)功能介绍本次设计显示模块采用的是四位共阳数码管显示,通过温度传感器DS18B20测出温度数据,传给单片机,然后在数码管上显示处出来。温度数据显示要求能区分正负,而且能够显示温度符号.C。(2)电路设计具体电路如下图所示:图3显示模块电路图2.温度采集模块设计(1)功能介绍此部分主要由温度传感器DS18B20构成,通过传感器采集外界温度。(2)电路设计图4温度采集电路3.单片机最小系统(1)功能介绍最小系统是指一个真正可用的单片机的最小配置系统。MCS-51系列AT98C51片内有4KB的ROM/EPROM,因此只需要外接晶体振荡器和复位电路就可构成最小系统。该最小系统的特点如下:1) 由于片外没有扩展存储器和外设,P0、P1、P2、P3都可以作为用户I/O接口使用。2) 片内数据存储器有128B,地址空间为00H7FH,没有片外数据存储器。3) 内部有4KB的程序存储器,地址空间为0000H0FFFH,没有片外程序存储器。4) 可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源。 (2)电路设计图5单片机最小系统4.电机系统 (1)功能介绍当温度传感器检测到外界温度大于或者等于50时,直流电机正向转动;当温度传感器检测到外界温度小于50时,直流电机停止转动。(2)电路设计图6电机系统3.2电路参数的计算及元器件的选择(1)电路参数的计算a.整流电路参数输出电压平均值:Uo(AV)=2输出电流平均值:IO(AV)=平均整流电流:ID(AV)=最大反向电压:URM=b.滤波电路参数滤波电容选择:RLC=(35)一般选几十至几千微法的电解电容,耐压(2)元器件的选择表1器件清单器件名称数量器件名称数量7SEG-MPX4-CA1DS18B201AT89C511CRYSTAL1CAP-ELEC1MOTOR1BUTTON1RES2CAP2RESPACK-813.3 特殊器件的介绍(1)温度传感器DS18B20内部结构:DS18B20内部结构由64bit闪速ROM、温度传感器、非易失性温度报警触发器TH和TL配置寄存器等4个数字器件组成,如图7。温度传感器DS18B20是通过温度对振荡器的频率影响来测量温度,如图8。DS18B20内部有2个不同温度系数的振荡器,低温度系数振荡器输出的时钟脉冲信号在高温度系数振荡器产生的门周期内进计数。计数初值被预置-55相对的基数值,如计数器在高温度系数振荡器输出的门周期结束前计数为零,表示测量温度值高于-55,被预置在-55的温度寄存器的值加1,重复该过程,直到高温度系数振荡器门周期结束止,温度寄存器中的值就是被测的温度值。该值由主机通过发读存储器命令读出,经取补和十进制转换,得到实测的温度值。斜率累加器用于补偿和修正温度振荡器的非线性,以产生高分辨率的温度测量。通过改变温度每升高1,计数器须经计数值实行补偿。为获得所需分辨率,必须知道该数值及在给定温度处每1的计数值(斜率累加器的值)。图7 DS18B20的内部结构图8 DS18B20测温原理图(2)AT89C51单片机AT89C51是美国ATMEL公司生产的低电压高性能CMOS 8位单片机,片内含4Kbytes可反复檫写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM), 器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MSC-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域1。图9单片机管脚图管脚介绍:如图9所示4:(1)电源引脚: Vcc(40脚):电源端,接+5V电源。 Vss(20脚):接地端,接+5V电源地端。(2)时钟振荡器外接晶体引脚:XTAL1和XTAL2。AT89C51内部有一个振荡器和时钟产生电路。XTAL1(19脚):片内振荡电路反相放大器输入 。XTAL2(18脚):片内振荡电路反相放大器输出。(3) 控制信号引脚:RST、ALE、PSEN、EA RST (9脚):复位信号输入端,高电平有效。保持两个机器周期高电平时,完成复位操作。 ALE/PROG (30脚):地址锁存允许输出端/编程脉冲输入端,正常时,连续输出振荡器频率的1/6正脉冲信号。访问片外存储器时:作为锁存P0口低8位地址的控制信号。对89C51片内 ROM编程写入时:作为编程脉冲输入端。PSEN (29脚): 外部程序存储器读选通输出信号访问片外ROM时,输出负脉冲作为读ROM选通常连接到片外ROM芯片的输出允许端(OE)作外部ROM的读选通信号2。EA/Vpp (31脚):外部程序存储器地址使能输入/编程电压输入端。平常,接“1”时,CPU访问片内4KB的ROM,当地址超4KB时,自动转向片外ROM中的程序。当接“0”时,CPU只访问片外ROM。 第2功能Vpp对8751编程时,编程电压输入端。(4)输入/输出端口引脚 P0、P1、P2、P34个8位的并行输入/输出端口,共32个引脚。作为通用输入/输出端口,P0、P2和P3端口又各自有第2功能。 通用输入/输出端口 准双向口: 作输入时要先对锁存器写“1”。P0端口(P0.0P0.7,第3932脚):漏极开路的准双向口,输出能驱动8个74LS类型的负载。P1端口(P1.0P1.7,第18脚):内部带上拉电阻的准双向口,输出能驱动4个74LS负载。 P2端口(P2.0P2.7,第2128脚):内部带上拉电阻的准双向口,输出能驱动4个74LS负载。 P3端口(P3.0P3.7,第1017脚):内部带上拉电阻的准双向口,输出能驱动4个74LS负载。 P0、P2、P3端口的第二功能 P0端口:在CPU访问外部存储器或I/O接口时,P0口分时提供低8位地址(A0-A7)和8位数据(D0-D7)总线。这时,需要一个8位锁存器,利用ALE(地址锁存允许)来锁存P0口低8位地址信号。 P2端口:在CPU访问外部存储器或I/O接口时,P2口提供高8位地址(A8-A15)的总线信号。P3端口:在CPU访问外部存储器或I/O接口时,P3口提供读、写控制总线信号。还提供串行通信、外部中断、计数器的外部计数输入信号等。如表2所示。 3.4 系统整体电路图图10系统整体电路图4 温度控制电机系统仿真和调试 4.1 仿真软件介绍Proteus是一种低投资的电子设计自动化软件,提供Schematic Drawing,SPICE仿真与PCB设计功能,这一点proteus 与 multisim比较类似,只不过它可以仿真单片机和周边设备,可以仿真51系列AVR,PIC等常用的MCU,与keil和MATLAB不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真,例如373,led,示波器,Proteus提供了大量的元件库有RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IC器件,编译方面支持Keil和MATLAB,里面有大量的例子参考。(1) Proteus可提供的仿真元件资源Proteus软件提供了可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。(2)Proteus可提供的仿真仪表资源虚拟仪器仪表的数量、类型和质量,是衡量仿真软件实验室是否合格的一个关键因素。在Proteus软件中,理论上同一种仪器可以在一个电路中随意的调用。除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。Proteus可提供的调试手段(3)Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。可以说它是一个比较重要的软件,熟悉他的人很多很多,用户群极为庞大,要远远超过伟福等厂家软件用户群,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。(1)Keil的Vision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用Vision2的内嵌模块Keil Monitor-51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。(2)uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能。DDE界面和shift语言支持自动程序测试。4.2 系统仿真实现(1)温度大于等于50度时电机正转图11温度为60度时仿真电路(2)温度小于50度时电机停止转动图12温度为45度时仿真电路4.3 系统测试(1)HEX文件的生成51)单击软件开发系统Keil uVision,单击“Keil nVision”菜单中的“Project”,在此下拉菜单中单击“New Project”选项后,弹出“Creat New Project”对话框,键入新项目名称。然后在弹出的“Select Device”对话框中选择单片机的类型AT89C51。2)单击“uVision”菜单中的“File”,在此下拉菜单中,选择“New”后,打开一个空的文本编窗口,在此窗口中键入程序,创建新的源程序“温度控制电机系统.C文件。3)在左边的“Project”窗口的“File”页中单击文件组,再单击鼠标右键后,在弹出的窗口中选中“Add Files to Group Source Group1”选项,将相应的源程序文件导入到“Source Group1”中。4)在“Project”下拉菜单中,选择“Options for Target”,将会弹出“Options for Target”对话框,在此对话框中“Output”选项卡中的“Create HEX File”选项。5)在“Project”下拉菜单中,选择“Rebuild all Target Files”项,若程序编译成功将生成“温度控制电机系统.HEX”文件。(2)调试与仿真31)在Protues ISIS编辑窗口中,单击鼠标右键将AT89C51单片机选中并单击鼠标左键,弹出“Edit Component”对话框,在对话框的“Clock Frequency”栏中设置单片机晶振频率为11.0592Hz,在“Program File”栏中单击图标,选择之前生成的“温度控制电机系统.HEX”文件。2)在Protues ISIS编辑窗口的“File”菜单中选择“Save Design”选项,保存设计,生成“温度控制电机系统.DSN”文件。3)在Protues ISIS编辑窗口中单击或在“Debug”菜单中选择,运行结果如下图所示。单击DS18B20中的或,表示外界温度发生变化,观察显示器和电机的变化是否符合要求。4.4 数据分析(1)在DS18B20中将温度下调到45摄氏度,然后进行仿真,可以观察到数码管上显示45.C,同时直流电机不会工作。重复几次操作现象完全相同。(2)分别将传感器的温度调到50摄氏度和60摄氏度,进行仿真,可以观察到数码管上分别显示50.C和60.C,电机都是正向转动。重复几次操作现象完全相同。由上面的操作可知,本次设计基本能够符合设计要求,能够利用温度的变化来控制直流电机的转向。5 总结5.1 设计小结在本次设计中,的确遇到很多问题,让我知道理论和实际的差别,在研究实际问题是我们需要考虑诸多干扰因素与人为因素,而在仿真测试时一切都是理想状态。理论联系实际,理论应用与实际对于我们每一个人来说都是一个必不可少的阶段,我们应当勇于尝试,敢于试验。5.1 收获体会课程设计是一项综合素质的考验,如果说在过去三年里,我们的学习是一个知识的积累过程,那么现在的课程设计就是对过去所学的知识的综合应用,是对理论进行深化和重新认识的实践活动。在这近两个月的课程设计中,我们有艰辛的付出,也有了收获。知识固然得到了巩固和提高,但我相信在实践中的切身体会将会使我在以后的工作和学习中终身受用。首先,学习能力和解决问题的信心都得到了提高。在本次课程设计的过程中,遇到了很多困难,但是在查阅了很多有关书籍和向同学请教后终于解决了。通过这次课程设计,我不仅对理论有了更深一步的认识,还培养了自学能力和解决问题的能力,更重要的是,培养了克服困难的勇气和信心。其次,我们的课程设计之所以能基本完成,要深深地感谢我们的指导老师的悉心指导和帮助。5.2 展望随着“信息时代”的到来,作为获取信息的手段传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以及其应用之广,并且还有很大潜力。6参考文献1谢维成,杨加国等. 单片机原理与应用及C51程序设计M. 清华大学出版社,2009,7.2宋戈,黄鹤松等. 51单片机应用开发范例大全M. 人民邮电出版社,2010,1.3侯玉宝,陈忠平等. 基于Protues的51系列单片机设计与仿真M. 电子工业出版社,2010,8.4陈忠平,曹巧媛等. 单片机原理及接口M. 清华大学出版社,2007.5吴金戌,沈庆阳等. 8051单片机实践与应用M. 清华大学出版社2002.7附录7.1系统主要功能展示图图13系统主要功能图 7.2器件清单表2器件清单器件名称数量器件名称数量7SEG-MPX4-CA1DS18B201AT89C511CRYSTAL2CAP-ELEC1MOTOR1BUTTON1RES2CAP2RESPACK-81源程序#include reg51.h#define uchar unsigned char #define uint unsigned intsbit DQ=P30;sbit p20=P20;sbit p21=P21;sbit p22=P22;sbit p23=P23;code uchar tab= 0XC0,0XF9,0XA4,0XB0,0X99, /09 0X92,0X82,0XF8,0X80,0X90; code uchar tab1=0X40,0X79,0X24,0X30,0X19, /09 0X12,0X02,0X78,0X00,0X10; uchar a,b,t,h;int k;uchar bai,shi,ge,xiao;void delay(unsigned int i) while(i-); /初始化函数bit int_DS18B20(void)unsigned char x=0; DQ = 1; /DQ复位 delay(8); /延时片刻 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时大于480us DQ = 1; /拉高总线 delay(14); x=DQ; /延时片刻后,如果x=0则初始化成功,x=1则初始化失败 delay(20);return x;/读一个字节Read(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(4); r

温馨提示

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

评论

0/150

提交评论