APP下载

基于单片机的电机转速测量与显示系统设计

2015-01-03

电子测试 2015年19期
关键词:数码管编码器脉冲

(1.北京工业大学电子信息与控制工程学院 北京 100124;2.北京印刷学院高端印刷装备信号与信息处理北京市重点实验室,北京,102600)

基于单片机的电机转速测量与显示系统设计

张哲煜1,李玉杰2

(1.北京工业大学电子信息与控制工程学院 北京 100124;2.北京印刷学院高端印刷装备信号与信息处理北京市重点实验室,北京,102600)

针对当前工业控制领域中的电机转速显示,提出了一种基于AT89C2051单片机的全数字式转速显示系统设计方案,并完成系统的软硬件设计。该系统通过硬件实现了电机转速采集、信息处理以及速度显示的架构;通过软件实现了计时、脉冲计数、转速计算以及转速显示的功能。实验结果表明,系统结构简单,工作稳定可靠,达到了设计要求。

单片机;转速;编码器;电机

近年来,电机转速的测量在工业控制和民用电器领域中得到了较高的关注,尤其是在精确度和易于实现方面。电机转速的测量主要包括转速采集、信号处理和转速显示三方面。转速采集的方法分为模拟式和数字式两种,模拟式采用测速发电机作为检测装置,得到的信号是模拟量;数字式通常采用光电编码器、霍尔元件等作为检测元件,得到的信号是脉冲信号。本文是采用数字式的光电编码器进行转速采集,并以单片机AT89C2051作为核心进行采集信号的处理和转速的显示。具体是通过 Altium Designer软件设计并绘制这两部分的原理图,然后将原理图转化成PCB图来制作所需要的PCB电路板,最后通过Keil uVision4对单片机编程后完成设计的软件部分。

1 信号采集与转速显示原理

1.1 信号采集原理

转速测量是通过编码器采集信号,再经过单片机处理后传送输出给数码管显示的。转速信号采集作为整个系统的前端通道,目的是将外界的非电参量,通过某种方式转换成可量化的电参量,这一环节通常通过编码器来实现。编码器的转速测量方式种类很多,有电容式、光电式、电磁式等,其中光电式测量系统具有惯性小、噪声低、分辨率高和精度高等优点,以及高性能材料的出现,使得激光光源、光栅等相继出现和被广泛应用,更增加了光电编码器对转速测量的精确度。光电编码器的工作原理如图1所示,是通过光电转换的方式将电机带动的输出轴上的机械几何位移量转换成脉冲或数字量来工作的。光电编码器通常包情况下含五条线,两根作为电源线(正极和负极),另外三根作为脉冲线(A相、B相、Z)。编码器的工作电压是直流电压,通常选择+5V电源供电。当固定在电机轴上的光电编码器随电机轴转动时,A相、B相都会产生脉冲输出,且两脉冲相差90度相位角,A线用于测量脉冲个数,B线与A线相互配合来测量出转动方向,假如A相脉冲比B相脉冲超前,那么电机正转,否则电机为反转,由此可测出电机转速与电机转动方向(即光电编码器转动方向)。Z线是零脉冲线,主要起着计数作用。由于光电编码器型号确定后,相应的旋转一圈的脉冲个数也会确定,所以Z线通常是可以省略的。

图1 光电编码器工作原理图Fig.1 working principle of photoelectric encoder

1.2 数码管显示原理

最常用的数码管是七段式和八段式LED数码管,八段比七段多了一个小数点DP,剩余其他的基本相同。一个八段数码管可用来显示一个十进制或十六进制的数字,它内部是由九个发光二极管所构成的。简单来说,要产生数字图案,就是要点亮相应位置的发光二极管。例如要产生数字,必须且只能点亮A、B、C、D、E、F、G七段的发光二极管;要产生数字,则须点亮A、C、D、F、G这五段的发光二极管;再如果是几个数码管级联后产生有小数部分,则个位的DP二极管必须被点亮,以此类推,见图2。其中,数码管通过供电方式又可分为共阴和共阳两种,共阴是将阴极作为为数码管的公共端(接电源负极),当阳极接电源正极时,发光二极管就会被点亮;共阳是将阳极作为数码管的公共端(接电源正极),当阴极接电源负极时,发光二极管就会被点亮。表1为共阴极八段数码管数字编码,显示了0~9十个字符的编码,DP为小数点,‘1’代表点亮,‘0’代表熄灭。

