基于F330D单片机的光电编码器设计与制作
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
增量式光电编码器没有位置的记忆功能,它从某一参考零点 INT1 开始计数,当意外断电后再上电,它还是从零点开始计数,
如果你对绝对位置有较高要求的话,就应使用绝对式的编码 器。本文介绍的光电编码器从码盘的结构上看属于增量式光 电编码器,它使用机械式码盘,两只红外光电开关,调整安
(b)
图 1 编码器输出脉冲
装位置使光电开关输出两路频率相同,相位相差 90°,相互正交的脉冲串,参见图 1。当编码器的转轴顺时
针转动时输出脉冲如图 1(a),计数器为加法计数;当编码器的转轴逆时针转动时输出脉冲如图 1(b),计数器为
减法计数。这样通过脉冲边沿和电平的检测与识别,再通过计数器不同方向的计数,就可以确定转角的当前
冲双边沿检测功能等等,C8051F330 的内部集成了 8K 的 输出。
Flash 程序存储器和 768 字节的数据存储器,而且 Flash 允许
2008.4 SensorWorld
43
五、程序设计 该程序设计比较简单,整个程序占用存储器空间不到
0.5K,主程序包括初始化程序和主程序链,重点是中断程序 的设计,INT0、INT1 中断程序结构相似,以 INT0 中断程序 为例,介绍一下中断程序结构及程序设计要点,程序框图参 见图 3。
二、设计原理
INT0
光电编码器由于使用的码盘不同,编码器的结构就不同,
通常分为增量式和绝对位置式,绝对位置输出的码盘结构复 INT1
杂,使用的光电开关较多,制作难度高,不采用精密的光刻
技术和激光开关,很难实现,除非你要求的分辨率很低。绝
(a)
对位置式光电编码器的最大优势在于它有绝对位置的记忆功 INT0 能,输出信号与机械位置绝对对应,因此它不怕意外断电。
位置,输出分辨率由每周脉冲数决定。
42 传 感 器 世 界 2008.4
Signal Process & System
三、码盘设计 机械式码盘的设计要考虑以下
几个因素: ⑴码盘的尺寸:根据实际系统
对分辨率的要求决定码盘的齿数、 齿宽,从而确定码盘的外型尺寸;
文献标识码:A
文章编号:1006-883X(2008)04-0042-03
王雁平
一、前言 光电编码器常用来轴角的编码,实时反映轴角的位置,它的结构主要有两部分组成,一部分是光栅或叫
做码盘,另一部分是光电开关。目前在市面上可以见到光电编码器的码盘均为采用精密光刻技术制作的玻璃 光栅,它们都具有分辨率高和输出精度高的特点;再加上使用激光光电开关,它们的造价也偏高;在低造价 的机电设备中使用这种光电编码器就比较困难。本文介绍的是一种采用机械透射式光栅、红外光电开关设计 的光电编码器;这种光电编码器每转 128 个脉冲,分辨率可达到 360°/512,在 0.7°左右,可以满足一般的使 用。它的主要特点是:结构简单、制作容易、成本低、可靠耐用、单片机控制、输出灵活,可使用在低成本 的机电设备中。
在初始化程序中将 INT0,INT1 设定为上升沿中断,程序 进入中断后先判断 INT0 输入的电位,高电位为上升沿,低 电位下降沿,然后再判断 INT1 的电位,根据图 1 的波形确 定旋转方向,确定软件计数器的计数方向,即加法计数或减 法计数,确定输出;如果本次处理的是上升沿,就将 TCON 寄存器设置为下降沿中断返回;如果本次处理的是下降沿, 就将 TCON 寄存器设置为上升沿中断返回。
⑵齿高齿宽:齿高根据光电开 关确定,根据目前市场上常见的光 电开关的几何尺寸,齿高为 3-4mm 为宜;齿宽不宜太小,否则不易加 工,而且易变形;如果太宽,编码 器整体尺寸变大;
⑶光电开关的安装:两个光电 开关的安装位置可选择并排安装和 相差 90°或 180°安装;安装位置 应保证输出脉冲正交;
⑷设计实例:本设计码盘直径为 60mm,齿数为 128,每转可输出 128 个脉冲,最大分辨率为 128*4=512, 光 电 开 关 宽 度 为 5mm ; 齿 宽 为 0.71mm,齿高为 3.5mm,齿距为 1.42mm,并排安装,两光电开关中 心应为距离应为 5.25mm,这样就能 保证两路输出脉冲正交。
六、安装调试 程序调好后写入 F330 中,在 D/A 输出端接一个 1kΩ电
阻到地,用电压表监视电阻两端电压,旋转码盘一周,电压 应从 0V 增到 2V,然后,反方向旋转电压从 2V 降到 0V;如 果电压只增不减或只减不增,那是光电开关的位置不正确; 你可以用示波器来协助校正位置,方法是将码盘用电机带动 旋转,用示波器同时观察两路光电开关的波形,调整光电开 关的位置使得两路脉冲的相位相差 90°即可。
44 传 感 器 世 界 2008.4
开中断返回
列单片机的一款,C8051F330 微处 理器作为的控制核心。它是集成的
图 3 INT0 中断子服务程序
混合信号片上系统 SOC(System on
用户实时更改。它的 INT0,INT1 可以通过对 TCON 寄存器
chip),它具有与 MSC-51 内核及指令集完全兼容的微控制器, 设置,产生上升沿、下降沿和高低电平检测中断,本设计使
作者介绍: 王雁平,常州工学院教师,副教授,从事电子技术教学,研 究方向为工业控制 通讯地址:江苏常州常澄路 3 号常州工学院电气工程学院 (213002) 联系电话:13401333363 E-mail:Emall:wangyp@
本文编辑:霍莉 读者服务卡编号 010□
七、结束语 其实大部分增量式光电编码器的脉冲检测只能检测一个
参考文献: [1]潘琢金, 施国君. C8051FXXX 高速单片机原理及应用[M]. 北京:北京航空航天大学出版社. 2002.5 [2] CYGNAL Inteqrated Products.INC. C8051F/020/1/2/3 Mixed-Signal ISP FLASH MCU Family[Z]. 2002 [3] 潘琢金译. C8051F330/1 混合信号 ISP FLASH 微控制器 [M].数据手册.Rev11 2003.12
基于 F330D 单片机的光电编码器 设计与制作
摘要:低速光电编码器在许多机械传动中被应用,基于单片机控制的光电编码器具有结构简单可靠性高的
特点,既可以数字量输出又可以模拟量输出,本文详细的介绍了该装置的设计和调试过程。
关键词:F330D 单片机;光电编码器;双边沿检测;光栅码盘
中图分类号: TP212.14
边沿,如果每转 128 个脉冲分辨率仅为 360°/256,由于我们 采用了较先进的单片机,能进行双边沿检测,使分辨率可达 到 360°/512,增加一倍!F330 内部的 Flash 允许用户实时更 新,只要实时存储当前的计数值到 Flash 中,那么就使你的 光电编码器具有绝对位置的记忆功能!相当于绝对位置输出 的编码器,但它不是一个纯粹的绝对位置输出的编码器,只 能算一个准绝对位置输出的编码器。
40106
计数减1
四、电路设计
计数加1
计数加1
码盘控制电路如图 2,40106 是
一片 6 斯密特触发器,光电开关输 出的脉冲经斯密特电路整形后送入
0通道设置为下降 沿中断
0通道设置为上升 沿中断
C8051F330 的 P02(INT0)和 P03
( INT1 ) 口 , C8051F330 是 美 国 Cygnal 公司推出的 ISP FLASH 系
Design and Fabrication of the Photoelectric Encoder based on F330D Micro-controller Abstract: Low-resolution Photoelectric Encoder is widely used in the mechanical transmission field. The Photoelectric Encoder controlled by Micro-controller possesses several advantages including simplified structure and higher reliability, which can be applied in both types of digital transmission and analog transmission. The design and debug process of the mentioned equipment are elaborated explicitly in this paper. Keywords: F330D Micro-controller; photoelectric encoder; bilateral edge detection; raster encoder
除了具有标准的 8051 数字外部设备之外,片内还集成了数据 用了 INT0,INT1 进行两路脉冲的双边沿检测,D/A 恒流源
采集和控制系统中常用的模拟部件和其它数字外设及功能部 输出(1mA 或 2mA),P1 口加 P20 做数字输出;如果需要较
件,例如:A/D 转换、D/A 输出、可编程的 PWM 输出、脉 高的电压输出,D/A 的输出加一级运算放大器作为电压调理
Байду номын сангаас
U1
330D
U3
2 HT7130 3
6 5 3 412
+3v GND DA
P02 P03
+5v
1
C2
C3
+3v
8 RESET
C1
R1
DA输出
INT0中断 关中断
图2 图 2 码盘控制电路
INT0=1?
N
Y
0通道为上升沿
Y
INT1=1
N
0通道为下降沿
N
计数减1
INT1=1
Y
+3v
R1
R2
+3v
R1
R2