文档库 最新最全的文档下载
当前位置:文档库 › 基于51单片机的光电编码器测速

基于51单片机的光电编码器测速

基于51单片机的光电编码器测速
基于51单片机的光电编码器测速

摘要

光电编码器是高精度位置控制系统常用的一种位移检测传感器。在位置控制系统中,由于电机既可能正转,也可能反转,所以要对与其相连的编码器输出的脉冲进行计数,要求相应的计数器既能实现加计数,又能实现减计数,即进行可逆计数。其计数的方法有多种,包括纯粹的软件计数和硬件计数。文中分别对这两种常用的计数方法进行了分析,对其优缺点进行了对比,最后提出了一种新的计数方法,利用80C51单片机内部的计数器实现对光电编码器输出脉冲的加减可逆计数,既节省了硬件资源,又能得到较高的计数频率。本设计就是由单片机STC89C52RC芯片,光电编码器和1602液晶为核心,辅以必要的电路,构成了一个基于51单片机的光电编码器测速器。该系统有两个控制按键,分别用于控制每秒的转速和每分钟的转速,并将速度用1602液晶显示出来。该测速器测速精准,具有实时检测的功能,操作简单。

关键词:光电编码器,51单片机,C语言,1602液晶

目录

一、设计任务与要求 (3)

1.1 设计任务 (3)

1.2 设计要求 (3)

二、方案总体设计 (4)

2.1 方案一 (4)

2.2 方案二 (4)

2.3 系统采用方案 (4)

三、硬件设计 (6)

3.1 单片机最小系统 (6)

3.2 液晶显示模块 (6)

3.3 系统电源 (7)

3.4光电编码器电路 (7)

3.5 整体电路 (8)

四、软件设计 (9)

4.1 keil软件介绍 (9)

4.2 系统程序流程 (9)

五、仿真与实现 (11)

5.1 proteus软件介绍 (11)

5.2 仿真过程 (11)

5.3 实物制作与调试 (12)

5.4 使用说明 (13)

六、总结 (14)

6.1 设计总结 (14)

6.2 经验总结 (14)

七、参考文献 (15)

一、设计任务与要求

1.1 设计任务

1).对更多小器件的了解

2).巩固51单片机和C语言的知识,熟悉单片机和C语言的实际操作运用

3).掌握仿真软件的运用和原理图的绘制

4).加深焊接的技巧,提高焊接的能力

5).熟悉调试方法和技巧,提高解决实际问题的能力

6).熟悉设计报告的编写过程

1.2 设计要求

1).两个按键控制显示每分钟和每秒钟的功能

2).74LS74辅助光电编码器测转向

3).光电编码器输出脉冲计数

4).1602液晶显示转速

二、方案总体设计

设计一个基于51单片机的光电编码器测测速。设计一个电路来实现光电编码器测量;利用单片机内部精确到微妙的定时计数器来实现一个周期的时间来统计脉冲数;74LS74作为辅助芯片来完善光电编码器测转向的功能;P0和P2口控制1602液晶显示转速;利用P1^1和P1^2来实现液晶显示每秒钟和每分钟转速的功能;利用复位按键功能来实现复位操作。调节蓝白滑动变阻器来调节液晶亮度。

2.1 方案一

51单片机的定时/计数器工作在模式2时是一个可以自动重装载的8位定时/计数器。工作时高八位和低八位装入相同的初值,当低八位装满时,高八位的值自动装入到第八位中,从而可以省去用户软件中重装初值常数的语句,可产生相当精确的定时时间。由于只有八位参与计数,所以其计数周期最大为256微妙。采用初值装入0x38,每个200微妙进入一次中断,5000次中断为100毫秒,即实现周期为1秒的脉冲计数。光电编码器的A相接在单片机的外部中断,光电编码器的B相接在单片机的P1^0。A相发出的脉冲每触发一次中断就就计数一个脉冲,并且再对P1^0的高低电平进行检测,如果为高电平则为反转,如果是低电平则为正转。反向器中的两个作为放大作用。再接两个三极管作为开关作用,组成一个直流电机的驱动电路。P1^1和P1^2分别控制液晶显示每分钟的转速和每秒钟的转速。P2口控制1602液晶的数据口,P0的三个引脚控制1602液晶的数据/命令选择端、读/写选择端、使能端来显示速度。

2.2 方案二

51单片机的定时/计数器工作在模式0时是一个16位位定时/计数器。工作时高八位和低八位各装入初值,当低八位装满时,高八位加1。由于是16位参与计数,所以其计数周期最大为65536微妙。采用初值高八位装入0xfc,初值低八位装入0x18,每个1000微妙进入一次中断,1000次中断为1秒,即形成周期为1秒的脉冲计数。本方案在方案1的基础上外接一个74LS74的芯片。光电编码器的A相接在单片机的P3^4的引脚,利用单片机的计数器1进行脉冲计数,同时接在74LS74的时钟信号接口。光电编码器的B相接在74LS74的D接口。Q端接在P3^2引脚,Q非端接在P3^3引脚。利用两个外部中断来判断正反转。P1^1和P1^2分别控制液晶显示每分钟的转速和每秒钟的转速。P2口控制1602液晶的数据口,P0的三个引脚控制1602液晶的数据/命令选择端、读/写选择端、使能端来显示速度。

2.3 系统采用方案

1)总体设计

图1为设计总体框架图,通过该图大致的介绍了一下整个光电编码器测速系统的各个主要部分。

图1 系统总体框架

2)总体工作原理