图2 数码管字段说明Fig.2 digital tube field description

表1 共阴极八段数码管数字编码Tab.1 Digital coding of eight segments of cathode

2 硬件电路设计

根据实际控制的需要,设计了基于单片机的电机测速与显示系统的硬件电路,如图 3所示。电机转速的测量主要包括四个部分:电机、转速采集、信号处理和转速显示,该方案主要对信号处理和转速显示两部分进行设计。其中,电机可根据需要选取,这里选取的是额定功率为185W,额定电流为1.2A,额定转速为1600r/min的直流电动机,而转速采集的编码器需要选取光电式,这里选取的型号为HEDS-9100#J00,因为光电编码器定下后,一圈的脉冲数就定下了,单片机里程序的相应参数也就固定了。

图3 电机测速与显示系统框图Fig.3 Motor speed and display system block diagram

2.1 采集信号处理电路

转速测量的信号处理部分电路主要由单片机信号处理电路、电源转换电路、滤波电路和相关电路组成,单片机是整个测量系统的核心部分,负责对前端光电编码器采集来的脉冲信号进行处理、计算、以及信号的同步、计时等任务;其次,测量的数据经单片机计算后,将得到的转速电压信号值传送到显示接口INT0、INT1中,再通过导线输送到显示电路板,用八段数码管显示转速值。在本系统中考虑到计数的范围、使用的定时/计数器的个数及 I/O接口,选择AT89C2051单片机作为主芯片。电源转换电路是通过变压器将市电转换成16V交流电,然后通过LM7805转换成+5V直流电给单片机和D触发器供电。而滤波电路是通过给电源电路添加电容来滤波的,目的是除去电源里的干扰。D触发器选择的是74LS74型,它起着计数器以及处理输入、输出信号和时钟频率之间相互影响的作用。

