1. 三类嵌入式老兵的现状拆解与岗位定位逻辑
干了几年嵌入式,最怕的不是加班调不通板子,而是某天突然发现自己这条路越走越窄。尤其是这两年,机器人行业大量吸纳嵌入式工程师,但同样是“转机器人”,做STM32裸机开发的、天天调电机PID的、写Linux驱动的,能拿到的岗位和薪资天花板完全不是一回事。我身边有太多人投了同一家公司同一个“嵌入式工程师”岗位,结果面试内容天差地别,有人被问CANopen协议栈,有人被问设备树怎么配,还有人被问FOC电流环带宽怎么算。
这个问题的本质在于:机器人公司招嵌入式,从来不是招“嵌入式”三个字,而是招一个具体的技术栈去填一个具体的坑。你得先搞清楚自己手里攥着的是什么牌,再去看哪张桌子适合你坐下。
1.1 为什么“转机器人”不等于“学ROS”
很多人一提到转机器人,第一反应是去学ROS、学SLAM、学运动规划。这个思路对算法岗没错,但对嵌入式老兵来说,方向可能跑偏了。机器人系统是一个分层架构:最底层是执行器和传感器,中间层是实时控制和通信,上层是感知和决策。嵌入式工程师的价值集中在前两层,而不是去跟算法岗卷轨迹优化。
我见过一个做了五年STM32的兄弟,花了三个月啃ROS和MoveIt,结果面试机器人公司的时候,面试官只问了他一个问题:“你用STM32做过CAN总线多节点通信吗?怎么处理总线仲裁和错误帧?”他答得磕磕巴巴,因为他的时间全花在上层了。反过来,另一个一直做电机控制的哥们,面试同一家公司,聊了四十分钟的电流环和位置环切换策略,当场就过了。
所以第一步不是学新东西,而是把自己的技术栈拆开,看清楚哪些能力在机器人行业是硬通货,哪些是需要补的短板。
1.2 三类技术栈的核心能力对比
先上一张表,把三类人的核心能力、典型工具链、以及对应的机器人岗位方向理清楚。
| 维度 | STM32裸机/RTOS方向 | 电机控制方向 | Linux驱动方向 |
|---|---|---|---|
| 核心技能 | 寄存器操作、中断管理、RTOS任务调度、通信协议 | FOC算法、PID整定、编码器解码、功率电路 | 内核模块、设备树、字符设备、SPI/I2C子系统 |
| 典型工具 | Keil/IAR、STM32CubeMX、FreeRTOS | MATLAB/Simulink、示波器、功率分析仪 | GCC、Buildroot、示波器、逻辑分析仪 |
| 机器人岗位 | 传感器采集板、通信网关、安全监控模块 | 关节驱动器、轮毂电机控制器、力控执行器 | 主控计算单元、传感器融合板、实时通信板 |
| 薪资区间(一线城市) | 15-25K | 20-35K | 25-45K |
| 天花板 | 系统架构师(偏硬件) | 运动控制专家 | 系统软件架构师 |
这张表不是绝对的,但大致反映了一个规律:越靠近“计算”和“系统”,薪资天花板越高;越靠近“执行”和“硬件”,岗位需求越稳定但天花板相对低一些。当然,电机控制做到极致(比如力控、高精度伺服)也很值钱,但那是另一个维度的深度。
1.3 岗位定位的核心判断标准
怎么判断自己该瞄准哪类岗位?我总结了一个简单的判断方法,问自己三个问题:
第一,你过去两年写得最多的代码是什么?如果是HAL_GPIO_WritePin和中断服务函数,那你偏STM32方向;如果是PID_Calc和SVPWM,那你偏电机方向;如果是module_init和probe函数,那你偏Linux方向。
第二,你调试时最常用的仪器是什么?示波器和逻辑分析仪用得多,偏硬件和电机;串口打印和GDB用得多,偏Linux和系统。
第三,你愿不愿意继续跟硬件打交道?如果看到电路图就头疼,那趁早往Linux方向转;如果觉得调板子很有意思,那STM32和电机方向更适合你。
这三个问题没有标准答案,但能帮你快速定位自己的舒适区和延伸方向。接下来我会分别拆解三类人的跃迁路径,每一类都会给出具体的学习路线、面试重点和避坑经验。
2. STM32老兵:从裸机到机器人通信与安全模块
做STM32的兄弟,底子通常很扎实:寄存器操作熟练、中断处理清楚、RTOS任务调度也懂一些。但问题在于,STM32在机器人系统里往往不是“大脑”,而是“神经末梢”——负责采集传感器数据、控制执行器、处理通信。这个定位决定了你的价值在于可靠性和实时性,而不是算力。
2.1 机器人行业对STM32工程师的真实需求
机器人公司招STM32工程师,通常是为了做以下几类板子:
- 传感器采集板:IMU、力传感器、编码器、温度传感器的数据采集和预处理
- 通信网关:CAN/CANopen转EtherCAT、串口转以太网、无线通信模块
- 安全监控模块:急停逻辑、安全门控制、看门狗、故障诊断
- 执行器控制板:气缸、电磁阀、小功率电机的开关控制
这些板子的共同特点是:实时性要求高、可靠性要求高、但计算量不大。所以面试官不会问你Linux内核,而是会重点考察你的通信协议理解和异常处理能力。
我面过一家做协作机器人的公司,面试官直接拿了一块板子让我现场分析:CAN总线在多个节点同时发送时怎么仲裁?错误帧怎么处理?总线关闭后怎么恢复?这些问题在裸机开发里很常见,但如果你平时只做点对点通信,可能就答不上来。
2.2 必须补上的三个硬技能
如果你做了几年STM32但没接触过机器人行业,以下三个技能是必须补的:
第一个是CANopen协议栈。机器人关节、驱动器、传感器大量使用CANopen。你不需要从头写协议栈,但必须理解对象字典、PDO/SDO、NMT状态机、心跳机制。我建议直接拿一个开源CANopen栈(比如CANopenNode)跑一遍,用两个STM32板子做主从通信,把PDO映射和同步周期搞明白。
第二个是实时性分析。机器人系统对抖动非常敏感。你需要知道中断延迟怎么测量、任务切换时间怎么估算、优先级反转怎么避免。这些在RTOS里都有对应机制,但很多人只会用API,不会分析最坏执行时间。面试时如果你能说出“我用示波器测过中断响应时间,从GPIO拉高到ISR第一行代码,大概1.2微秒”,面试官会立刻对你刮目相看。
第三个是功能安全基础。机器人行业越来越重视安全,IEC 61508和ISO 13849是绕不开的。你不需要成为安全专家,但要知道看门狗怎么用、双通道比较怎么实现、故障树怎么分析。这些知识在STM32的参考手册里都有涉及,但很多人跳过了。
2.3 从裸机到机器人通信网关的实操路径
假设你现在只会点灯和串口收发,想往机器人通信网关方向转,我建议按以下步骤走:
第一步,把CAN总线玩透。找两块STM32板子,一块做发送,一块做接收,先跑通标准帧收发。然后故意制造总线冲突,观察仲裁过程。再然后模拟错误帧,看错误计数器怎么变化。最后实现一个简单的CANopen从站,支持NMT和SDO。
第二步,加一个RTOS。用FreeRTOS把CAN通信、传感器采集、状态监控分成三个任务,优先级从高到低。重点观察:当CAN中断频繁触发时,低优先级任务会不会饿死?怎么用信号量和队列做任务间通信?
第三步,做一块完整的板子。画原理图、打板、焊接、调试。这块板子至少要有:一路CAN、一路RS485、一路以太网、一个IMU、一个温度传感器。然后写固件,把所有数据打包通过以太网发送。这个过程会逼你解决很多实际问题:电源噪声、信号完整性、EMC、看门狗复位。
第四步,学习EtherCAT从站。如果目标公司做高端机器人,EtherCAT是加分项。你可以用LAN9252或ET1100做从站控制器,配合STM32实现简单IO从站。这个学习曲线比较陡,但一旦掌握,薪资至少上浮30%。
注意:不要一上来就啃EtherCAT协议规范,先找一个开源从站栈(比如SOEM的主站部分)跑通,再回头看协议细节,效率高得多。
2.4 面试重点与避坑指南
STM32方向转机器人,面试时最常被问到的几个问题:
- CAN总线的仲裁机制是什么?为什么ID越小优先级越高?
- 你怎么保证通信的实时性?中断延迟怎么测量?
- 如果CAN总线断了,你的系统怎么处理?
- 看门狗喂狗策略是什么?在RTOS里怎么设计?
- 你做过最复杂的通信协议是什么?遇到过什么坑?
避坑经验:不要吹嘘自己“精通STM32”,面试官随便问一个DMA和中断的优先级冲突就能把你问倒。老老实实说自己熟悉哪些外设、做过什么项目、遇到过什么问题、怎么解决的。机器人公司更看重你解决实际问题的能力,而不是背手册的能力。
还有一个坑:很多人觉得STM32方向薪资低,想硬转Linux。我的建议是,如果你已经做了三年以上STM32,不要轻易放弃积累,而是在STM32基础上往上走——学通信协议、学功能安全、学系统架构。纯STM32岗位确实天花板有限,但“STM32+通信+安全”的组合在机器人行业非常吃香。
3. 电机控制老兵:从PID到机器人关节驱动器
调电机的人有个特点:数学底子好、动手能力强、对波形敏感。但很多人干了几年,只会调一个BLDC的转速环,换个场景就懵了。机器人行业对电机控制的需求跟工业变频器、电动工具完全不同,核心区别在于:机器人要的是力控和位置控,不是速度控。
3.1 机器人关节驱动器的技术特点
工业电机控制通常追求调速范围和稳态精度,而机器人关节驱动器追求的是:
- 高带宽力控:能感知外部力矩并快速响应,带宽通常要求1kHz以上
- 低齿槽转矩:保证低速平稳性,避免爬行现象
- 高精度位置控制:重复定位精度要到0.01度甚至更高
- 紧凑集成:驱动器要和电机、编码器、减速器集成在一起
这意味着你原来调变频器的那套方法,在机器人关节上可能完全不适用。我见过一个做了八年变频器的工程师,转做协作机器人关节,第一个月就崩溃了——他习惯用V/F控制,但机器人要的是电流环带宽和力矩线性度。
3.2 FOC算法的深度理解与参数整定
FOC(磁场定向控制)是机器人关节驱动的基础。很多人会用ST的MC SDK生成代码,但不知道里面每个参数怎么来的。面试时如果被问到“电流环带宽怎么确定”,答不上来就露馅了。
电流环带宽的确定逻辑是这样的:首先看PWM频率,假设16kHz,那么电流环采样频率也是16kHz。根据香农定理,带宽不能超过采样频率的一半,也就是8kHz。但实际工程中,为了保证稳定性和噪声抑制,带宽通常取采样频率的1/10到1/5,也就是1.6kHz到3.2kHz。然后根据电机电感L和电阻R,计算PI参数:比例增益Kp = 带宽 × L,积分增益Ki = 带宽 × R。
这个计算过程看起来简单,但实际调试时还要考虑:死区补偿、母线电压波动、电流采样噪声、编码器延迟。我建议你拿一个电机,从零开始推导一遍,然后用示波器观察电流波形,逐步调整参数,直到电流环阶跃响应没有超调、上升时间满足要求。
3.3 力控与阻抗控制的入门路径
机器人关节和工业电机最大的区别在于力控。力控的核心是:不仅要控制位置,还要控制力矩。这涉及到阻抗控制、导纳控制、力位混合控制等算法。
入门路径建议这样走:
第一步,把力矩控制跑通。在电流环基础上,加一个力矩环。力矩指令来自哪里?可以是外部传感器,也可以是通过电流估算。先实现最简单的恒力矩输出,用测力计验证线性度。
第二步,实现阻抗控制。阻抗控制的本质是模拟一个弹簧阻尼系统:F = K(x - x0) + B(v - v0)。你需要把位置偏差和速度偏差转换成力矩指令。这个算法在MATLAB里仿真很简单,但实际调试时要注意:力传感器噪声、关节摩擦、重力补偿。
第三步,做碰撞检测。协作机器人必须能检测到碰撞并快速停止。常用方法是观察力矩偏差:如果实际力矩和期望力矩的差值超过阈值,就判定为碰撞。这个阈值怎么定?太小会误触发,太大会撞伤人。我通常建议先用低速测试,逐步收紧阈值,同时观察误触发率。
3.4 电机控制工程师的面试重点
电机方向转机器人,面试官最关心的是:
- 你做过什么类型的电机?BLDC、PMSM、步进、空心杯?
- 电流环带宽怎么确定?PI参数怎么整定?
- 编码器用什么类型?增量式、绝对式、霍尔?怎么处理解码误差?
- 有没有做过分辨率提升?比如插值、观测器?
- 力控做过吗?阻抗控制、导纳控制、力位混合?
- 遇到过的最大问题是什么?怎么解决的?
避坑经验:不要只说自己“会调PID”,要说清楚你调的是什么环、什么指标、用什么工具测的。比如“我用示波器测电流环阶跃响应,上升时间0.5ms,超调5%,然后根据这个调整了Kp和Ki”。这种细节才能体现你的真实水平。
还有一个坑:很多人觉得电机控制薪资低,想转算法。我的建议是,电机控制做到深处就是算法——观测器、无传感器控制、参数辨识、预测控制,这些都是算法。你不需要转行,只需要往深处走。
4. Linux驱动老兵:从字符设备到机器人系统软件
写Linux驱动的人,在机器人行业是最抢手的,但也是最容易迷失方向的。因为机器人系统软件的范围太广了:内核驱动、实时补丁、通信中间件、传感器框架、OTA升级、安全启动……你不可能全做,必须选一个方向深耕。
4.1 机器人系统软件的层次结构
一个典型的机器人系统软件栈,从下到上大致是:
- 内核层:设备驱动、实时补丁、内存管理、调度器
- 系统层:文件系统、网络协议栈、通信中间件
- 框架层:传感器框架、执行器框架、诊断框架
- 应用层:运动控制、任务调度、状态机
Linux驱动工程师通常从内核层切入,然后往上延伸到系统层和框架层。但机器人行业对Linux工程师的需求,往往集中在实时性和通信两个方向。
4.2 实时Linux的配置与调优
机器人对实时性的要求很高,但标准Linux内核的实时性很差。你需要掌握以下技能:
第一,PREEMPT_RT补丁。这个补丁把大部分内核代码变成可抢占的,中断处理也线程化了。配置方法:下载对应内核版本的RT补丁,打上,然后配置CONFIG_PREEMPT_RT=y。编译后,用cyclictest测延迟,正常情况下最大延迟应该在几十微秒以内。
第二,CPU隔离。把某个CPU核心隔离出来,专门跑实时任务。方法是在内核启动参数里加isolcpus=3,然后用taskset把实时任务绑到那个核心。这样避免其他任务干扰。
第三,中断亲和性。把中断绑定到非实时核心,避免中断处理打断实时任务。方法:echo 2 > /proc/irq/XX/smp_affinity。
第四,内存锁定。实时任务的内存必须锁定,避免缺页中断。方法:mlockall(MCL_CURRENT | MCL_FUTURE)。
这些配置看起来简单,但实际调优时有很多坑。比如CPU隔离后,某些内核线程还是会跑上去;中断亲和性设置后,某些驱动会覆盖你的设置。我建议你拿一块开发板,从头配一遍,用cyclictest和ftrace观察延迟来源,逐个解决。
4.3 机器人通信中间件的驱动适配
机器人系统里,Linux主控通常要通过各种总线和执行器、传感器通信。常见的有:
- EtherCAT主站:IgH EtherCAT Master、SOEM
- CAN/CANopen:SocketCAN、CANopen协议栈
- 串口:RS232/RS485,通常用
termios配置 - 以太网:TCP/UDP、Ethernet/IP、Profinet
以EtherCAT主站为例,你需要写一个内核模块或者用户态程序,实现主站功能。IgH EtherCAT Master是开源的,但配置起来很麻烦:要打实时补丁、要配网卡驱动、要调DC同步。我建议先用SOEM(用户态)跑通,理解EtherCAT的状态机和PDO映射,然后再看IgH。
SocketCAN是另一个重点。机器人关节大量使用CANopen,你需要把CANopen协议栈跑在SocketCAN之上。方法:用can-utils配置CAN接口,然后用开源CANopen栈(如CANopenNode)实现主站或从站。重点理解:PDO周期、SDO传输、NMT状态切换、心跳超时处理。
4.4 Linux驱动工程师的面试重点
Linux方向转机器人,面试官最关心的是:
- 你写过什么类型的驱动?字符设备、块设备、网络设备?
- 设备树怎么配?中断怎么申请?DMA怎么用?
- 实时性怎么保证?PREEMPT_RT用过吗?延迟怎么测?
- 通信协议熟悉哪些?EtherCAT、CANopen、TCP/IP?
- 内核调试用什么工具?ftrace、perf、kgdb?
- 遇到过最难的bug是什么?怎么定位的?
避坑经验:不要只说自己“会写驱动”,要说清楚你写的驱动在什么场景下用、解决了什么问题、性能指标是多少。比如“我写了一个SPI接口的IMU驱动,采样率1kHz,用DMA传输,CPU占用率从15%降到3%”。这种量化描述才能体现你的价值。
还有一个坑:很多人觉得Linux驱动门槛高,不敢投机器人公司。其实机器人公司对Linux驱动的需求很大,而且很多岗位不要求你有机器人背景,只要你有扎实的驱动开发经验,进去之后学机器人知识很快。我见过一个做网络驱动的工程师,转做机器人主控,三个月就上手了。
5. 三类岗位的薪资对比与选择建议
说了这么多技术细节,最后回到最现实的问题:薪资。以下数据基于我了解的一线城市机器人公司招聘情况,仅供参考。
| 岗位方向 | 初级(1-3年) | 中级(3-5年) | 高级(5-8年) | 专家(8年+) |
|---|---|---|---|---|
| STM32通信/安全 | 12-18K | 18-25K | 25-35K | 35-50K |
| 电机控制 | 15-22K | 22-32K | 32-45K | 45-65K |
| Linux驱动/系统 | 18-25K | 25-38K | 38-55K | 55-80K |
这张表反映了一个趋势:Linux方向起薪最高,电机方向天花板最高(因为力控专家很稀缺),STM32方向相对平稳但需求量大。当然,这只是大致范围,具体还要看公司规模、融资阶段、个人能力。
5.1 如何根据自身情况选择方向
选择方向时,不要只看薪资,还要看自己的兴趣和长期规划。我给出几个判断标准:
- 如果你喜欢跟硬件打交道、喜欢动手焊接调试,选STM32或电机方向
- 如果你喜欢跟代码打交道、喜欢研究操作系统和协议栈,选Linux方向
- 如果你数学好、喜欢推导公式和建模仿真,选电机控制方向
- 如果你逻辑强、喜欢排查复杂问题,选Linux驱动方向
还有一个现实因素:你所在的城市。有些城市机器人公司偏重硬件,有些偏重软件。比如某城市有大量工业机器人公司,电机控制岗位多;另一个城市有大量服务机器人公司,Linux岗位多。投简历前先看看目标城市的岗位分布。
5.2 跃迁过程中最容易踩的三个坑
第一个坑:盲目追新。看到别人学ROS就跟着学,看到别人学EtherCAT就跟着学,结果什么都没学深。我的建议是,先把自己现有的技术栈做到前20%,再考虑扩展。你在STM32上做到前20%,比你在ROS上做到前50%值钱得多。
第二个坑:忽视软技能。嵌入式工程师往往只关注技术,但机器人行业需要大量跨部门协作。你要能跟算法工程师沟通需求、跟硬件工程师讨论接口、跟测试工程师分析问题。我见过很多技术很强但沟通很差的工程师,在机器人公司混得很痛苦。
第三个坑:只看薪资不看成长。有些公司给的钱多,但做的都是重复性工作;有些公司给的钱少,但能接触到核心技术。我的建议是,前五年看成长,后五年看薪资。机器人行业变化很快,只有不断学习才能保持竞争力。
5.3 一个真实的跃迁案例拆解
我认识一个工程师,做了四年STM32裸机开发,主要做工业网关。他想转机器人,但投了很多简历都没回音。我帮他分析了一下:他的技术栈太单一,只会STM32和串口,没有CAN、没有RTOS、没有通信协议栈。
后来他花了三个月,做了以下事情:
- 用STM32+FreeRTOS做了一个CANopen从站,支持PDO和SDO
- 用两块板子做了CAN总线压力测试,记录了错误帧处理过程
- 学了一点功能安全基础,了解了看门狗和双通道比较
- 把项目整理成文档,放在个人代码仓库里
三个月后,他拿到了一家协作机器人公司的offer,薪资从14K涨到22K。面试时面试官说,看中的就是他动手做过完整的CANopen从站,而且能说清楚错误处理逻辑。
这个案例说明:转机器人不需要你什么都会,但需要你在某个细分方向上有完整的项目经验。一个完整的项目,比十个半成品强得多。
6. 常见问题与排查技巧实录
最后整理一些转机器人过程中常见的问题和排查技巧,都是我和身边朋友踩过的坑。
6.1 技术学习类问题
问题一:学ROS还是学EtherCAT?
这取决于你的目标岗位。如果你做Linux主控,ROS和EtherCAT都要懂一些;如果你做STM32或电机控制,EtherCAT优先级更高。我的建议是,先学EtherCAT从站,因为机器人关节和驱动器大量使用EtherCAT,而且从站比主站简单,容易上手。
问题二:没有机器人项目经验怎么办?
自己造一个。买一个便宜的机械臂(比如三轴或四轴),用STM32或Linux板子控制它。不需要做得很复杂,能实现基本的点位控制和通信就行。关键是你要能说清楚:用了什么总线、什么协议、遇到什么问题、怎么解决的。
问题三:数学不好能转电机控制吗?
能,但天花板会低一些。电机控制的核心是控制理论,如果你连拉普拉斯变换和传递函数都不熟,很难做到深处。但如果你只是做应用层调试,数学要求没那么高。我的建议是,至少把PID和FOC的数学推导搞明白,不然面试时很容易被问倒。
6.2 面试与求职类问题
问题四:面试时被问到不会的问题怎么办?
不要瞎编,直接说“这个我没做过,但我了解相关概念,我的理解是……”。面试官更看重你的学习能力和思维方式,而不是你什么都会。我见过一个候选人,被问到EtherCAT DC同步时,坦诚说没做过,但根据CANopen的同步机制推测了一下,面试官反而觉得他思路清晰。
问题五:薪资怎么谈?
机器人行业的薪资弹性很大,同样岗位可能差50%。我的建议是,先了解目标公司的融资阶段和薪资范围,然后根据自己的技术栈和项目经验报价。如果你有完整的机器人项目经验,可以比普通嵌入式岗位高30%以上。谈薪资时不要只盯着月薪,还要看期权、奖金、福利。
问题六:去大公司还是创业公司?
大公司流程规范、技术积累深,但可能只让你做一颗螺丝钉;创业公司什么都做、成长快,但风险高、流程乱。我的建议是,如果你刚转行,先去大公司或有一定规模的机器人公司,把规范流程和技术体系学明白;如果你已经有几年经验,可以去创业公司搏一把。
6.3 职业发展类问题
问题七:做了几年嵌入式,感觉遇到瓶颈了怎么办?
瓶颈通常来自两个方面:技术深度不够,或者技术广度不够。如果是深度不够,选一个方向往深处钻,比如电机控制往力控钻,Linux往实时和通信钻。如果是广度不够,学一些相邻领域的知识,比如做驱动的学一点算法,做电机的学一点系统。
问题八:机器人行业会不会像互联网一样卷?
会卷,但卷的方式不同。互联网卷的是加班和PPT,机器人卷的是技术和经验。机器人行业的技术门槛更高,经验积累更重要,所以年龄歧视没那么严重。我见过很多四十多岁的嵌入式工程师,在机器人公司做得很稳,因为他们的经验是年轻人替代不了的。
问题九:要不要读个在职研究生?
如果你本科毕业,想进大公司或研究机构,读一个在职研究生有帮助。但如果只是想在普通机器人公司做技术,项目经验比学历重要得多。我的建议是,先工作两三年,看清楚自己的方向,再决定要不要读研。不要为了逃避就业压力去读研,那样只会浪费时间和金钱。
6.4 一个实用的排查技巧清单
最后分享一个我在调试机器人系统时常用的排查清单,按顺序检查,能解决80%的问题:
- 电源是否正常?用万用表测各路电压,纹波是否超标?
- 时钟是否正常?用示波器测晶振,频率和幅值是否对?
- 复位是否正常?复位引脚电平是否正确?复位时间是否足够?
- 通信是否正常?用逻辑分析仪抓波形,看时序和协议是否符合预期?
- 中断是否正常?用GPIO翻转法测中断响应时间,看是否满足要求?
- 任务是否正常?用RTOS的跟踪工具看任务切换和堆栈使用情况?
- 内存是否正常?用内存检测工具看是否有泄漏或越界?
- 温度是否正常?用热成像仪看关键器件温升,是否超过规格?
这个清单看起来简单,但实际调试时按顺序走一遍,能避免很多盲目试错。我见过太多人一上来就怀疑代码问题,结果查了半天发现是电源纹波太大导致MCU复位。
提示:调试机器人系统时,永远先从硬件查起,再查驱动,最后查应用。硬件问题占所有问题的60%以上,但很多人习惯先查代码,浪费大量时间。
这个内容后续还可以这样扩展:如果你对某个具体方向感兴趣,比如EtherCAT从站开发、FOC参数整定、PREEMPT_RT调优,可以针对性地做几个小项目,把每个细节都跑通。机器人行业不缺会调API的人,缺的是能把底层原理讲清楚、能把实际问题解决掉的人。