由于定时器工作模式2是八位,可装入的值太小,每进行一个周期的脉冲统计需要进入5000次定时器中断,由于进入中断的次数太多,所以很容易出现在低八位装满本应触发而程序还在中断子程序中运行,而无法触发中断的情况,所以不采用工作模式2。工作模式0只需要进入定时中断1000次就可以进行一个周期的脉冲统计,所以选择功能模式0。方案一中用,用纯软件计数虽然电路简单,但是计数速度慢,难以满足实时性要求,而且容易出错。我们可以用单片机内部的计数器来实现加减计数。单片机片内有两个16位定时计数器都可以用来脉冲计数,用两个外部中断来检测正反转,避免了每一个脉冲都要进行高低电平检测的步骤。控制按键,液晶和复位方面的设计在方案一和方案二中一样。综上考虑,最终方案确定为方案二。

三、硬件设计

3.1 单片机最小系统

单片机要正常工作,首先要产生片内时钟信号。在单片机内部的振荡器的输入端XTAL1和输出端XTAL2之间接一个石英晶振就可以够成一个自激振荡器。再在两端之间串联接个电容并且在两个电容之间接地以便于稳定频率还对振荡频率有微调作用。电容通常选30PF 左右,振荡脉冲频率范围为0~24MHZ。该电路中选用12MHZ晶振。时钟电路图如下:

图2 时钟电路图

单片机在启动时与其他微处理器一样,要让CPU及系统各部件处于确定的初始状态,并从初始开始工作。这就需要复位操作。复位电路有两种方式:上电自动复位和按键自动复位。上电自动复位只是在开始接通电源瞬间复位,接下来想要再次复位就需要断电重启,不方便。按键自动复位不仅可以在开始接通电源瞬间复位还可以通过按下按键复位随时复位。所以选择按键复位方式。复位电路如下:

图3 复位电路图

3.2 液晶显示模块

该可调直流电机最大速度为每分钟1200转,采用1602液晶显示。控制1602液晶亮度的是蓝白滑动变阻器。1602液晶有16个管脚。编号为1,2管脚为电源正负极管脚,15,16为背光源正负极管脚;7~14为dataI/O管脚与单片机的P0口相连,负责液晶与芯片之间的信息传送;4,5,6分别为数据/命令选择端、读/写选择端、使能端,与单片机的, P2^0、P2^1、P2^2相连,负责控制液晶与芯片之间数据命令的读写操作;3为液晶显示偏压信号端,用于调整液晶显示对比度。1602液晶显示原理图如下:

G N D 1V C C 2V O 3R S 4R W 5E N 6D

B 07D B 18D B 29D B 310D B 411D B 512D B 613D B 714B L A 15B L K

16

1602液晶

GND

VCC GND

VCC

1

1

223

3RV1

P 0.0V O P 0.1P 0.2P 2.0P 2.1P 2.2P 2.3P 2.4P 2.5P 2.6P 2.7

图4 液晶显示系统图

3.3 系统电源

为了方便控制系统的上电与断电,系统电源中连接了一个蓝白自锁开关。此开关两边各有三个引脚,不同的连接方式,开关的控制方法就不同。电源的正负极各接在此开关的两边。为了方便观察电源是否接上,在电路中的VCC 与GND 之间接一个发光二极管并且加一个限流电阻防止发光二极管烧坏,电源通电时发光二极管亮,断电时,则暗。再接四个排针便两边的两个排针用于外部电源给系统上电,中间的两个排针是用于单片机烧录程序。如图所示:

图5 系统电源图

3.4光电编码器电路

这是一张光电编码器部分的电路原理图。图上的74LS74芯片上就是两个D 触发器。A 相接在P3^4的引脚用于计数器0采集脉冲。A 相同时接在CLK 端,B 相接在D 端,Q 接在P3.2引脚,外部中断0检测和Q 非接在P3.3外部中断1来检测。另外A 相和B 相各需接一个上拉电阻,阻值为1K 。这样输出的脉冲就可以直接接在单片机上,进行检测了。另外74LS74芯片的SET 引脚,CLR 引脚,VCC 引脚都接电源,GND 引脚接地。整个电路就连接完成了。

11

22334

4

P2

编码器接口

CLR11

D12CLK13SET14Q15Q16GND 7Q28Q29SET210CLK211D212CLR213VCC 14U4

74LS74

R51K

R61K VCC

VCC

P3.2

VCC

P3.3

VCC GND

GND A 相

B 相

VCC

P3.4A 相B 相

图6 光电编码器电路

3.5 整体电路

这是采用网络标号的画出的以一张整体电路图。它将整张可调直流电机的电路原理图分为七个部分:电源模块,P0口上拉电阻,1602液晶模块,51单片机,复位晶振电路,控制按键和光电编码器电路。整张原理看起来美观,明了并且根据标号很容易找到与之对应的引脚。

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7VCC P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0

GND

X1X2P3.7P3.6P3.5P3.4P3.3P3.2TXD RXD RST P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0VCC 1R12R23R34R45R56R67R78R89

102

RP1VCC VCC

TXD

VCC L01K R2RXD

电源模块

NC 1IN22O23NC 4IN1

5

O1

6

S5蓝白自锁开关

GND

P0.0P0.1P0.2P0.4P0.5P0.6P0.7

P0口 上拉 电阻

1

234P0

Header 4

P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST

9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR 16P3.7/RD 17XTAL218XTAL119GND

20

P2.0

21

P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN 29ALE/PROG

30EA/VPP 31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC 40U6

51单片机

每秒钟转速

控制按键

复位晶振电路

10K

R110uF

C0

RST

VCC

GND

22pF C122pF C2

GND

X2X1

1

2

