十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

电机控制工程师的PCB技能:从看懂到画板,究竟需要掌握到什么程度?

电机控制工程师的PCB技能:从看懂到画板,究竟需要掌握到什么程度? 做电机控制硬件PCB要掌握到什么程度这个问题我在后台收到的频率实在太高了。很多人看到招聘要求里写着“熟悉FOC、PID、STM32”又从知乎看到“做电机控制离不开硬件”第一反应就是我是不是得先从 AD 画板子学起是不是要把 PCB 布局练到能去 PCB 大厂当工程师的程度才敢投简历也有另一拨人拿着开发板把 PMSM 推空转跑通了 FOC代码背得滚瓜烂熟一到面试现场被面试官指着驱动板问“你这个采样电阻为什么放这儿为什么不用差分走线死区设多少合适”当场卡壳。两个极端我都不太推荐。电机控制是一个把“算法”和“硬件”焊死了的交叉领域。你说你是偏软件的也不能完全不懂 PCB你说你是偏硬件的也不能完全不懂 FOC 在干嘛。这篇文章我想把话说得直接一点不同岗位到底需要 PCB 掌握到什么程度没画过板子的人怎么补课秋招面试里会怎么考你以及我个人的学习路线建议。后面会穿插大量实际调试中的细节尽量少讲空话。1. 先搞清楚你是往“电机控制”哪个方向投电机控制这个词本身是个大坑。岗位名称看着都叫“电机控制工程师”实际工作内容可能差出十万八千里。我习惯把这批岗位拆成三类对 PCB 的要求完全不一样。1.1 算法/仿真方向硬件主要靠沟通不是靠自己画这类岗位在公司里通常叫“电机控制算法工程师”或者“FOC 算法工程师”核心工作是用 MATLAB/Simulink 搭模型、调 PMSM 的 FOC 控制参数、做无感 FOC 的观测器设计、把模型生成成 C 代码部署到 MCU 或 DSP 里。校招进去的头一年你甚至可能接触不到一块真实的电机驱动板主要工作就是仿真、台架测试、调参、写测试文档。这个方向对 PCB 的要求说实话真的不高。但注意不是“不需要”而是“不需要自己画”。你必须能看懂原理图知道驱动板上哪个是三相桥、哪路是电流采样、哪个是母线电压采样、霍尔和编码器信号从哪个接口进来。因为在台架上出了问题你得能判断是软件参数有问题还是硬件上的滤波电容导致采样畸变了。天天抱着 Simulink 模型说“硬件跟我的模型不一致”是没有意义的你得能跟硬件工程师一起排查。1.2 嵌入式控制方向PCB 的核心技能是“读懂 敢改”这是大多数人秋招会投的方向也是我建议绝大多数读者重点扎根的方向。岗位一般叫“电机控制嵌入式工程师”或者“嵌入式软件电机驱动方向”。日常工作是用 STM32、GD32 或者 TI 的 C2000 系列写驱动代码从底层配置 PWM、ADC、正交编码器接口开始到实现六步换相、FOC、PID 闭环再到调试上位机和整机联调。这个方向对 PCB 的要求我总结成一句话看到一块驱动板你能快速理出它的功率回路和控制回路拿到原理图你能指出哪些信号是敏感信号哪些地是功率地哪些是模拟地必要的时候你敢用烙铁改板子跳几根飞线验证自己的判断。你不需要把抗干扰布线的每一条规则都背得滚瓜烂熟但你必须知道“VGS 振铃太大”“采样毛刺严重”“地弹导致过流误触发”这些现象和 PCB 布局之间的因果关系。1.3 硬件/电源方向PCB 就是你吃饭的家伙还有一种方向是硬件驱动工程师或者叫电机驱动硬件工程师。这个方向主要工作是设计功率板、选型 MOSFET/IGBT、设计栅极驱动电路、电源电路、采样电路、保护电路然后自己画 PCB自己做 EMC 测试自己改板。这个方向对 PCB 的掌握程度那就是硬性的、必须很深的。你不仅要懂布局还要懂叠层设计、散热铜皮挖空、寄生电感控制、高频回路面积控制这些高级话题。我把三类方向的差异整理成一张表方便你对照自己投的是哪种岗位岗位方向PCB 核心要求实际画板需求日常工作场景算法/仿真看懂原理图、定位故障区域几乎不画Simulink 建模、Simulink 生成代码、台架调参嵌入式控制读懂 能改 会排查硬件问题偶尔画简单驱动/转接板配置 MCU、写 FOC、调 PID、联调硬件/电源设计 布局 仿真 调试高频次画板、改板选择功率器件、设计驱动和电源、layout、EMC我见过不少学生还没确定自己适合哪类就开始疯狂刷 PCB 教程刷了两个月发现 MOSFET 的开关波形还是看不懂反而把 FOC 丢了。这个方向性问题最好尽早想清楚。但不管选哪一类“对驱动板的电路原理的理解”都是绕不开的。2. 从电路原理角度电机驱动板到底在干嘛不管你是做软件还是硬件想聊 PCB 就得先聊清楚驱动板上有哪些东西。我建议你拿出一块典型的直流无刷电机驱动板或者随便找个开发板的原理图对着下面这几个模块看一遍。2.1 三相逆变桥MCU 的 PWM 最终要落到这里电机控制的硬件核心是三相全桥逆变器。六个功率开关管可能是 MOSFET也可能是 IGBT按照上三管下三管组成三个半桥。MCU 输出六路 PWM 信号经过栅极驱动电路去控制这六个管子导通和关断从而在电机相线上合成出需要的电压矢量。这个模块直接影响你对 PCB 的认知。为什么高边 MOSFET 驱动需要自举电容因为这颗管子导通时源极电压接近母线电压而栅极驱动芯片的供电是低压的必须靠自举电容把驱动电平抬上去。为什么 PCB 上要加去耦电容因为开关瞬间电流非常陡布线寄生电感会引起电压尖峰电容就是就近的储能池。为什么死区时间是个必须设的参数因为同一桥臂上下两个管子如果同时导通就是直通短路会直接炸管。很多同学一开始把死区时间理解成软件参数觉得调定时器寄存器就行。实际调试中你会看到死区设太短下管还没完全关断上管已经开启母线电流瞬间飙升死区设太长电流波形过零时出现畸变电机会抖。这个“度”和驱动芯片的传播延迟、MOSFET 的关断延迟都有关系。而这些东西全都会在 PCB 布局上留下痕迹。懂原理图才能知道这个问题该往软件的哪个寄存器里找还是该往硬件的哪个电阻电容上找。2.2 电流采样拓扑FOC 算法的“眼睛”无刷电机 FOC 控制最大的特点是必须知道三相电流的瞬时值然后通过 Clark 变换和 Park 变换转成旋转坐标系下的交直轴电流再进行 PID 调节。这个基础决定了电流采样硬件在板子上绝对不可忽视。常见的采样方案有三种三电阻采样、双电阻采样、单电阻采样。三电阻方案在三相下桥臂各接一个采样电阻可以得到最完整的相电流信息单电阻方案只用一个采样电阻放在母线低端通过同一 PWM 周期内不同开关状态下采样母线电流再重构三相电流硬件简单但是算法复杂。这些都和 PCB 强相关。采样电阻的走线必须采用开尔文接法也就是采样信号线要单独从电阻两端引出来不能跟功率电流主路径共用一段铜箔否则功率电流流过铜箔产生的压降会被 ADC 当成有效信号读进去电流环就永远是歪的。我在实际项目里见过因为采样走线过长、和 PWM 强信号挨太近导致 ADC 采样值出现毛刺PI 调节器输出抖得电机嗡嗡响。最后解决办法其实也不复杂把采样信号的滤波电容改小调整布线让功率地和控制地单点连接问题就解决了。2.3 MCU 外围和保护电路观察硬件是否在按你的想法工作除了功率部分板上还有 MCU 最小系统、电源转换、通信接口、过流保护、母线电压检测、温度检测等外围电路。对做嵌入式控制的人来说这几个模块恰恰是日常打交道最多的。比如电机控制板的 3.3V 电源纹波特别大ADC 参考电压不稳就会导致采样值上下漂。明明是同一个 PWM 占空比电机转速却在波动。这时候你不去查电源电路反而一直调 PID 参数是没有任何意义的。再比如过流保护电路一般会接一个比较器把采样电阻上的电压跟阈值电压比较一旦超过就立刻封锁 PWM。这个阈值是通过电阻分压算出来的你至少要从原理图上算出来“这个板子最大允许电流是多少”才好判断软件里电流限幅应该设多少。我给读者一个最直接的建议找一份无刷电机驱动板的原理图把上面三块内容分别用荧光笔标出来然后问自己三个问题第一信号从 MCU 引脚出来到最终驱动 MOSFET中间经过哪些芯片和阻容为什么要经过它们第二电流采样信号是从哪个节点取出来的中间有没有滤波滤成什么样第三如果 MCU 突然把所有 PWM 都输出成高电平板子上哪个器件先扛不住能回答出这三个问题你读 PCB 的水平就已经能覆盖大多数电机控制岗位的入职要求了。3. PCB 技能的下限与上限按目标分级去学说起 PCB很多人第一反应是“要学 AD 还是嘉立创 EDA要不要学 Allegro学哪个版本”我觉得这些都是表面问题。真正要聊的是你画出来的板子能不能用、会不会被电源噪声搞崩、电流大了铜箔会不会烧。3.1 第一级能看懂、能跟别人讨论画法这一级是底线。你需要知道 PCB 单面板、双面板、多层板的大致区别知道顶层底层一般怎么分配知道铺铜为了什么知道过孔意味着什么知道板厚和铜厚是什么单位。那些网络上高频出现的“PCB 走线要求”“PCB 层叠厚度”“AD PCB 绘制常用规则设置”你至少要刷过一遍有个印象。工作中常用的是 1oz 铜箔约 35μm 厚。走线能过多少电流常按经验值估算外层 1oz 铜每 1mm 宽大约能过 1A 电流但这是留了很大余量的粗估。大家常搜的“PCB 0.3mm 能过多少电流”实际要看铜厚、走线长度、允许温升。0.3mm 在 1oz 外层、允许 20°C 温升的情况下大概只能走 0.5A 到 0.7A做信号线没问题做小功率电机驱动就有点悬。电机驱动板的功率线尤其是三相输出、母线输入尽量用开窗铺铜甚至加焊锡加固必要时用“铜皮挖空”散热不能只靠一根细线硬扛。提示我建议新手不要一开始就去啃四层板的阻抗设计。先把双面板铺铜、地平面、电源分区这三件事弄明白再往上加叠层概念。3.2 第二级能自己画一块能用的电机驱动板第二级是校招时最有说服力的一条分界线。你自己画过一块板子不管是直流电机驱动也好无刷电机驱动也好只要能通电、能带电机转起来这就是能写进简历里的项目。以我个人的实操感受建议从最简单的 H 桥驱动板开始。一个 STM32 最小系统板加两个半桥驱动芯片或者干脆用集成好的全桥驱动芯片比如 DRV8874、L298N 这类体积很小、外围元器件很少的芯片。先把电路图画出来用嘉立创 EDA 或者 AD 画 PCB然后打样焊接调试。第一次打样失败太正常了我当年第一次画板子电源和地线太细一上电直接冒烟后来改成大面积铺铜才正常。这块板子的目标不是做得多高性能而是让你把完整链路走通原理图设计、封装选择、PCB 布局布线、生成 Gerber、打样、焊接、上电调试、软件控制、发现故障并改版。这一整个流程走完你对硬件 PCB 的理解会几何级上涨。3.3 第三级能理解“为什么要这么画”再往上一层就不再是操作软件的问题了而是电磁场、热、采样精度这些物理问题。你要开始看那些流传很广的“ADC/DAC 电路设计规避时钟抖动与电源噪声的 3 个 PCB 布局要点”之类的文章并且认真思考。电流采样信号要远离 PWM 走线模拟地要单独处理数字地和功率地单点连接时钟电路和复位线要短这都是有物理原因的。在电机驱动板上最容易踩的坑有这么几个栅极驱动回路的走线太长导致 VGS 上出现振铃MOSFET 开关损耗变大甚至引起桥臂直通。自举电容离驱动芯片太远导致高边电压维持不住电机高转速时上管驱动不足。采样电阻的过孔放在信号走线上把电流路径切断导致采样误差。母线去耦电容没有靠近功率管布局导致开关瞬间产生高频尖峰打到控制芯片上。画板子其实就是在画电流怎么流、磁场怎么分布。你在调试中感受到的一切异常十有六七都能在 PCB 布局上找到原因。这一层不是靠刷视频能学会的一定要自己动手画几版板子亲手踩过坑才能真正建立感觉。4. STM32 侧你写的代码本质上是在配合 PCB 上已经定好的硬件如果你主要做嵌入式软件你可能会觉得“只要 MCU 引脚对就行PCB 是硬件工程师的事我有啥必要关心”。这话放在纯纯的控制面板开发里勉强成立放在电机控制里完全不成立。电机驱动的代码和硬件是强耦合的你配置 PWM 时选哪个定时器、哪个通道映射直接对应板上驱动芯片的输入引脚你触发 ADC 采样的时刻决定了能不能避开 PWM 开关噪声。4.1 高级定时器、互补 PWM 和死区是什么关系STM32 系列里能做电机控制的主要是带有高级定时器的型号比如 TIM1、TIM8 这类。它们能输出互补的 PWM 信号也就是一对反相信号并且可以在硬件上插入死区。这一步里有个很多人忽略的点板上硬件已经确定了死区时间是否足够。你的软件只是往寄存器里写死区时间但实际波形在示波器上看到的死区是驱动芯片的传输延迟、MOSFET 的开关延迟、PCB 走线电阻电容共同作用的结果。软件里设的死区是 100ns但硬件传播延迟可能已经占了 150ns你这个配置在强电流下就可能“实际死区被吞掉了”。所以我在调试电机驱动代码时永远要求自己手里有一块示波器并且至少看一眼 VGS 波形。光看代码变量看不到这个问题。这也是为什么很多嵌入式岗位面试都会问“死区时间怎么配上下管直通会怎么样”。这类问题是在检验你有没有从代码世界往物理世界迈一步。4.2 ADC 采样与 PWM 同步布线噪声决定了数据质量FOC 控制的电流闭环依赖高精度采样。而 PCB 上功率部分的高频电流会对模拟采样信号产生强烈的干扰。硬件工程师通常会在采样电路上做 RC 滤波或者在软件里让你把采样时刻放在 PWM 中心点对齐的时刻因为那个时刻下桥臂续流状态最稳定采样值最能反映相电流真实值。但如果你是嵌入式工程师不去了解板上的采样拓扑不知道采样电阻位于低端还是母线端你是没法正确配置 ADC 触发源的。比如双电阻采样方案如果 ADC 触发时刻没对齐 PWM 输出波形某一路电流可能采到的是“零”你就会看到电流环输出异常抖动。嵌入式和硬件在这里是真正意义上的“双人舞”。我遇到过不少同学Simulink 里仿真跑得很漂亮一到实际电机上就崩。其中一个很常见的原因就是忽略了 ADC 采样噪声、量化误差与 PCB 布线之间的耦合关系。这块内容别指望在纯软件文章里学到必须通过实际驱动板的调试经验补上来。4.3 从“跑通开发板”到“跑通自己画的板子”校招项目里十个有八个是“用 STM32 开发板驱动一个无刷电机跑通了 FOC 开环/闭环”。这种项目当然有意义但它距离“我们真的做了一款电机驱动产品”还差很远。我建议你在完成了开发板阶段后尝试做一次自我升级把开发板换成自己画的驱动小板或者至少自己画一块将 STM32 和栅极驱动芯片集成在一起的控制板。热搜里那个“SW6206 原厂方案包含 PCB、原理图、寄存器列表、BOM 等全套资料”就是一个典型思路。你不需要真的用 SW6206 做产品但可以去下载类似这种方案的原理图和 BOM照着画一遍理解一个完整方案的硬件构成。这么做有几个好处逼你去认识封装、引脚定义、功率地和信号地的划分。逼你去查寄存器手册确认 MCU 引脚和板上外设的对应关系。逼你在画板时考虑散热、位置、价格这是开发板项目永远不会教你的。我面试过不少人聊到开发板项目时能说清 FOC 坐标变换但一问“如果板子上电后电流采样一直是 0你怎么排查”就只会说“看代码”。其实答案很简单先拿示波器测采样电阻两端有没有电压再测运放输出有没有信号最后测到 MCU 引脚。从功率端到信号端一路查过去这就是嵌入式工程师配合 PCB 排查问题的基本素养。5. Simulink 和 MATLAB 在电机控制里到底扮演什么角色很多人把 Simulink、MATLAB 当成“写算法用的高端工具”觉得和 PCB 是两个平行世界。实际上Simulink 的价值在于让你把电机模型、控制算法、硬件约束放在一个统一的仿真环境里做验证然后通过代码生成直接烧进 MCU。这些年秋招的招聘帖里十个电机控制岗位有九个都写“熟悉 MATLAB/Simulink”因为它已经是行业默认的快速原型工具。5.1 仿真不是万能的但能帮你理解参数我在前面反复强调过“仿真跑得漂亮实物崩”的现象。但这不是仿真的错而是仿真的前提太理想化。比如你建的模型里母线电压是稳定的 24V逆变器开关是理想开关采样是无延时、无噪声的。可实际 PCB 上母线电容有 ESL、ESRMOSFET 有导通电阻和开关损耗采样信号还有毛刺。这些差异恰恰是硬件功底该补上的地方。聪明的做法是在 Simulink 模型里加入这些非理想因素。比如把 ADC 采样噪声加上把一个采样周期的延迟环节加上把逆变器的死区时间加上。加了这些之后PID 参数整定的结果才有参考价值。这也是为什么一个做过硬件的人搭出来的仿真模型往往比纯算法背景的人搭出来的模型更“扛造”。5.2 自动代码生成之后的硬件适配现在主流的开发流程是在 Simulink 中搭建 FOC 控制模型验证逻辑无误后通过 Embedded Coder 生成嵌入式 C 代码再部署到 STM32 或者 TI C2000 系列 DSP 中。对应的硬件接口比如 PWM 通道、ADC 通道、使能引脚都需要在模型里做映射而映射的依据就是原理图里 MCU 引脚和外设的连接方式。如果你完全不懂硬件这一步根本做不下去。电机相线的 PWM 对应哪个定时器电流采样对应 ADC 的 IN 几过流保护对应哪个外部中断引脚全都要靠看原理图来配置。所以我一直觉得Simulink 不是用来逃避硬件的它是把硬件和算法在更高层次上捏合的工具。5.3 用仿真反推 PCB 上的元件参数还有一个比较进阶的玩法是在 Simulink 或 PLECS 里做开关管损耗仿真和采样环路仿真反过来指导 PCB 布局和器件选型。比如你发现电机在 10kHz PWM 频率下损耗偏大就可以在仿真里对比不同开关频率、不同栅极电阻对损耗的影响再去改板上的栅极电阻。我在实际项目里经常用这种方式先在仿真里确定一个合理的 RC 滤波截止频率再去选采样电容的容值。如果仿真模型里没有接入 PCB 布线寄生电感的估计值设计出来的滤波器就可能和实物偏离很大。这就是为什么那些“能够理解 PCB 信号完整性”的电机控制工程师往往仿真精度和数据表现都会更好。6. 秋招面试里PCB 相关能力会怎么被考察很多准备秋招的同学一看岗位要求写着“熟悉电机控制”“熟悉 STM32”就开始拼命背 FOC 和 PID 的公式却把 PCB 相关的内容完全放在一边。结果面试官随便指着一块板子问两句心态就崩了。按照我的经验面试官考察 PCB 相关知识通常不是让你现场画板而是想通过几个问题判断你有没有“完整的系统观”。6.1 面试官最爱问的几个硬件相关问题这些问题的答案本身不一定多深但能在短时间内暴露你对硬件的理解“你用过哪款驱动芯片它的内部结构大概什么样”“你画的板子上电源地和信号地是怎么处理的”“如果电机运行时 MCU 突然复位你会怎么排查”“电流采样信号有毛刺你会调软件滤波还是硬件滤波为什么”“你的驱动板最大能过多少电流你是怎么估算的”这些问题的背后其实都是看你能不能把 PCB 设计和控制效果关联起来。比如最后那个“最大电流”很多人只能答“应该能过 5A 吧”。如果你能说出“我板子是 2oz 铜厚功率走线加宽并开了窗采样电阻用的 10mΩ采样电路差分输入范围 ±20A”这就能表现出你是有硬件意识的。6.2 没有正经画过板子项目里怎么展示硬件能力如果你目前手里只有开发板项目也不用慌但一定要主动去补。我的建议是把开发板的原理图和一份参考设计拿过来完整地“抄”一遍。抄板不是复制粘贴而是逐个元器件确认它的作用然后在嘉立创 EDA 或 AD 里重画一遍再找机会打样。哪怕最后板子没调试完美你在简历里也可以诚实写出“独立完成 XX 驱动板原理图设计和 PCB 布局”。只要你确实画过、认真思考过面试官一问细节就听出来了。反过来如果你没画过又写上去了人家一问“板子多少层、铜厚多少、差分对怎么走”你就露馅了。6.3 用项目叙述把这些能力串起来秋招面试的节奏通常是先让你讲一个项目。这时候不要平铺直叙地说“我用了 STM32写了 FOC 代码最后电机转起来了”。你可以有意识地把硬件认知加进去比如“我做的时候发现前期在开发板上调好的 PI 参数换到自己画的驱动板上之后电流噪声变大电机有明显振动。我查了一下是因为我的采样电阻离功率开关太近而且采样走线和 PWM 信号平行了一段距离。后来我把采样电容从 100nF 改成 10nF并且把底层走线绕开 PWM 输出区域干扰明显减小。”这段话听起来就是一个有真实调试经验的人说出来的比背十条 FOC 公式都有说服力。面试官想看到的正是这种“能从现象定位到硬件布局再回到代码修改”的闭环能力。7. 如果现在还在校一年时间怎么把这套能力补齐最后说点可执行的。我知道读者里有很多还在读大三、大四甚至研一秋招还有一年甚至更久。想从“只会看开发板”到“软硬件都能聊”一年时间完全够用。我建议你按下面的节奏来走具体时间可以根据自己的电子基础适当调整。时间周期学习主题可交付成果第1-2个月电路基础 元器件阅读能看懂一个简单的 DC-DC 电路和 H 桥结构第3个月焊接与调试工具能独立焊接一块直插/贴片混用的驱动板第4-6个月画板 调试直流电机驱动自己画过一块 H 桥驱动板跑通正反转和调速第7-9个月无刷电机的 FOC/PID 控制用开发板或自焊板实现 PMSM 开环/闭环 FOC第10-12个月综合项目 秋招复习复刻一个完整电机驱动方案梳理项目故事准备面试在这段时间里千万别只顾着画板把 STM32 和 Simulink 丢了。电机控制的学习路线我个人的体会是“软硬交替”先搭一个最小系统让电机动起来然后回头分析硬件的不足再改版硬件通过以后的调试把软件和硬件水平一起拉上来。每完成一条闭环你对“电机控制”这四个字的理解就会上一个台阶。工具方面画板优先用嘉立创 EDA上手快还方便直接下单打样适合学生。想往专业方向走的也可以慢慢接触 AD 和 Allegro。但工具只是手真正的核心永远是你清不清楚板上电流从哪里来到哪里去控制信号从哪里出发到哪里生效。这两件事搞明白PCB 对你来说就不再是一个劝退的门槛而是一个别人没有的加分项。我在这些年里看过太多人把“会写 FOC 算法”和“是电机控制工程师”画上等号。实际上电机控制是一个非常“实在”的方向最终结果都要体现在电机转不转、转得稳不稳、发热大不大上。而这些结果都藏在电流流过铜箔、穿过开关管、经过采样电阻、最后变成 MCU 里的数字信号这一整条链路里。哪怕你以后只做上层算法这份对硬件链路的感觉都会让你在排查问题、跟硬件同事吵架、评审设计方案的时候赢得足够多的主动权和信任。
返回列表