嵌入式硬件实战基础篇(三)-四层板PCB设计-步进电机驱动(TMC2208/TMC2209)

引言:我们在嵌入式硬件杂谈(三)中有提到阻抗匹配的问题,也引入了高速PCB设计的思想,并且此篇实战基础篇主要是基础的四层板的绘制设计,后续实战会对高速板展开,本篇主要是提升读者的设计PCB板的能力,以及对于嵌入式硬件设计能力的提升,对前面的理论作为实践性导向进行强化以及学习。

本教程针对于已经初步掌握二层半绘图技巧,正打算进阶的设计者。教程深入浅出讲解了四层板设计技巧,将会从普通四层板、高速四层板几个角度来讲解。采用项目式的教学方式,通过一个个项目助你学会四层板的绘画方法,对于信号完整性、阻抗匹配也有一定教学,电源和地平面的处理才用二层半穿插讲解的方法,理解轻松愉快,是不可多得的好PCB线路板设计好课程。 本节课讲述的是PCB实战部分。

目录

阻抗匹配-引入多层板

1.信号源与接收端的阻抗

2.阻抗控制的影响因素

3.参考面与地平面

电机驱动模块基础 TMC2208/TMC2209

1.TMC2208/TMC2209 驱动模块的初识

2.芯片引脚功能

3.Layout TMC2209示例

3.1. 供电电路设计

3.2. 电机连接设计

3.3. 散热设计

3.4. 控制信号接口设计

3.5. 模式选择电路设计

3.6. 保护电路设计

3.7. 参考电阻与配置内部感测电阻

3.8. 调试与诊断设计

原理图设计

PCB四层板设计思想

PCB多层板设计思想

PCB设计

3D图预览


阻抗匹配-引入多层板

我们在嵌入式硬件杂谈(三)中有提到阻抗匹配的问题,这里就稍微带过一下。

在高速电路设计中,阻抗匹配是保证信号完整性的重要环节。随着信号速率的提高,对PCB走线的阻抗控制要求也随之提升。在传统的双层板设计中,受限于板材厚度和走线宽度,较小阻抗的走线(如USB差分对的90欧姆阻抗)通常需要非常宽的线宽,甚至可能超过30 mil。这种设计不仅增加了布线难度,也限制了板子的整体布局。为了解决这些问题,采用多层板设计成为更优的选择。

在多层板中,通过调整走线层与参考层之间的距离,以及适当控制线宽和铜厚,可以实现更灵活的阻抗匹配设计。例如,四层板及以上的结构能够为高速信号提供专用的参考层,从而有效降低干扰,稳定阻抗,满足信号完整性的要求。此外,不同的PCB厂家提供的板材参数略有不同,因此实际的阻抗计算需要结合具体厂商的生产能力和材料参数进行定制。

1.信号源与接收端的阻抗

在高速信号设计中,信号源和接收端的阻抗是预先定义好的。例如,USB差分信号的阻抗要求为90欧姆,SDIO单端信号为50欧姆。这些标准由协议规范决定,设计过程中需要确保走线的特性阻抗与之匹配,以避免反射和信号质量下降。

2.阻抗控制的影响因素

阻抗值的控制主要取决于以下参数:

  • 层数:多层板设计能提供更好的参考平面,适合高速信号。通常,高速PCB设计从四层板起步。
  • 线宽和线间距:对于差分对信号,线宽和线间距的组合对阻抗有直接影响。
  • 铜厚:不同的铜厚会影响走线的特性阻抗和传输线电感。
  • 介质材料与介电常数:PCB板材的介电常数直接影响信号的传播速度和特性阻抗。

3.参考面与地平面

阻抗匹配不仅与走线本身有关,还与其参考面密切相关。在多层板中,走线通常设计在信号层(Top或Inner层),而下方是连续的接地层或电源层。参考层的完整性对于稳定阻抗至关重要,缺失或不连续的参考面可能导致信号完整性问题,甚至引入 EMI 干扰。

电机驱动模块基础 TMC2208/TMC2209

1.TMC2208/TMC2209 驱动模块的初识

TMC2208和TMC2209是Trinamic推出的高性能步进电机驱动芯片,广泛应用于3D打印机、CNC设备和机器人等领域。它们通过先进的电流控制技术和微步插值功能,实现了步进电机的无声运行和高精度控制。以下是它们的基本特点和功能说明:

上述为数据手册的相关内容,具体可以去读读内容,总结如下:

