光电编码器在车载音响系统中的应用
光电编码器可以通过光电原理将一个机械的几何位移量转换为电子信号(电子脉冲信号或者数据串)。它是一种集光、机、电为一体的数字化检测装置,具有精度高、结构简单、体积小、使用可靠、易于维护、性价比高等优点。
一般来说,根据光电编码器产生脉冲的方式不同,可以分为增量式、绝对式以及复合式3大类。增量式旋转光电编码器容易做成全封闭型式,易于实现小型化。它的外观好像一个电位器,因其外部有一个可以左右旋转同时又可按下的旋钮,很多设备(如显示器、示波器等)用它作为人机交互接口。在车载电子设备中被广泛用于显示器菜单选择、汽车音响的音量控制调节以及汽车空调的控制调节等。笔者主要以日本阿尔卑斯EC11J微型光电编码器为例,分析了增量式旋转编码器的构造及原理,进一步提出了在汽车音量控制调节过程中如何用软件程序实现输出脉冲的辨向和计数的方法。文中如不特别说明,所提到的编码器均指增量式旋转光电编码器。
1 光电编码器的构造与工作原理
1.1 编码器的构造
典型的增量式光电编码器主要由机械系统、数据扫描系统、电气系统3大部分组成。机械系统主要起外壳和转动支撑作用。
数据扫描系统由光源、码盘、检测光栅、光电检测器件组成,如图1所示。码盘上刻有节距相等的辐射状透光缝隙,相邻两个透光缝隙之间代表一个增量周期;检测光栅上刻有A、B两组与码盘相对应的透光缝隙,用以通过或阻挡光源和光电检测器件之间的光线。它们的节距和码盘上的节距相等,并且两组透光缝隙错开1/4节距,使得光电检测器件输出的信号在相位上相差90°。在大多数情况下,直接从编码器的光电检测器件获取的信号电平较低,波形也不规则,还不能适应于控制、信号处理和远距离传输的要求。所以,在编码器还必须将此信号放大、整形。
电气系统部分主要包括保护电路、放大电路、抗干扰电路、数据转换输出等。
1.2 编码器的工作原理
当码盘随着转轴转动时,检测光栅不动,光线透过码盘和检测光栅上的缝隙照射到光电检测器件上,光电检测器件会输出两组相位差90°的脉冲信号。
图2(a)为光电式编码器的A/B相脉冲信号发生的典型电路。虚线框为缝隙,如果检测光栅挡住光源的光线射向光电三极管,三极管呈截止状态。此时A/B相输入因上拉电路的影响呈逻辑高电平,如图2(b)所示。反之,光电三极管受发光二极管的照射,呈饱和态(即导通)。此时A/B相因与地相接呈逻辑低电平。因此当码盘旋转时,会产生如图3所示的A/B相脉冲。
为了在使用中达到准确转动的目的,设计者将编码器的码盘一周平分成若干等份,并安装弹簧,使得编码器只要旋转就一定旋转出最小刻度的整数倍。当编码器正向旋转的时候,A相比B相超前90°,反向旋转的时候,A相比B相落后90°。这样,就可以通过转动的刻度来确定编码器的旋转量,通过A/B相脉冲的相位关系得知编码器的旋转方向。
2 编码器在汽车音响系统中的应用
2.1 编码器的应用
EC11J系列编码器是日本阿尔卑斯电气株式会社生产的车用小型高精度滑动式编码器。主要用于汽车导航器,音响的音量调节和空调温度调节旋钮以及菜单选择等。
在现代汽车音响系统中,由于车载电子的电源为车内自带的蓄电池,电源常常会受外界的干扰(如路面颠簸,发动机转速提高等等),造成电压不稳,这样即使电位器的位置没有变化,也会因为蓄电池电压的变化使得电位器输出电压变化,这样就会导致即使没有调节音量,音量也会随蓄电池电压的变化而变化,因此一般不采用输出为模拟电压信号的电位器作为调节旋钮。
而编码器输出的是稳定可靠的数字信号,可以通过下一级设备的可编程控制,实现对音量的准确调节,并消除干扰。编码器使用时能够360°旋转,响应速度快,旋转量计量精确,旋转声响微小,同时它寿命长、不产生噪声,电路简单,这都是电位器无法比拟的。相对于电位器和其他元件来说更有利于音量调节这样的需要连续变化的控制。
2.2 编码器输出控制电路程序设计
编码器的输出脉冲的辨向和计数可以通过硬件电路实现,也可以用软件方法实现。以下主要介绍单片机编程控制来实现脉冲的辨向和计数。本方法采取1 ms定期查询方式读取A/B相脉冲状态,为了保证读取A/B相脉冲状态的正确性,需要进行3次一致性的消抖,然后依据编码器输出波形的相位关系,判断出编码器的旋转方向和旋转量。具体软件流程图如图4所示。
2.3 程序测试要点
汽车音响系统中采用编码器作为音量调解旋钮,摇摆晃动量小,旋转定位虚位小。但是车辆在行驶过程中,发动机以及其他车载电子设备都有可能对编码器的输出波形产生电磁干扰或其他干扰,这就需要程序能够识别干扰,不会误计数和判错方向。可以利用信号发生器产生脉冲,模拟编码器输出脉冲,并将其连接到单片机的输入端口,从以下几个方面对程序进行测试。
1)正反方向和增减量的确认
给单片机输入n周期正方向脉冲,波形如图5所示,验证程序是否能正确无误检测出正向并验证增减量是否增大n。同理验证反方向。
2)单相断线错误确认
当编码器出现故障,A相或者B相断线,断的一相恒为逻辑高电平或者恒为逻辑低电平,另一相为正常变化的脉冲波形。利用信号发生器模拟编码器A相或者B相异常,恒为高或者低,共计4种情况如图6。测试程序是否能够识别出异常,并且计数量不会变化。
汽车在途径碎石路时会产生强烈微震动,及车载其他电子设备的电磁干扰,都会影响编码器输出不正常的逻辑波形如图7所示。经过测试确认这些微震动不会导致程序变量值的变化。