Y1XTAL 基于51单片机的光电编码器测速设计

每分钟转速

GND

P1.1

P1.2

G N D 1V C C 2V O 3R S 4R W 5E N 6D B 07D B 18D B 29D B 310D B 411D B 512D B 613D B 714B L A 15B L K

16

1602液晶

GND

VCC GND

VCC

11

2233RV1P 0.0V O P 0.1P 0.2P 2.0P 2.1P 2.2P 2.3P 2.4P 2.5P 2.6P 2.7

1602液晶模块

11

22334

4

P2

编码器接口

CLR11

D12CLK13SET14Q15Q16GND 7Q28Q29SET210CLK211D212CLR213VCC 14U4

74LS74

R51K

R61K 光电编码器电路

VCC

VCC

P3.2

VCC

P3.3

VCC GND

GND A 相

B 相

VCC

P0.3P3.4A 相B 相

图7 整体电路图

四、软件设计

4.1 keil软件介绍

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种Keil软件图标是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil 软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

4.2 系统程序流程

1) 主程序流程

图8为光电编码器测速系统的主程序流程图。通过该图可以直观的了解到整个调控程序的大致走向为先扫描每秒钟速度和每分钟速度的控制按键,确定了是显示速度的方式之后,再执行液晶显示程序,显示出速度。接着又重新回到控制按键扫描的程序中,如此不断重复循环。

图8 主程序流程图

2)中断程序流程

图9为光电编码器测速系统的中断程序流程图。脉冲计数周期主要是由单片机内部精确到毫秒的定时器每次以间隔相同的时间进入中断,中断1000次才形成一个周期。一个周期的时间到了,就进行一次脉冲计算。一个周期时间没到就进入主程序。从而控制每个周期的方波高电平和低电平各自持续的时间,即控制了方波的占空比。通过该图也可以清晰明了的知道,该中断程序主要涉及的就是方波的调控。先是判断高电平是否未达到调控的时间,如果未达到则让gdp+1,即让继续高电平保持。如果gdp为100则说明主程序已经把方波调控到一直保持高电平,就让gdp为0,就可以一直输出高电平了。如果高电平达到了调控的时间,就让控制电机的两个引脚都为低电平并让ddp+1,即让继续低电平保持。如果低电平未达到了调控的时间,就进入主程序继续保持低电平等待下一次中断。如果低电平达到了调控的时间,就让ddp=gdp=0,即重新开始下一个方波。

图9 定时器中断程序流程图

编码器使用教程与测速原理

编码器使用教程与测速原理 我们将通过这篇教程与大家一起学习编码器的原理,并介绍一些实用的技术。 1.编码器概述 编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位移或者速度信息。编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。 从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。常见的是光电编码器(光学式)和霍尔编码器(磁式)。 2.编码器原理 光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光码盘和光电检测装置组成。光码盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,检测装置检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号。 霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。霍尔编码器是由霍尔码盘和霍尔元件组成。霍尔码盘是在一定直径的圆板上等分地布置有不同的磁极。霍尔码盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号。

可以看到两种原理的编码器目的都是获取AB相输出的方波信号,其使用方法也是一样,下面是一个简单的示意图。 3.编码器接线说明 具体到我们的编码器电机,我们可以看看电机编码器的实物。 这是一款增量式输出的霍尔编码器。编码器有AB相输出,所以不仅可以测速,还可以辨别转向。根据上图的接线说明可以看到,我们只需给编码器电源5V供电,在电机转动的时候即可通过AB相输出方波信号。编码器自带了上拉电阻,所以无需外部上拉,可以直接连接到单片机IO读取。

基于51单片机的步进电机控制-设计报告(说明书)及源程序

南京XX大学 指导老师:张X 课程设计基于51单片机的步进电机控制 机械电子工程学院 测控技术与仪器 XXXXX Xxx 2012年1年4日

