12bit (4096P/R) 分解能の磁気式アブソリュートエンコーダ AS5600 (ams AG製) を2.54mmピッチに変換する基板です。ネオジム磁石を同梱。
5V、3.3V、GNDの電源ピンとI2C、アナログ/PWM出力のピンが出ています。電源電圧は5Vもしくは3.3Vです。
※AS5601との違いはAS5601の出力方式がA/B相のインクリメンタル出力であるのに対し、AS5600はアナログ/PWM出力である点です。
※本ボードはDCモータ制御シールドV1.0にも使用しています。
- 4096P/R の高分解能
- 磁気式のため非接触で角度計測が可能であり、信頼性と耐久性に優れている
- インターフェイス:I2C、アナログ出力もしくはPWM出力
- アナログ出力:角度に対応したアナログ電圧値を出力
- PWM出力:角度に対応したデューティ比のPWM信号を出力
- I2C:設定レジスタにアクセスでき、角度の読み取りや動作設定が可能
- サンプリング時間:150μs
- AS5600とネオジム磁石の中心が1mm程度ずれても値の読み取りが可能
- 基板サイズ:横20mm×縦13.5mm
- 基板マウント用穴:15mmピッチ、M3×2穴
- 電源電圧に5Vを供給する場合は3.3Vピンをオープンに、3.3Vを供給する場合は5Vピンにも3.3Vを供給してください。
- DIRピンはGNDに接続、PGOピンは非接続
スイッチサイエンス委託販売ページ
※大量注文や在庫に関する問い合わせはこちらまでご連絡ください。
- AS5600 Breakout Board 本体
- エンコーダ用ネオジム磁石
- 同梱のネオジム磁石を回転体の軸中心に取り付けます
- AS5600の中心とネオジム磁石の中心が合うよう基板を固定部に取り付けます
#include <stdint.h>
#include <Wire.h>
#define AS5600_AS5601_DEV_ADDRESS 0x36
#define AS5600_AS5601_REG_RAW_ANGLE 0x0C
void setup() {
// I2C init
Wire.begin();
Wire.setClock(400000);
// Read RAW_ANGLE value from encoder
Wire.beginTransmission(AS5600_AS5601_DEV_ADDRESS);
Wire.write(AS5600_AS5601_REG_RAW_ANGLE);
Wire.endTransmission(false);
Wire.requestFrom(AS5600_AS5601_DEV_ADDRESS, 2);
uint16_t RawAngle = 0;
RawAngle = ((uint16_t)Wire.read() << 8) & 0x0F00;
RawAngle |= (uint16_t)Wire.read();
// Raw angle value (0 ~ 4095) is stored in RawAngle
}
void loop() {
}
#include <stdint.h>
void setup() {
uint16_t AnalogValue = 0;
AnalogValue = analogRead(0);
AnalogValue &= 0x03FF;
AnalogValue = 0x03FF - AnalogValue;
// Angle value (0 ~ 1023) is stored in AnalogValue
}
void loop() {
}
- 2Dデータ(DXF):AS5600_BreakoutBoard_V1_0_dxf.zip
- 3Dデータ(STEP):AS5600_BreakoutBoard_V1_0_step.zip
MIT License