增量式光电编码器与单片机的接口设计
基于F330D单片机的光电编码器设计与制作

增量式光电编码器没有位置的记忆功能,它从某一参考零点 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 能,输出信号与机械位置绝对对应,因此它不怕意外断电。
基于STM32单片机的增量式编码器模拟装置设计

码器旋转角位移 。在单 位时间内对信号 A或 B进行计数 累加 ,
可 得 到 当 前 角 速 度 。 增 量 式 编 码 器 只 有 正 转 和 反 转 两 个 旋 转 方
号落后端 口 A信 号 9 O 。 。当端 口 A信号输出 N步时 , 端 口 Z输
出 复位 有 效 信 号 。检 测 装 置 通 过 捕 获 相 位 信 号 的个 数 和频 率 计 算 得 到 当前 的相 位 和 速 度 值 。
2 系 统硬 件 设计
一 二腓 二 I 耋 I ~ 一 I
Ke y wor ds : i n c r e me nt al en c od er , S TM32 F4 0 7, s er i a l comm u n i c a t i o n
一
些 自动 化 设 备 的 开 发 调 试 过 程 需 要 相 位 和 速 度 信 号 , 通
其中 , N表示编码器步长 , T安 装 增 量 式 编 码 器 对 机 械 传 动 机 构 的相 位 和 速 度 进 行 精 确获 取 。搭 建 模 拟 现 场 的机 械 传 动装 置需 要较 高 成 本 ,费 时 费 力, 且模拟装置参数固定 , 不能有效模拟并适应各种场合。
本 文 在 增 量 式 编 码 器 信 号 发 生 原 理 深 入 研 究 的基 础 上 , 以 S T M3 2单 片 机 为 控 制 核 心 , 利用单 片机控制方式 灵活 、 响 应 速
关键词 : 增 量 式编 码 器 , S T M 3 2 F 4 0 7 , 串行 通 信
Ab s t r ac t
I n or d er t o i mpr o v e t he d ebu g e fi c i e nc y of a u t omat i o n pr odu c t s , a n i n cr emen t al e nc o der a na l o g de vi c e i s d es i gne d i n t hi s pap er . Mi c r o ch i p p r o ce s s e r S TM32 i s us e d a 8 t h e c o nt r o l k er ne 1 . pa r a me t er s ar e s e t t h r o ugh s e r i al c om mun i c a t i on wi t h PC. 1 O P0 r t s of t h e M i cr oc hi p Pr oc e s s er a r e u s ed t o si mu l a t e t h e s i gn a l s o f i n c r e me n t a l en co de r a n al og. E xp er i men t r e s ul t s
一种增量编码器的接口电路设计

• 199•引言:在自动控制领域,电编码器常用于速度与位置的检测。
增量式编码器不能直接获得转动系统的速度和位置信息,只能通过处编码器输出的两路脉冲信号来计算这两个位置的相对角度差。
本文设计了一种通用的增量式编码器计数和辨向电路,可以将编码器输出的两路脉冲信号处理为倍频脉冲信号和转向电平信号,直接进入单片机处理器进行计数和判定旋转方向。
1.编码器接口电路原理增量式编码器跟随电机转动时,会输出 A 、B 两路脉冲信号,相位相差90°。
脉冲的个数代表转动角度,频率代表转动速度,A 、B 两相信号的超前或者滞后关系代表编码器的转动方向,如图1所示。
图1 增量式编码器信号输出2.编码器接口电路设计及仿真增量式编码器接口电路由积分电路、两个施密特非门电路、四个异或门电路和三个D 触发器组成,如图2所示。
一种增量编码器的接口电路设计湖南铁道职业技术学院 刘 彤 赵巧妮集美大学轮机工程学院 刘 传图2 增量式编码器接口电路A 、B 两相信号分别与各自经过积分电路的信号做异或运算,在A 相信号发生变化时,异或门U3A 输出端口将产生一个跳变沿,B 相信号发生变化时,异或门U3B 输出端口也将产生一个跳变沿。
异或门的跳变沿输出信号分别接入两个D 触发器的时钟触发端,为信号的判读提供时钟。
当A 相异或输出信号U3A 为D 触发器U4A 提供时钟脉冲,A 、B 两相信号进行异或经U3C 输出到D 触发器U4A 的D 端口。
如果A 相信号超前B 相信号90度,D 触发器U4A 的Q 端输出低电平的转动方向信号,如图3所示。
• 200•图3 A相超前B相90度方向信号仿真如果A 相信号滞后B 相信号90度,D 触发器U4A 的Q 端输出高电平的转动方向信号,如图4所示。
图4 B相超前A相90度方向信号仿真A 相跳变沿信号输出接D 触发器U5B 时钟触发端,B 相信号接U5B 的D 输入端,B 相跳变沿信号输出接D 触发器U5A 时钟触发端,A 相信号接U5A 的D 输入端,D 触发器U5A 和U5B 的输出端经异或门电路U3D ,在跳变沿的时钟下严格输出倍频信号,增加了计数脉冲数量,提高测量精度,倍频仿真波形如图5所示。
基于51单片机的光电编码器接口装置设计