步进电机控制系统 [摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启 动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。 关键字:步进电机、数码管、51单片机、ULN2803 一步进电机与驱动电路 1.1 什么是步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 1.2 步进电机的种类 步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。 1.3 步进电机的特点 1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点 2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合; 3.控制方便步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算

基于51单片机的红外反射式光电传感器测速机的简易设计

光电传感器——基于红外反射式的测速机

引言 在工程实践中,经常会遇到各种需要测量转速的场合。转速是电动机极为重要的一个状态参数,在很多运动系统的测控中,都需要对电机的转速进行测量,不论是直流调速系统还是交流调速系统,只有转速的高精度检测才能得到高精度的控制系统。迄今为止,测速可分为两类:模拟电路测速和数字电路测速。随着微电子技术的发展,计算机技术的广泛应用,出现了以计算机为核心的数字测速装置。这样的速度测量装置测量范围宽、工作方式灵活多变、适应面广,具有普通数字测速装置不可比拟的快速性、精确性和优越性。 一:设计思路 用一个红外发光二极管和一个接受红外光的二极管组成一套光电管。当检测到物表面为黑色时,反射光很弱,接收端检测到的光线可以忽略,使接收端呈现一种状态,例如开关管截止;当被检测物表面为白色时,反射光强烈,发射端发射的红外线被接收端全部接收,使接收端呈现另一种相反的状态,例如开关管开通。这两种相反的状态表现在电路中,就是高低电平组成的脉冲信号。由此,我想到用一个比较器来比较两种接受到的信号,从而输出“0”“1”两种高低电平,并把两种信号传给单片机进行统计,然后利用设定算法进行计算,最后通过数码显示管显示计算结果。 二:所需模块 本测速系统共有两个模块构成,一个为光电传感器部分,用于接收光信号并转换为电信号,即高低电平信号;另一个为单片机部分,用于接收高低电平信号并通过内部计算,然后再通过数码显示管显示测出的结果。 (一)光电传感器部分 (1)LM339工作原理及管脚图: LM339类似于增益不可调的运算放大器。每个比较器有两个输入端和一个输出端。 两个输入端中的一个称为同相输入端,用“+”表示,另一个称为反相输入

编码器测速

飞思卡尔智能车舵机和测速的控制设计与实现 时间:2010-04-1411:53:10来源:电子设计工程作者:雷贞勇谢光骥五邑大学 2.1舵机工作原理 舵机在6V电压下正常工作,而大赛组委会统一提供的标准电源输出电压为7.2V,则需一个外围电压转换电路将电源电压转换为舵机的工作电压6V。图2为舵机供电电路。 舵机由舵盘、位置反馈电位计、减速齿轮组、直流动电机和控制电路组成,内部位置反馈减速齿轮组由直流电动机驱动,其输出轴带动一个具有线性比例特性的位置反馈电位器作为位置检测。当电位器转角线性地转换为电压并反馈给控制电路时,控制电路将反馈信号与输入的控制脉冲信号相比较,产生纠正脉冲,控制并驱动直流电机正向或反向转动,使减速齿轮组输出的位置与期望值相符。从而达到舵机精确控制转向角度的目的。舵机工作原理框图如图3所示。 2.2舵机的安装与调节 舵机的控制脉宽与转角在-45°~+45°范围内线性变化。对于对速度有一定要求的智能车,舵机的响应速度和舵机的转向传动比直接影响车模能否以最佳速度顺利通过弯道。车模在赛道上高速行驶,特别是对于前瞻性不够远的红外光电检测智能车,舵机的响应速度及其转向传动比将直接影响车模行驶的稳定性,因此必须细心调试,逐一解决。由于舵机从执行转动指令到响应输出需占用一定的时间,因而产生舵机实时控制的滞后。虽然车模在进入弯道时能够检测到黑色路线的偏转方向,但由于舵机的滞后性,使得车模在转弯过程中时常偏离跑道,且速度越快,偏离越远,极大限制车模在连续弯道上行驶的最大时速,使得车模全程赛道速度很难进一步提高。为了减小舵机响应时间,在遵守比赛规则不允许改造舵机结构的前提下,利用杠杆原理,采用加长舵机力臂的方案来弥补这一缺陷,加长舵机力臂示意图如图4所示。

基于51单片机的步进电机控制系统设计

基于51单片机的步进电机控制系统设计 中文摘要 步进电机是一种受脉冲信号控制,并且能将脉冲信号转化为相应的角位移或者线位移的数字电动机。由于步进电机具有步距误差不积累、运行可靠、结构简单、惯性小、成本低等优点,因此,被广泛使用于计算机外围电路、自动化控制装置以及其他的数字控制装置中,如打印机、钟表、数模转换设备等装置中。随着科学技术的快速发展,相应的控制系统也产生了很多种类,步进电机的身影在众多领域中可以看到。其中采用单片机作为控制核心的控制系统,由于其电路简单、成本低、可靠性强等优点,满足众多领域的需求,得到了大量的运用。因此,研究基于单片机的步进电机控制系统,具有重要的现实意义。本设计研究的是基于51单片机对步进电机的控制系统。通过单片机的I/O端口输出时序方波作为控制信号,信号经过芯片ULN2003驱动芯片驱动步进电机进行不同的指令进行工作。根据不同的需要,通过按键电路来控制步进电机的启停、正反转和加减速等功能,并在数码管上实时显示步进电机的工作状态。本文给出了电路各个模块的电路图,并用Proteus的ISIS软件对控制系统的各个功能进行了仿真,并给出了相应的仿真结果图像。 关键词:单片机;步进电机;电机驱动;控制系统

Abstract Stepper motor controlled by a pulse signal, and a pulse signal can be converted to the corresponding angular displacement or linear displacement of the digital motor. As the stepper motor has a step error does not accumulate, reliable, simple structure, small inertia, low cost, and therefore, are widely used in computer peripheral circuits, automatic control devices and other digital control devices, such as printers, watches and clocks , digital to analog conversion equipment, and other devices. With the rapid development of science and technology, the corresponding control system also produced many types of stepper motor figure can be seen in many areas. Which uses microcontroller as the control of the control system, because of its simple circuit, low cost, high reliability, etc., to meet the needs of many fields, we get a lot of use. Therefore, based on single-chip stepper motor control system has important practical design study is 51 single-chip stepper motor control system. As a control signal, the signal through the chip ULN2003 stepper motor drive to work through the microcontroller I / O port output timing square wave. Depending on the need, through the key circuit to control the start and stop, reversing and ramp functions such as stepper motors, stepper motors in real-time display and digital working condition. In this paper, the circuit diagram of each module, and with the ISIS Proteus software for each function control system simulation, and the simulation results are given corresponding image. Key words: microcontroller; stepper motor; motor drive; control system

【毕业设计】基于单片机自行车测速系统设计-精品

基于单片机自行车测速系统设计 摘要 随着居民生活水平的不断提高,自行车不再仅仅是普通的运输、代步的工具,而是成为人们娱乐、休闲、锻炼的首选。自行车的速度里程表能够满足人们最基本的需求,让人们能清楚地知道当前的速度、里程等物理量。本论文主要阐述一种基于霍尔元件的自行车的速度里程表的设计。以 AT89C52 单片机为核心,A44E 霍尔传感器测转数,实现对自行车里程/速度的测量统计,采用 24C02 实现在系统掉电的时候保存里程信息,并能将自行车的里程数及速度用LED实时显示。文章详细介绍了自行车的速度里程表的硬件电路和软件设计。硬件部分利用霍尔元件将自行车每转一圈的脉冲数传入单片机系统,然后单片机系统将信号经过处理送显示。软件部分用汇编语言进行编程,采用模块化设计思想。该系统硬件电路简单,子程序具有通用性,完全符合设计要求。 关键词:里程/速度;霍尔元件;单片机;LED显示

Bike speed system design based on single chip ABSTRACT With the developing of people’s life, the bi cycle is not only the universal tool of transportation and substitute for walking, but becomes the first choice of entertainment and exercising. The bicycle mileage/speed can fulfill the basic need of people’s life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/speed design based on the Hall element is elaborated. By AT89C52 as kernel, using A44E Hall element to measure revolution, the measure and statistic are achieved. The range information is saved by 24C02 when the power is off, the bicycle speed can be displayed on LED. In this article, the hardware circuit and software design of bicycle mileage/speed instrument are introduced in detail. About the hardware, the pulse number is transmitted of one cycle of the bicycle into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in assemble language; the program is designed in the mode of modules. The system has simple hardware, common sub-program, and meets the demand of design. . Keyword:Mileage / speed; Hall element; Single chip microcomputer; LED

测速编码器

测速编码器技术参数 电机的位置检测在电机控制中是十分重要的,特别是需要根据精确转子位置控制电机运动状态的应用场合,如位置伺服系统。电机控制系统中的位置检测通常有:微电机解算元件,光电元件,磁敏元件,电磁感应元件等。这些位置检测传感器或者与电机的非负载端同轴连接,或者直接安装在电机的特定的部位。其中光电元件的测量精度较高,能够准确的反应电机的转子的机械位置,从而间接的反映出与电机连接的机械负载的准确的机械位置,从而达到精确控制电机位置的目的。本文主要介绍高精度的光电编码器的内部结构、工作原理与位置检测的方法。 一.光电编码器的介绍: 光电编码器是通过读取光电编码盘上的图案或编码信息来表示与光电编码器相连的电机转子的位置信息的。根据光电编码器的工作原理可以将光电编码器分为绝对式光电编码器与增量式光电编码器,下面我就这两种光电编码器的结构与工作原理做介绍。 1、绝对式光电编码器 绝对式光电编码器如图所示,他是通过读取编码盘上的二进制的编码信息来表示绝对位置信息的。编码盘是按照一定的编码形式制成的圆盘。图1是二进制的编码盘,图中空白部分是透光的,用“0”来表示;涂黑的部分是不透光的,用“1”来表示。通常将组成编码的圈称为码道,每个码道表示二进制数的一位,其中最外侧的是最低位,最里侧的是最高位。如果编码盘有4个码道,则由里向外的码道分别表示为二进制的23、22、21和20,4位二进制可形成16个二进制数,因此就将圆盘划分16个扇区,每个扇区对应一个4位二进制数,如0000、0001、…、1111。 按照码盘上形成的码道配置相应的光电传感器,包括光源、透镜、码盘、光敏二极管和驱动电子线路。当码盘转到一定的角度时,扇区中透光的码道对应的光敏二极管导通,输出低电平“0”,遮光的码道对应的光敏二极管不导通,输出高电

飞思卡尔光电编码器测速程序

#include /* common defines and macros */ #include /* derivative information */ #pragma LINK_INFO DERIV ATIVE "mc9s12xs128" volatile uint speed_back=0,temp=0; void delay_ms(uint ms) { volatile uint x=0; while(ms--) { for(x=2800;x>0;x--) { _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); } } } //注意外接16M晶体。 //飞思卡尔推荐配置,主频道50MHZ,速度更快! void Init_PLL(void) { CLKSEL = 0X00; //disengage PLL to system PLLCTL_PLLON = 1; //turn on PLL SYNR = (0xc0|0x18); //SYDIV=0X18=24 REFDV = (0x40|0x07); //REFDIV=0X07=7 POSTDIV = 0x00; //pllclock=2*osc*(1+SYDIV)/(1+REFDIV)=100MHz; _asm(nop); //BUS CLOCK=50M _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop); _asm(nop);

基于51单片机控制步进电机

单片机原理及系统课程设计 1 引言 步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。 随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。 步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。 1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。 在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

2 设计方案与原理 4.1 设计方案 设计一个51单片机四相步进电机控制系统要求系统具有如下功能: (1)由I/O口产生的时序方波作为电机控制信号; (2)信号经过驱动芯片驱动电机的运转; (3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。 4.2 设计原理 步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。 在本次设计中,我们使用的是四相单八拍的工作方式。通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。 图 2.1 步进电机内部结构截图 根据步进电机的相关相序表我们可以正常的控制电机的步进运行。

运动控制-M法T法测速单片机程序设计

M法、T法测速单片机程序设计 摘要 本设计为M法、T法测速的单片机程序设计。使用STC89C52单片机作为控制器,使用该单片机的外部中断和定时器对编码器的输出的脉冲进行采样来计算出电机的转速。可以使用按键输入来调整M法、T法测速法中Z、Tc和Tt等参数以及测速方法的选择,以此来增强本设计的适应性。参数选择结果和电机转速计算结果均显示在LCD1602上。 关键字:STC89C52,M法、T法测速,LCD1602,电机转速 Ⅰ

Abstract This design as m, t-law velocity measurement of single-chip computer programming. Using STC89C52 single-chip computer as the controller, using the microcontroller's external interrupts and timers for encoder output pulse is sampled to calculate the speed of the motor. Can be adjusted using touchtone m, t law Velocimetry parameters such as z, Tt and Tc, as well as in speed measurement method of choice, as a way to enhance the adaptability of this design. Parameter selection and calculation of motor speed results are available on LCD1602. Keywords:STC89C52,M、T method, the LCD1602, Motor speed Ⅱ

测速编码器说明书

BEN测速编码器在智能车舵机控制中的应用2.1 舵机工作原理 舵机在6 V电压下正常工作,而大赛组委会统一提供的标准电源输出电压为7.2 V,则需一个外围电压转换电路将电源电压转换为舵机的工作电压6 V。图2为舵机供电电路。 舵机由舵盘、位置反馈电位计、减速齿轮组、直流动电机和控制电路组成,内部位置反馈减速齿轮组由直流电动机驱动,其输出轴带动一个具有线性比例特性的位置反馈电位器作为位置检测。当电位器转角线性地转换为电压并反馈给控制电路时,控制电路将反馈信号与输入的控制脉冲信号相比较,产生纠正脉冲,控制并驱动直流电机正向或反向转动,使减速齿轮组输出的位置与期望值相符。从而达到舵机精确控制转向角度的目的。舵机工作原理框图如图3所示。 2.2 舵机的安装与调节 舵机的控制脉宽与转角在-45°~+45°范围内线性变化。对于对速度有一定要求的智能车,舵机的响应速度和舵机的转向传动比直接影响车模能否以最佳速度顺利通过弯道。车模在赛道上高速行驶,特别是对于前瞻性不够远的红外光电检测智能车,舵机的响应速度及其转向传动比将直接影响车模行驶的稳定性,因此必须细心调试,逐一解决。由于舵机从执行转动指令到响应输出需占用一定的时间,因而产生舵机实时控制的滞后。虽然车模在进入弯道时能够检测到黑色路线的偏转方向,但由于舵机的滞后性,使得车模在转弯过程中时常偏离跑道,且速度越快,偏离越远,极大限制车模在连续弯道上行驶的最大时速,使得车模全程赛道速度很难进一步提高。为了减小舵机响应时间,在遵守比赛规则不允许改造舵机结构的前提下,利用杠杆原理,采用加长舵机力臂的方案来弥补这一缺陷,加长舵机力臂示意图如图4所示。

51单片机PID调增量式光电编码器测速.

编码器输出的A向脉冲接到单片机的外部中断INT0,B向脉冲接到I/O端口P1.0。当系统工作时,首先要把INT0设置成下降沿触发,并开相应中断。当有有效脉冲触发中断时,进行中断处理程序,判别B脉冲是高电平还是低电平,若是高电平则编码器正转,加1计数;若是低电平则编码器反转,减1计数。 基于51单片机的直流电机PID闭环调速系统原理详解与程序 (2013-08-04 01:18:15) 转载▼ 标签: 分类:单片机 51单片 机 直流电 机 pid pcf8591 基于51单片机的直流电机PID闭环调速系统 1.电机转速反馈: 原理:利用光电编码器作为转速的反馈元件,设电机转一周光电编码器发送N个PWM波形,利用测周法测量电机转速。 具体实现:将定时器0设置在计数模式,用来统计一定的时间T内接受到的脉冲个数M个,而定时器0置在计时模式,用来计时T时间。则如果T时间接受到M个PWM波形,而电机转一圈发出N个PWM波形,则根据测周法原理,电机的实际的转速为:real_speed=M/(N*T),单位转/秒。若将定时器1置在计数模式,则PWM波形应该由P3^3脚输入。 代码实现:

//定时器0初始化,用来定时10ms void Init_Timer0(void) { TMOD |= 0x01; //使用模式1,16位定时器,且工作在计时模式 TH0=(65536-10000)/256; //定时10ms TL0=(65536-10000)%6; EA=1; //总中断打开 ET0=1; //定时器中断打开 TR0=1; //定时器开关打开 } // 计数器1初始化,用来统计定时器1计时250ms内PWM波形个数 void Init_Timer1(void) { TMOD |= 0x50; //使用计数模式1,16位计数器模式 TH1=0x00; //给定初值,由0往上计数 TL1=0x00; EA=1; //总中断打开 ET1=1; //定时器中断打开 TR1=1; //定时器开关打开 } //定时器0的中断服务子函数,主要完成脉冲个数的读取,实际转速的计算和PID 控制以及控制结 //果输出等工作 void Timer0_isr(void) interrupt 1 { unsigned char count; TH0=(65536-10000)/256; //重新赋值 10ms TL0=(65536-10000)%6;

基于AT89C51单片机的步进电动机控制系统设计

重庆科技大学 本科毕业论文 基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师 重庆科技大学 二O一二年月日

基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXXX 准考证号: XXXXXXXXXXXX 专业层次:本科 指导教师: XXXXXXX 院(系):机械与动力工程学院 重庆科技大学 二O一二年九月二十日

摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。 实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。 关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示

编码器位置与速度检测

制作速度检测部件 实验报告 专业:机械设计制造及其自动化 姓名:xxx 学号:xxx 实验时间:2012-2013学年第2学期

制作速度检测部件 一、实验原理: 1.利用外部中断0对信号源在一定时间内产生的脉冲进行计数,并对外部中断0设置为跳变沿中断(IT0=1) 2.利用定时器0进行计时,并在中断程序中读取这段时间内产生的脉冲数,再利用脉冲数与路程之间的对应关系求得编码器的速度。 3. 光电开关的使用,如图: 测速方法: M 法测速 测取c T 时间内旋转编码器输出的脉冲个数1M ,用以计算这段时间内的平均转速,称作M法测速,图12所示。电机的转速为 r/min 601 c ZT M n = , M 法测速的分辨率: c c c ZT ZT M ZT M Q 60 60)1(6011= -+= M 法测速误差率: c T 1 M 图12 M 测速法原理图

% 1001%10060 ) 1(60 60%1111max ?=?-=M ZT M ZT M ZT M c c c δM 法测速适用于高速段, T 法测速 记录编码器两个相邻输出脉冲的间的高频脉冲个数M2,f0为高频脉冲频率,图13所示。 电机转速 r/min ZM f 60ZT 60n 2 t == T 法测速的分辨率: )1(6060)1(602202020-=--=M ZM f ZM f M Z f Q 或Zn f Zn Q -= 02 60 T法测速误差率: % 10011 %10060 60 )1(60%22 020 20max ?-=?-=M ZM f ZM f M Z f δ T 法测速适用于低速段。 M/T 法测速 把M 法和T 法结合起来,既检测TC 时间内旋转编码器输出的脉冲个数M1,又检测同一时间间隔的高频时钟脉冲个数M2,用来计算转速,称作M/T 法测速。采用M/T 法测速时,应保 2 M 2f M T t =图13 T 测速法 c T 1 M 2 M 图14 M/T 法测速原理图

基于51系列单片机控制步进电机调速实验 (自动保存的)

基于51系列单片机控制步进电机调速实验 实验指导书 仇国庆编写 重庆邮电大学自动化学院 自动化专业实验中心 2009年2月

基于51系列单片机控制步进电机调速实验 实验目的及要求: 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量) 4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。速度设定由键盘设定,步进电机的反馈速度由LED 数码管显示。 实验原理: 步进电机控制原理 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所 以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将 逐渐扩大。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来 进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由 脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号 可以由单片机产生。 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几 何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻 两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐, B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)