1. 基本参数与电流能力

  • 支持 两相步进电机,最大线圈电流可达 2.8A(峰值)2A(RMS值),满足大多数中小型步进电机的驱动需求。
  • 支持 电压范围4.75V至29V DC,适合广泛的供电场景,包括电池供电设备。

2. 步进信号接口与控制

  • 提供 STEP/DIR 接口,支持8、16、32或64微步的硬件配置,适配多种应用需求。
  • 内置 MicroPlyer 技术,可将低分辨率微步信号平滑插值为256微步,实现更细腻的电机运行效果。

3. 高效与无声运行

  • 支持 无声电机运行,通过“StealthChop”隐形斩波模式,大幅降低电机噪音,适合对静音要求高的场景。
  • 配备 节能电流控制技术,通过智能调节电流,可节省高达 75% 的能耗,延长设备电池寿命。
  • 提供 负载和失速检测功能,可监控电机运行状态,避免因超负载或失速导致的损坏。

4. 高级功能与易用性

  • 内置 单线UART接口,用于高级配置和实时监控,无需额外信号线。
  • 支持 OTP(一次性可编程存储器),可将配置参数永久保存,无需重复初始化。
  • 提供 内部感测电阻器选项,简化外围电路设计,节省PCB空间。
  • 支持 被动制动、自由轮和自动断电 等功能,有效提升系统安全性和可靠性。

5. 保护与诊断功能

TMC2208/TMC2209 提供全面的保护机制,包含:

  • 过温保护
  • 过流保护
  • 短路保护
  • 欠压锁定
    通过集成诊断功能,实时监测电机和驱动模块的状态,便于系统调试和故障排查。

2.芯片引脚功能

其次就是针对于引脚功能得了解,这样才可以对PCB相关设计有优先级的思想。

3.Layout TMC2209示例

如下为数据手册的layout内容,我们对其进行参考,对后续的原理图设计做出保障。

3.1. 供电电路设计
  • 电压范围:TMC2208/TMC2209 支持 4.75V 至 29V 的工作电压,建议为 VCC 和 VM 提供稳定的直流电源。
    • VCC(逻辑供电):典型值 3.3V 或 5V,根据控制系统的逻辑电压配置。
    • VM(电机供电):根据电机要求选择电压,建议加滤波电容以稳定电源。
  • 电源滤波:在 VM 和地之间放置大容量电解电容(如 47uF~100uF)和小容量陶瓷电容(如 0.1uF)以滤除电源纹波,减小电机启动瞬间的电源干扰。
3.2. 电机连接设计
  • 电机绕组接口:将电机的 A+、A- 和 B+、B- 接口与芯片的输出端(OUT1A/OUT1B 和 OUT2A/OUT2B)正确连接,确保绕组方向一致。
  • 续流二极管:TMC2208/TMC2209 内部已集成续流二极管,无需外部额外添加。
3.3. 散热设计
  • 散热布局:芯片工作时的发热量较大,建议在芯片底部设计大面积地铜,必要时添加散热孔或散热片。
  • 电流限制:通过配置寄存器或外部电阻合理设置运行电流,避免过高电流导致过热。
3.4. 控制信号接口设计
  • STEP/DIR 信号接口
    • STEP 信号用于控制电机的步进脉冲,DIR 信号用于设置电机方向。
    • STEP 和 DIR 需要通过单独的接地电阻(如 10kΩ)下拉,确保信号稳定。
    • 设计时可添加小电容(如 100pF~1nF)滤除高频干扰。
  • UART 接口
    • 单线 UART 用于高级配置和诊断,需通过电阻(典型值 1kΩ)连接主控芯片。
    • 如果不使用 UART 功能,应通过电阻将 UART 引脚拉高或拉低,避免浮空。
3.5. 模式选择电路设计
  • 微步模式配置
    • 通过 MS1 和 MS2 引脚配置微步模式(8、16、32 或 64 微步)。
    • 未使用的配置引脚需通过电阻(如 10kΩ)拉高或拉低。
  • 隐形斩波模式(StealthChop):默认为开启状态,无需额外硬件支持。
3.6. 保护电路设计
  • 过流保护:芯片内置过流保护功能,无需额外设计,但需确保电源线路和地线宽度足够以承载电流。
  • 静态电保护:在关键信号引脚(如 STEP、DIR、UART)添加 TVS 管或保护电容,防止静电击穿。
3.7. 参考电阻与配置内部感测电阻

TMC2208/TMC2209 支持内部感测电阻,无需外接电阻,这简化了设计并节省空间。

  • 电流设置电阻:使用外部参考电阻时,应根据芯片手册计算合适阻值,确保电流设置准确。
