[转]使用D触发器制作正交编码器的鉴相电路

我们在做伺服电机控制的时候,一般会用到正交编码器做速度和位置的反馈控制,这里只提增量式正交编码器,其输出一共有三根线,如下图所示,即A相、B相和Index相,其中A相和B相为互差90度的方波或者正弦波脉冲(可以整形成方波),每转一圈会有若干个脉冲输出(输出脉冲的个数决定了编码器的分辨率,我们常称之为线数),用来测量速度和位置,而Index相则每转一圈只输出一个脉冲,用来做误差矫正(可以消除做位置反馈时的累积误差)。同时由于A相和B相的正交90度差,也就引出了相位超前和相位滞后的概念,而凭借这两相的相位差(含正负)则可以判断出编码器转子的方向,进而实现鉴相,方便伺服电机的方向控制。

上面简单的介绍了正交编码器的工作原理,那么实现鉴相的方法就简单了,实际上现在很多针对电机控制的MCU都自带了正交解码器的Timer,只需将A、B两相连接到MCU的专用解码管脚即可实现内部Timer对脉冲的加减计数,不过究其鉴相原理实际上都是通过D触发器来实现的,即一相接D触发器的D端,另一相接CLK端,通过这样的解码方式其OUT端的高低电平即决定了A、B两相的超前或滞后也即编码器的旋转方向。

既然MCU内部的鉴相电路也是D触发器来实现的,那么当我们在使用不带正交解码功能的MCU时,我们可以通过外部搭建专用的D触发器来实现鉴相功能,再通过查询外部IO的电平来判断方向。下图所示为使用市场上最常用的D触发器ASIC 74HC74(双D触发器),当然也可以根据成本考虑使用单D触发器(74HC74G1)来实现单个旋转编码器的鉴相(单电机控制,如果为了实现双电机控制则可以使用双路D触发器),其中Out1和Out2则与MCU的普通IO连接。

原文地址:https://www.cnblogs.com/tubujia/p/9567345.html

时间: 2024-10-08 19:38:20

[转]使用D触发器制作正交编码器的鉴相电路的相关文章

利用stm32自带的正交编码器检测增量式编码器流程总结

由于手术的工频升级机需要自动平层功能,于是着手开始做这方面的工作.硬件选择的是增量式编码器,100脉冲每转,后来了解到stm32的每个定时器的通道1和通道2内置了正交编码器模块,可以直接使用.之前的公司工程师都是用定时器捕捉脉冲,然后自行处理的,我看了下代码挺麻烦的,现在用了stm32自带的感觉就容易多了.找了官方的软件说明,看了下网上已有的例子,一个下午就基本在我的系统架构中添加了这个设备,然后对这个设备初始化,设置上层接口API.最后看些例子将16位计数器软件扩展到32位.就顺利的完成了基本

正交编码器单端转差分

现在手头上有一个Autonics的增量式正交编码器(型号为E40H82048-3-V-24),输出有A.B.Z三相,电压输出12V,当前需要将编码器的信号接到一个差分输入的电机驱动器上(型号为Copley Aclent 55-18),即需要有A,A/,B,B/,Z,Z/ 且其信号电压大小为5V.将下图中左边的12V信号变成右边的5V信号. 图1  信号转换 解决方案如下,采用了电阻分压与转换芯片(AM26LS31CD)结合的方式. 图2  单端转差分电路

STM32正交编码器驱动电机

1.编码器原理        什么是正交?如果两个信号相位相差90度,则这两个信号称为正交.由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向. 这里使用了TI12模式,例如当T1上升沿,T2在低电平时:T1下降沿,T2在高电平时,向上计数,这样的好处是当有毛刺产生的时候,会自动+1 -1过滤掉毛刺. 2.编码器的中断 由于编码器是基于定时器的,所以编码器的中断实际上就是定时器的中断.也就是说定时器是每隔一定时间加一个数(或减一个数 ),当数到达预设值时就产生中断,而编码器是每一

[转]STM32正交编码器驱动电机

1.编码器原理       什么是正交?如果两个信号相位相差90度,则这两个信号称为正交.由于两个信号相差90度,因此可以根据两个信号哪个先哪个后来判断方向. 这里使用了TI12模式,例如当T1上升沿,T2在低电平时:T1下降沿,T2在高电平时,向上计数,这样的好处是当有毛刺产生的时候,会自动+1 -1过滤掉毛刺. 2.编码器的中断 由于编码器是基于定时器的,所以编码器的中断实际上就是定时器的中断.也就是说定时器是每隔一定时间加一个数(或减一个数 ),当数到达预设值时就产生中断,而编码器是每一个

STM32F103的11个定时器详解(转)

源:STM32F103的11个定时器详解 STM32F103系列的单片机一共有11个定时器,其中:2个高级定时器4个普通定时器2个基本定时器2个看门狗定时器1个系统嘀嗒定时器 出去看门狗定时器和系统滴答定时器的八个定时器列表; 8个定时器分成3个组:TIM1和TIM8是高级定时器TIM2-TIM5是通用定时器TIM6和TIM7是基本的定时器这8个定时器都是16位的,它们的计数器的类型除了基本定时器TIM6和TIM7都支持向上,向下,向上/向下这3种计数模式 计数器三种计数模式向上计数模式:从0开

第五篇:本人多年来积累的单片机程序 资料下载(绝对干货,内附下载链接)

首先打个广告:如果需要做毕设以及嵌入式项目合作,欢迎进入我们工作室:创想嵌入式设计工作室 本人搜集的大量单片机源码资料及毕业设计资料,足有1200+套,很多实用的demo源码和毕业设计参考方案,可用于做项目时借鉴,博尾附有下载链接.(内附本人联系方式,可一起交流探讨,交朋友) 为了方便 查找,我已将项目源码的目录整理出来了,方便 采用"ctrl +F"快速查找验证是否有需要的demo.可以一键打包下载,也可只下载需要的demo. 下载链接内附本人联系方式,如果在安装过程中遇到问题,可以

Stm32高级定时器(一)

Stm32高级定时器(一) 1 定时器的用途 2 高级定时器框图 3 时基单元 4 通道 1 定时器的用途 已知一个波形求另一个未知波形(信号长度和占空比) 已知波形的信号长度和占空比产生一个相应的波形 增量正交编码器驱动电机获得动态信息(速度.加速度) 测量输入信号的脉冲宽度(输入捕获) 产生输出波形(输出比较.PWM.嵌入死区时间的互补PWM等) …… 我们知道,当我们需要测量一段直线的长度时,我们需要一把直尺,根据直尺上的刻度读出直线的长度,定时器也相当于直尺能够测量和产生特定的波形. 比

对Verilog 初学者比较有用的整理(转自它处)

对Verilog 初学者比较有用的整理(转自它处) ******************************************************************************************************************** *作者: Ian11122840    时间: 2010-9-27 09:04                                                                   

[stm32] STM32的通用定时器TIMx系统了解

通用定时器(TIMx) 一.TIMx简介 二.TIMx主要功能 三.TIMx功能描述 3.1 时基单元 3.2 计数器模式 3.3 时钟选择 3.4 捕获/比较通道 3.5 输入捕获模式 3.6 PWM输入模式 3.7 强置输出模式 3.8 输出比较模式 3.9 PWM 模式 3.10 单脉冲模式 四.简单例子理解TIMx 4.1 使得PB5-TIM3通道2产生频率为12.5Hz的方波,该方波控制LED1的闪烁 4.2 周期控制通用定时器3的2通道,实现1KHz的不同占空比波形,控制LED实现呼