1、目 录中文摘要I英文摘要II1 绪论12 系统总体设计32.1 硬件电路的总体设计32.2 软件的总体设计33 硬件设计53.1 传感器电路63.1.1 霍尔传感器工作原理63.1.2 霍尔传感器测速装置的设计73.1.3 隔离电路93.2 逻辑控制电路113.2.1 单片机工作原理113.2.2 时钟电路133.2.3 复位电路133.3 显示电路143.3.1 液晶显示器工作原理143.3.2 液晶显示器与单片机的连接电路164 软件设计174.1 主函数程序设计174.2 单片机外部中断和定时器子程序184.3 显示子程序205 硬件调试及软件仿真225.1 硬件调试225.2 软件调试
2、23结束语25致谢26参考文献27转速测量系统的设计及实现转速测量系统的设计及实现摘 要在现代的工、农业生产中经常需要关注电动机的转速,而对电动机转速的实时监测显得尤为重要。随着科学技术的飞速发展,微型计算机得到了广泛的应用,特别是高性能/价格比的单片机的出现,针对电动机的转速测量大量采用以单片机为核心的智能化实时测量。本课题主要是针对转速测量系统的硬件和软件的设计。运用AT89S52单片机、霍尔传感器、LCD1602液晶显示器等器件设计出一种智能化测速系统。通过对比各种传感器的优缺点、性价比,选出最优方案,实现了对电动机转速的可靠检测。本文重点是测量速度并在LCD液晶显示屏上显示。该设计的优
3、点是硬件电路简单、软件模块较成熟、测量的速度比较快、测量的精度比较高、整个系统稳定可靠、性价也比较高等特点。关键词 单片机/测速/霍尔传感器/LCD显示The Design and Implementation ofthe speed measurement systemABSTRACTIn the modern industrial and agricultural production often need to focus on the speed of the motor, and real-time monitoring of the motor speed is particula
4、rly important. With the rapid development of science and technology, microcomputer has been widely used, and the emergence of the microcontroller is a high performance / price ratio for a large number of motor speed measurement using a microcontroller as the core of the intelligent real-time measure
5、ment.The main subject of the speed measurement system hardware and software design. AT89S52 microcontroller, Hall Sensor, LCD1602 LCD monitors and other devices designed an intelligent speed system. Select the optimal solution, by contrast the advantages and disadvantages of the various sensors, cos
6、t-effective, and reliable detection of the motor speed. This article focuses on the measurement speed is displayed on the LCD screen. The advantage of this design is the hardware circuit is simple, more mature software modules, high speed, high precision, stable and reliable control system, high cos
7、t performance.KEY WORDS Microcontroller Unit ,Velocimetry ,Hall sensor , LCD displayII1 绪论随着工业自动化的深入发展,现代的工业生产越来越多的趋向于信息化、智能化。而工业生产的动力部分使用了大量的电动机,信息化、智能化的控制方案对电动机转速的精度要求越来越高。故高精度、高速度、高性价比的智能化电机测试装置,有了强大的需求市场。目前工业现场的电机测速转置有测速发电机系统、磁电式测速系统、光电试测速系统等。测速发电机测试装置是一种模拟式的测速方法,得到的信号是连续的模拟量。不能很好地实现智能化的实时测速。而且测
8、速发电机成本很高,它本身的制造的又会消耗大量的有色金属,故测速发电机的性价比不是很高。但在恶劣的电磁环境中仍有很大的使用价值。磁电式测速装置是利用电磁感应原理,当电磁测速装置和电动同轴转动时,改变旋转体内部线圈的磁通量,这样使得线圈的两端产生感应电压,这样就可以测出电机转速。当电动机的转速变慢时,电磁测速装置的转速也将同时变慢,使得旋转体内部线圈磁通量的变化率急速下降。线圈两端产生的感应电压将会非常小,这样就不能准确的测出电动机的转速。这种测速装置在高速度的电机测量系统有一定的利用价值。当电动机的转轴上带有齿轮装置时,可以使用光电式测速装置。光电式测速装置的工作原理是利用光电试传感器检测齿轮的
9、齿数来计算电动机的转速的,是一种间接的测速方法。光电式测速装置有较广的测速范围,但也有它致命的缺陷。在一些间隙较小、光泽度相同或光泽度对比不明显的被测物体上面是会产生较大的误差。所以基于霍尔传感器的电动机转速测量装置将会是其很好的替代品。基于霍尔传感器的电动机转速测量装置,测量精度比较高、频率比较快、成本比较低且使用起来简单方便。最值得注意的是霍尔器件对外部环境的适应很强,其工作温度最高可以达到150C。与AT89S52单片机配合使用,能很好的实现对电动机转速的实时智能检测。基于霍尔传感器的电动机转速测量系统硬件电路比较简单,而且硬件电路的调试和检测也比较容易。本系统软件的编程设计采用C51语
10、言,并采用模块化的编程思想,这样的软件设计有较高的编程效率。故本次设计采用基于霍尔传感器的电动机测速方案。运用AT89S52单片机、霍尔传感器、LCD1602液晶显示器等器件设计出一种智能化测速系统。通过对比各种传感器的优缺点、性价比,选出最优方案,实现了对电动机转速的可靠检测。测试结果表明对电动机转速的测量精度还是比较高的,基本能够满足本次设计的测试需要,并有有一定的实际应用价值。本次的系统设计主要分为三个部分,硬件电路设计、软件设计和系统的仿真调试。硬件电路的组成主要分为AT89S52单片机、霍尔传感器测速装置、小型直流电动机、反相器74LS、LCD1602液晶显示电路构等。软件设计采用模
11、块化的设计思路,共分为主程序模块、中断模块、定时模块和显示模块。在编程时应该对主要的程序模块进行注释加以说明,这样方便以后的修改和阅读。该系统利用霍尔传感器产生脉冲信号,通过定时算法程序,将转速结果实时显示出来。2 系统总体设计2.1 硬件电路的总体设计参考前人曾经设计出的的经典电路,并选出适合本系统相关的电路模块。利用ProtelDXP软件并严格依照系统的总体设计任务书对硬件电路进行设计,并选出适合的单片机型号,确定出系统中具体需要使用的元器件型号和个数,列出元器件清单。利用ProtelDXP软件设计出系统的电路原理图并生成PCB图纸。AT89S52单片机通过外部中断接收来自霍尔传感器的脉冲
12、信号,P0口P2口接液晶LCD1602的显示。霍尔传感器检测和转换电路电路、LCD1602液晶显示电路、单片机复位电路、时钟电路、隔离电路等设计模块将会在下面的章节中有更详尽的介绍。系统的总体设计如图2-1。单片机复位电路AT89S52逻辑运算单元LCD液晶显示电路单片机时钟电路霍尔传感器检测和转换电路电路图2-1 系统的总体设计框图2.2 软件的总体设计本系统软件部分的设计主要是对定时器T0和AT89S52的外部中断的设定。电动机的转速测量装置利用霍尔效应产生一系列的周期脉冲,向AT89S52单片机的的外部中断(P3.2)口发送一系列的中断信号,对定时器T0的TH0、TL0设定初值并使定时器
13、T0工作在内部定时状态。调用数据处理子程序并计算出电动机的转速,再调用液晶LCD1602的显示子程序,在液晶LCD1602上实时的显示电动机的转速。系统转速部分的软件设计思路:AT89S52单片机的外部中断(P3.2)口接收霍尔传感器的脉冲信号,故软件的设计主要是对外部中断(P3.2)口的脉冲信号进行处理。首先应设计出系统的主函数模块的工作流程图,并依次设计出外部中断(P3.2)的服务程序子程序,对其脉冲数进行记数和计算。调用数据转换子程序,然后送液晶显示器LCD1602显示。本系统使用的AT89S52型单片机需要的晶振频率为12MHZ。在下面的章节中会对本系统软件的具体设计作详细的介绍。3
14、硬件设计1879年,美国物理学家霍尔(EHHall,18551938)经过大量的实验发现:如果让一恒定的电流通过一金属片,并将薄片至于强磁场中,在金属片的另外两侧将产生于磁场强度成正比的电动势。这个象限就是我们现在所讲的霍尔效应。但是霍尔效应在金属物体内部通常是非常微弱的,故在当时人们并没有对这种现象加以重视。二十世纪中期以后,第三次信息革命爆发。由于大规模集成电路的制造工艺有了很大的提升,半导体的制造工艺也得到了迅猛发展,与此同时霍尔效应比金属物体十分明显的半导体材料也被人们大量发现。砷化镓、硅、锑化铟等材料的霍尔元件也在工厂中被大量的制造出来。本次论文正式基于霍尔传感器的霍尔效应,把电动机
15、的转速转化成对应比例的脉冲电压,利用AT89S52型单片机对电动机脉冲进行技术处里,并在LCD1602液晶显示器上实时地显示电动机的转速。系统总的电路原理图如图3-1。图3-1 系统电路原理图3.1 传感器电路3.1.1 霍尔传感器工作原理当金属或半导体的薄片器件放置在一定的磁感应强度的磁场中,并保证金属或半导体薄片垂直于磁场方向放置,当电流大小为I的电流源通过金属或半导体薄片时,在垂直于电流和磁场的方向上将产生电动势E,这种现象称为霍尔效应(Hall Effect),该电动势成为霍尔电动势(Hall EMF),上述半导体薄片称为霍尔元件(Hall Element)。用霍尔元件做成的传感器也被
16、称为霍尔传感器(Hall Transducer),霍尔效应示意图如图3-2所示。图3-2 霍尔效应原理图在参杂浓度很低、电阻率很大的N型衬底上用杂质扩散法制作出导电区,它的厚度非常薄,电阻值约几百欧姆。在导电薄片的两侧对称的用杂质扩散法制作出霍尔电动势引出端,因此它是四段元件。其中一对成为激励电流端,另一对成为霍尔电动势输出端。霍尔传感器的工作原理可以用N型半导体霍尔元件的例子来说明。将电流I通入霍尔元件的电流输入端,将霍尔元件垂直放入磁场中,设此时磁场的磁感应强度为B。霍尔元件内部的电子(运动方向与电流方向相反)受到罗伦磁力的作用,向内侧偏移,该侧形成电子的堆积,从而在薄片对应方向产生电场E
17、。这样流过霍尔元件的电子同时受到罗伦磁力和电场力的作用,而且这两个力的方向相反。电子积累越多,也越大,而罗伦磁力保持不变。最后|=|时,电子的积累达到动态平衡。此时,就能够在半导体薄片的对应面之间形成电动势,这种电动势被称为霍尔电动势。通过大量的实验得知,通过半导体薄片的电流越大加在其上的磁场强度B越强,在半导体薄片的对应面之间形成电动势就越高。霍尔电动势可用下面的公式表示:=IB (3-1)式中霍尔元件的灵敏度。当霍尔元件与磁场方向不垂直时,磁感应强度B的方向与霍尔元件将有一个角度设为,则实际上加在霍尔传感器上的有效作用将会下降。此时的霍尔电动势可用下面的公式表示:=Bcos(3-2)由公式
18、(3-2)得知,霍尔电动势与电流I、磁感应强度B成正比。由此得知霍尔电动势的方向将随磁感应强度B方向的改变而改变。当所施加的磁场为周期性变化的磁场时,那么霍尔电动势则为同频率的时变电动势。鉴于霍尔传感器的以上特性,应保持磁感应强度B垂直于霍尔元件。本系统的设计使用的是开关型集成霍尔传感器,集成霍尔传感器是利用硅集成电路工艺将霍尔元件和测量线路集成在一起的一种传感器。它有很多的优点,比如体积比较小、重量也比较轻、功耗较低、耐震动性好、不怕灰尘、水汽及烟雾等,鉴于这么多的优点集成霍尔传感器得到了大规模的使用。开关型集成霍尔传感器是在普通的霍尔元件的输出端添加了一系列的抗干扰电路、稳压电路等使得普通
19、的霍尔传感器的性能得到了很大的提高,并保证输出的是高低电平的数字信号。则用单片机处理开关型集成霍尔传感器的输出信号显得十分方便。3.1.2 霍尔传感器测速装置的设计霍尔传感器的使用十分简单,只需要将霍尔元件的感应磁场的一面与被测的物体的磁感应强的方向垂直放置就行。也可以将霍尔传感器做成带螺纹的探头,这样的设计方便安装使用。当磁感应强度的方向与霍尔元件的霍尔片表面垂直时产生霍尔电动势最大,故在安装时应保持磁铁的磁力线与霍尔器件的表面垂直。极小的尺寸外形,使得霍尔传感器能够进行多点的检查,这样可以提高检测的精确度,可方便微型计算机对霍尔传感器的输出端进行数据处理。本次系统设计采用圆柱形的永久性小磁
20、钢来产生工作磁场。本次系统设计所采用的霍尔传感器A3144是Allegro MicroSystems公司生产的宽温、开关型霍尔效应传感器,霍尔传感器A3144的工作温度为-40150。霍尔传感器A3144具有尺寸小、稳定性好、灵敏度高等特点。本次设计采用的是3脚直插式封装器件,器件后缀为“UA”。A3144型霍尔传感器由稳压电路、电压发生电路、差分放大电路和输出放大电路等电路组成,其输入端的信号为磁感应强度,输出端为高低电平的数字信号。它能在矩形或者柱形永久性磁铁所产生的单磁极磁感应强度下工作。霍尔传感器的接线电路如图3-3所示,霍尔传感器实物如图3-4所示,。需要注意的是霍尔传感器的输出端应
21、接10K的上拉电阻。图3-3 霍尔传感器接线电路图图3-4 霍尔元件的实际管脚图根据霍尔传感器的测速原理来设计本系统的测速装置,本系统采用一个圆柱形的永久性磁铁作为磁场源。并选用铜制的柱形支架把圆柱形永久性磁铁固定在待测电机的轴上,为防止电动机在高速旋转时小磁铁被甩出,需要用胶带再次固定小磁铁。铜制的柱形支架可以再淘宝网上或郑州市中州商场购买。安装时应保证圆柱形永久性磁铁的磁极与霍尔传感器的表面相垂直,用扎带将小直流电动机固定好。鉴于电动机转动时会有很大的震动干扰,故电动机安装在万能板上,显示和数据处理单元单独放在另一个电路板上两块电路板之间用杜邦线连接。测速装置的安装如图3-5。图3-5 霍
22、尔传感器测速装置的安装示意图3.1.3 隔离电路为了能让单片机对外部脉冲进行精确计数,本系统采用了光电耦合器对霍尔传感器的输入脉冲进行隔离。光电耦合器的工作原理如图3-7,当电流从光电耦合器的输入端进入后,发光二极管开始正向导通并发光。光敏光敏三极管受到光照后产生电流,发射结CE开始导通;当输入端不加信号时,发光二极管不亮,光敏三极管处于截止状态,发射结CE不能导通。对于脉冲电信号,当输入端为低电平0时,光敏三极管截止,输出为高电平1;当输入为段为高电平1时,光敏三极管饱和导通,输出为低电平0。由以上的电路分析得出光电耦合器能够实电-光-电之间的转换,实现了输入和输出间的隔离。本次设计采用的光
23、电耦合器性能较好且价格便宜,试验表明能够很不错的实现输入输出间的互相隔离,提高了本系统测量的精确度。光电耦合器如图3-6,接线时霍尔传感器的输出端接光电耦合器的输入端,光电耦合器的输出端接单片机的外部中断0入口(P3.2)。图3-6 光电耦合器图3-7 光电耦合器电路原理图在光电耦合器的输出端还可以接74LS04反向器,反向器的加入再次增强了本系统的抗干扰性。74LS04反向器内部有6组反向器,内部原理如图3-8所示。本系统只使用74LS04反向器内部的两组反向器,让引脚2和引脚3短接在一起,引脚1接光电耦合器的输出端,引脚4接单片机的外部中断0端口。由于霍尔传感器需要和电动机接在同一个电路板
24、上,而光电耦合器和74LS04反向器都连接在霍尔传感器的后面,故它们可以和电动机放在同一块电路板上。74LS04反向器的使用可以参照图3-8。图3-8 74LS04反向器内部原理图3.2 逻辑控制电路3.2.1 单片机工作原理本系统采用AT89S52单片机作为逻辑控制单元,根据系统功能要求以及单片机的内部电路工作原理对逻辑控制模块进行设计,使AT89S52单片机能实现对电动机转速的准确测量并送给LCD1602显示。可以把逻辑控制单元(AT89S52单片机)部分分为时钟电路、处理执行电路和复位电路三个部分。AT89S52型单片机是一种带4K字节闪烁可编程可擦除只读存贮器(FPEROMFalsh
25、Programmable and Erasable Read Only Memory)的低电压,高性能CMOS八位微处理器,俗称单片机。ATMEL公司的AT89S52单片机是一种高效微控制器而且价格便宜、容易操作。这为基于霍尔传感器的电动机转速侧量系统的设计提供了一种很好的方案。AT89S52型单片机的使用可以参照图3-9。图3-9 AT89S52单片机引脚图在本次设计中用到的AT89S52单片机的主要管脚进行详细地说明:1.VCC:供电电压。2.GND:接地。3.P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。P0口由输出锁存器、两个三态输入缓冲器和输出驱动及控制电路
26、组成。AT89S52单片机的P0口既可以作为普通I/O口,又可以作为地址/数据总线口。本系统只用到P0的普通I/O口。需要注意的是,由于输出驱动为漏极开路形式,需要接10K欧姆的上拉电阻。4.P2口:P2口是一个内部有上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。本系统只用到P2口的双向I/O口来控制液晶显示器LCD1602的读写控制。5.P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口,如下表3-1所示。本系统的设计用到了P3.2引脚的外部中断0请求。6.RST:单片机的复位输入端。当单片机
27、复位时,需要保持RST脚两个机器周期以上的高电平时间。具体的复位电路在下面的章节中会有详细的介绍。表3-1 P3口的第二功能引 脚第二功能信 号 名 称P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXDTXDINT0INT1T0T1WRRD串行数据接收串行数据发送外部中断0请求外部中断1请求定时器/计数器0计数输入定时器/计数器1计数输入外部RAM写选通外部RAM读选通数据来源:单片机应用开发技术,中国电力出版社8./EA/VPP:当EA为高电平时,单片机访问的是内部程序储存器。当PC的值超过内部程序储存器的范围时,自动转向外部程序储存器。本次系统的设计只用到了内部程序储存
28、器,故需要将EA接高电平VCC。当EA为低电平时,只执行外部程序储存器,因此本次的毕业设计中应注意EA不能接地也不能悬空。9.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。10.XTAL2:来自反向振荡器的输出。本次系统的设计根据单片机各个引脚的具体功能,再Protel DXP软件中进行电路图的设计,然后在Keil uVision4软件中对照着电路原理图进行编程。最后用专用的软件将在Keil uVision4软件中生成的Hex文件写录到单片机内。3.2.2 时钟电路时钟电路是单片机的核心器件,和单片机有关的一切工作都严格按照时钟电路所产生的时序脉冲执行。本次系统设计中AT89S52
29、单片机的时钟频率采用12MHZ,且单片机的时钟电路采用内部振荡方式。AT89S52型单片机内有一个用于构成振荡器的高增益反向放大器,引脚XTAL1、XTAL2分别是此反相放大器的输入端和输出端。在单片机的XTAL1、XTAL2引脚上按照单片时钟电路图连接,就构成了单片机的内部振荡方式。具体的电路连接如图3-10所示。本系统晶振电路所采用的电容C1和C2的值为30PF。由实验得知晶体振荡频率越高,则单片机的时钟频率也越高,单片机的执行程序的速度也就快。单存的追求速度是不行的,单片机的执行速度越快对存储器的速度、对印制电路板的工艺的要求也就会越来越高,整个系统的成本就会迅速上升。综合也上特点,本次
30、系统的单片机使用振荡频率为12MHZ的石英晶体。图3-10 单片机时钟电路框图3.2.3 复位电路AT89S52单片机每次启动运行时都需要上电复位,这样使得中央处理器CPU和系统中的其它部件设定在已经设定的初始状态,并由这个设定的初始状态开始执行程序。AT89S52单片机有一个复位引脚RST,当RST引脚上出现两个机器周期(即二十四个个时钟周期)以上的高电平,单片机开始复位,只要RST保持高电平,AT89S52单片机就能实现复位。此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。在RST引脚变为低电平后,AT89S52单片机退出复位状态,AT89S52单片机从初始状态开始工作。一旦复
31、位电路失效,AT89S52单片机将会从一个随机的状态开始工作,单片机内部的程序就不能按已设定的模式执行,也就是说程序出现跑飞。由实验可知当单片机的复位引脚出现两个机器周期以上的高电平时,单片机就能够实现复位。复位后,P0P3口输出高电平;SP寄存器为07H;其他寄存器全部清0;不引响RAM状态。单片机的复位操作可以分为两种即上电自动复位和按键手动复位。上电自动复位可以通过复位电路中电容的充放电来实现。此时,在选用电容的参数时应保证电源的上升时间小于1ms,这样当单片机上电启动时就能够实现自动复位,使其在设定的初始状态开始工作。按键手动复位的实现分为两种,一种是电平式复位方式,另一种是脉冲式的复
32、位方式。按键电平复位的实现是将单片机的复位端经电阻与正5V的电源接通,具体的电路设计如图3-11所示。按键脉冲复位的实现可以用微分电路。本系统采用的是按键电平复位,这种复位方式能实现单片机的上电自动复位。图中的电阻、电容参数经试验证明能满足单片机的有效复位,也就是说单片机复位端的高电平信号所持续的时间能大于两个机器周期。图3-11 按键手动复位3.3 显示电路3.3.1 液晶显示器工作原理本系统的显示模块采用点阵字符型液晶模块LCD1602,它能够显示2行每行16个字符,液晶显示器LCD1602的显示原理是当加在液晶的电压值发生改变时,光线的传输方向就会发生相应改变。液晶显示器LCD1602具
33、有连线简单、体积较小、可显示的内容丰富等特点。这样的显示电路在以后的系统扩展时会非常方便,显示的内容也很丰富和八段LED显示器相比有着十分明显的优势。一、LCD1602字符型液晶显示的主要特性有1、供电电压为+5v,且亮度可以调整。2、振荡电路和重值电路包含在LCD1602的内部。3、能够提供很丰富的控制命令,例如清除显示屏、字符闪烁、光标闪烁、显示移位等多种功能。4、字符发生器中含有有160个57的点阵字型。5、字符发生器能够提供8个57的点阵字型,这些字符可以自己设定。二、本系统中LCD1602字符型液晶显示的主要引脚功能引脚1:VSS为地电源。引脚2:VDD为5V正电源。引脚3:液晶显示
34、器的对比度调整端,当接5V的正电源时对比度最低,反过来接地时对比度最高。因此引脚3一般要接一个10K的电位器进行对比度调节。引脚4:寄存器的选择端口,当此引脚为高电平时选用的是数据寄存器,反之低电平时选用的是指令寄存器。引脚5:LCD的读写操作端,当引脚5为高电平时LCD1602字符型液晶显示执行读操作,为低电平时执行写操作。引脚6:LCD的使能端,只有当引脚6的电平由高到低跳变时,液晶显示器才能开始执行命令。引脚714:D0D7为8位双向数据线,在本次的系统中可以直接和单片机的P0口连接。引脚15:背光显示器的正极。引脚16:背光显示器的负极。LCD1602液晶显示模块内部的控制器共有11条
35、控制指令。LCD1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。对于本次的系统设计,对LCD1602的控制信号R/W、RS、E的操作都必须严格按照LCD1602读写操作时序进行。液晶显示器在显示字符时要先应该输入显示字符的地址,编程时应按照LCD1602的内部显示地址进行程序设计。用单片机来控制液晶显示器LCD模块,方法十分简单。LCD模块的内部可以分为两组寄存器,一组可以称为指令寄存器,另一组称为数据寄存器,它们都是由LCD的引脚4来控制的。所有对指令寄存器或数据寄存器的操作都需要检查液晶显示器LCD1602内部的判忙标志BF,通过该标志可以来判断LCD内部是否正在工作
36、,LCD内部工作时不允许接收任何指令。3.3.2 液晶显示器与单片机的连接电路液晶显示器LCD1602与AT89S52系列单片机的连接方式主要有两种,一种是总线方式(或称直接方式);另一种是模拟口线方式,也成为独立方式或间接方式。模拟口线方式连接时,单片机的I/O口直接和LCD1602的控制端R/、RS、E分别相连,无写、读控制信号。对LCD1602的读写是通过对单片机的I/O口读写完成的。鉴于模拟口线的连线方便简洁。故本次显示电路采用模拟口线的连接方式。与单片机的连线如图3-12。图3-12 LCD1602与单片机的连线电路图4 软件设计本系统采用AT89S52中的外部中断对电动机的转速脉冲
37、进行计数。定时器T0工作于方式为1并设定为定时模式。每当定时器计时满1s后读一次外部中断对电动机脉冲的计数值,实际上这也是对电动机脉冲信号频率的测量,电机的转速可根据式(4-1)计算出。电动机通过转动轴带动铜质的支架旋转,霍尔传感器跟随铜质支架上的圆柱形永久小磁铁就能够得一系列的脉冲信号。由霍尔传感器得到的脉冲信号通过单片机的外部中断入口计数,且定时器T0开始定时。设定时器T0完成20次溢出中断的时间为T,用20次溢出中断的时间除以测得的霍尔脉冲数,然后送给AT89S52单片机进行处理,这样就可以计算出电动机的实际转速。电动机的转速可以用下面的公式计算。n=60m/(aT) (4-1)其中:电
38、动机的转速为n,定时器T0的中断次数为a,AT89S52单片机的外部中断在1s时间内测得的脉冲数为m,T为定时器T0的定时间。4.1 主函数程序设计主函数的设计是整个系统软件设计的精华,可以参照前人的理论研究成果确定出自己的总体设计方案。本次系统主函数程序设计流程如图4-1,首先应对单片机内部定时器、外部中断INT0等单元进行初始化设定,并开中断。用程序实现单片机对液晶显示器LCD1602的循环扫描,并等待中断,中断到来后开始执行中断函数。主函数的编写时应注意把调用显示函数放在程序的无限循环部分,这样就能够实现单片机对对液晶显示器LCD1602的循环扫描。详细的程序编写在附录1中可以看到。开始
39、初始化显示数据开中断等待中断图4-1 系统主函数程序设计流程4.2 单片机外部中断和定时器子程序本系统采用AT89S52单片机外部中断INT0的目的是对外部的霍尔脉冲进行计数。单片机外部中断INT0子程序流程如图4-2,外部中断采用边沿触发方式,故每次的霍尔脉冲到来时,开始向单片机申请中断。中断到来时电动机的圈数变量值开始加1,并和内部定时器配合实现单片机对电动机的圈数的实时处理并送给LCD显示。详细的程序编写在附录1中可以看到。返回关外部中断计数器+1初始化计数器开外部中断转圈计数器+1图4-2 外部中断子程序流程图定时器T0字程序流程如图4-2,本次系统设计采用了AT89C52单片机内部的
40、T0定时器,工作在方式1。每次执行一次的定时时间为50ms,而本系统用T0定时器的目的是为了实现没1秒钟读一下单片机对外部霍尔脉冲的计数值,故定时器需T0需要循环20次才能实现1秒的定时。每次执行完后需要让电动机的圈数变量值清零,这样才能在LCD1602实时的现实电动机每秒的转速。详细的程序编写在附录1中可以看到。重新装入计数值关T0中断关T0中断转圈数赋值给数据处理LCD显示开T0中断计时次数+1判断是否为20次20次为一秒是否图4-2 内部定时器T0字程序流程图4.3 显示子程序液晶显示器LCD1602的显示子程序如图4-3,由于LCD1602液晶显示模块的内部可以看成两组寄存器,一个为指
41、令寄存器,一个为数据寄存器。故LCD1602的显示模块可分为写指令子程序和写数据子程序。写指令子程序和写数据子程序可对照LCD1602的技术手册进行编程,所有对指令寄存器或数据寄存器的存取均需检查LCD内部的忙碌标志BF。标志位的检查可以令RS=0,用读取DB7来加以判断。当DB7位0时,才可以写入指令寄存器或数据寄存器。详细的程序编写在附录1中可以看到。LCD1602显示子程序向LCD1602写命令向LCD1602写数据结束显示图4-3 LCD1602显示子程序流程图5 硬件调试及软件仿真5.1 硬件调试第一步,在系统上电之前,检测电路中是否存在断路或者短路情况等。硬件的调试检测主要使用的是
42、多功能数字万用表,将多功能数字万用表置于检测电路的通路档,当电路中出现短路情况时万用表就会发出声光报警,当电路中出现断路时万用表不会发出声光报警。用这种方法逐一检测电路中各个焊盘间的断路或断路情况。特别是液晶显示器LCD1602的连接部分,对照ProtelDXP制作的PCB电路图,确保和原理图上设计的电路图一致。在单层PCB板上没法连接的线路,应严格对照着原理图要用短接线逐一连好,并利用数字万用表逐个的测量。这一切电路中的断路或短路情况,都应该严格按照ProtelDXP中的原理图进行判断。第二步,用数字万用表逐个检测直到电路中不存在断路或者短路情况,就可以对单片机进行上电调试了。首先用专用软件
43、将程序烧录到单片机芯片中,然后将单片机模块和电动机摸块分别接上+5V的电池盒。旋转电位器调节小电机的转速,观察液晶显示器LCD1602的显示情况并记录实验数据。再此过程中按下单片机的复位键,观察LCD1602的显示,判断单片机能否有效复位。重点用数字万用表测量方向器74LS04和霍尔传感器的输入和输出端电压,并记录实验数据。用数字万用表检测各个器件的电源以及接地端的电压值,并检查单片机其它引脚是否符合设计要求,是否可靠连接。单片机通电后能否正常工作等问题。液晶显示器LCD1602的调试:主要检查LCD能否可靠完整的显示试验数据。由于LCD的数据传送口接单片机的P0口,此时应接上拉电阻,这一点是
44、需要注意的。同时检测LCD的其它引脚是否可靠连接。在硬件调试时,由于电动机的用电量很大导致液晶显示器的显示不稳定,固本次的设计采用双电源分别对电动机和显示处理模块供电。对小电动机的固定也有个小小的技巧,那就是用扎带对其固定,效果还不错。本次设中,共进行了三次的PCB印制。第一次印制时没有充分考虑到液晶显示器LCD1602实际大小,导致其无法安装。第二次印制是没有按照器件封装的实际大小同比例的印制,以后的印制时可以带上器件进行对比,这样出错的概率就小多了。对前两次的错误修正后,第三次的PCB印制成功。另外本次系统中,增加了对小电动机的调速器件。电机的调速是通过电位器实现的,刚开始时选择了10K欧
45、姆的电位器,由于阻值过大不能很好的对电机调速,应选用100欧姆左右的电位器。本系统的实物如图5-1。图5-1 系统实物图5.2 软件调试系统的软件部分主要是在Keil C51软件中来完成的。由于这次的软件设计是模块化的设计,这为程序的调试带来很大的方便。只需要对各个程序模块逐个调试,就能够很好的完成对软件的调试和检查。首先利用Proteus电路仿真软件对电路原理图进行方真,Proteus电路仿真软件能本系统的硬件电路和软件程序部分同时仿真调试。这为本系统的设计节省了大量的时间,这次的毕业设计也正是在Proteus电路仿真软件的平台下设计完成的,达到了预期的设计要求。再次,在确保电路中不存在断路
46、或短路情况后,开始上电调试就需要上电后的综合调试了。将程序烧录到单片机芯片中,观察液晶显示器LCD1602的显示,记录试验数据,根据试验数据进行综合调试。软件的仿真如图5-2。图5-2 软件仿真图结束语通过对电动机转速测量毕业设计的软件和硬件的细心调试,取得了比较理想的结果。也明白了印制电路板的整个流程,动手操作了印制电路板的软件和相关的电气设备。本次智能化的转速测量系统也算是符合工业现代化的要求,能够不错的实现对小电动机转速的实时测量。由于这次小电机的电源为+5V,测得电动机转速的上限为每秒100转左右。电动机转速的调节是通过200的电位器实现的。用数字万用表测得霍尔传感器和74LS04反相器的输出端电压为4V左右。经试验可知软件工作正常,单片机能够有效的复位,液晶显示器LED1602能够正常显示。本系统的稳定度和精确度仍有很大的提升空间。在本次设计中还可以加上声光报警电路和电源工作指示灯等电路模块。对本系统稍加修改就能实现对自行车转速的测量并能测出里程,此时需要先用直尺测出自行车车轮的半径。本系统也能实现对外部频率的测量。这次的毕业设计仍有很大的提升空间,尤其是在软件的设计部分。在这次设计的基础上更高层次的设计是针对直流电动机的双闭环调速系统,需要用到的知识有电力电力技术、自动控制理论、信号与系统和运算放大电路等。致 谢这次对电动机转速的测量的毕业设计,让我对自