基于51单片机的光电编码器接口装置设计李敏;丁红昌;曹国华【摘要】光电编码器以其分辨率高、测量精度高、形式多样等优点,被广泛运用于现代工业、航天航空领域.在工程中对光电编码器信号的采集一般使用专用PCI卡,这无形中增加了工程的成本,本文介绍了一种基于AT89S52单片机的绝对式光电编码器的接口装置及软件设计,该装置使用LCM12684作为显示模块,实现了对绝对式光电编码器的数据采集、处理及输出.【期刊名称】《机械研究与应用》【年(卷),期】2012(000)005【总页数】5页(P121-124,127)【关键词】绝对式光电编码器;51单片机;数据采集;LCM12864【作者】李敏;丁红昌;曹国华【作者单位】长春理工大学机电工程学院,吉林长春130022;长春理工大学机电工程学院,吉林长春130022;长春理工大学机电工程学院,吉林长春130022【正文语种】中文【中图分类】TM5031 引言光电编码器是集光、机、电为一体的检测装置,因其具有测量精度高、抗干扰性强、适用性强等特点已广泛应用于现代工业及航天航空领域。
相对于增量式编码器,绝对式编码器以转角位置对应唯一数字编码、无累积误差以及具有记忆功能而广受欢迎,光电编码器信号输出形式以SSI(同步串行)RS-485接口较多,这种信号模式通常情况下不能为PC机直接接收。
国际上普遍将编码器数据采集和角度信息处理电路集成在计算机上的PCI卡上,通过PCI总线将数据传输给计算机[1],这种PCI卡具有较高的成本和较复杂的电路。
笔者以AT89S52单片机为核心,介绍了一种低成本的对绝对式光电编码器信号进行采集、传输、显示的接口装置。
2 AT89S52及编码器介绍2.1 AT89S52 性能介绍AT89S52是一种低功耗、高性能8位COMS微控制器,采用5V供电,具有8K在系统可编程Flash存储器,可方便下载或修改系统程序,256字节的RAM,32位I/O口,1个6向量2级中断结构,全双工串行口,1个看门狗定时器,3个16位定时器/计数器。
增量式光电编码器信号处理电路的设计与实现

增量式光电编码器信号处理电路的设计与实现光电编码器是一种常见的位置检测装置,可以通过判断旋转轴的位移来测量出目标位置的具体值。
然而,在某些特殊的应用环境下,需要对光电编码器进行增量式测量,这时通过对编码器的信号进行特殊处理,从而实现精度更高的位置测量。
针对以上需求,本文将介绍一种增量式光电编码器信号处理电路的设计与实现方法。
一、需求分析在进行增量式光电编码器信号处理电路设计前,需要先明确具体的需求。
针对增量式光电编码器的测量要求,我们需要实现以下功能:1. 能够对编码器的信号进行较高频率的采样,以保证精度。
2. 能够处理编码器的A/B相信号,实现增量式测量。
3. 能够对编码器的Z相信号进行特殊处理,以完成一次完整的位置测量。
二、电路设计在明确了需求之后,我们可以开始进行电路设计。
具体的其中关键部分包括定时器、计数器、滤波器等,下面我们对这些部分进行详细介绍。
1. 定时器定时器是整个电路的核心部分,主要负责对编码器信号的采样。
我们可以通过将定时器设置为高频率的时钟源,从而实现对信号的高频采样。
在具体实现时,我们可以使用555定时器,将电容和电阻设置为合适的值,从而得到合适的定时器频率。
2. 计数器计数器负责实现增量式测量。
我们可以通过将A相和B相信号分别连接至计数器的计数端口,从而实现对编码器的增量式测量。
在具体实现时,我们可以使用74LS193计数器芯片进行实现。
3. 滤波器滤波器则负责对编码器的Z相信号进行特殊处理,完成一次完整的位置测量。
具体实现时,我们可以将Z相信号连接至RC滤波器,从而得到平滑的脉冲信号。
接着,将平滑后的脉冲信号连接至脉冲捕捉器,从而完成一次完整的位置测量。
三、实现效果通过以上电路设计,最终可以得到一种高精度、可靠的增量式光电编码器信号处理电路。
在具体实现时,我们需要注意以下几点:1. 设置合适的电路参数值。
2. 使用高品质的电子元器件,以保证可靠性和高精度性。
3. 进行系统调试和测试,以验证电路的稳定性和可靠性。
51单片机PID调增量式光电编码器测速..

