SimpleFOC(三)—— AS5600角度读取

AS5600磁编码器原理图和驱动 原理图如下。 阅读详情
AI摘要

本文围绕SimpleFOC和AS5600磁编码器展开。介绍了AS5600磁编码器可输出12位分辨率磁性旋转位置,支持IIC通信、模拟电压和PWM信号。阐述了模拟电压和I2C通信两种获取角度的方式及硬件连接、程序演示步骤,还给出了可直接读出角度的拓展程序。

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(九)—— 霍尔电机控制

【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植AS5600 软件IIC 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植 一、编码器选择 二、通讯方式 I²C接口 软件iic 三、TC264测试全部程序 3-1初始化定义 3-2初始化函数 3-3 as5600原始数据读取 3-5角度解算 速度解算,速度滤波,软件iic代码,磁铁选型 阅读详情

相关推荐

simpleFOC控制无刷电机理论及实践

1.

qqliuzhitong的博客 1万+

FOC系列(三)----AS5600磁编码器

AS5600数据手册,在这里只是对一下重要的地方进行说明。系统框图如下:电源设计选项,我在设计时选择的是第二种电源方案,但是采用此方案,一定要将VDD5V和VDD3V3接在一起。下图是引脚的说明,AS5600可以将测得的角度信息通过IIC或者OUT口读取:后续会有对PGO口和OUT口的介绍。

我的博客 1万+

STM32读取AS5600磁编码器(M创动工坊)

使用STM32,借用SimpleFOC库,读取AS5600磁编码器,基于PlatformIO,由M创动工坊提供。

macolin的专栏 1365

AS5600中文芯片数据手册(中文翻译)

最近在做AS5600,故翻译了一下官方文档。能力有限,仅供参考。

cv运动员的博客 1万+

【花雕学编程】Arduino FOC 之带有角度校准的AS5600角度读取

Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。在Arduino平台上实现FOC可以提供平滑的运行和高度的扭矩、速度和位置控制,它通过精确控制电机的电流和电压来实现高效率、高精度和低噪声的操作。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。5、机器人:工业机器人、服务机器人、仿生机器人等对电机控制性能有严格要求的领域,Arduino FOC是一个不错的选择。

雕爷学编程 1327

【花雕学编程】Arduino FOC 之简单的AS5600角度读取

您还要正确连接硬件,了解所用传感器和设备的规范和特性。在Arduino平台上实现FOC可以提供平滑的运行和高度的扭矩、速度和位置控制,它通过精确控制电机的电流和电压来实现高效率、高精度和低噪声的操作。电子设备角度检测:在一些电子设备中,如手势识别、倾斜检测等应用,AS5600角度传感器能够提供精确的角度数据,SimpleFOC库的API能够满足这些应用的需求。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。

雕爷学编程 1079

AS5600 磁编码器的调试经验

AS5600 磁编码器的调试经验1. 硬件2. GPIO功能清单3.软件寄存器4.软件代码 1. 硬件 购买了淘宝上的磁编码器如图所示 原理图大概如图 2. GPIO功能清单 只对使用到的GPIO做说明 电源GND和VCC 接3.3或者5V的电压,板子上将两个连在了一起。可以同时兼容两个电压 SCL和SDA 两个IIC通讯接口,通过IIC访问地址,器件读地址 0x6D 3.软件寄存器 使用IIC读取了器件的两个寄存器地址,读取的是原始数据。0E,0F大概是处理过的数据?详情可以查看寄存器。 int

伪NChris的博客 9014

【花雕学编程】Arduino FOC 之读取AS5600角度传感器的绝对角度

在Arduino平台上实现FOC可以提供平滑的运行和高度的扭矩、速度和位置控制,它通过精确控制电机的电流和电压来实现高效率、高精度和低噪声的操作。通过读取AS5600传感器的绝对角度,可以实现精确的角度控制和位置反馈。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。1、高性能电机控制:FOC是一种高级的电机控制算法,可以精准控制PMSM(永磁同步电机)和BLDC(无刷直流)电机,实现平滑的转速和扭矩输出。

雕爷学编程 1093