M法与T法在编码器测速方面的区别和频率问题

编码器的测速原理:M/T法 大家都比较清楚在闭环伺服系统中,编码器的反馈脉冲个数和系统所走位置的多少成正比,但对于怎样通过编码器所反馈的脉冲个数来求得电机的旋转速度了解的人就不是很多了。 根据脉冲计数来测量转速的方法有以下三种:(1)在规定时间内测量所产生的脉冲个数来获得被测速度,称为M法测速;(2)测量相邻两个脉冲的时间来测量速度,称为T法测速;(3)同时测量检测时间和在此时间内脉冲发生器发出的脉冲个数来测量速度,称为M/T 法测速。以上三中测速方法中,M法适合于测量较高的速度,能获得较高分辨率;T法适合于测量较低的速度,这时能获得较高的分辨率;而M/T法则无论高速低速都适合测量。以下只对T法测速进行详细介绍。 T法测速的原理是用一已知频率fc(此频率一般都比较高)的时钟脉冲向一计数器发送脉冲,计数器的起停由码盘反馈的相邻两个脉冲来控制,原理图见图1。若计数器读数为m1,则电机每分钟转速为nM=60fc/Pm1(r/min) 图1 T法测速原理 其中P为码盘一圈发出的脉冲个数即码盘线数,m1为 相邻两个脉冲间高频脉冲个数。测速分辨率:当对应转速由n1变为n2时则分辨率Q的定义为Q=n2-n1,Q值越小说明测量装置对转速变化越敏感即分辨率越高。因此可以得到T法测速的分辨率为 Q=60fc/Pm1-60fc/P(m1+1)= n2M P/(60fc+ nMP) 由上式可见随着转速nM的降低,Q值越小,即T法测速在低速时有较高的分辨率。 MT法测速之定量分析 速度测量是工控系统中最基本的需求之一,最常用的是用数字脉冲测量某根轴的转速,再根据机械比、直径换算成线速度。脉冲测速最典型的方法有测频率(M法)和测周期(T法)。定性分析: M法是测量单位时间内的脉数换算成频率,因存在测量时间内首尾的半个脉冲问题,可能会有2个脉的误差。速度较低时,因测量时间内的脉冲数变少,误差所占的比例会变大,所以M法宜测量高速。如要降低测量的速度下限,可以提高编码器线数或加大测量的单位时间,使用一次采集的脉冲数尽可能多。 T法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有1个时间单位的误差。速度较高时,测得的周期较小,误差所占的比例变大,所以T法宜测量低速。如要增加速度测量的上限,可以减小编码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。 M法、T法各且优劣和适应范围,编码器线数不能无限增加、测量时间也不能太长(得考虑实时性)、计时单位也不能无限小,所以往往候M法、T法都无法胜任全速度范围内的测量。因此产生了M法、T法结合的M/T 测速法:低速时测周期、高速时测频率。 定量分析:

