AS5600 磁编码器的调试经验

  • 1. 硬件
  • 2. GPIO功能清单
  • 3.软件寄存器
  • 4.软件代码

1. 硬件

购买了淘宝上的磁编码器如图所示

原理图大概如图

2. GPIO功能清单

只对使用到的GPIO做说明

  1. 电源GND和VCC 接3.3或者5V的电压,板子上将两个连在了一起。可以同时兼容两个电压
  2. SCL和SDA 两个IIC通讯接口,通过IIC访问地址,器件读地址 0x6D

3.软件寄存器

使用IIC读取了器件的两个寄存器地址,读取的是原始数据。0E,0F大概是处理过的数据?详情可以查看寄存器。

int _raw_ang_hi = 0x0c;
int _raw_ang_lo = 0x0d;

下图是寄存器的清单

4.软件代码

基础逻辑如下图所示
发送写指令:0x6c
发送读的起始地址:0x0C
发送读指令:0x6D
接收数据:0x06 ,0xD4

控制芯片使用的是恒烁的CX32L003
官方资料连接:http://zbitsemi.com/display.php?id=44

int main(void)
{//  HAL_StatusTypeDef  ret = HAL_ERROR;/* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();     /* Configure the system clock to HIRC 24MHz*/SystemClock_Config();__HAL_RCC_GPIOA_CLK_ENABLE();__HAL_RCC_GPIOB_CLK_ENABLE();__HAL_RCC_GPIOC_CLK_ENABLE();__HAL_RCC_GPIOD_CLK_ENABLE();/* Initialize BSP Led for LED1 */ BSP_LED_Init(LED1);/* Configure uart1 for printf */ LogInit();//PD5 PD6printf("Printf success using UART1, PD5-TXD, PD6-RXD\r\n");I2CClock_Config();I2C_Init(); //PB4 PB5// 给从机初始化写入操作寄存器+数据
//  HAL_I2C_Master_Transmit(&i2c_test, 0x55, pS1_Data, 3);
//  HAL_Delay(100);while (1){// 给从机初始化写入操作寄存器+数据
//      HAL_I2C_Master_Transmit(&i2c_test, EEPROM_DEVICE_ADDRESS, pS1_Data, 3);
//      HAL_Delay(10);uint8_t pR2_Data[] = {0X00, 0X00};preg1_Data[0] = 0x0C;//读取开始地址//读取的IIC库函数HAL_I2C_Master_Receive(&i2c_test, _ams5600_Address, preg1_Data,1, pR2_Data, 2);//12位的数据处理成 角度数据jiaodu = pR2_Data[0] << 8;jiaodu = jiaodu | pR2_Data[1];jiaodu = jiaodu * 0.08789;//串口输出printf("jiaodu = %u \r\n",jiaodu);BSP_LED_Toggle(LED1);HAL_Delay(100);}
}

