简述磁性编码器工作原理及优缺点
编码器是一种机电设备,用于向控制系统提供有关物体运动的反馈。这种反馈仅允许控制系统确定被检查的物体是否正确定位或移动,以及根据物体的位置和移动采取适当的行动。
一般来说,编码器在测量单个或多个特定物体参数方面发挥着关键作用,例如:位置、方向、速度、对象计数等。编码器有不同类型,如光学、增量、绝对、电容、磁性、增量和线性编码器。本文将介绍其中一种编码器,即磁性编码器的工作原理及其应用特点。
基本概念
使用信号检测系统的信号检测系统的旋转编码器被称为磁性编码器,该信号检测系统取决于位于传感器之前的旋转中的磁体产生的磁通量变化,该传感器通常固定在编码器的轴上。
磁场变化可以通过传感器采样并转化为电脉冲,以确定位置。该编码器主要设计用于在最苛刻的应用环境中提供一致的数字反馈。这些编码器使用磁场变化作为检测方法,使其在污染环境中更加一致。
磁性编码器具有永磁体和磁传感器,永磁体连接到电机轴,磁传感器以获取永磁体产生的磁场的状态连接。每当连接到电机轴的磁铁转动时,磁传感器检测到的磁场就会发生变化,从而编码器会检测到旋转位置以及电机轴的速度。
工作原理
磁性编码器的工作原理是使用传感器识别旋转磁化环或轮的磁场变化。磁性编码器包括三个主要部件,如传感电路、旋转轮和轮边界附近的一系列磁极。每当轮子旋转经过磁传感器时,磁极就会根据磁场强度在传感器内引起预期的响应。磁响应可以馈送到整个信号调节电路,并提供数字信号作为控制设备的输出。
为了确定磁性编码器的分辨率,轮极上方的所有磁化极对、电路类型以及传感器数量共同作用。利用磁性作为产生信号的元素的关键是它不会受到极其苛刻的环境的影响,例如:潮湿、极端温度、冲击和灰尘。
常见型号
KMA36是一款通用非接触式磁性编码器芯片,用于可靠且精确的测量。该IC通过I²C提供睡眠降低功耗模式。此外,可编程参数使用户能够访问广泛的设计选项,以提供最大的自由度和功能。该IC同时用作旋转和线性位置传感器,因此具有巨大的气隙公差。
一般来说,KMA36主要用于磁场角度测量。该特性通常用于旋转测量,但也可以实现线性测量。这是因为在磁铁的长度上,磁场旋转了180°。因此,当磁铁线性移动时,KMA36会识别该磁场旋转。传感器信号可以作为I²C或PWM信号接收。
KMA36磁性编码器IC的主要优点包括:采用小型TSSOP封装、I²C接口、数字输出、高达0.01°的高分辨率、AMR技术和旋转/线性测量模式。
KMA36磁编码器IC的应用主要包括:工业电机、机器人手术、工业自动化、工业机器人、自动售货机、农业机械、机器人透析设备、放射治疗设备和工业过程控制。
磁编码器与Arduino
磁性编码器与Arduino板的接口如下图所示,这种接口有助于非接触式测量角度。这里使用的磁编码器IC是AS5600。这是一款12位非接触式角度测量IC,依赖于距离为0.3至8毫米的磁铁。该编码器IC的主要特点是:
- 12位分辨率,2.54毫米间距
- 有一个钕磁铁。
- 电源电压为3.3V/5V。
- 这使得非接触式角度测量具有出色的可靠性和耐用性。
- 其采样时间为150μs。
- 即使AS5600轴和钕磁铁的中心偏离约1mm,它也能读取值。
- 该板尺寸为W20 x D13.5 mm,磁铁尺寸为φ6 x 2.5 mm。
- 磁化是径向的。
进行此接口所需的组件主要包括:Arduino UNO R3、AS5600磁性编码器、面包板和跳线。
- AS5600的VCC引脚连接到Arduino UNO R3的5V引脚。
- AS5600的GND引脚连接到Arduino UNO R3的GND引脚。
- AS5600的DIR引脚连接到Arduino UNO R3的引脚2引脚。
- AS5600的SDA引脚连接到Arduino UNO R3的A4引脚。
- AS5600的SCL引脚连接到Arduino UNO R3的A5引脚。
代码如下:
#include <Wire.h> #define AS5600_ADDRESS 0x36 // AS5600 I2C address void setup() { Serial.begin(9600); Wire.begin(); } void loop() { // Request 2 bytes of data from AS5600 (angle register) Wire.requestFrom(AS5600_ADDRESS, 2); // Read the received data if (Wire.available() == 2) { int highByte = Wire.read(); int lowByte = Wire.read(); // Combine the high and low bytes to get the 12-bit angle value int angle = (highByte << 8) | lowByte; // Map the 12-bit angle value to a full 360 degrees float degrees = map(angle, 0, 0xFFF, 0, 360); // Print the angle to the Serial Monitor Serial.print(“Angle: “); Serial.println(degrees); delay(500); // Add a delay for readability } }
上传上述代码后,它将在串行监视器上显示角度值。每当磁铁旋转时,角度值就会改变。
优缺点
磁性编码器的优点包括以下几个方面:
- 可以检测系统中不存在接触,这有助于防止磨损,因此在成本方面非常方便,因为它不需要维护并且具有潜在的无限耐用性。
- 尺寸紧凑。
- 极其可靠,因为其电子设计简单,无需使用早期一代绝对编码器中的电池或机械传动装置。
- 需要更少的维护,并且使用寿命更长。
- 不会损坏,而且安装也很简单。
磁性编码器的缺点包括以下几个方面:
- 容易受到电动机引起的磁干扰。
- 工作温度范围有限。
- 与电容式和光学编码器相比,这些类型的编码器通常提供较低的精度和分辨率。
应用领域
磁性编码器的应用包括以下内容:
- 用于需要高抗冲击性、抗振性、宽温度规格、污染物防护和坚固密封的应用,同时提供减少停机时间和输出信号可靠性。
- 用于在纸浆、钢铁、木材和造纸厂中提供位置和速度反馈。
- 特别适合需要高速、坚固性、多种工作温度以及信号生成的出色可靠性的重载应用。
- 经常用于机器人和打印应用。
- 适合在工业缝纫机和机床等油、水和灰尘较多的环境中使用。
常见问题
磁编码器的精确度如何?
答:带有AK7455 14位角度旋转传感器的磁性编码器可在轴端配置内实现0.5°的精度。
什么是磁轴编码器?
答:磁轴编码器在磁场变化时检测旋转位置的信息,并将其转换为电信号作为输出。