单片机测速

用单片机设计动态输入范围的PWM A/D转换器 时间:2010-02-06 来源:未知编辑:电气自动化技术网点击:202次字体设置: 大中小 1 COP820CJ芯片介绍 COP820CJ是美国国家半导体公司生产的一款8位单片机,它内含64字节RAM和1k字节ROM,并带有24个I/O口,时钟频率为10MHz,工作电压为2.5~6.0V。COP820 CJ具有多输入唤醒(MIWU)、低压复位保护、片上模拟比较器和低电磁辐射设计等功能,其I/O口可编程为三态、推挽输出、弱上拉输入等类型。 COP820CJ的端口分为L/I/D/G四类。其中I口为4位输入端口,D口为4位输出端口,G口有6位I/O口和2位输入口,L口为8位I/O口。同时L口也是芯片的唤醒端口,其中L1和L2又是比较器输入口,L3又是比较器输出口。L口配有数据寄存器(LDATA[0DOH])和配置寄存器(LCONF [0D1H]),两寄存器可共同决定该端口的状态。具体关系见表1所列。 COP820CJ的片上RAM、端口、寄存器均可映射到00H~FEH的数据内存空间,其中C0~CFH段主要是唤醒及用看门狗控制寄存器,D0~DFH段有8 个端口类寄存器,E0~EFH段为计时器和系统寄存器。00~2FH及F0~FFH为RAM地址。其中,F0~FEH段可用作寄存器,并包括B地址寄存器[FCH]、X地址寄存器[FEH]和SP堆栈指针[FDH]三个专用寄存器。 2 COP820CJ的工作原理 2.1基本原理 利用COP820CJ的片上模拟比较器和脉冲宽度调制方式可以构成由软件调控且输入范围可变的A/D转换器。其工作原理图见图1所示。图中,L1和L2为比较器输入端,当电容电压小于输入电压时, L3端输出高电平脉冲。反之,L3输出低脉冲,并对低脉冲减1计数。电路中的输入电压可通过L1、L2之间并联的两个背向二极管对电容C1快速充放电,以使两者电位迅速接近。 比较器允许的输入电压为0.4V~V CC-1.5V(此时电容电压与充电、放电时间之间为近似线性关系),实 际输入电压范围可能要更小一些。因此,可以通过设定高低脉冲的参数使电容电压始终保持在测量范围之内。若电源为5V,时钟频率为10MHz,脉冲周期为24个,即2.4μs,输入电压范围是1.0V~3.3V。那么,可以设置高脉冲为先低8个时钟,再高16个时钟;设置低脉冲为先高5个时钟,再低19个时钟。这样,如果L3始终输出高脉冲,电容电压V H将近似为V CC×16/24=3.30V;如果L3始终输出低电平,电容电压V L则近似为V CC×5/24=1.04V。进行A/D转换时,L3可根据比较结果输出高低脉冲,当脉冲数足够多时,计数器的值即代表了输入的电压值,并可用下式表示: 其中,N TON为计数器的值,N TOTAL为总脉冲数。 2.2转换时间及分辨率 由于脉冲周期为2.4μs,若脉冲总数为100,那么,进行两次计数的转换时间近似为2.4×100×2=480μs。当输入为高速变化的信号时,只需减少脉冲总数即可。如脉冲总数为