AS5600 磁编码器的调试经验相关推荐

  1. AS5600 磁编码器的使用教程,“划时代”的设计真的好用吗?

    前言 如果说我们要判断一个旋钮的位置,或者是判断一个电机转了多少圈,这个电机当前的角度是什么,那么我们就会需要使用到编码器. 传统的光栅方式的编码器多是增量式,输出数字编码数值,它有两个输出 连接的处 ...

  2. AS5600 磁编码器使用心得及总结

    AS5600 磁编码器使用心得及总结 最近复现自平衡莱洛三角 使用到了AS5600这个传感器,记录一些有用的点,方便后续再次的使用 一.编码器 1.编码器 无论是旋转编码器还是线性编码器,绝对编码器或 ...

  3. AS5600磁编码器的使用以及简单的滤波算法(arduino)

    目录 前言 实践 示例一:发现IIC设备 示例二:读取AS5600原始数据 示例三:对读取到的AS5600原始数据进行低通滤波 1. 一阶滤波算法的原理 2.编程实现 前言 AS5600磁编码器常用于 ...

  4. stm32 hal库 AS5600磁编码器IIC通信读取角度

    stm32 hal库 AS5600磁编码器IIC通信读取角度 下载

  5. AS5600磁编码器开发记录

    AS5600使用简介--(程序员版) -----------------本文由"智御电子"提供,同时提供范例教程,以便电子爱好者交流学习.---------------- 前言: ...

  6. IIC读取AS5600磁编码器并计算相对角度与圈数代码移植

    芯片F103CBT6,使用cubeide+hal库,驱动部分源码移植于: (22条消息) STM32使用模拟I2C读取AS5600(深入讲解:带波形图)_yizeni的博客-CSDN博客_as5600 ...

  7. AS5600磁编码器原理图和驱动

    一. 简介 原理图如下.12位分辨率,输出为0-4096.对应为0-360°. 采用IIC进行通信,器件地址为0x6C. 寄存器如下,要获取角度数据,只需要读取0x0F和0x0E两个寄存器即可,不需要 ...

  8. TLE5012B磁编码器原理及优点,径向充磁磁铁的安装。AS5047、AS5048、AS5600、TLE5012、MA730

      磁编码器以其独特的优点,在近两年的产品应用上十分流行.它体积小巧.安装方便.分辨率高.较光电编码器成本更低.不受灰尘油渍影响.可非接触安装.便于与电机集成一体实现伺服控制.相较于光电编码器,磁编码 ...

  9. 各厂商磁编码器对比,AS5047、AS5048、AS5600、TLE5012、MA730

    新增补了一篇,详细介绍了GMR磁编码器原理.同类对比优劣.安装方式.设计注意事项,欢迎阅览:TLE5012B磁编码器原理及优点,径向充磁磁铁的安装 AMS产品: 主打产品是AS5047和AS5048. ...

最新文章

  1. python如何创建一个类_python (知识点:类)简单的创建一个类
  2. Linux多线程同步——互斥锁
  3. Andy's First Dictionary
  4. Linux mysql 登录 2002,Linux 下 Mysql error 2002 错误解决
  5. c语言字符笛卡尔积,JavaScript笛卡尔积超简单实现算法示例
  6. 设置oracle每行显示字符个数,Oracle一列的多行数据拼成一行显示字符-Oracle
  7. OpenCV实现图片素描风(调用摄像头+中值滤波+拉普拉斯边缘检测)
  8. $(obj).each 和 $.each() 区别
  9. python读取二进制文件_python中读写二进制文件
  10. 游戏封包模拟器_问道模拟器人物移动封包分析教程
  11. 计算GPS坐标的直线距离
  12. 没有文件夹则创建文件夹
  13. swiper——AutoPlay
  14. matlab icol,人脸识别-2dpca之Matlab程序
  15. 打印机修复工具_打印机常见故障排除及修复方法
  16. 王峻涛访谈录(三)6688是干什么的?
  17. 数据库——(DB、DBMS、SQL)
  18. vue3 图片懒加载
  19. 以前学习C语言资料2
  20. 根据主机名来查找ip或者根据ip来查看主机名(nbtstat)

热门文章

  1. Python安装教程(3.10.0版本)
  2. 暴雪曾要求网易支付 5 亿美元才能续约;暂停 GPT-5 研发呼吁引激战;Midjourney 停止免费试用|极客头条...
  3. 使用mkldnn为cpu运行网络加速
  4. 2008 iis7 php mysql_windows2008+iis7+php+mysql+phpmyadmin
  5. XML的方法–第1部分– XML不是字符串…
  6. 起名大师,支持多种取名方式,根据自己的喜好去选择
  7. DAX函数——日期和时间函数
  8. python代写学生作业_代做python程序作业、代写 tree Tpython留学生作业
  9. NLP-词向量-发展:词袋模型【onehot、tf-idf】 -> 主题模型【LSA、LDA】 -> 词向量静态表征【Word2vec、GloVe、FastText】 -> 词向量动态表征【Bert】
  10. 组播ip mac转换 c语言,组播IP地址与组播MAC地址之间的换算方法与例子