SimpleFOC移植STM32(三)—— 角度读取 (AS5600、AS5047P、TLE5012B、MA730、MT6701、ABZ)

目录说明一、硬件介绍1.1、硬件准备1.1.1、SimpleMotor方案   说明   本节比较简单,主要是演示I2C接口和SPI接口读取编码器角度。为增加大家对编码器的理解,本节后半部提供四种常用编码器的操作说明,并提供源代码。 一、硬件介绍   本节实验适合运行在SimpleMotor和STM32最小系统板上(Bluepill)。 1.1、硬件准备 1.1.1、SimpleMotor方案 序号 名称 数量 1 驱动器 1 2 带编码器云台电机 2 3 12V电源 1 4 U

loop222的博客 3万+

磁编码器AS5600中文版

用高分辨率 12 位模拟或 PWM 输出的传感器。此非接触式系统测量径向磁化轴上磁铁的绝对角度。 这 AS5600 是为设计的。 非接触式电位器应用程序和其强大的设计消除了任何均匀的外部杂散磁场的影响

AS5600中文参考数据手册

为了满足电位计制造商和用户的需求,AS5600 具有比例输出的特点,能够映对输出角度的电位计(可变电阻器)。这意味着用户采用基于AS5600 的设计代替电位计时,将无需再更改运行在单片机上的应用程序代码。AS5600 提供360 度全方位的12 位精确分辨率,能够测量任何正在使用电位计的应用的角位移,包括旋转旋钮和刻度盘。

SimpleFOC STM32教程02|基于STM32F103+HAL库,通过AS5600编码器读取电机的角度

上一章节完成common代码的移植,下一步是完成位置编码器的角度读取。如上所示,通过方法可以获取电机的当前角度信息。如上所示,通过AS5600编码器获取云台电机的位置角度信息。如上所示,使用FOC开发板跟云台电机的编码器AS5600的接线。最终的效果如上。项目源码:https://github.com/q164129345/MCU_Develop/tree/main/simplefoc02_stm32f103。

wallace89的博客 3488

AS5600中文数据手册

来自AMS新出品的AS5600,高精度非接触磁性电位计,文档所有内容均为本人独自翻译,英语水平欠佳,可以会有翻译出现偏差的地方,但是对于通过iic进行操作本芯片,本人已经能通过本翻译档进行成功操作,如有错误,欢迎各位指正谢谢! 声明:本datasheet翻译版已发送给ams咨询版权问题,如果ams回复到有侵权问题,本人将立即下架处理!

SimpleFOC、ODrive和VESC 教程链接汇总

一、SimpleFOC系列教程 SimpleFOC(一)—— 简介(附有文件下载链接) SimpleFOC(二)—— 快速入门 (开环控制) SimpleFOC(三)—— AS5600角度读取 SimpleFOC(四)—— 闭环控制 SimpleFOC(五)—— 双电机控制 SimpleFOC(六)—— PowerShield和AS5047P SimpleFOC(七)——STM32(Bluepill)的应用 SimpleFOC(八)—— 理论+实践 深度分析SVPWM SimpleFOC(九)——

loop222的博客 12万+

AS5600磁编中文+英文手册(含stm32+Arduino源码)

AS5600磁编中文+英文手册(含stm32+Arduino源码)

AS5600磁编码器手册.pdf

AS5600磁编码器手册.pdf

AS5600-中文译本.pdf

AS5600磁编码器中文用户手册

从零到一:手把手教你用海康VisionMaster完成第一个字符识别项目(附完整流程与避坑点)

本文详细介绍了如何使用海康VisionMaster完成首个字符识别项目,涵盖从环境搭建、图像预处理到系统集成的完整流程。特别分享了Blob分析配置、字符识别优化等实战技巧,帮助开发者避开常见陷阱,快速掌握VisionMaster的基本操作,提升工业自动化场景下的字符识别效率。

weixin_29313423的博客 664
上一篇: SimpleFOC(二)—— 快速入门 (开环控制)
下一篇: SimpleFOC(四)—— 闭环控制
loop222
博客等级 码龄8年 4091粉丝 61原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值