当前位置:网站首页>TLE5012b+STM32F103C8T6(bluepill)读取角度数据
TLE5012b+STM32F103C8T6(bluepill)读取角度数据
2022-07-29 05:23:00 【BobBobBao】
1. 背景
在调试simpleFOC程序时,需要用到磁编码器,TLE5012B磁编码器价格较低,满足项目要求。TLE5012B有两种通信方式:SPI和ABI接口模式。总结一下使用TLE5012B过程中的一些问题
2. 硬件连接
MCU采用:STM32F103C8T6(bluepill)最小系统板。
传感器是网上购买的TLE5012B模块+径向磁铁。
BLDC电机:X2212-13 KV:980
USB转串口:CH340模块
2.1 SPI接线方式
由于TLE5012B采用的是SSC三线通信方式,可以兼容SPI的四线通信方式,所以使用时需要做一点调整,即MISO、MOSI同时接到DATA(4)引脚。需要在程序中控制MOSI读写使能来控制读写,而不是SPI的全双工模式。

具体连线方式:
PIN1(VDD)—> 3.3V
PIN2(GND)—> GND
PIN3(IFA)—> ×
PIN4(IFB)—> ×
PIN5(IFC)—> ×
PIN6(R2-CSQ)—> PA4
PIN7(R1-SCK)—> PA5
PIN8(R3-DATA)—> PA6
芯片pin4或者电阻R3另外一段引出线 —> PA7
另外一种可行接线方式
PIN1(VDD)—> 3.3V
PIN2(GND)—> GND
PIN3(IFA)—> ×
PIN4(IFB)—> ×
PIN5(IFC)—> ×
PIN6(R2-CSQ)—> PA4
PIN7(R1-SCK)—> PA5
芯片pin4或者电阻R3另外一段引出线 —> PA6/PA7短接
(测试过PIN8(R3-DATA)—> PA6/PA7短接,数据不对)
2.1.2 嵌入式程序
直接用SimpleFOC移植STM32(三)—— 角度读取里面提供的程序:STM32ReadTLE5012B_spi1。也可以直接到这个博主提供的网盘下载:
链接:https://pan.baidu.com/s/1ueR9a9_uL-Zce_CKTwhawQ
提取码:9qls
2.1.3 测试结果
用串口调试助手查看数据,转动电机,可以看到数据在不断变化,转一周数据变化360°,绝对位置方式,0°过了直接是360°
示波器测量PA4,5,6,7,可以看到间隔一段时间采集一次数据,由于示波器最小只能调到2ns,无法直接捕捉到SPI波形。
2.2 ABI接线方式
STM32F103系列MCU的定时器提供了独立的Encoder模式,除了两个基础定时器(TIM6/7)没有这个功能,其它的高级定时器(TIM1/8),基础定时器(TIM2/3/4/5)都有这个功能,这里用TIM4的Encoder功能,引脚使用:PB6(TIM4_1),PB7(TIM4_2)
可以在STM32的数据手册中看到定时器框图中:1-时钟源;2-控制器;3-时基单元;4-输入捕获。其中2-控制器部分包括触发控制器、从模式控制器以及我们这里用到的编码器接口。编码器接口是把输入通道TIMx-CH1/TIMx-CH2输入的信号,经过“输入滤波器和边沿检测器”后(TI1FP1/TI2FP2),把脉冲信号传递给控制器的“编码器接口”。具体可以参考:STM32之通用定时器编码器模式
具体连线方式:
PIN1(VDD)—> 3.3V
PIN2(GND)—> GND
PIN3(IFA)—> PB6/TIM4_1
PIN4(IFB)—> PB7/TIM4_2
PIN5(IFC)—> PB5/中断模式
PIN6(R2-CSQ)—> ×
PIN7(R1-SCK)—> ×
PIN8(R3-DATA)—> ×
2.2.2 ABI嵌入式程序
直接用SimpleFOC移植STM32(三)—— 角度读取里面提供的程序:STM32ReadTLE5012B_ABZ。也可以直接到这个博主提供的网盘下载:
链接:https://pan.baidu.com/s/1ueR9a9_uL-Zce_CKTwhawQ
提取码:9qls
2.2.3 ABI测试结果
电机旋转一圈,I发出一个脉冲,MCU捕获I信号后进入中断,把当前的脉冲计数发送出来。这只是最简程序。读取了脉冲计数值,就可以知道转过的角度值了。再配合其它TIM计时,计算固定时间内的角度值,或者固定角度内的时间,就可以计算速度了。
嵌入式程序
- SimpleFOC移植STM32(三)—— 角度读取中的程序是最简代码程序,对于理解硬件和程序,测试硬件问题很有帮助
- STM32F103RCTx-TLE5012B-Magnetic-Angle-Sensor
,这个github仓库是把官方提供的Arduino库移植到了STM32下,写的比较规范,函数也很多,可以直接调用。 - ODrive踩坑(二)3508电机和TLE5012B磁编码器参数配置、校准、位置闭环模式转动电机(TLE5012B-E1000)
- ODrive实例 #1 电机配置实例(4250-520KV + TLE5012B-E1000)
边栏推荐
- Pytorch's data reading mechanism
- 华为云14天鸿蒙设备开发-Day2编译框架
- NRF52832-QFAA 蓝牙无线芯片
- 迁移学习笔记——Adapting Component Analysis
- QT学习笔记-Excel的导入导出
- Hal library learning notes-12 SPI
- NFC双向通讯13.56MHZ非接触式阅读器芯片--Si512替代PN512
- CNOOC, desktop cloud & network disk storage system application case
- 京微齐力:基于HMEP060的OLED字符显示(及FUXI工程建立演示)
- 倾角传感器用于通信铁塔、高压电塔长期监测
猜你喜欢

逻辑回归-项目实战-信用卡检测任务(下)

Migration learning - geodesic flow kernel for unsupervised domain adaptation

"Full flash measurement" database acceleration solution

Am model in NLP field

1、 Focal loss theory and code implementation

Low rank transfer subspace learning

HAL学习笔记 - 7 定时器之基本定时器

噪音监测传感系统

HAL库学习笔记-11 I2C

CV520国产替代Ci521 13.56MHz 非接触式读写器芯片
随机推荐
HAL库学习笔记-13 I2C和SPI的应用
基于51单片机的四路抢答器仿真
预训练语言模型的使用方法
Power Bi report server custom authentication
二、多并发实现接口压力测试
ML11-SKlearn实现支持向量机
扬尘噪声监控系统
华为云14天鸿蒙设备开发-Day2编译框架
2、 How to save the images of train and test in MNIST dataset?
Torch. NN. Parameter() function understanding
Wechat built-in browser prohibits caching
基于msp430f2491的proteus仿真(实现流水灯)
Error in installing pyspider under Windows: Please specify --curl dir=/path/to/build/libcurl solution
噪声传感器工作原理是什么?
Torch. NN. Embedding() details
Model building in pytorch
新能源共享充电桩管理运营平台
Typical cases of xdfs & China Daily Online Collaborative Editing Platform
迁移学习笔记——Adapting Component Analysis
兼容cc1101/cmt2300-DP4301 SUB-1G 无线收发芯片