一.项目介绍
本项目用做机械臂的角度采集,使用ada4571磁场编码器芯片采集角度,使用max8510作为编码器的供电,使用arduino作为mcu处理编码器角度信息。
二.芯片介绍
(1).ada4571磁场编码器
ADA4571是一款各向异性磁阻(AMR)传感器,集成了信号调理放大器和ADC驱动器。 ADA4571产生两路模拟输出,指示周围磁场的角位置。
ADA4571在一个封装内集成两个芯片,即一个AMR传感器和一个固定增益(标称值G = 40)仪表放大器。 ADA4571可提供有关旋转磁场角度的干净且经过放大的余弦和正弦输出信号。 输出电压范围与电源电压成比例。
传感器含有两个互成45°角的惠斯登电桥。 x-y传感器平面的旋转磁场提供两路正弦输出去信号,且传感器与磁场方向的角度(α)频率翻倍。 在x-y平面的均质场内,输出信号与z方向(气隙)的物理位置无关。
芯片特性:
- 180°角度高精度
- 最大角误差为0.5°
- 模拟正弦和余弦输出
- 比例输出电压
- 热漂移与寿命漂移小
- 可驱动SAR或Σ-Δ型模数转换器(ADC)
- 磁阻(MR)电桥温度补偿模式
- 温度范围:−40°C至+150°C
- EMI抗扰性
- 故障诊断
- VDD 范围:2.7 V至5.5 V
- 最小相位延迟
- 通过汽车应用认证
- 采用8引脚SOIC封装
(2).max8510
项目采用MAX8510的原因是它拥有超低噪声,低dropout (LDO)线性稳压器的设计提供可达120mA连续输出电流。MAX8511不需要旁路电容,因此实现最小的PC板面积。MAX8512的输出电压可通过外部分压器调节。MAX8510/MAX8511可预置在1.5V至4.5V范围内的各种电压。
Max8510有很广的适用范围,比如移动电话和无绳电话,PDA和掌上电脑,基站,蓝牙便携式收音机及配件,无线局域网,数码相机,个人音响,便携式和电池供电设备等等。
如果使用可调版本的话,通过官方的芯片手册所提供的等式,也很容易算出分阻器的阻值配置。
三.软件程序介绍
通过两个引脚采集sin和cos角度的值:
int sinPin = A0; // select the input pin for the potentiometer
int cosPin = A1; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int sinValue = 0; // variable to store the value coming from the sensor
int cosValue = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
sinValue = analogRead(sinPin);
cosValue = analogRead(cosPin);
Serial.print("sin:"); Serial.print(sinValue); Serial.print(" ");
Serial.print("cos:"); Serial.print(cosValue); Serial.print(" \n");
// turn the ledPin on
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(10);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
}
四.现象
在波形中可以看到两条近似正交的数据波:
五.项目意义及感想
众所周知机器人的机械结构有自由度的概念,为了能够让机器臂运动起来更加灵活和精确,用来读取角度的传感器必不可少,同时精度也有很高的要求.也因此有了做本项目的想法.正好adi的厂商有磁场传感器ada4571,使用起来也很方便,只需要用adc读取数据就能很直观的地显示,处理数据.同时,max8510供电芯片也有着很重要的作用.通过这次项目,更深层理解了磁场编码器的用法和电源的设计,感谢硬禾学堂的fastbond活动让我有机会接触更多知识.