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

目录

  • [1. 硬件选型](#1. 硬件选型)
    • [1.1 esp32硬件型号](#1.1 esp32硬件型号)
    • [1.2 TMC2209 硬件型号](#1.2 TMC2209 硬件型号)
  • [2 原理接线图](#2 原理接线图)
    • [2.1 esp32接线](#2.1 esp32接线)
    • [2.2 TMC2209接线](#2.2 TMC2209接线)
      • [2.2.1 单向通讯 不配置地址](#2.2.1 单向通讯 不配置地址)
      • [2.2.2 单向通讯 配置地址](#2.2.2 单向通讯 配置地址)
      • [2.2.3 双向通讯 单UART 【本文采用】](#2.2.3 双向通讯 单UART 【本文采用】)
      • [2.2.4 双向通讯 多UART](#2.2.4 双向通讯 多UART)
  • [3. 成品效果](#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. 成品效果

相关推荐
电子小白1235 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
清风6666666 小时前
基于单片机的多传感器智能云梯逃生控制器设计
单片机·嵌入式硬件·毕业设计·智能家居·课程设计
小何code6 小时前
STM32入门教程,第10课(上),OLED显示屏
stm32·单片机·嵌入式硬件
来自晴朗的明天6 小时前
高速画板-USB模块的PCB设计5-USB2.0/3.0布局布线要求
单片机·嵌入式硬件·硬件工程
早日退休!!!8 小时前
ARM Cortex-M核 【保存上下文&恢复上下文】
arm开发·单片机·嵌入式硬件
来自晴朗的明天9 小时前
差分控多少Ω阻抗
单片机·嵌入式硬件·硬件工程
点灯小铭10 小时前
基于单片机的多功能智能婴儿车设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
码农小韩13 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
匠在江湖13 小时前
裸机单片机任务调度器实现:基于规范分层(COM/APP/SRV/DRV)架构,(附 任务调度器 / 微秒延时函数 / 串口重定向 源码)
单片机·嵌入式硬件·架构
点灯小铭14 小时前
基于单片机的智能洗碗机控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计