编码器输出的A向脉冲接到单片机的外部中断INT0,B向脉冲接到I/O端口P1.0。
当系统工作时,首先要把INT0设置成下降沿触发,并开相应中断。
当有有效脉冲触发中断时,进行中断处理程序,判别B脉冲是高电平还是低电平,若是高电平则编码器正转,加1计数;若是低电平则编码器反转,减1计数。
基于51单片机的直流电机PID闭环调速系统原理详解与程序(2013-08-04 01:18:15)转载▼标签:分类:单片机51单片机直流电机pidpcf8591基于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初始化,用来定时10msvoid Init_Timer0(void){TMOD |= 0x01; //使用模式1,16位定时器,且工作在计时模式TH0=(65536-10000)/256; //定时10msTL0=(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; //重新赋值 10msTL0=(65536-10000)%6;count++;if (count==25) //如果达到250ms,则计算一次转速并进行一次控制运算{count=0;//清零以便于定时下一个250msTR1=0;//关闭定时器1,统计脉冲个数real_speed=(256*TH1+TL1)*4/N;//250ms内脉冲个数并由此计算转速TH1=0x00; //计数器1清零,重新开始计数TL1=0x00;TR1=1;OUT=contr_PID();//进入PID控制,PID控制子函数代码在后面给出write_add(0x40,OUT);//进行DA转换,将数字量转换为模拟量,后面会介绍到 }}2.PID控制:PID的基本原理在这里不作具体讲解,这里主要给出PID算法的实现,通过调节结构体中比例常数(Proportion)、积分常数(Integral)、微分常数( Derivative)使得转速控制达到想要的精度。
基于单片机的增量式光电编码器接口的设计

线数为
R , 则光电编码器的最高转速
n
<
1 。以保 4Rt
证每一个状态至少采样 2 次 ,计数不丢失 。 e. 对于抖动脉冲 ,由于设置了查询时间间隔 ,因
此本身就具有一定的低通滤波作用 。在查询判向计
数中的状态判断进一步提高了计数的可靠性 。因此
对前面描述的高频抖动具有较强的去抖动能力 。
2. 2 中断方式 一般来说中断方式要比工作在查询方式下占用
n
<
1 4R
t
与查询方式相比较 ,中断方式对于编码器状态
的变化响应及时 ,此外单片机大部分时间处于空闲
状态 ,可以及时的完成数据输出 ,实时性更高[3] 。缺
《机械与电子》2006 (12)
参考文献 :
[ 1 ] Pallas Areny Ramo n ,et al. 传感器和信号调节. 2 版 [ M ] . 张 伦 ,译. 北京 :清华大学出版社 ,2003.
SUBB1 : ;计数值 - 1
SAV ES TA T E :
MOV OLDA ,R0. 0
MOV OLDB ,R0. 1
IN TOU T : ;恢复现场并中断返回 针对上述情况 ,有以下几个需要注意的问题 : a. 查询时间间隔的设置不小于最大中断程序执 行的时间 。 b. 程序上电复位时就应读取编码器信号初始化 状态保存至 OLD ,同时清零 OLD 的高 6 位 。以便 第一查询周期正常查询判向计数 。 c. 如果选择 ×1 方式 ,去掉 1 ,2 ,3 状态计数判 向代码段 ;选择 ×2 方式 ,去掉 1 ,3 状态的计数判向 代码段 ;并修改相应的状态跳转指令即可 。 d. 如果设定查询时间间隔为 t , 光电编码器的
基于FPGA增量式编码器的接口设计与实现

文中设计了一个基于FPGA的简单且精度高的接口电路,其结构简单、性能可靠。具有滤波、硬件辨向、4倍频计数和数据锁存等功能。计数结果以并口输出,可与PC机、ARM或FPGA等部件进行并行通信。同时在并口之前,用锁存电路来消除硬件电路延时所可能引起韵计数错误,减轻了后续微机的负担,可提高被控对象的测量和控制精度。
运用FPGA实现4倍频、鉴相电路,采用全数字反馈电路的设计方法,由于倍频、鉴相电路设计在同一芯片上,一方面,FPGA门电路高数量较大,时钟频率可达上百MHz的可编程逻辑器件,可以把他设计成所需的各种逻辑器件,可并行处理多项任务。因此处理速度比单片机或DSP快得多;另一方面,芯片内部的门电路、触发器的参数特性完全一致,能保证在相同转速下4倍频脉冲信号的周期保持一致。作为板级芯片,电路做在芯片内部,其抗干扰能力比分离器件有很大提高。同时,由于现场可编程,可以方便地实现对电路的重新设计或修改,增强了系统的灵活性、通用性和可靠性。
3 仿真波形
用Verilog HDL语言完成电路描述,各功能模块运用原理图方式进行描述,芯片采用Ahera公司Cyclone系列的EP1C12Q240C8N。在Quart-usII10.0环境下进行功能和时序仿真。编译后结果,A、B即为差分整形电路的输出,当A相超前B相时,输出正向4倍频脉冲,OA[7..0]为编码器正转时4倍频脉冲个数;反之,输出反向4倍频脉冲,OB[7..0]为反转时4倍频脉冲个数。利用OA[7..0]与OB[7..0]可以方便地实现编码器的可逆计数。