多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

DRV8818+PIC24双极步进电机方案:选型、驱动与调试全解析

DRV8818+PIC24双极步进电机方案:选型、驱动与调试全解析 上个星期我在车间调试一台AGV的顶升机构电机驱动板上的温度一路飙到九十多度电机在低速爬坡的时候开始丢步控制器那边还在闷头数脉冲根本不知道轴已经偏了。这种情况在工业现场和机器人项目里太常见了双极步进电机便宜、皮实、低速扭矩好但真正要把它伺候好从驱动芯片选型到单片机程序每一环都有讲究。今天这篇我就用TI的DRV8818PWPR驱动芯片配合Microchip的PIC24FV32KA301单片机完整梳理一套双极步进电机控制系统从选型、原理图设计、底层驱动到现场调试的思路重点说清楚为什么这么配、每个元器件和参数是怎么算出来的以及我在实际项目里踩过的坑。阅读对象锁定在做工业设备、机器人关节/外部轴、AGV这类项目的软硬件工程师尤其是那种从“用现成驱动器脉冲方向口”向“自己设计驱动电路和控制逻辑”迈进的团队。文章不会只堆Demo代码会把硬件选型理由和现场工程问题都摊开讲。1. 为什么是这个组合DRV8818PWPR PIC24FV32KA301的选型逻辑先说结论这个组合不是市面方案里性能最激进的但它是“工业可靠性”和“开发效率”之间平衡得最好的搭配之一。下面把两颗芯片各自的特点和搭配理由拆开讲。1.1 双极步进电机驱动这一层我为什么没选A4988 / DRV8825很多人一看做步进电机第一反应就是拆机的A4988或者DRV8825模块某宝十几块钱面包板上转起来也确实很顺。但如果你做的是工业机器人接口、AGV驱动桥或者自动化设备里的定位轴这类模块的短板会直接冒出来散热全靠那小块铝散热器和电路板铜箔周围环境三四五十度时驱动器先热保护电流检测灵敏度一般堵转时电机电流控制不够精细故障上报功能缺乏只能看到电机不动系统拿不到具体状态。DRV8818PWPR的定位完全不同。它是TI面向打印机、ATM和工业自动化应用设计的双H桥步进驱动芯片内置8位DAC电流控制、微步细分到1/8步、可配置的电流衰减模式并且支持通过串行接口写入配置寄存器而不是像A4988那样全靠几个引脚硬跳线。这颗芯片的供电范围是8.2V到45V峰值驱动电流能到2.5A级别TSSOP封装带散热焊盘。单从参数看DRV8825也能做到45V、2.5A、1/32细分看起来好像比DRV8818“更先进”。但DRV8818有一个对工业场景非常关键的优势电流衰减模式可以独立、精细地配置而且还有芯片级的状态反馈引脚。在电机低速微步运行、负载方向频繁变化的情况下衰减模式配置直接决定了电机是“安安静静转”还是“啸叫着爬行”这玩意在现场比账面细分高不高更重要。我把这几颗常见芯片放在一起做了个对比供选型时参考芯片型号VM范围峰值电流最大细分衰减模式状态反馈典型应用定位A49888~35V2A1/16固定混合衰减无3D打印机桌面小设备DRV88258.2~45V2.5A1/32自带混合衰减无业余设备轻型桌面数控DRV88188.2~45V2.5A1/8慢、快、混合可配支持串行配置nFAULT等状态脚工业打印机、机器人、自动化设备DRV8818还有一个实打实的优势它的ISENSE引脚配合外部采样电阻电流限制阈值可以通过VREF电压和采样电阻灵活设定不需要依赖芯片内部的固定阈值调整范围非常大。这意味着驱动0.3A的小型机器人关节电机和驱动2A的AGV驱动电机只需要改采样电阻和VREF分压硬件拓扑不用变。1.2 PIC24FV32KA301在系统里的角色够用且不折腾驱动芯片负责功率放大的同时总得有“大脑”按规划好的轨迹发脉冲。PIC24FV32KA301就是干这个的。这是一颗16位单片机核心频率最高16 MIPS左右32KB程序闪存1.8V到3.6V工作电压。我选这颗MCU而不是8位单片机核心原因是它在“控制步进电机”这个场景下的外设匹配度极高它有多个互补的PWM/输出比较OC模块能生成稳定的步进脉冲信号有10位ADC可以采样ISENSE输出和电机电流反馈有硬件I2C/SPI/UART做机器人主控间的通信也不费劲。很多人会觉得都做机器人了干脆上STM32或者直接上带FPGA的高端MCU。但你把需求仔细捋一遍就会发现单轴步进电机控制不外乎“产生脉冲”“处理方向”“监控电流和故障”“接收上位机指令”这四件事PIC24FV32KA301的资源和封装尺寸干这个绰绰有余。而且它有两个实际优势一是功耗极低适合分布式布置在机器人关节附近不做大散热设计也没有问题二是复位特性、看门狗、振荡器配置的可靠性在工业现场的口碑一直很稳。1.3 两个芯片“脾性”不同怎么搭才能不出问题这里有一个容易忽略的细节DRV8818的VM供电是8.2V起到45V属于功率域而PIC24FV32KA301是1.8V到3.6V的低压逻辑域。两者共地但不共电源逻辑接口必须做电平协调。我给的方案是PIC24FV32KA301用3.3V供电STEP、DIR、EN、nSLEEP这些控制引脚直接连到DRV8818的逻辑输入。DRV8818的逻辑输入电平不是TTL规格而是根据逻辑供电引脚来确定的很多数据手册里它兼容3.3V逻辑接3.3V单片机的GPIO没问题。但如果你用了5V单片机或者驱动板的逻辑侧供电偏高中间就必须串电阻或加电平转换。电源架构上我的做法是用一个宽压输入的DC-DC先降到12V给驱动级再用一颗低噪声LDO降到3.3V给PIC24FV32KA301和逻辑电路供电。这样做的原因是避免电机瞬间大电流拉低逻辑电源导致单片机复位这个问题我在早期原型机上踩过后面会细说。2. 硬件电路搭建围绕DRV8818PWPR的外围元器件选型细节很多人画驱动电路时眼睛只盯着芯片本身把数据手册的参考电路抄一遍就以为完事了。其实DRV8818的“脾气”全在外围电流设定电阻、衰减模式电容、电源退耦、散热焊盘处理这些直接决定现场表现。这一节把每一个关键点的设计逻辑和参数计算过程都过一遍。2.1 电机电流阈值设定ITRIP的计算不止一个公式DRV8818的电流限制是这么工作的H桥输出电流流经外部采样电阻RS在ISENSE引脚上产生一个和电流成正比的电压。芯片内部的比较器把ISENSE电压和VREF电压经过分压后的参考值进行比较一旦ISENSE电压达到阈值就关断H桥的输出让电流衰减。核心公式是ITRIP VREF / (5 × RS)这个公式里5是芯片内部的电流增益系数。你可以根据需要的电机峰值电流倒推VREF电压和采样电阻。举个例子。我用的一款42步进电机额定电流1.5A选采样电阻RS为0.2Ω的精密电阻最好是温漂低的合金电阻。根据公式VREF ITRIP × 5 × RS 1.5 × 5 × 0.2 1.5V。也就是说VREF引脚给1.5VISENSE上电压到1.5V时对应的电机电流就是1.5A芯片会在这个阈值上关断输出。有两个实操层面容易忽略的细节采样电阻一定要用四线开尔文接法把走线引到芯片的ISENSE引脚不要在和功率地之间拐来拐去VREF最好不要直接用MCU的PWM滤波产生因为这个参考电压上的纹波会直接耦合到电流阈值上导致电机电流周期性波动和噪音。我用PIC24FV32KA301的10位ADC输出过一个PWM波形的VREF结果电机低速时出现一个很明显的节拍性振动后来换成精密电位器分压才解决。2.2 电流衰减模式听上去是软件配置其实是硬件选型的一部分DRV8818支持慢衰减、快衰减和混合衰减这在很多步进驱动芯片上是靠引脚硬选的有些型号甚至固定写死。DRV8818的配置接口让衰减模式可以根据运行状态动态切换这是它面向工业场景的一个重要能力。简单解释三种衰减的区别。慢衰减就是H桥关断时让电流通过续流回路慢慢下降电流纹波小电机绕组损耗小但电流变化响应慢快衰减是强制电流快速降到零响应快但纹波大电机噪音和发热都明显混合衰减则是先快后慢兼顾两者。我在机器人关节轴上的经验是微步模式配合慢衰减或者低比例混合衰减电机会安静很多因为电流波形更平滑但在高速运行或者负载突变场景慢衰减会让电流来不及建立扭矩掉得厉害这时就需要混合衰减甚至快衰减。这个选择要在硬件阶段就把自由度留出来要么在电路板上预留跳线让DECAY引脚可以接高、接低或者接PWM要么直接通过SPI串行配置寄存器来动态改。我推荐后者因为现场调试时频繁换衰减模式去听噪音、测温升、看失步靠跳线改会让你崩溃的。2.3 电源退耦与散热看起来不起眼返工率最高VM引脚附近至少要放两个退耦电容一个大容量电解电容100μF/50V级别负责吸收电机减速回馈的浪涌能量一个高频陶瓷电容100nF负责滤除H桥开关产生的高频毛刺。电解电容一定要靠近VM端子放置走线要粗短不要绕到板子另一面再绕回来。散热是DRV8818PWPR的设计重点。TSSOP封装底部有大面积散热焊盘PCB上对应位置必须开散热过孔阵列并把铜皮连接到背面的大面积敷铜区否则这个芯片在1.5A以上连续工作时结温会迅速逼近保护阈值。我第一版PCB图省事没做散热焊盘跑到1.8A的时候IC表面烫到不敢手摸用热成像一看结温九十多度。正确做法是散热焊盘开0.3mm左右的过孔阵列孔径不要太大防止锡膏流失背面铺网格状或实心铜皮有条件再加一小块铝散热片贴在PCB背面。环境温度高于45℃的机箱内还要在结构上给驱动器留出风道。2.4 与PIC24FV32KA301的接口电路少一根线比多一根线难调试DRV8818最常用的硬件接口是STEP/DIR方式STEP脚来一个上升沿或者下降沿电机走一步DIR电平决定方向。PIC24FV32KA301侧的接线相当简单任意一个GPIO输出DIR控制方向任意一个OC输出模块或定时器翻转GPIO产生STEP脉冲nSLEEP上拉或由GPIO控制用于进入/退出低功耗模式EN引脚控制H桥输出使能nFAULT作为输入接到PIC24的GPIO用于捕获过温、过流等故障。需要特别提醒的是STEP脉冲的时序质量对电机运行平稳性影响极大。PIC24FV32KA301如果用IO翻转方式手动产生脉冲频率稍微高一点就很容易出现抖动因为中断延迟不确定。正确做法是用定时器比较输出或OC模块让硬件自动翻转引脚产生的脉冲间隔严格均匀。这一点我放到下一节程序部分详细展开。3. PIC24FV32KA301侧的程序设计从点亮LED到让电机平稳转动硬件搭完程序是另一条战线。这一节从最底层的脉冲产生讲起到加减速曲线和堵转检测给出一套可以直接在PIC24FV32KA301上落地的设计思路。3.1 用OC模块产生STEP脉冲而不是在中断里翻转GPIO先说一个很多新手栽跟头的地方想让电机转最简单的方式是写一个定时器中断每次进去翻转STEP再计个数。这种方式在低速下还能转但一加速就完蛋——中断嵌套、抢占、其他中断阻塞都会让步进脉冲间隔忽长忽短电机就会发出那种刺耳的不均匀噪声甚至直接失步。正确方案是把脉冲产生交给硬件外设。PIC24FV32KA301的输出比较模块OC可以在定时器计数到特定值时自动翻转输出引脚CPU完全不用参与。配置思路如下初始化定时器TMR2为步进脉冲时基配置OC1为PWM模式输出引脚映射到STEP通过修改寄存器控制输出比较的翻转周期即可改变脉冲频率。如果不用PWM模式更直接的方式是配置OC1和OC2成互补双输出让STEP引脚由硬件交替翻转。PIC24系列很多型号支持“双输出比较模式”配置后只需在每个加减速周期里更新一次比较值脉冲波形完全由硬件保证均匀。下面是配置OC模块产生PWM输出作为STEP信号的示意代码以PIC24的寄存器写法为基础具体头文件和引脚定义随芯片封装略有区别// TMR2配置为电机控制时基 T2CONbits.TCKPS 0b10; // 预分频1:4 T2CONbits.TMRON 1; // 启动定时器 PR2 500; // 决定PWM周期同时决定步进频率上限 // OC1配置为PWM模式引脚映射到STEP输出 OC1CON1bits.OCM 0b110; // 边沿对齐PWM OC1CON1bits.OCTSEL 0; // 时钟源TMR2 OC1CON2bits.SYNCSEL 0; OC1RS 250; // 50%占空比高电平时段稳定 OC1R 250;这样STEP脉冲的频率就由PR2和OC1RS共同决定。你只要在加减速算法里周期性更新PR2或OC1RS就能让电机按预定的速度曲线运动。实际项目里我把最高步进频率设在20kHz以内对应很多减速步进电机1/8细分下的合理转速区间再高就要考虑驱动器响应和电机电感了。3.2 方向控制和微步序列的状态机方向很简单DIR引脚的电平决定转还是不转。但要注意在STEP脉冲边沿前后DIR电平需要保持稳定否则电机可能在一个序列中间反向导致瞬时抖动甚至失步。我的做法是在任何速度变化之前先改DIR再延迟30μs左右确保驱动芯片把方向锁存好。微步细分方面DRV8818支持1/1、1/2、1/4、1/8每种细分都对应一到两个NSTEP引脚或状态位。如果你选的版本是通过串行接口配置那么微步模式就通过写入配置寄存器来设定而不是靠MCU去数每一步的相序。无论哪种在应用程序层面你都只需要为一个完整电气周期生成对应数量的STEP脉冲然后把位置累加器加相应数字。3.3 梯形加减速曲线为什么必须加以及加多快合适步进电机本质上是一个开环位置系统。如果你一上来就以10000步/秒的速度给脉冲电机转子的机械惯性根本追不上磁场旋转速度直接失步。正确的思路是让转速沿着一条平滑的曲线爬升到目标值减速时再平滑降下来这就是梯形加减速曲线。梯形曲线的时间-速度图形是一条梯形加速阶段、恒速阶段、减速阶段。在计算上每个控制周期比如1ms根据当前速度和加速度更新下一个位置的步进周期。加速度上限主要取决于负载惯量和电机的保持转矩。一个粗略的经验公式是最大角加速度 αmax ≈ (T_hold - T_load) / J其中T_hold是电机在目标转速附近的可用扭矩T_load是负载转矩J是把折算到电机轴上的总转动惯量。实际调试时我一般从比较保守的加速度值开始比如2000步/s²然后逐渐向上加直到电机出现异常噪音或者轻微丢步再回退10%~15%作为稳定工作点。步进脉冲频率和运动速度的关系也很直接。1/8细分下步距角是1.8°除以8等于0.225°。如果目标是每分钟30转那么每秒转半圈每秒需要的电气步数是360/0.225×0.5反复换算后是800步。// 梯形加减速的核心更新逻辑简化版 // 每个1ms控制周期调用一次 if (accelPhase) { speed ACCEL_STEP; // 速度递增 if (speed targetSpeed) { // 到达恒速段 speed targetSpeed; accelPhase 0; } } else if (decelPhase) { speed - DECEL_STEP; // 速度递减 if (speed 0) { speed 0; motorDone 1; decelPhase 0; } } // 根据speed换算下一次更新OC寄存器需要的PR2值 period CLOCK_FREQ / speed; PR2 period;减速度和加速段的距离计算要提前规划如果你总共要走N步加速用了Na步减速用了Nd步恒速段就是N-Na-Nd。如果目标步数太少梯形曲线会变成三角形这时候加速还没有到目标速度就要开始减速这是一个很常见的边界情况程序里必须专门处理否则会出现短距离定位时速度曲线截断导致剧烈冲击。3.4 用ADC做堵转检测和电流监控开环步进系统最怕的就是堵转电机被卡住了控制系统还在继续发脉冲结果真正的位置和期望位置完全脱节。加了减速箱的关节轴这种情况甚至会损坏机械结构。我利用PIC24FV32KA301自带的ADC来做一个简单的堵转检测在串行电阻ISENSE上采样电压除了给DRV8818内部做电流限制外还可以通过运放分压送到PIC24的ADC引脚。电机正常运转时ISENSE电压的波形和电流波形一致幅度在预期范围内一旦堵转电流会快速攀升并持续在限制值附近ISENSE电压的直流分量显著上升。程序里设定一个阈值连续采样到10ms以上的高电流状态就判断为堵转随后控制nSLEEP或EN引脚关断输出并向上位机报告故障。这个方法不能替代编码器闭环但在很多低成本机器人项目里它能把“电机卡死导致机械损坏”这个最严重的风险控制住。如果你真的需要绝对的位置准确性后续在电机后端加磁编码器、做闭环控制是另一个话题但ADC堵转检测作为第一道防线已经很有价值。4. 从实验室到工业机器人现场真实系统里的调试与运行实验室里转起来和现场稳定跑起来永远差着十万八千里。这一节聊聊我在实际工业设备和机器人项目里遇到的系统集成问题。4.1 上电顺序驱动器不是线插上就能干活工业设备讲究时序步进驱动系统更是如此。我见过不止一次上电瞬间电机猛跳一下然后驱动器就报错了。原因很简单单片机还在烧程序或者复位此时STEP/DIR引脚处于高阻或不确定状态驱动芯片可能采集到随机脉冲把电机强行驱动了一个不确定的角度。合理的上电顺序是先给驱动级VM上电再给逻辑电源PIC24和DRV8818逻辑上电然后单片机复位完成先把DIR、STEP、EN、nSLEEP全部初始化成确定电平最后才把使能EN置为有效。如果工艺要求必须一路电同时上那就在硬件上加RC延时电路让EN比VM晚有效。检查上电后电机是否停在初始位置的逻辑如果做成软件记得在初始化函数里加一定数量的“零位寻找”动作。4.2 微步细分到底选多少噪音、平稳性和性能的平衡很多工程师一看到支持1/8细分就习惯性把所有电机都设成1/8。其实细分高起来每个STEP脉冲对应的步距角更小电机的振动和噪音会显著下降但代价是控制频率成倍提高同样的转速需要更高频的STEP脉冲对单片机算力和驱动器响应都提出更高要求。DRV8818支持到1/8细分在这个配置下42步进电机以30转/分钟运行时噪音比全步降低非常明显可是你再往上提比如一些芯片的1/16、1/32对DRV8818来说已经不支持了。我的经验1/8细分对大多数工业应用是甜点区电机运行平稳度足够开环定位精度比全步高脉冲频率也还在PIC24的OC模块轻松处理的范围内。有一个反直觉的现象需要提一句微步细分越高低速扭矩会略微下降因为相邻微步之间的电流矢量逼近圆形但细分数翻倍并不会带来扭矩翻倍。如果你在低速重负载工况下发现电机力度不够先检查电流设定和衰减模式而不是一味降低细分。4.3 机器人场景作为外部轴和关节模块的系统集成在机器人项目里PIC24FV32KA301和DRV8818PWPR的组合通常会作为“外部轴”或“附加关节”的运动控制核心。外部轴是指在六轴机器人本体之外增加的移动轴比如地轨和变位机。这类应用的经典接法是机器人主控通常是倍福、Codesys或厂家控制器通过CANopen或EtherCAT通信把目标位置发给PIC24侧PIC24负责减速规划和步进脉冲生成DRV8818负责功率驱动。这里有一个关键的工程决策要不要加光耦隔离。我的建议是只要电机和驱动系统与主控不共地比如主控是24V工业电源机器人本体是伺服驱动的大功率地就一定要在STEP/DIR信号上做高速光耦隔离。否则地线环流会让控制系统偶发复位甚至烧毁MCU的IO口。光耦选型时注意传播延迟尽量选1Mbps以上的高速光耦否则高频STEP脉冲会被削边直接导致电机电流波形畸变。4.4 掉线、断电、急停系统的安全释放逻辑工业本体相比之下还有一个“断电自锁还是自由释放”的经典设计问题。步进电机在没有施加电流时本身不产生保持转矩关节轴如果在竖直方向断电后会被负载带动下滑造成事故。有些项目要求断电时电机保持那就在VM端并联超级电容或者直接用带抱闸的电机如果设计意图要求紧急停机后可以手动盘动关节那就要让系统进入时软件释放PWM输出并通过界面明确提示操作员。我的做法是为nSLEEP/EN控制做一个独立的安全逻辑平时由PIC24完全掌控一旦主控通信超时或触发了硬件急停信号PIC24立即关闭驱动输出让电机进入自由状态同时通过状态灯和上位机报警。这个逻辑必须写在底层不能依赖上位机软件的“温柔”关机流程。5. 我真实踩过的几个坑从原理图到现场调试的完整排查链路最后这部分是我的“血泪史”这些问题的排查过程比正确代码本身更有参考价值。5.1 电机温度正常驱动芯片却烫得离谱衰减模式没有按电流下降沿配置现象是电机用手摸只是温热但DRV8818表面烫得不能碰。万用表测VM电流发现静态电流比电机额定电流高出一大截。排查链路是这样的先排除PCB焊接短路再检查ISENSE采样电阻是否虚焊最后用示波器抓ISENSE波形发现电流纹波非常大、衰减得很慢。问题其实就出在衰减模式上——我当时把衰减模式引脚固定接低选的是慢衰减。慢衰减在低速全步运行时电流纹波大、续流时间长H桥内部功率管换流损耗极大芯片自然发烫而电机因为电流有效值不高反而没怎么热。解决方法是把衰减模式改为混合衰减先快再慢同时把采样电阻电流阈值从1.5A调到1.2A芯片温度立刻降了二十多度。这个案例说明看芯片温度不能只看电机温度你的衰减模式设定直接影响H桥开关损耗这在重负载运行下是效率差异的核心来源之一。5.2 ISENSE走线太长导致电流阈值不稳定第二版PCB上我把采样电阻放在了驱动芯片对角位置导致ISENSE信号走线绕了大半个板子中间还隔了一根STEP脉冲走线。现象是电机低速时扭矩忽大忽小示波器上ISENSE电压有很强的毛刺干扰芯片的过流比较器误触发频繁。排查到最后发现ISENSE是一个对噪声极其敏感的低幅值模拟信号任何数字走线的串扰都会直接表现为电流环路的抖动。后来的改板规则三条ISENSE走线必须是45°或者圆弧短走线旁边用地线包住采样电阻和芯片距离控制在5mm以内绝对禁止高压或高频数字线从ISENSE下方穿过。5.3 程序烧写后电机完全不动但万用表量STEP引脚有电压这个坑特别隐蔽。我一开始以为PIC24输出波形不对示波器一抓STEP引脚确实有20kHz的方波DRV8818的VM有24VEN也是高电平。但电机就是纹丝不动。用逻辑分析仪对比STEP和DIR的时序才发现MCU上电初始化时DIR引脚先变高然后经过一段不确定时间才让EN使能。而DRV8818对EN的上升沿判断可能在DIR不稳定的窗口期导致芯片进入了一种没有输出的状态。解决方法是固件初始化顺序严格固定先配置所有GPIO为输出模式并拉低再拉高EN最后才开始发脉冲同时把DIR变化和STEP脉冲之间的最小间隔做到30μs以上。改完这个顺序之后同样的硬件再没有出现过“程序跑着但电机不动”的怪问题。5.4 电磁干扰导致偶发失步机器人现场的“幽灵”问题最后这个坑是最难排查的。现场一台机器人本体的伺服电机一加速旁边的步进轴就偶尔丢几步没有规律重启后又能好一阵。这种偶发问题最烧时间用示波器挂在STEP/DIR上看偶发的一瞬间确实能看到脉冲幅度被拉低。根因是伺服驱动器的主回路开关噪声通过共用电源线耦合到了步进驱动板的逻辑电源。我最终加了三个措施DC-DC输出到逻辑LDO之间串联一个磁珠STEP/DIR信号线改成双绞线并靠近地平面走线驱动板的逻辑地和功率地单点连接。改完之后连续跑了一周都没有再复现丢步。这个问题的核心启示是工业现场的步进系统EMC设计和电路功能设计同样重要而且EMC问题往往要等到系统级联调才会暴露实验室很难复现。最后分享一个我保留至今的调试习惯做步进电机驱动系统这几年我有一个现在无论如何都不会省掉的习惯第一版PCB上一定要预留出ISENSE、VREF、故障状态的测试点并且丝印上标好引脚名称。别小看这几个测试点现场调试时它们是定位问题的“生命线”。没有测试点你就只能靠万用表扎芯片引脚不小心短路一下驱动芯片就没了一换又是几小时。第二版打样时就算位置紧张我也会在板边放一个2.54mm的排针座把所有需要监控的关键信号引出来成本不到几毛钱价值却极大。你手上这套DRV8818PWPR加PIC24FV32KA301的方案只要按照上面的思路把硬件细节和固件时序都做扎实拿到工业现场去跑基本不会出大问题。
返回列表