3.8. 调试与诊断设计
  • 诊断引脚(DIAG)
    • DIAG 引脚用于监控芯片的状态(如过热、短路检测),建议连接到主控的 GPIO 引脚。
    • 可外接 LED 指示灯直观显示工作状态。
  • 测试点预留:在关键信号和电源节点预留测试点,方便后续调试与验证。

原理图设计

通过上述理论知识的补充,我们可以得出如下的原理图,易得!

PCB四层板设计思想

四层板通常采用以下典型结构:

  • 顶层(Top Layer):信号层,用于放置主要元器件和布线。
  • 内层1(Inner Layer 1):通常为接地层(GND),提供信号的参考面并降低EMI。
  • 内层2(Inner Layer 2):通常为电源层(VCC),用于提供稳定的电源分布。
  • 底层(Bottom Layer):信号层,用于布置较少的元器件或辅助布线。

这种分层结构确保了电源和接地的完整性,同时为信号提供了良好的参考平面。

由于上述我的元器件放在了底部,所以换了下位置,本质其实是一样的,都是人为规定的,是非常灵活的,

主要就是针对如下内容:

  • 信号完整性:信号层与接地层紧密耦合,减少信号的回路面积,从而降低电磁辐射。
  • 电源完整性:电源层和接地层的紧密耦合形成平面电容,有效降低电源噪声。
  • 对称性:层叠结构尽量保持对称,避免板材翘曲。
  • 阻抗匹配:确保走线的特性阻抗与系统设计相匹配,减少信号反射和干扰。

PCB多层板设计思想

多层板的层数根据设计需求决定,常见的有4层、6层、8层甚至更多。这边就举例子说明一下采用6层板,层叠结构如下:

层次功能备注
顶层信号层放置STM32主控芯片、以太网PHY、USB接口等主要元器件和布线。
内层1接地层(GND)提供信号参考面,降低辐射噪声。
内层2电源层(Power)分区3.3V和5V,供电稳定。
内层3信号层高速信号布线层(以太网、USB等差分信号)。
内层4接地层(GND)为内层信号提供回流路径。
底层信号层UART、I2C等低速信号布线及辅助元器件。

本质都是可以变化的,但是一定要注意参考地平面与信号层之间了,具体问题具体分析。

PCB设计

层叠结构如下所示:

顶层:

底层:

PWD层:

GND内电层:

3D图预览

到这里,我们的基础篇三就要到此为止了!如下为预览图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/919622.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库基础(MySQL)

1. 数据库基础 1.1 什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质: 磁盘内存 为…

【C++】踏上C++学习之旅(九):深入“类和对象“世界,掌握编程的黄金法则(四)(包含四大默认成员函数的练习以及const对象)

