当前位置:网站首页>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)
边栏推荐
猜你喜欢

基于51单片机ADC0808的proteus仿真

Beijing Baode & taocloud jointly build the road of information innovation

HAL库学习笔记-10 HAL库外设驱动框架概述

Dust and noise monitoring system

Discussion on the design of distributed full flash memory automatic test platform

入门到入魂:单片机如何利用TB6600高精度控制步进电机(42/57)

新能源共享充电桩管理运营平台

CNOOC, desktop cloud & network disk storage system application case

How to perform POC in depth with full flash distribution?

ML15-神经网络(1)
随机推荐
Torch. NN. Parameter() function understanding
HAL库学习笔记- 8 串口通信之使用
1、 Combine multiple txt files into one TXT file
Si12T和Si14T低功耗电容触摸芯片
噪音监测传感系统
避坑:关于两个HC-05主从一体蓝牙模块互连,连不上问题
1、 Usage of common loss function
Transformer review + understanding
DP1332E 多协议高度集成非接触式读写芯片
新能源充电桩后台管理系统平台
Reading papers on false news detection (5): a semi supervised learning method for fake news detection in social media
Reading papers on false news detection (I): fake news detection using semi supervised graph revolutionary network
"Full flash measurement" database acceleration solution
Change! Change! Change!
2、 During OCR training, txt files and picture data are converted to LMDB file format
STM32FF030 替代国产单片机——DP32G030
2022春招——上海安路FPGA岗面经(以及乐鑫SOC面试)
HAL库学习笔记-12 SPI
Migration learning - geodesic flow kernel for unsupervised domain adaptation
Model building in pytorch