单片机的接口电路如图4所示,其中,单片机RXD、TXD是为仿真器预留的接口,单片机的T1和74LS74(1)的2CP相连并与光电编码器(HEDS-9100#J00)的CHA连接,74LS74(1)的2D和74LS74(2)的1CP相连并与光电编码器的CHB连接。INT0、INT1是与转速显示电路相连接的转速输出接口。

2.2 转速显示电路

该部分电路由移位寄存器(74LS164)、共阴数码管及100Ω电阻组成。其中,采用了独立的五组移位寄存器与数码管组合单元,显示四位整数与一位小数。当时钟 (CP)每次由低电平变为高电平时,数据就会向高位移动一位,然后将结果输入到 Q0(Q0是两个数据输入端(DSA和 DSB)的逻辑与),它会将上升时钟沿之前的状态保持一个建立时间的长度。单片机把采集到的转速脉冲转换成编码数据传输给第7脚(P3.3),再传输到显示电路的最低位移位寄存器74LS164(即小数部分);当转速大于1,即编码数据有整数部分时,会从最低位的移位寄存器第13脚(Q7)溢出,到达个位移位寄存器的数据输入端(DSA与DSB),以此类推,将转速完整的显示在数码管上;当高位的数码管没用到时则显示熄灭状态,见图5,其中,CP、Din与转速测量电路的单片机6,7引脚相连。

图4 单片机接口电路Fig.4 Single chip microcomputer interface circuit

图5 转速显示电路Fig.5 Speed display circuit

图6 软件流程图Fig.6 Software flow chart

3 软件设计

因为移位寄存器74LS164只有串入并出的作用,并没有译码功能,所以在编写显示驱动程序时,需要提前计算并列写出与该电路对应的LED段选码(可参考表1),然后由单片机AT89C2051的P3.3口送入74LS164的串行输入端,再并行输出到LED的段选端。这种稳定的静态显示方式的优点是省去了CPU的动态扫描过程,节省了时间、减小了数码管显示的不稳定性。转速测量的软件部分主要包括周期测量和转速计算两个过程程序的编写,图6是程序流程图。先测量两次转速后,将计算得来的两个转速值分别存入两个缓冲单元(D触发器),为单片机进行下一步的数据处理做准备。

系统软件的核心是对周期测量程序的编写,信号周期测量是否准确将会直接影响到系统的测量精确度。周期测量的程序一般可分为测量初始化、测量过程和测量结束三个部分。测量初始化程序主要包括被测参数的初始化程序、定时器T0的初始化程序、外部中断0的初始化程序及外部中断1的初始化程序四部分。测量过程中,对每个信号都会测量5个下降沿,然后从中得到4个周期的时间,最后将第4个下降沿的时间与第2个下降沿的时间作差,就得到两个周期的时间和,除以2就得到了每个信号的单周期时间T1。由于11.0592是单片机始终的晶振,时钟周期是1/11.0592M,因而定时器的周期是12/11.0592,所以实际的单周期时间应为T2=T1*12/11.0592。测量结束程序是用来关闭定时器及外部中断的。

4 结论

本文设计的基于AT89C2051单片机的转速测量系统,硬件电路结构简单、模块分明、抗干扰性好,程序运算速度快、响应准确。该设计实现了单片机准确测量电机转速并将其显示在数码管上的功能,而且配有向上位机发送数据的端口,测量范围比较宽:0 r/min-10000r/min,精确度可达到0.1 r/min,已达到了比较理想的状态。由于基于单片机的转速测量系统,具有精度高、测速快、价格低廉等优点,相信定会在今后的工业或商业中得到广泛的应用。

[1] 王晓芬. 直流电机调速系统的设计[J].现代工业经济和信息化,2015,(6):68 Wang Xiao-fen. Design of DC motor speed control system [J]. modern industrial economy and information technology, 2015,(6):68

[2] 李勋,刘源,李静东等.单片机实用教程[M].北京:北京航空航天大学出版社,2005.5:143.

[3] 阎石,编.数字电子技术基础[M].北京:高等教育出版社,2006.5.

[4] 李金波,刘明黎.基于霍尔传感器的转速测量系统的设计[J].河南科技学院学报,2009,37(3): 54-56. Li Jin-bo, Liu Ming-li. Design of speed measurement system based on Holzer sensor. Journal of Henan Institute of Science and Technology, 2009,37(3): 54-56.

[5] 张毅刚,彭喜源,彭宇.单片机原理及应用[M].北京:高等教育出版社,2010:45-100.

[6] 赵树磊,谢吉华,刘永锋.基于霍尔传感器的电机测速装置[J].江苏电器,2008,(6):53-56. Zhao Shu-lei,Xie Ji-hua,Liu Yong-feng. [J]. Jiangsu electric appliance,2008,(6): 53-56.

[7] 陈德益.基于嵌入式单片机的电机控制系统设计[J]. 计算机仿真,2010,(1):359-362. Chen De-yi. Computer simulation of the motor control system based on embedded microcontroller [J]. computer simulation, 2010 ,(1):359-362.

张哲煜(1993年——),北京市人,男,本科生。研究方向:信号与信息处理、计算机测控。

李玉杰 (1971年),北京人,硕士生导师,教授

Design of motor speed measurement and display system based on single chip microcomputer

Zhang Zheyu1,Li Yujie2
(1.electronic information & Control Engineering College,Beijing,100124 2.Key Laboratory of Beijing City, city, city, city, Key Laboratory of high-end printing equipment and information processing, Beijing Institute of Graphic Communication,Beijing,102600)

In view of the current industrial control in the field of motor speed display,a full digital speed display system based on AT89C2051 microcontroller design scheme,and complete the system hardware and software design.The system realizes the structure of the motor speed,information processing and speed display through the hardware,and the function of the time, the pulse counting,the speed and the speed of the display are realized by the software.The experimental results show that the system is simple and reliable, and can meet the design requirements.

single chip microcomputer;speed;encoder;motor

TN79

A

猜你喜欢

数码管编码器脉冲
融合CNN和Transformer编码器的变声语音鉴别与还原
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
微课教学设计之“数码管动态显示”
上下解反向的脉冲微分包含解的存在性
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
基于FPGA的同步机轴角编码器
黄芩苷脉冲片的制备
应用旋转磁场编码器实现角度测量