SimpleFOC(三)—— AS5600角度读取

SimpleFOC的教程比较多,做了一个总的链接,欢迎点击阅读:SimpleFOC教程链接汇总

一、硬件介绍

1、磁编码器说明

  ◆AS5600与两极磁铁配对,可以输出12位分辨率的磁性旋转位置,支持IIC通信,还可以输出模拟电压和PWM信号。官方例程中主要演示了模拟电压和IIC通信两种角度获取方式。
在这里插入图片描述
   电机购买链接:淘宝购买

  ◆模拟电压模式,Aout引脚输出0—5V对应0°—360°,
在这里插入图片描述
  ◆I2C模式,读取0x0C/0x0D两个寄存器,获取12bits的角度值,0—4096对应0°—360°,
在这里插入图片描述

2、硬件连接

  ◆simpleFOC背面跳线如果用模拟信号,需按下图短接,保证A1的信号可以被单片机采样到;如果是I2C接口可以不用管。
在这里插入图片描述

   V2.0.3驱动板购买链接:淘宝购买
  

二、程序演示

1、模拟电压获取角度

  ⑴、编码器接GND/VCC/Aout对应simpleFOC的GND/5V/A1
在这里插入图片描述
  ⑵、电机编码器与simpleFOC的连接,本节实验并不驱动电机,可以不接电机相线和电源线。
在这里插入图片描述

  ⑶、打开例程,
在这里插入图片描述
  ⑷、查看 工具—>端口 确认连接端口正确,然后 上传,
在这里插入图片描述

  ⑸、打开 串口监视器,
在这里插入图片描述
  ⑹、串口源源不断的上传当前角度和瞬时转动速度,即使电机不动速度也会波动,说明有误差。
在这里插入图片描述
  ⑺、用手转动电机,角度和速度随之变化。角度和速度为弧度值,正转一圈角度增加6.28,反转一圈角度减小6.28。
  

2、I2C通信获取角度

  ⑴、编码器接GND/VCC/SCL/SDA对应simpleFOC的GND/5V/SCL/SDA,
在这里插入图片描述
  ⑵、电机编码器与simpleFOC的连接,本节实验并不驱动电机,可以不接电机相线和电源线,
在这里插入图片描述

  ⑶、打开例程,
在这里插入图片描述
  ⑷、查看 工具—>端口 确认连接端口正确,然后 上传,
在这里插入图片描述
  ⑸、打开 串口监视器,
在这里插入图片描述
  ⑹、串口源源不断的上传当前角度和瞬时转动速度,
在这里插入图片描述
  ⑺、用手转动电机,角度和速度随之变化。角度和速度为弧度值,正转一圈角度增加6.28,反转一圈角度减小6.28。
  

三、程序拓展

  ◆SimpleFOC的例程采用弧度制并且用角度累加方式显示角度,与我们平时的习惯不符,非常不直观,本人写了一个可以直接读出角度并显示的程序,加深对磁编码器的理解:

#include "Wire.h"

int _raw_ang_hi = 0x0c;
int _raw_ang_lo = 0x0d;
int _ams5600_Address = 0x36;
int ledtime = 0;

void setup() {
  pinMode(13,OUTPUT);
  Serial.begin(115200);
  Wire.begin();

  Serial.println("AS5600 Ready!");
  delay(1000);
}

void loop() {
  Serial.println(getRawAngle()*0.08789);
  LedBlink();
  delay(10);
}

void LedBlink()
{
  ledtime++;
  if(ledtime<=50){       //间隔500ms闪烁
    digitalWrite(13,HIGH);
    }
  else {
    digitalWrite(13,LOW);
    if(ledtime>=100)ledtime=0;
    }
}

word getRawAngle()
{
  return readTwoBytes(_raw_ang_hi, _raw_ang_lo);
}
 
word readTwoBytes(int in_adr_hi, int in_adr_lo)
{
  word retVal = -1;
 
  /* Read Low Byte */
  Wire.beginTransmission(_ams5600_Address);
  Wire.write(in_adr_lo);
  Wire.endTransmission();
  Wire.requestFrom(_ams5600_Address, 1);
  while(Wire.available() == 0);
  int low = Wire.read();
 
  /* Read High Byte */  
  Wire.beginTransmission(_ams5600_Address);
  Wire.write(in_adr_hi);
  Wire.endTransmission();
  Wire.requestFrom(_ams5600_Address, 1);
  while(Wire.available() == 0);
  int high = Wire.read();
  
  retVal = (high << 8) | low;
  
  return retVal;
}

  ◆程序采用I2C接口与AS5600连接,读取原始角度,转换为0°—360°后显示,简单直观。
  ◆新建一个Arduino工程,将以上代码复制到工程中,验证无误后上传,
在这里插入图片描述
  ◆打开串口监视器,转动电机,可以看到角度在0°—360°之间变化。
