单片机电机速度测量显示系统.docx
《单片机电机速度测量显示系统.docx》由会员分享,可在线阅读,更多相关《单片机电机速度测量显示系统.docx(10页珍藏版)》请在冰点文库上搜索。
单片机电机速度测量显示系统
单片机电机速度测量显示系统
机电工程学院11级机制三班李家朋
摘要:
本文介绍一种单片机电机速度测量及显示系统——运用8031单片机控制的智能化转速测量仪。
该系统给出了一种基于8031单片机以及PWM控制思想的高精度、高稳定、多任务直流电机转速测控系统的硬件组成及关键单元设计方法。
实验结果表明该系统能实时、有效地对直流电机转速进行监测与控制,而且输出转速精度高、稳定性好。
关键词8031单片机转速传感器
前言
目前使用的电机模拟控制电路都比较复杂,测量范围与精度不能兼顾,且采样时间较长,难以测得瞬时转速。
本文介绍的电机控制系统利用PWM控制原理,同时结合霍尔传感器来采集电机转速,并经单片机检测后在显示器上显示出转速值,而单片机则根据传感器输出的脉冲信号来分析转速的过程量,并超限自动报警。
本系统同时设置有按键操作仪表,可用于调节电机的转速。
系统控制原理
1、系统方案的制定
直流电机控制系统主要是以8031单片机为核心组成的控制系统,本系统中的电机转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此,由MCU内部的可编程计数器阵列输出PWM波,以调整电机两端电压与控制波形的占空比,从而实现调速。
本系统通过霍尔传感器来实现对直流电机转速的实时监测。
系统的设计任务包括硬件和软件两大部分,其中硬件设计包括方案选定、电路原理图设计、PCB绘制、线路调试;软件设计包括内存空间的分配,直流电机控制应用程序模块的设计,程序调试、软件仿真等。
2、硬件设计
8031是完全集成的混合信号系统级MCU芯片,具有64个数字I/O引脚,片内含有VDD监视器、看门狗定时器和时钟振荡器,是真正能独立工作的片上系统,并能快捷准确地完成信号采集和调节。
同时也方便软件编程、干扰防制、以及前向通道的结构优化。
本单片机控制系统与外部连接可实时接收到外部信号,以进行对外部设备的控制,这种闭环系统可以较准确的实现设计要求,从而制定出一个合理的方案,图1所示是电机测控系统框图。
图1电机测控系统框图
本系统先由单片机发出控制信号给驱动电机,同时通过传感器检测电机的转速信号并传送给单片机,单片机再通过软件将测速信号与给定转速进行比较,从而决定电机转速,同时将当前电机转速值送LED显示。
此外,也可以通过设置键盘来设定电机转速。
系统中的转速检测装置由霍尔传感器组成,并通过A/D转换将转速转换为电压信号,再以脉冲形式传给单片机。
这种设计方法具有频率响应高(响应频率达20kHz以上)、输出幅值不变、抗电磁干扰能力强等特点。
其中霍尔传感器输入为脉冲信号,十分容易与微处理器相连接,也便于实现信号的分析处理。
单片机的T0口可对该脉冲信号进行计数。
设计时,可通过单片机的P0.1~P0.5五个接口来完成键盘的输入,P1.6口可完成鸣叫和报警,P2.0接电机,P2.1~P2.4接显示器的位选,P0口为显示器段选码,其硬件连接电路如图2所示。
图2硬件连接电路图。
本系统的脉冲宽度调制原理是:
脉冲宽度调制波由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。
该系统由一个比较器和一个周期为Ts的锯齿波发生器组成。
脉冲信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。
图3所示为脉冲宽度调制系统的调制原理和波形图。
图3脉宽调制过程。
设样本τk为均匀脉冲信号,它的第k个矩形脉冲可以表示为:
其中,x{t}是离散化信号;Ts是采样周期,τ0是未调制宽度,m是调制指数。
现假设脉冲幅度为A,中心在t=kTs处,τk在相邻脉冲间变化缓慢,那么,其Xp(t)可表示为:
其中,
为电机角速度,结合式
(2)可见,脉冲宽度信号可由信号x(t)加上一个直流成分以及相位调制波构成。
当τ0<<>
因此,脉冲宽度调制波可以直接通过低通滤波器进行解调。
C8031单片机有2个12位的电压方式DAC,每个DAC的输出摆幅为0V~VREF,对应的输入码范围是0x000~0xFFF。
通过交叉开关配置可将CEX0~CEX4配置到P2端口,这样,改变PWM的占空比就可以调整电机速度。
LED显示采用动态扫描方式,并用单片机I/O接口扩展输出,再由三极管驱动各显示器的位选端并放大电流。
独立式按键采用查询方式,按键输入均采用低有效,上拉电阻可用于保证在按键断开使其I/O口为高电平。
单片机的I/O(P0.1~0.5)引脚所扩展的5个按键分别定义为:
设置、启动、移位、开始、+1功能。
硬件电路确定以后,电机转速控制的主要功能将依赖于软件来实现。
3、软件设计
本系统的软件程序的设计可分为5个步骤:
分别是综合分析并确定算法;设计程序流程图;合理选择和分配内存单元以及工作寄存器;编写程序;上机调试运行程序。
应用软件的设计可采用模块化结构设计,其优点是每个模块的程序结构相对简单,且任务明确,易于编写、调试和修改;其次是程序可读性好,对程序的修改可局部进行,而其他部分可以保持不变,这样便于功能扩充和版本升级;另外,对于使用频繁的子程序,可以建立子程序库,以便于多个模块调用;最后是便于分工合作,多个程序员可同时进行程序的编写和调试工作,故可加快软件研制进度。
本程序采用8031单片机的C语言编程来实现。
在系统的程序设计中,可采用模块化编程实现。
整个软件由主程序模块、转速测量模块、时钟模块、数据通信模块、动态显示模块等组成。
各模块均采用结构化程序设计思想设计,因而具有较强的通用性;而采用模块化程序结构则可使软件易于调试、维护和移植。
系统软件可根据硬件电路的功能与8031各管脚的连接情况对软件进行设计。
以便明确各引脚所要完成的功能,从而方便进行程序设计和内存地址的分配,最终完成程序模块化设计。
本系统为直流电机测控系统。
根据系统性能要求,除复位电路外,还应该设置一些功能键:
包括启动键、设置键、确定键、移位键、加1键等。
由于本系统中的单片机还有闲置的I/O口线,而系统要求所设置的按键数量也不多,因此,可以采用独立式按键结构。
根据直流电机控制系统的结构,该电机转速控制系统为一简单的应用系统,可以采用顺序的设计方法。
这种设计由主程序和若干个中断服务程序构成,整个电机转速测控系统可分成六大模块,每个模块完成一定的功能。
图4所示是根据电路图确定的程序设计模块图。
图4直流电机控制软件设计模块图。
控制程序流程图及汇编程序模块
1、其中主程序模块主要设置主程序的起始地址、中断服务程序的起始地址、有关内存单元及相关部件的初始化和一些子程序调用等。
其主程序流程图如图5所示。
图5主程序流程图。
对于定时器T1(1s)子程序的设计,其实在单片机中,定时功能既可以由硬件(定时/计数器)实现,也可以通过软件定时程序来实现。
软件延时程序要占用CPU的时间,因而会降低CPU的利用率。
而硬件定时则通过单片机内的定时器来定时,而且,定时器启动以后可与CPU并行工作,故不占用CPU的时间,从而可使CPU具有较高的工作效率。
本系统采用硬件定时和软件定时并用的方式,即用T1溢出中断功能来实现10ms定时,而通过软件延时程序实现1ms定时。
其中T1定时器中断服务程序的功能主要实现转速值的读入、检测与缓存处理。
对于定时器T1的计数初值计算,由于本系统采用的是6MHz的时钟频率,所以,一个机器周期时间是2μs。
这样,根据T1定时器产生500μs的定时,便可以计算出计数初值。
本文设计的转速测控系统的工作方式寄存器TMOD=00010000B,T1定时器以工作方式2来完成定时。
2、显示程序如下:
LOOP:
MOVA,R0;数据指针R0给累加器A
MOVCA,@A+DPTR;从数据表中指针所找的数据,
并传送给A寄存器
MOVP0,A;数据传给数码管各段
CLRP1.0
CLRP1.2
SETBP1.2
SETBP1.0
MOVP0,R1;将位选数据传送给P0口,点亮
所需数码管
CLRP1.1
CLRP1.2
SETBP1.2
SETBP1.1
LCALLDELAY;延时一段时间
MOVP0,#0FFH;关闭数码管,为下一个数码
管显示做准备
CLRP1.1
CLRP1.2
SETBP1.2
SETBP1.1
;改变段码和位码
INCR0;数据指针加1,指向下一个数据
地址
MOVA,R1;位选数据左移,准备将下一个数
码管点亮
RLA
MOVR1,A
CJNER1,#0EFH,LOOP;判断DS3数码管是否
点亮结束
LJMPMAIN;循环主程序
;数码管数据表
TAB:
DB0C0H,0F9H,0A4H,0B0H,099H;0~9数据表
DB092H,082H,0F8H,080H,090H
END
4、程序调试
程序调试可在伟福仿真软件上进行编制,该软件支持脱机运行,纯软件环境可模拟单步、跟踪、全速、断点;源文件仿真、汇编等,并可支持多文件混合编程。
仿真调试后的目标程序可以固化到EPROM,然后用专门的程序烧写器对8031单片机进行程序烧写。
5、结束语
本设计采用C51进行编程,程序占用存储器单元少,执行速度快,并能够准确掌握执行时间,实现精细控制。
同时由于采用8031为CPU,并利用噪声抵抗能力较强的PWM控制技术、串行口扩展显示器接口和I/O口扩展键盘,因而可省去片外RAM,而且体积小,功能全,小巧灵活,操作方便,又可安装在工作现场单独工作。
因而具有较大的实用价值和良好的应用前景。
主要参考文献
[1].何立民.单片机应用技术选编.北京:
北京航空航天大学出版社,1997,10
[2].张有德.单片微机原理、应用与实验.上海:
复旦大学出版社,1997,8
[3].李朝青.单片机&DSP外围数字IC技术手册.北京:
北京航空航天大学出版社,1998,4
[4].梁廷贵、王裕琛.现代集成电路实用手册.北京:
科学技术文献出版社,1999,6