基于51单片机的光电编码器测速报告

课程设计报告 课程名称:微机原理课程设计 题目:基于51单片机的光电编码器测速

光电编码器是高精度位置控制系统常用的一种位移检测传感器。在位置控制系统中,由于电机既可能正转,也可能反转,所以要对与其相连的编码器输出的脉冲进行计数,要求相应的计数器既能实现加计数,又能实现减计数,即进行可逆计数。其计数的方法有多种,包括纯粹的软件计数和硬件计数。文中分别对这两种常用的计数方法进行了分析,对其优缺点进行了对比,最后提出了一种新的计数方法,利用80C51单片机内部的计数器实现对光电编码器输出脉冲的加减可逆计数,既节省了硬件资源,又能得到较高的计数频率。本设计就是由单片机STC89C52RC芯片,光电编码器和1602液晶为核心,辅以必要的电路,构成了一个基于51单片机的光电编码器测速器。该系统有两个控制按键,分别用于控制每秒的转速和每分钟的转速,并将速度用1602液晶显示出来。该测速器测速精准,具有实时检测的功能,操作简单。 关键词:光电编码器,51单片机,C语言,1602液晶

一、设计任务与要求 (4) 1.1 设计任务 (4) 1.2 设计要求 (4) 二、方案总体设计 (5) 2.1 方案一 (5) 2.2 方案二 (5) 2.3 系统采用方案 (5) 三、硬件设计 (7) 3.1 单片机最小系统 (7) 3.2 液晶显示模块 (7) 3.3 系统电源 (8) 3.4光电编码器电路 (8) 3.5 整体电路 (9) 四、软件设计 (10) 4.1 keil软件介绍 (10) 4.2 系统程序流程 (10) 五、仿真与实现 (12) 5.1 proteus软件介绍 (12) 5.2 仿真过程 (12) 5.3 实物制作与调试 (13) 5.4 使用说明 (14) 六、总结 (15) 6.1 设计总结 (15) 6.2 经验总结 (15) 七、参考文献 (16)

51单片机计数程序

/**************程序说明********************* 硬件说明只需要将15脚接口接入外部的脉冲信号,15脚为定时器T1的外部信号输入引脚 通过定时器T0定时指定的时间来测取脉冲的个数并在1602液晶上显示出来 假设定时1s则数据变成为信号的频率 *************************************************** *****/ #include #include //定时器0负责定时30s 定时器1负责计数功能 #define uint unsigned int #define uchar unsigned char sbit RS=P2^6; //液晶的电路定义 sbit E=P2^5; unsigned char table[3]; unsigned int t0;

void delay_ms(uint z) //毫秒级延时 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /******液晶部分子程序*************************/ void write_com(unsigned char com) { //操作时序 RS=0; P0=com; delay_ms(5); E=1; delay_ms(5); E=0; } void write_data(unsigned char shuju) { //操作时序

RS=1; P0=shuju; delay_ms(5); E=1; delay_ms(5); E=0; } void LCDintial() { delay_ms(5); E=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); } /**********定时器初始化程序***************/ void T0T1_init() { EA=1;

相关文档
相关文档 最新文档