文章目录 前言1. 实现Date类的构造函数2. 实现Date类的拷贝构造函数3. 实现Date类的赋值运算符重载4. 实现各Date对象之间的比较接口5. 实现Date对象的加减接口6. const成员7. 取地址及const取地址操作符重载 前言 在我们前面学习到了"类和对象"的四大默认成员函数(…

如何在 Elasticsearch 中配置 SSL / TLS ?

Elasticsearch 是一种流行的开源搜索和分析引擎。它被广泛用于日志或活动数据分析,全文搜索和复杂查询。但是,没有适当的安全措施,敏感数据可能很容易受到影响拦截和未经授权的访问。在 Elasticsearch 中启用 SSL/TLS 是保护数据的关键步骤。…

python之sklearn--鸢尾花数据集之数据降维(PCA主成分分析)

python之sklearn–鸢尾花数据集之数据降维(PCA主成分分析) sklearn库:Scikit - learn(sklearn)是一个用于机器学习的开源 Python 库。它建立在 NumPy、SciPy 和 matplotlib 等其他科学计算库之上,为机器学习的常见任务提供了简单…

音视频pts/dts

现在的视频流有两个非常重要的时间戳,pts和dts,其中pts是显示的时候用,dts在解码的时候用。 pts很好理解,按照pts的顺序以及duration不间断的display就可以了。 dts在解码的时候用,那么这句话怎么理解,解…

数据集-目标检测系列- 人与猫互动 猫 检测数据集 cat in the house >> DataBall

数据集-目标检测系列- 人与猫互动 猫 检测数据集 cat in the house >> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 贵在坚持! 数据样例项目地址: * 相关项目 1&#xff…

ReactPress:基于pnpm的Mono Repository方案介绍

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。 ReactPress基于pnpm的Mono Repository方案介绍 ReactPress是一个使用React和Node.js构建的开源发布平台,它允许用户在支持React和MySQL数据库的服务器上设置自己的博客…

stm32如何接收舵机的控制信号(而不是控制舵机)

看到很多如何stm32用pwm信号控制舵机的文章,老生常谈了 我来写一个stm32接收pwm信号的例子 ,这个pwm信号是用来控制舵机的 背景: 我需要接收航模接收机的,用来控制舵机的pwm信号, 得到这个信号后,做其他事情. 初版代码 pwm.h#ifndef _pwm_H #define _pwm_H#include "s…

Spring Boot 3.x + OAuth 2.0:构建认证授权服务与资源服务器

Spring Boot 3.x OAuth 2.0:构建认证授权服务与资源服务器 前言 随着Spring Boot 3的发布,我们迎来了许多新特性和改进,其中包括对Spring Security和OAuth 2.0的更好支持。本文将详细介绍如何在Spring Boot 3.x版本中集成OAuth 2.0&#xf…

Photoshop(PS)——人像磨皮

1.新建一个文件,背景为白色,将图片素材放入文件中 2.利用CtrlJ 复制两个图层出来,选择第一个拷贝图层,选择滤镜---杂色---蒙尘与划痕 3.调整一下数值,大概能够模糊痘印痘坑,点击确定。 4.然后选择拷贝2图层…

Vue3 + Vite 项目引入 Typescript

文章目录 一、TypeScript简介二、TypeScript 开发环境搭建三、编译方式1. 自动编译单个文件2. 自动编译整个项目 四、配置文件1. compilerOptions基本选项严格模式相关选项(启用 strict 后自动包含这些)模块与导入相关选项 2. include 和 excludeinclude…

MySql 索引视图存储变量

要求 一: 学生表:Student(Sno,Sname,Ssex ,Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course(Cno,Cname) 课程号,课程名 Cno为主键 学生…

使用MaxKB搭建知识库问答系统并接入个人网站(halo)

首发地址(欢迎大家访问):使用MaxKB搭建知识库问答系统并接入个人网站 前言 从OpenAI推出ChatGPT到现在,大模型已经渗透到各行各业,大模型也逐渐趋于平民化;从最开始对其理解、生成、强大的知识积累的惊叹&…

除了电商平台,还有哪些网站适合进行数据爬取?

在数字化时代,数据的价值日益凸显,而网络爬虫技术成为获取数据的重要手段。除了电商平台,还有许多其他类型的网站适合进行数据爬取,以支持市场研究、数据分析、内容聚合等多种应用场景。本文将探讨除了电商平台外,还有…

Linux-第2集-打包压缩 zip、tar WindowsLinux互传

欢迎来到Linux第2集,这一集我会非常详细的说明如何在Linux上进行打包压缩操作,以及解压解包 还有最最重要的压缩包的网络传输 毕竟打包压缩不是目的,把文件最终传到指定位置才是目的 由于打包压缩分开讲没有意义,并且它们俩本来…

tcp 超时计时器

在 TCP(传输控制协议)中有以下四种重要的计时器: 重传计时器(Retransmission Timer) 作用:用于处理数据包丢失的情况。当发送方发送一个数据段后,就会启动重传计时器。如果在计时器超时之前没有…

go环境搭建

华子目录 下载vscode安装vscodego编译器下载go编译器安装配置go环境变量vscode安装go插件测试 下载vscode 官方:https://code.visualstudio.com/Download 安装vscode vscod安装成功 go编译器下载 官方:https://golang.google.cn/ 点击下载 go编译器安…

Minikube 上安装 Argo Workflow

文章目录 步骤 1:启动 Minikube 集群步骤 2:安装Argo Workflow步骤 3:访问UI创建流水线任务参考 前提条件: Minikube:确保你已经安装并启动了 Minikube。 kubectl:确保你已经安装并配置了 kubectl&#xff…

Stable Diffusion核心网络结构——CLIP Text Encoder

🌺系列文章推荐🌺 扩散模型系列文章正在持续的更新,更新节奏如下,先更新SD模型讲解,再更新相关的微调方法文章,敬请期待!!!(本文及其之前的文章均已更新&…

集群聊天服务器(13)redis环境安装和发布订阅命令

目录 环境安装订阅redis发布-订阅的客户端编程环境配置客户端编程 功能测试 环境安装 sudo apt-get install redis-server 先启动redis服务 /etc/init.d/redis-server start默认在6379端口上 redis是存键值对的,还可以存链表、数组等等复杂数据结构 而且数据是在…