当前位置: 首页 > news >正文

【单片机】ESP32-S3+多TMC2209控制步进电机系列1 UART通信及无传感回零 硬件部分

目录

  • 1. 硬件选型
    • 1.1 esp32硬件型号
    • 1.2 TMC2209 硬件型号
  • 2 原理接线图
    • 2.1 esp32接线
    • 2.2 TMC2209接线
      • 2.2.1 单向通讯 不配置地址
      • 2.2.2 单向通讯 配置地址
      • 2.2.3 双向通讯 单UART 【本文采用】
      • 2.2.4 双向通讯 多UART
  • 3. 成品效果

1. 硬件选型

1.1 esp32硬件型号

采用的是微雪ESP32-S3-DEV-KIT-R16N8
在这里插入图片描述

1.2 TMC2209 硬件型号

TMC2209 使用的是FLY家的版本;很多TMC2209的板子默认是不支持无传感归零的,或者需要手动焊接改板。FLY这家不用,直接通过板子背面的拨动开关开启Diag诊断引脚。
在这里插入图片描述

2 原理接线图

2.1 esp32接线

需要注意的是,ESP32有一些特殊引脚。例如GPIO 34-39:这些管脚被定义为仅输入的引脚(GPIs),它们没有内部上拉或下拉电阻,不能用作输出,因此只能作为输入使用。所以给驱动器使能的引脚应选择可以作为输出的引脚。
在这里插入图片描述

2.2 TMC2209接线

在对多个TMC2209进行UART通讯时,有多种接线方式。大致可分为单向通讯和双向通讯。

2.2.1 单向通讯 不配置地址

单向通讯时,ESP32只向TMC2209发送信息,但不接收来自TMC2209的信息。当不对TMC2209进行地址配置时,所有TMC2209使用同一个配置参数。

在这里插入图片描述

2.2.2 单向通讯 配置地址

当对不同TMC2209进行不同的参数设置时,需要对每个TMC2209进行地址配置。通过设置TMC2209上MS1 MS2引脚的电位来进行地址分配。
MS1 MS2 为0 0 ,地址0
MS1 MS2 为0 1 ,地址1
MS1 MS2 为1 0 ,地址2
MS1 MS2 为1 1 ,地址3
通过一个UART串口最多能够设置4个不同的TMC2209芯片。
在这里插入图片描述

2.2.3 双向通讯 单UART 【本文采用】

双向通讯就需要配置不同TMC2209的地址了。本教程就采用这种方法。
在这里插入图片描述
具体接线如下:
通过使用跳帽来对MS1 MS2的电位进行设置。因为本人需要控制5V和12V的步进电机,所以也采用了跳帽对驱动电压进行选择。
在这里插入图片描述

2.2.4 双向通讯 多UART

当你需要对很多个TMC2209进行设置时,可以采用多个串口进行设置。
在这里插入图片描述
下一篇将介绍在Arduino环境中的具体配置。

3. 成品效果

在这里插入图片描述

http://www.lryc.cn/news/498256.html

相关文章:

  • Django之ORM
  • html css 图片背景透明
  • 使用ALB实现gRPC协议的负载均衡
  • 解决IDEA的easycode插件生成的mapper.xml文件字段之间逗号丢失
  • 【Linux测试题】
  • python使用openpyxl处理excel
  • 【JavaWeb后端学习笔记】Mybatis基础操作以及动态SQL(增、删、改、查)
  • 基于MATLAB野外观测站生态气象数据处理分析实践应用
  • IP 地理位置定位技术原理概述
  • C语言(分支结构)
  • 批量将不同的工作簿合并到同一个Excel文件
  • 详解AI网关助力配电房实现智能化管控应用
  • 2025美赛数学建模常用数据库网站大全
  • Wordpress设置固定链接形式后出现404错误
  • 我最近在干什么【1】
  • [Vue3]computed原理
  • Vue工程化开发中各文件的作用
  • 【c++笔试强训】(第三十一篇)
  • Go 1.19.4 HTTP编程-Day 20
  • MySQL 8.0 的主主复制(双向复制)
  • 四、自然语言处理_03LSTM与GRU
  • 磁盘系列基础知识(一):硬盘;IDE;ATA;SATA;AHCI;SCSI;SAS
  • taro小程序进入腾讯验证码
  • 原子类相关
  • RabbitMQ 客户端 连接、发送、接收处理消息
  • Java Web 3 Axios Vue组件库
  • 双目相机的标定,视差图,深度图,点云生成思路与实现。
  • 【H2O2|全栈】MySQL的基本操作(三)
  • 2、C++命名空间
  • Elemenu-UI时间日期单个组件,限制当前日期之后的时间