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 _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 磁编码器的调试经验相关推荐
- AS5600 磁编码器的使用教程,“划时代”的设计真的好用吗?
前言 如果说我们要判断一个旋钮的位置,或者是判断一个电机转了多少圈,这个电机当前的角度是什么,那么我们就会需要使用到编码器. 传统的光栅方式的编码器多是增量式,输出数字编码数值,它有两个输出 连接的处 ...
- AS5600 磁编码器使用心得及总结
AS5600 磁编码器使用心得及总结 最近复现自平衡莱洛三角 使用到了AS5600这个传感器,记录一些有用的点,方便后续再次的使用 一.编码器 1.编码器 无论是旋转编码器还是线性编码器,绝对编码器或 ...
- AS5600磁编码器的使用以及简单的滤波算法(arduino)
目录 前言 实践 示例一:发现IIC设备 示例二:读取AS5600原始数据 示例三:对读取到的AS5600原始数据进行低通滤波 1. 一阶滤波算法的原理 2.编程实现 前言 AS5600磁编码器常用于 ...
- stm32 hal库 AS5600磁编码器IIC通信读取角度
stm32 hal库 AS5600磁编码器IIC通信读取角度 下载
- AS5600磁编码器开发记录
AS5600使用简介--(程序员版) -----------------本文由"智御电子"提供,同时提供范例教程,以便电子爱好者交流学习.---------------- 前言: ...
- IIC读取AS5600磁编码器并计算相对角度与圈数代码移植
芯片F103CBT6,使用cubeide+hal库,驱动部分源码移植于: (22条消息) STM32使用模拟I2C读取AS5600(深入讲解:带波形图)_yizeni的博客-CSDN博客_as5600 ...
- AS5600磁编码器原理图和驱动
一. 简介 原理图如下.12位分辨率,输出为0-4096.对应为0-360°. 采用IIC进行通信,器件地址为0x6C. 寄存器如下,要获取角度数据,只需要读取0x0F和0x0E两个寄存器即可,不需要 ...
- TLE5012B磁编码器原理及优点,径向充磁磁铁的安装。AS5047、AS5048、AS5600、TLE5012、MA730
磁编码器以其独特的优点,在近两年的产品应用上十分流行.它体积小巧.安装方便.分辨率高.较光电编码器成本更低.不受灰尘油渍影响.可非接触安装.便于与电机集成一体实现伺服控制.相较于光电编码器,磁编码 ...
- 各厂商磁编码器对比,AS5047、AS5048、AS5600、TLE5012、MA730
新增补了一篇,详细介绍了GMR磁编码器原理.同类对比优劣.安装方式.设计注意事项,欢迎阅览:TLE5012B磁编码器原理及优点,径向充磁磁铁的安装 AMS产品: 主打产品是AS5047和AS5048. ...
最新文章
- python如何创建一个类_python (知识点:类)简单的创建一个类
- Linux多线程同步——互斥锁
- Andy's First Dictionary
- Linux mysql 登录 2002,Linux 下 Mysql error 2002 错误解决
- c语言字符笛卡尔积,JavaScript笛卡尔积超简单实现算法示例
- 设置oracle每行显示字符个数,Oracle一列的多行数据拼成一行显示字符-Oracle
- OpenCV实现图片素描风(调用摄像头+中值滤波+拉普拉斯边缘检测)
- $(obj).each 和 $.each() 区别
- python读取二进制文件_python中读写二进制文件
- 游戏封包模拟器_问道模拟器人物移动封包分析教程
- 计算GPS坐标的直线距离
- 没有文件夹则创建文件夹
- swiper——AutoPlay
- matlab icol,人脸识别-2dpca之Matlab程序
- 打印机修复工具_打印机常见故障排除及修复方法
- 王峻涛访谈录(三)6688是干什么的?
- 数据库——(DB、DBMS、SQL)
- vue3 图片懒加载
- 以前学习C语言资料2
- 根据主机名来查找ip或者根据ip来查看主机名(nbtstat)
热门文章
- Python安装教程(3.10.0版本)
- 暴雪曾要求网易支付 5 亿美元才能续约;暂停 GPT-5 研发呼吁引激战;Midjourney 停止免费试用|极客头条...
- 使用mkldnn为cpu运行网络加速
- 2008 iis7 php mysql_windows2008+iis7+php+mysql+phpmyadmin
- XML的方法–第1部分– XML不是字符串…
- 起名大师,支持多种取名方式,根据自己的喜好去选择
- DAX函数——日期和时间函数
- python代写学生作业_代做python程序作业、代写 tree Tpython留学生作业
- NLP-词向量-发展:词袋模型【onehot、tf-idf】 -> 主题模型【LSA、LDA】 -> 词向量静态表征【Word2vec、GloVe、FastText】 -> 词向量动态表征【Bert】
- 组播ip mac转换 c语言,组播IP地址与组播MAC地址之间的换算方法与例子