在这里插入图片描述


(完)

欢迎加入simpleFOC技术交流群:923734429 群已满根据提示添加新群 (入群申请写:优快云)

请继续阅读相关文章:
SimpleFOC(一)—— 简介(附有文件下载链接)
SimpleFOC(二)—— 快速入门 (开环控制)
SimpleFOC(四)—— 闭环控制
SimpleFOC(五)—— 双电机控制
SimpleFOC(六)—— PowerShield和AS5047P
SimpleFOC(七)——STM32(Bluepill)的应用
SimpleFOC(八)—— 理论+实践 深度分析SVPWM
SimpleFOC(九)—— 霍尔电机控制

### 回答1: AS5600磁编码器是一种常用于角度测量的传感器。它可以测量360度范围内的角度,并输出相应的数字信号。以下是对AS5600磁编码器中文手册的回答。 AS5600磁编码器中文手册提供了关于该传感器的详细信息和使用指南。手册的内容主要包括以下几个方面: 1. 产品介绍:手册首先介绍了AS5600磁编码器的特点和应用领域。它强调了该传感器的高精度、低功耗和简单的安装方式等优点。 2. 技术规格:手册详细列出了AS5600磁编码器的技术规格,包括工作电压、测量范围、角度分辨率、输出接口等。这些规格信息可以帮助用户了解和选择适合自己需求的编码器。 3. 连接与安装:手册提供了AS5600磁编码器的连接方式和安装指南。它介绍了传感器与其他硬件设备(如Arduino、STM32等)的连接方法,并给出了一些示意图和实例。 4. 参数设置:手册详细介绍了AS5600磁编码器的参数设置方法。用户可以通过设置不同的参数实现对编码器的不同功能调整,如角度偏移校准、输出范围选择等。 5. 常见问题与故障排除:手册列出了一些用户在使用AS5600磁编码器时可能遇到的常见问题,并给出了解决方法。这些问题包括传感器输出异常、信号干扰等。 总之,AS5600磁编码器中文手册提供了对该传感器的全面介绍和使用指南,帮助用户了解和正确使用该编码器。它是理解AS5600磁编码器技术和解决相关问题的重要参考资料。 ### 回答2: AS5600是一种磁编码器,它提供了许多有用的功能和特性,适用于各种应用。在AS5600磁编码器中文手册中,我们将找到详细的说明和指导,以帮助我们更好地理解和使用它。 首先,手册将介绍AS5600的基本工作原理和磁场感应技术。它将解释如何正确地安装和连接磁编码器,以确保准确的测量和传输数据。 手册中还将介绍如何设置和配置AS5600,以满足特定应用需求。这包括调整解析度、选择不同的输出接口和通信协议。此外,手册还将提供有关如何使用其内置的自动校准功能和低功耗模式的详细说明。 在手册的详细规格部分,我们将获得有关AS5600的技术参数和性能特征的详细信息。这些包括测量范围、精度、分辨率、最大速度和供电电压要求等。这些技术数据对于工程师在设计和应用中起到至关重要的作用。 此外,手册还提供针对常见问题和故障排除的解决方案。这些指导将帮助用户快速识别和解决可能出现的问题,确保设备的正常运行。 总之,在AS5600磁编码器中文手册中,我们将找到关于安装、配置、规格和故障排除等方面的详细指导。这将使用户更加容易理解和使用这款磁编码器,以便在各种应用中取得更好的效果。 ### 回答3: as5600磁编码器是一种具有磁性传感器的编码器,用于检测旋转运动。它采用非接触式的测量原理,能够实时准确地测量转动物体的角度,并将其转换为数字输出信号。 as5600中文手册包含了该编码器的详细技术参数和使用说明,旨在帮助用户更好地理解和使用该产品。手册内容主要包括以下几个方面: 1. 产品概述:手册首先介绍了as5600磁编码器的特点和应用领域,以及产品的外观和结构。 2. 技术参数:手册详细列出了as5600的主要技术指标,包括分辨率、精度、工作电压、温度范围等,并提供了典型应用方案和电气连接图。 3. 功能介绍:手册进一步介绍了as5600的各项功能,包括零点校准、过零检测、PWM输出等。针对不同的应用需求,手册详细说明了如何设置和调试这些功能。 4. 使用说明:手册提供了as5600的安装和使用指南,包括安装位置、连接方式和注意事项等。此外,手册还介绍了常见问题的解决方法和维护保养建议。 5. 应用实例:手册最后给出了一些实际应用案例,展示as5600在不同领域的应用效果和使用范例。这些案例可以帮助用户更好地了解产品的实际应用情况和使用方法。 总之,as5600磁编码器中文手册通过详细的技术说明和实用的应用示例,为用户提供了一份全面的使用指南。该手册的详尽内容和清晰的表达将有助于用户更好地了解和操作as5600磁编码器
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值