单片机电机速度测量显示系统.docx

上传人:b****1 文档编号:15175031 上传时间:2023-07-02 格式:DOCX 页数:10 大小:334.01KB
下载 相关 举报
单片机电机速度测量显示系统.docx_第1页
第1页 / 共10页
单片机电机速度测量显示系统.docx_第2页
第2页 / 共10页
单片机电机速度测量显示系统.docx_第3页
第3页 / 共10页
单片机电机速度测量显示系统.docx_第4页
第4页 / 共10页
单片机电机速度测量显示系统.docx_第5页
第5页 / 共10页
单片机电机速度测量显示系统.docx_第6页
第6页 / 共10页
单片机电机速度测量显示系统.docx_第7页
第7页 / 共10页
单片机电机速度测量显示系统.docx_第8页
第8页 / 共10页
单片机电机速度测量显示系统.docx_第9页
第9页 / 共10页
单片机电机速度测量显示系统.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机电机速度测量显示系统.docx

《单片机电机速度测量显示系统.docx》由会员分享,可在线阅读,更多相关《单片机电机速度测量显示系统.docx(10页珍藏版)》请在冰点文库上搜索。

单片机电机速度测量显示系统.docx

单片机电机速度测量显示系统

单片机电机速度测量显示系统

机电工程学院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

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2