1、资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。 摘 要: 光电编码器是一种位移一数字转换器, 它具有精度高、 频响快、 噪声小、 无磨损、 可靠性高等特点绝对编码器二进制输出的每一位都必须有一个独立的码道。一个编码器的码道数目决定了该编码器的分辨力。在编码器的每一个位置, 经过读取每道刻线的通、 暗, 获得一组从20到2n-1的唯一的2进制编码( 格雷码) , 这就称为n位绝对编码器。这样的编码器是由码盘的机械位置决定的, 它不受停电、 干扰的影响。本课程设计的主要目的是设计一个实用的信号显示电路, 将绝对型光电编码器获得的2进制编码翻译、 显示为对应的角度。所使用的编码器是长春第
2、一光学有限公司生产的JXW-12A型绝对型光电编码器。关键词: 绝对式光电编码器; 译码显示电路; EEPROM目录1. 概述21.1 编写说明 1.2 名词定义 1.3 设计用传感器介绍 2. 系统总述52.1 任务与要求 2.2 系统设计思路 单片机子系统设计6 3.1芯片介绍 3.2硬件扩展 3.3软件设计 译码显示子系统设计11 4.1芯片介绍 4.2数码管参数 4.3 PCB版5. 致谢26. 参考文献27. 开发环境27.1 硬件开发 7.2 软件开发7.3元器件清单 8. 设计感想和后续设想29. 附录 各系统原理图281. 概述1.1 编写说明本设计报告主要介绍一种方便简洁的绝
3、对式光电编码器的信号译码显示电路, 其具有制造成本低廉, 重复制造容易, 材料利用率高, 安全可靠等显著特点。本次设计采用长春第一光学有限公司JXW-12A型光电编码器, 电路主要完成对其输出的约20V高电平信号的降压、 译码、 显示功能。1.2 名词定义光电编码器: 光电编码器是一种集光、 机、 电为一体的数字化检测装置, 能够定义为: 一种经过光电转换, 将输至轴上的机械、 几何位移量转换成脉冲或数字量的传感器, 它主要用于速度( 角速度) 或位置( 角度) 的检测。1.3 设计用传感器介绍本次设计采用长春第一光学有限公司JXW-12A型光电编码器。工作原理: 图1-1如图1-1, 当轴带
4、动码盘旋转时, 经发光元件发出的红外光被码盘狭缝切割成断续光线, 经过光电交换原理, 经过电路处理, 把角位移转换成一组电信号, 该组电信号表示轴的绝对位置性能特点: 1. 输出型式: 电压输出和集电极开路输出两种型式2. 输出码制: 循环二进制和自然二进制两种码制, 用户经过控制线可自选3. 进位方向: 从轴头方向看顺时针加和减进位两种, 用户经过控制线可自选4. 具有锁存功能, 锁存与否, 用户经过控制线可自选5. 电源电压5V、 12V、 15V、 24V可选6. 编码器最高分辨率为360/2n用途及特点: 该产品是一种绝对式光电编码器, 它能够测量角位移, 旋转速度等等, 并能将所测结
5、果以自然二进制码输出, 因此, 广泛应用于自动化测量、 自动化控制等系统中。特点: 1、 该编码器为绝对式轴角编码器, 零位固定, 单值函数, 抗干扰能力强; 2、 该编码器结构上采用防尘、 防潮等措施, 耐冲击、 耐振动、 性能好、 体积小、 重量轻。产品型号及编号: 图1-2注: 输出型式 C: 集电极开路输出 E: 电压输出基本参数: 位数分割数角分辨率测量范围准确度8256360/281009512360/29101024360/210112048360/211表1-1电气参数: 输出形式电源电压( V) 输出信号消耗电流( mA) 波形上升下降时间( ms) 响应频率( kHz) 高
6、电压( V) 低电压( V) 允许注入电流( mA) E型电压输出5200方波2050121524C型集电极开路输出540121524表1-2注: 1. 电源电压: 50.25V121.2V151.5V242.4V2. 允许注入电流40mA为单路信号的允许注入电流接线表: 信 脚号 号位数123456789111098表1-3信 脚号 号位数10111213141517181911CPCN1CN20V机壳1098表1-4注: 1、 CP为选通锁存控制信号, 接0V或悬空时, 不锁存, 接VCC时, 锁存编码器此时输出信号2、 CN1为输出码制控制信号, 接0V或悬空时, 循环二进制输出; 接V
7、CC时, 自然二进制输出3、 CN2为加、 减进位控制信号, 接0V或悬空时, 从轴头方向看顺时针旋转时, 加计数; 接VCC时, 减计数。4、 实验室提供的型号是24V电源、 8位信号。需要降压才能够接入显示电路。机械参数: 允许最大机械转数( r/min) 启动力矩( 25) ( Nm) 轴最大负载( N) 径向轴向5000510-32010表1-5外形图及安装尺寸: 图1-3注意事项l 编码器主轴与被测轴连接时, 不同度不得大于0.05mm, 最好采用弹性联轴节联接l 请不要将编码器输出线与动力线绕在一起或同管传输, 也不宜放在配电盘附近使用l 使用前应对编码器程序进行检测, 以免发生故
8、障l 用户不得随便拆卸l 仪器应放置在清洁、 无腐蚀气体、 相对湿度85%的环境中l 电源线不要反接, 否则将烧毁编码器l 信号线彼此不要搭接, 否则将烧毁编码器的输出电路2. 系统总述2.1 任务与要求1测试编码器: 测试编码起的输出信号, 鉴别电线定义和功能2设计信号译码和显示电路; 3角度测量特性测试: 安装角度盘, 按照不同角度转动角度盘, 观测输出信号, 记录; 4译码测试: 分析各个角度位置的输出编码, 判别码制, 转换成二进制码。2.2 系统设计思路如图所示是整个系统的设计组成。图1-4图1-4中, 利用8051扩展一片INTEL 2817A( 2K*8位) EEPROM, 经过
9、编程分别生成两张2048个角度数的表格( 分别对应低2位显示与高2位显示) 并存入2块2817A中。在数码管显示电路部分, 利用编码器输出的11位2进制码作为地址信号输入2817A的地址线内, 2817A将相应地址内存储的数据输出, 数码管驱动电路接收数据并显示出来。3. 单片机子系统的硬件设计这一部分主要完成单片机对存储器表格的写入工作。实验所使用的是8051单片机和2817A存储器。3.1芯片介绍: 8051的管脚图和芯片管脚配置如下: 图1-52817A的管脚图和管脚配置如下: 图1-6A0A10: 地址线I/0: 双向数据线CE: 片选线WE: 写入使能RDY/BUSY: 忙闲指示3.
10、2硬件扩展: 2817A与8051的硬件连接扩展逻辑图如附录所示。其扩展方法如下: 数据总线2817A的数据线与8051的P0口对应相接构成系统的数据总线。地址总线2817A的地址线的A0A7与8051的P0口经地址锁存器74LS373锁存后得到的地址线的低8位对应相接, 而2817A的地址线的A8A110与P2.0P2.2对应相接, 这样就构成了系统的地址总线。控制总线为实现将外部数据存储器空间和程序存储器空间合并的目的, 2817A的端与8051的读指令控制信号与RD信号相”或”后的信号相接。2817A的RDY/BUSY脚与单片机的P1.0口相连接, 采用查询P1.0口的方式对其写操作进行
11、管理。8051的EA口接地, 以使用外部存储器。ALE接74LS373的11号管脚, 使其时钟频率和单片机保持一致。单片机的写选通信号与2817A的WE口相接。由于同时系统只需要扩展一片EEPROM, 能够将片选信号直接接地。实验实际操作时使用的是8051的仿真器, 故晶振等其它单片机外部器件不需要再重新连接了。3.3软件设计实验设计的基本思路是利用单片机对2817A进行写操作, 将一张2048个数据的表格写入存储器内, 利用地址线使其输出四位BCD代码, 作为数码管驱动芯片的输入信号进而点亮七段数码管。编码器输出的信号经过放大整形译码及电平转换后即可由计算机读取也可由计算机控制显示电路显示垂
12、直的转角。本文介绍是使用两片只读存贮器实现二进制转换成BCD码直接显示电路。下面叙述只读存贮器2817A的译码原理。因为编码器的每个位置都输出一个相应的数码, 11位编码器能够区分211个角度。11位编码器能够显示的角度的分辨率约为0.1757812编程求得表格的基本思路和数据处理原理如下图所示: 使用R0R4作为表格输入数据的存储寄存器, 用R4、 R3存储所得到的表格输出数据的高两位和低两位。先将R0R4清零, 其中R2输入50H用以对进位时进行四舍五入。每次递加0.1757812分别存入R0R4中, 其中存放位置关系参见图五。所得到的高两位和低两位分别存入两块不同2817A中, 作为表示
13、角度的表格数据。具体的程序清单及注释说明文件如下: HIGH部分程序: ORG 0000H ;程序起始位置 LJMP STARTORG 0100HSTART:MOV DPTR,#0000H ;eeprom存储起点MOV R0,#00H ;初始值MOV R1,#00HMOV R2,#50H ;四舍五入MOV R3,#00HMOV R4,#00HAA: MOV A,R0 ;每次加上0.1757812 ADD A,#12H DA AMOV R0,AMOV A,R1ADDC A,#78HDA AMOV R1,AMOV A,R2ADDC A,#75HDA AMOV R2,AMOV A,R3ADDC A,
14、#01HDA AMOV R3,AMOV A,R4ADDC A,#00HDA AMOV R4,AWAIT:MOV C,P1.0 ;检测P1.0口是否为高电平, 高为ReadyMOV A,#00HADDC A,#00HJZ WAIT MOV A,R4 ;将R4存入eepromMOVX DPTR,AINC DPTR ;eeprom地址加一 MOV R7,DPH ;循环至2048次CJNE R7,#07H,AA MOV R7,DPL CJNE R7,#0FFH,AA ENDLOW部分程序: ORG 0000H LJMP STARTORG 0100HSTART:MOV DPTR,#0000H MOV R
15、0,#00HMOV R1,#00HMOV R2,#50HMOV R3,#00HMOV R4,#00HAA:MOV A,R0ADD A,#12HDA AMOV R0,AMOV A,R1ADDC A,#78HDA AMOV R1,AMOV A,R2ADDC A,#75HDA AMOV R2,AMOV A,R3ADDC A,#01HDA AMOV R3,AMOV A,R4ADDC A,#00HDA AMOV R4,AWAIT:MOV C,P1.0MOV A,#00HADDC A,#00HJZ WAIT MOV A,R3MOVX DPTR,AINC DPTR MOV R7,DPHCJNE R7,#07
16、H,AA MOV R7,DPL CJNE R7,#0FFH,AA END在具体运行时将两段程序分别运行于两块2817A上即可。4. 译码显示子系统设计译码显示电路主要是使用两组1.2K和3.6K的电阻分压获得降压后的传感器信号作为地址信号送给两片2817A存储器, 由存储器的数据输出端输出相应地址中存储的角度数据( BCD码) 用以作为数码管驱动芯片CD4511的输入信号。最后由CD4511驱动数码管显示相应的角度数。4.1芯片介绍CD4511的管脚图如下: 其功能介绍如下: BI: 4脚是消隐输入控制端, 当BI=0 时, 不论其它输入端状态如何, 七段数码管均处于熄灭( 消隐) 状态, 不
17、显示数字。LT: 3脚是测试输入端, 当BI=1, LT=0 时, 译码输出全为1, 不论输入 DCBA 状态如何, 七段均发亮, 显示”8”。它主要用来检测数码管是否损坏。 LE: 锁定控制端, 当LE=0时, 允许译码输出。 LE=1时译码器是锁定保持状态, 译码器输出被保持在LE=0时的数值。A1、 A2、 A3、 A4、 为8421BCD码输入端。 a、 b、 c、 d、 e、 f、 g: 为译码输出端, 输出为高电平1有效。CD 4511的真值表 如下: 输 入 输 出 LEBILIDCBAabcdefg显示 XX0XXXX11111118X01XXXX0000000消隐 01100
18、001111110001100010110000101100101101101201100111111001301101000110011401101011011011501101100011111601101111110000701110001111111801110011110011901110100000000消隐 01110110000000消隐 01111000000000消隐 01111010000000消隐 01111100000000消隐 0111111000000消隐 111XXXX锁 存 锁存 由于要四位计数, 需将计数器级联, 每级输出接一只 CD4511 和 LED 数
19、码管。4.2数码管参数本实验使用的数码管是AVR公司的0.39寸红色高亮共阴数码管。数码管引脚图如下: 管脚顺序: 从数码管正面看, 以第一脚为起点, 管脚顺序以逆时针方向排列。4.3 PCB版具体的接线原理图参见附录。下图是PCB版截图: 图中电源信号和传感器地址信号使用DIP封装。5. 致谢感谢本次试验设计过程中刘伟文老师、 毕浩然老师的细心指导和建议。感谢我们小组的另两位同学: 王鸣峰同学、 袁璟同学。我主要负责前期资料的搜集整理工作, 完成焊接工作的是王鸣峰同学, 袁璟同学主要负责调试工作。6. 参考文献传感器课程设计任务书及指导书上海交通大学精密仪器教研室MCS-51系列单片机系统及
20、其应用蔡美琴等高等教育出版社绝对式光电编码器信号处理、 显示电路的设计朱丹梧浙江大学光科系传感器技术( 第3版) 贾伯年、 俞朴、 宋爱国东南大学出版社7. 开发环境7.1 硬件开发PROTEL 99SEPC7.2 软件开发MEDWIN 中文版MANLEY ME-52H仿真器PC7.3元器件清单8051 1块INTEL 2817A 2块CD4511 4块SM420391K数码管 4只300欧电阻 29只1.2K电阻 811只3.6K电阻 811只19脚( 或20) 单排插座 1只2脚电源插座 1只8. 设计感想和后续设想经过本次课程设计, 我和小组内其它两位同学互相合作, 从译码显示电路的原理
21、开始逐步讨论, 虽然第一个方案没有实现, 但依然在团队合作、 方案讨论方面有很大的收获。一开始接到项目任务指导书之后, 我们小组内进行了方案的讨论, 主要是想要运用数电中学到的时序电路的知识来完成此次任务, 并着手进行原理图设计。原理图设计过程中, 我遇到了进制转换的问题, 即如何将传感器输出的2进制转换为360度显示。我们采用了辨向分频计数的方法来解决, 但最终由于没有找到相应的集成芯片, 导致芯片数目庞大, 电路较为复杂, 放弃了该方案。随后我受到其它小组同学的启发, 利用EEPROM作为进制转换的解决方案, 即利用一张存储了2048个角度数的表格, 将2进制输入作为其地址, 就能够输出对
22、应的角度数。PCB板生成之后的焊接工作主要又王鸣峰同学负责, 而我和袁璟同学在旁边协助焊接。调试过程中, 我们发现无论怎么改变传感器的输出, 显示的数值都没有什么变化, 始终是888.8。我们依次检查了传感器、 EEPROM和数码管, 发现都没有问题。正当疑惑时, 其它小组的同学发现EEPROM的使能端接错了VCC, 这才恍然大悟。改接管脚后一切正常。完成了主要任务后, 我开始思考设计中的不当之处: 原理图的小小错误导致最后差点没能完成任务; PCB图的数码管封装也比实际数码管略宽, 造成了不必要的麻烦; 由于一开始以为传感器是11位的输出, 在网上寻找了很久才找到相应的EEPROM, 然而最后拿到手的传感器却是8位输出, 这浪费了许多时间; 传感器的输出接口与PCB板不匹配, 需自行设计连接线等等。这使我感受到即使原理图的设计天衣无缝, 但如果要将其实现, 之后还有许多工作在等待着我们。这正是: 任重而道远, 吾将上下而求索。最后再次感谢本次试验设计过程中刘伟文老师、 毕浩然老师的细心指导和建议。9. 附录 各系统原理图