EC16编码器设计应用案例
- 格式:pdf
- 大小:169.53 KB
- 文档页数:5
四倍频细分电路(含波形图)时间:2010-06-12 05:00:19 来源:作者:1.光电编码器原理光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。
这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。
光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。
由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,其原理示意图如图1所示;通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。
此外,为判断旋转方向,码盘还可提供相位相差90旱牧铰仿龀逍藕拧根据检测原理,编码器可分为光学式、磁式、感应式和电容式。
根据其刻度方法及信号输出形式,可分为增量式、绝对式以及混合式三种。
1.1增量式编码器增量式编码器是直接利用光电转换原理输出三组方波脉冲A、B和Z相;A、B两组脉冲相位差90海佣煞奖愕嘏卸铣鲂较颍鳽相为每转一个脉冲,用于基准点定位。
它的优点是原理构造简单,机械平均寿命可在几万小时以上,抗干扰能力强,可靠性高,适合于长距离传输。
其缺点是无法输出轴转动的绝对位置信息。
1.2绝对式编码器绝对编码器是直接输出数字量的传感器,在它的圆形码盘上沿径向有若干同心码道,每条道上由透光和不透光的扇形区相间组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数,在码盘的一侧是光源,另一侧对应每一码道有一光敏元件;当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。
这种编码器的特点是不要计数器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码。
显然,码道越多,分辨率就越高,对于一个具有N位二进制分辨率的编码器,其码盘必须有N条码道。
目前国内已有16位的绝对编码器产品。
绝对式编码器是利用自然二进制或循环二进制(葛莱码)方式进行光电转换的。
绝对式编码器与增量式编码器不同之处在于圆盘上透光、不透光的线条图形,绝对编码器可有若干编码,根据读出码盘上的编码,检测绝对位置。
电子技术课程设计报告书课题名称 路数显示报警器的设计姓 名 刘卫平 学 号 0812202*14 院、系、部 物理与电信工程系 专 业 电子信息工程指导教师熊洁2010年 07月 01日※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※2008级电子信息工程专业电子技术课程设计路数显示报警器的设计1、设计目的(1)熟悉集成电路的引脚安排。
(2)掌握各芯片的逻辑功能及使用方法。
(3)了解并熟悉仿真软件Multisim11.0的应用。
(4)了解路数显示报警器的组成及工作原理。
(5)熟悉路数显示报警器的设计与制作。
2、设计思路(1)设计16路数输入电路。
(2)设计优先级存储及处理电路。
(3)设计报警及显示路数电路。
3、方案设计比较与思路论证方案1:如下图 3.1所示,其中总开关起控制总电源的作用,十六个控制开关分别为十六个按钮,经过编码器编码,将信号编码成相应的二进制代码,从而在数码显示器上显示十进制路数数字。
同时由控制开关连接555定时振荡电路,再与报警器相连,实现声音报警。
图3.1 方案1设计框图方案2:如下图 3.2所示,当接通电源后,其中总开关起控制总电源的作用,十六路数控制开关分别为十六个开关按钮,经过编码器编码将信号编写成二进制代码,从而在显示器上显示相关路数数字,并且编码器上的GS接口连接555定时振荡电路,再与报警器相连,实现声音报警。
图3.2方案2设计框图方案分析与比较:上述两个方案都具有十六路数显示和声音报警功能,但是方案1 由控制开关连接555定时电路,再与报警器相连,实现声音报警,这对报警器实现声音报警不是很理想,即报警器不能安装在开关按钮边上,所以不是很科学与事实不是很符合。
在方案2 里面,在编码器上的GS接口上连接555定时电路,再与报警器相连,实现声音报警,这种方案简单且可行,容易实现十六路数显示报警器功能。
当然还有其他方案可以实行,综合器件种类与数目,功耗等因素,应采用方案2,其设计框图如上图3.2设计图所示。
如何使用旋转编码器、编码开关,旋转编码开关、编码器的原理在电子产品设计中,经常会用到旋转编码开关,也就是所说的旋转编码器、数码电位器、Rotary Encoder 。
它具有左转,右转功能,有的旋转编码开关还有按下功能。
为了使刚接触这种开关的朋友了解旋转开关的编程,我来介绍下它的原理和使用方法:以我厂生产的EC11型编码开关为例:如图1:三只脚:1 2 3脚一般是中间2脚接地,1、3脚上拉电阻后,当左转、右转旋转时,在1、3脚就有脉冲信号输出了。
两只脚:为按压开关,按下时导通,回复时断开。
在单片机编程时,左转和右转的判别是难点,用示波器观察这种开关左转和右转时两个输出脚的信号有个相位差,如图2。
由此可见,如果输出1为高电平时,输出2出现一个高电平,这时开关就是向顺时针旋转;当输出1 为高电平,输出2出现一个低电平,这时就一定是逆时针方向旋转。
所以,在单片机编程时只需要判断当输出1为高电平时,输出2当时的状态就可以判断出是左旋转或是右旋转了。
旋转编码开关(Rotary Encoder switch)我前面介绍的2篇文章:“自己动手做收音机(LC72131)”和“电脑USB接口LCD液晶显示板(LCD Smartie)”都使用了这种旋转编码开关(Rotary Encoder switch),一个使用3脚的,后面一个使用5脚的,大家可能对这种玩意都不是很了解,但涉及到有调整的地方,这个玩意使用真是很爽,我弄了2个,研究了一下,供大家参考~5脚的ALPS:<-- ALPS Incremental Encoder (EC11 series)具有左转,右转,按下三个功能。
4、5脚是中间按下去的开关接线 1 2 3脚一般是中间2脚接地,1、3脚上拉电阻后,当左转、右转旋纽时,在1、3脚就有脉冲信号输出了。
这是标准资料:在单片机编程时,左转和右转的判别是难点,用示波器观察这种开关左转和右转时两个输出脚的信号有个相位差,见下图:由此可见,如果输出1为高电平时,输出2出现一个高电平,这时开关就是向顺时针旋转; 当输出1 为高电平,输出2出现一个低电平,这时就一定是逆时针方向旋转.所以,在单片机编程时只需要判断当输出1为高电平时,输出2当时的状态就可以判断出是左旋转或是右旋转了。
高速光电编码器的实时数据处理方法高速光电编码器是现代工业自动化和精密控制系统中不可或缺的组件,其主要功能是将机械位移或速度转换为电信号,以实现精确的位置和速度控制。
随着技术的发展,光电编码器的数据传输速率越来越高,这就要求有相应的实时数据处理方法来确保数据的准确性和系统的稳定性。
本文将探讨高速光电编码器的实时数据处理方法,包括数据采集、处理算法、同步机制以及误差校正等方面。
一、高速光电编码器的数据采集高速光电编码器的数据采集是实时数据处理的第一步。
编码器通过光电转换原理,将机械位置变化转换为电信号,这些信号通常以脉冲的形式输出。
为了实现高速数据采集,需要采用高性能的数据采集系统,包括高速模数转换器(ADC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
1.1 高速模数转换器高速模数转换器是将编码器输出的模拟信号转换为数字信号的关键组件。
为了满足高速数据采集的需求,ADC需要具备高采样率和高分辨率。
此外,ADC的输入噪声和量化误差也需要控制在较低水平,以保证数据的准确性。
1.2 数字信号处理器数字信号处理器(DSP)是一种专为快速数学运算设计的微处理器,它能够高效地处理编码器输出的数字信号。
DSP 通常具有多个处理核心和高速缓存,能够并行处理多个数据流,从而提高数据处理速度。
1.3 现场可编程门阵列现场可编程门阵列(FPGA)是一种可编程的数字逻辑设备,它能够根据用户的需求进行定制。
FPGA在数据采集和处理方面具有灵活性和可扩展性,能够实现复杂的算法和逻辑。
二、数据处理算法数据处理算法是实时数据处理的核心,它决定了数据的准确性和系统的响应速度。
常见的数据处理算法包括滤波算法、插值算法和解码算法等。
2.1 滤波算法滤波算法用于去除信号中的噪声和干扰,提高信号的质量。
常见的滤波算法有低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
这些滤波器可以根据系统的需要选择合适的截止频率,以滤除不需要的频率成分。
ES16绝对值编码器编码器型号ES160201A0A-HA1应用领域洗衣机、微波炉、调音台、音响等特点绝对型编码器因每个位置点输出信号的唯一性,使其具备抗干抗、断电后可以记忆保存的特性。
产品性能稳定、密封性好,有立式与卧式两种安装方式。
主要功能定时器用开关、温度调节、功能切换等主要格规参数外形尺寸:16mm额定功率:DC12V4mA;定位数:12个/16个;工作温度:-10℃~70℃;旋转寿命:30000次以上;ES16规格参数一、MECHANICAL CHARACTERISTIC机械特性1、Rotational torque旋转力矩:30~200gf.cm2、Total ratational angle全回转角度:360°3、Number and position of detent定位点数:12detents,16detents二、ELECTRICAL CHARACTERISTIC电气特性1、Resolution分解能力:12pulses,16pulses2、Contact resistance接触阻抗:<100mΩ3、Rating power额定功率:DC12V4mA4、Insulation resistance绝缘阻抗:10MΩ1Minute at DC50V5、Dielectric voltage耐电压:1Minute at AC50V三、ENDURANCE CHARACTERISTIC耐久特性1、Rotational life旋转寿命:30,000cycles MinNote:In this catalog,if some parame ters lr drawings are different from the"Approval sheet",it's subject to the"Approval sheet".注明:如说明书与承认书规格参数、图面有异,均以承认书为准。
编码器课程设计一、教学目标本课程的教学目标是让学生掌握编码器的基本原理、工作方式和应用场景。
具体包括以下三个方面:1.知识目标:(1)了解编码器的基本概念、分类和特点。
(2)掌握编码器的工作原理和主要性能指标。
(3)熟悉编码器在数字通信中的应用。
2.技能目标:(1)能够分析和解码常见的编码器信号。
(2)能够使用编程语言实现简单的编码器算法。
(3)能够设计简单的编码器系统并进行调试。
3.情感态度价值观目标:(1)培养学生对编码器技术的兴趣和好奇心。
(2)培养学生勇于探索、创新的精神。
(3)培养学生团队协作和沟通交流的能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.编码器的基本概念和分类:数字编码器、模拟编码器、混合编码器等。
2.编码器的工作原理:串行编码、并行编码、单向编码、双向编码等。
3.编码器的性能指标:误码率、码率、压缩比等。
4.常见编码算法:Huffman编码、LZ77编码、算术编码等。
5.编码器在数字通信中的应用:数据传输、信道编码、图像编码等。
6.编码器的设计与实现:硬件编码器、软件编码器、编程实践等。
三、教学方法为了达到本课程的教学目标,我们将采用以下教学方法:1.讲授法:通过讲解编码器的基本概念、原理和算法,使学生掌握相关知识。
2.讨论法:学生针对编码器技术的热点问题进行讨论,培养学生的思考和表达能力。
3.案例分析法:分析实际编码器应用案例,使学生了解编码器在实际工程中的应用。
4.实验法:安排实验室实践环节,让学生动手实现简单的编码器算法,提高学生的实际操作能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的编码器教材作为主要教学资料。
2.参考书:提供相关领域的经典著作和论文,丰富学生的知识体系。
3.多媒体资料:制作课件、视频等多媒体资料,提高课堂教学效果。
4.实验设备:配置编码器实验设备,为学生提供实践操作的机会。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过课堂参与、提问、讨论等环节,记录学生的表现,占总成绩的30%。
EC16编码器设计应用案例
摘要:介绍了一种基于单片机的智能仪器前面板的设计及实现方法。
根据数字旋钮的特点,在硬件上设计了鉴相电路检测旋钮的正旋和反旋,巧妙地将旋钮扫描和按键扫描统一起来,以Philip低成本的Flash型单片机P89LPC922作为处理芯片,运用了定时中断、状态机、软件去抖、RS-232接口协议等方法实现软件设计,提高按键和旋钮的抗干扰能力,并介绍了用自定义的通信协议计算旋钮转动量和减少主机负担。
具有良好的通用性,适用于短周期、低成本的按键和旋钮混合面板设计,并已成功地应用于数字存储大功率半导体管特性曲线图示仪。
关键词:单片机;智能仪器;面板;数字旋钮;鉴相电路
引言:
许多仪器的前面板通常是由诸多的旋钮、按键组成的混合界面。
传统的仪器前面板上通常有两种旋钮,一种是电位器,用于调节连续变化的量;另一种是档位开关,用于调节间隔变化的量。
它们嵌入在测量电路中,可以直接改变仪器的参数和设置。
而在现代智能仪器[1]中,这两类调节均可以通过数字旋钮由微控制器将用户操作的变化量反馈给仪器的主处理器,再由主处理器改变仪器的参数和设置。
所以,智能仪器上的数字旋钮和传统仪器上的旋钮在原理和处理方法上有很大不同。
为了节省成本,面板处理往往采用体积小、性价比高的单片机(MCU)。
运用单片机不但经济灵活,并可充分利用MCU逻辑处理的优势,大大简化外围连线,对旋钮按键混合控制系统[2]的处理尤为突出。
设计采用LPC900系列的P89LPC922Flash单片机来实现软件处理。
P89LPC922采用高性能的处理器结构,6倍于标准80C51器件的速率,并自带波特率发生器。
充分考虑单片机的资源和处理速度,分模块设计——按钮电路,旋钮电路,串口电路,扫描电路。
用protel完成电路原理图,制作电路板,在KeilC环境下编写软件。
软件和硬件相结合,协同实现整个面板。
1硬件设计及原理
1.1旋钮电路设计
1.1.1数字旋钮的工作原理
本设计选用常见的编码器EC16系列作为数字旋钮,如图1。
4、5脚供固定之用,3脚接VCC(+5V),1、2脚在转动时输出连续脉冲。
这种旋钮只有两种操作,即正旋和反旋。
通过示波器可以观察到如图所示的旋钮转动时1、2脚的波形。
每次转动1、2脚都会产生脉冲信号,正旋时1脚先变高,反旋时2脚先变高。
也就是说,正旋和反旋输出信号的相位不同,只要检测出相位,就可以识别正旋和反旋。
1.1.2鉴相电路设计
本文设计的鉴相电路见图2,附箭头所指数字标号对应的波形(以正旋为例)。
旋钮的1、2脚分别与D触发器的D端和CLK端连接,根据上面所述旋钮的工作原理,正旋时1脚(D)先变高,2脚(CLK)上升沿时Q端输出1,反旋转时输出0,端则相反。
因此根据Q、输出为10还是01就可以判断出转动方向。
但是,如果继续正旋,Q、将维持现状(图2中的④③),因此还必须检测脉冲个数来反映转动量。
这时不用考虑1、2脚的相位,可将2个信号相与产生新的信号(图2中的⑤),可利用该信号分别和Q、相与即可分辨出每次旋钮的转动。
最后的输出为⑥和⑦,正旋时⑦线有脉冲,⑥线一直为低,反旋则两根线相反。
至此完成了鉴相,下面要解决如何与单片机接口的问题。
1.2扫描电路设计
用户操作面板时,为了能及时准确地识别哪个按钮和哪个旋钮动作,将按钮和旋钮统一扫描和编码,发送给主机。
综合按钮和旋钮特点,根据实际需要采用了8×8的矩阵式键盘结构[3],前4行为按钮,后4行为旋钮。
以列信号为扫描输出信号,行信号为检测输入信号。
扫描电路的核心是单片机。
一般扫描电路用一个I/O口输出扫描信号,另一个I/O口读入检测信号。
P89LPC922只有两组I/O双向口:P0口和P1口。
P1口需要定义一些读写控制信号,所以只用一个P0口输出扫描信号及输入检测信号,这样P0口就存在读写控制和时序问题。
既要输出列值又要读入行值,必须要有数据锁存器和缓冲器之类的芯片配合完成。
设计时采用了数据锁存器74ALS373和总线接收/发送器74ALS245。
单片机的引脚P1.4控制74ALS245的输出使能端,如图3中的②;P1.7控制74ALS373的数据锁存端,如图3中的①;P1.3控制74ALS245的数据传送方向,如图3中的③(这里为恒为低,从245到单片机的P0口)。
扫描电路的工作原理是:单片机先让②为高,使74ALS245输出为高阻态,然后从P0口输出列扫描数据,再给①高电平,延时后将①变低,使74ALS373锁存列扫描信号,将②变低使74ALS245输出有效,由于数据方向恒定,这样行值数据就从245输入到单片机的P0口。
为了将按钮和旋钮的扫描统一起来,我们把正旋和反旋当做不同的两个按钮按下,旋钮的正旋或反旋也对应唯一的行值和列值。
这里的巧妙之处就是采用了三态缓冲器74LS240,每个旋钮电路的输出信号⑥和⑦(即前面图2鉴相电路输出)分别接到74LS240的两组输入端,两组数据的输出都接到4根行线,由列扫描线控制输出哪一组数据。
比如:扫描第二列,⑦对应那组输出到4根行线供单片机读入,此时⑥对应那组的输出被禁止。
若第二列有旋钮正旋,则其对应的⑦上有脉冲,经240反相后,单片机检测到低电平数据,与按钮按下的情况一致。
图3中只用了一片74LS240,可以接4个旋钮,这个电路可以扩充到四片74LS240接16个旋钮。
1.3与主机通信电路设计
用串口与PC机通信要用串口连线,我们将其3、5脚引出,通过一片MAX232,即可与单片机的串口连接,其电路相对简单,这里不多做叙述了。
外部晶振频率选用高频晶振12MHZ,用922自带的波特率发生器,设置波特率为9600,每个字节发送时间约1ms,可以满足高速率和准确性的要求。
波特率太低影响速度,太高影响串口数据传输的正确性。
2软件实现
2.1按键的抗干扰处理
通常当按键按下以后(不考虑人的操作因素),会有一个5-10ms的抖动期,用软件延时来进行去抖处理。
当按键释放后才向主机发送数据,具体方法是用状态机,将按键过程分成以下几个状态S0—S4,如图4所示:
没有按钮动作时,检测线都为高电平,保持在S0状态;扫描面板,当某个按钮按下(相应检测线为低电平)进入S1状态;完成去抖延时(T0中断20次)后进入S2状态,再次扫描面板,检测到低电平且为同一个按钮(行、列线相同)进入S3状态,没有检测到低电平或者不为同一个按钮则再次进入S0状态;按钮释放后进入S4状态,给主机发送按钮编号,发送完成进入S0状态。
2.2旋钮的抗干扰处理
与档位开关一样,旋钮转动一周会有若干停顿点。
停顿点较少的旋钮[2][4]在停止转动时1、2脚总会处于一个稳定的低电平。
而停顿点较多的旋钮在停止转动时则电平状态不定,1、2脚有可能处于高电平也可能处于低电平(如图1),所以不可用与之类似的任何检测电平状态的方法来判断旋钮的转动。
用示波器分析波形后得知,不管1、2脚最终状态如何,只要转动旋钮就会有电平变化,从高到低,或从低到高,所以选用动态的边沿扫描。
除了在刚上电的时候需要扫描获得每个旋钮的初始状态,每过一段时间都要定时扫描旋钮状态,一旦有电平变化(上升沿/下降沿),就认为是一次有效的转动。
定时的时间确定为1ms[5],因为即使很快转动旋钮的情况下,每次脉冲高电平宽度一般都有十几到几十毫秒。
在设计时可用1个字的位向量pre_knob和cur_knob分别保存最近的两次扫描结果,每位对应一个旋钮。
低电平时相应位置1,高电平置0,用下降沿判断(即10时)认为对应位的旋钮有转动。
2.3旋钮转动量的计算
旋钮转动量的计算方法也是本文讨论的一个重点。
旋钮转动的时候,可以转动一个停顿点就发一次,但会增加通信量和主机的处理负担,而且单片机的任务非常单一,即检测前面板的动作,资源利用也不多,因此可以用单片机计算出旋钮转动量后一起发送给主机。
方法是:给每个旋钮配置1个字节的发送缓冲保存转动量。
每当旋钮转动一个停顿点,单片机就检测发送缓冲是否为空,不为空则将缓冲中的转动量加1,若为空则发送旋钮编号给主机,等待主机响应,此时旋钮继续转动,转动量不断增加,主机响应后再将发送缓冲里的转动量发送给主机,发送完成后清空缓冲。
3结论
完成硬件和软件设计之后,仿真调试,烧录单片机,将电路板与PC机连接,操作电路板上的按钮和旋钮,结果表明按钮和旋钮识别及时准确,完全符合实时操作的要求。
并已应用于课题组的数字存储大功率半导体管特性曲线图示仪中。
本文采用的面板设计具有成本低、周期短、可扩展、设计灵活、安全可靠等优点。
可以根据实际需要增加功能按键,而不需要重做软件设计。
可以为相关领域研究人员提供一种可供参考的面板设计方法。