首页 / 资讯中心 / 文章详情

DRV8818PWPR与PIC18F4682双极步进电机驱动方案实战

DRV8818PWPR与PIC18F4682双极步进电机驱动方案实战 ★ FEATURED ARTICLE
双极步进电机在工业现场和机器人关节里出现的频率极高原因很直接它便宜、扭矩密度够、开环控制就能跑出不错的位置精度。但真要把一颗步进电机驱动到不丢步、不啸叫、不烧管的程度光靠一个驱动芯片或者一颗MCU是远远不够的。我最近在做一个机械臂末端夹爪的改造项目用的就是DRV8818PWPR配PIC18F4682这套组合中间踩了不少坑也积累了一些在数据手册里翻不到的细节。这篇文章就把整套方案从选型逻辑、硬件设计、寄存器配置到现场调试的完整链路拆开讲一遍适合正在做步进电机控制、或者准备从现成的驱动模块转向自研板子的朋友参考。不管你是刚接触步进电机的新手还是已经用过A4988、TMC系列想换方案的老手应该都能从里面找到点有用的东西。1. 为什么是DRV8818PWPR加PIC18F4682这套组合1.1 双极步进电机的驱动需求到底卡在哪先把这个问题的本质说清楚。双极步进电机有两相绕组没有中间抽头必须靠H桥做电流换向。它和单极电机最大的区别在于单极电机可以用简单的达林顿阵列驱动而双极电机必须能双向通流而且要在每个微步位置精确控制两相电流的比例。这就对驱动器提出了三个硬性要求第一H桥的导通电阻要低否则大电流下发热压不住第二电流斩波频率要够高不然低速时会有明显的电流纹波和噪音第三微步细分能力要够细否则机器人关节在低速运动时会有明显的爬行感。DRV8818PWPR这颗芯片恰好在这三点上都做得比较均衡。它是TI的步进电机驱动器内置双H桥支持最高1/8微步细分峰值电流可以到2.5A导通电阻在25度时大约0.3欧姆上下桥加起来。封装是HTSSOP-28带散热焊盘贴板之后散热效果比那些DIP封装的模块好很多。更关键的是它内置了电流斩波用的比较器和DACMCU只需要给方向和脉冲电流大小通过VREF引脚上的电压来设定不需要MCU参与电流环的运算。那为什么选PIC18F4682而不是STM32或者别的这个选择其实和项目背景有关。我手上这个夹爪控制器原本就有一块PIC18F4682的板子它是8位MCU80脚TQFP封装有ECCP模块可以硬件产生PWM有两个比较器有SPI和I2C跑40MHz晶振的时候指令周期是10MIPS。对于步进电机控制来说它的定时器和PWM资源刚好够用而且8位机的代码量小、中断响应确定不像32位机那样容易因为中断嵌套和缓存问题引入脉冲抖动。当然如果你是从零开始做用STM32或者国产的32位MCU也完全没问题逻辑是相通的。1.2 这套组合在工业和机器人场景里的定位工业场景和机器人场景对步进电机控制的要求其实不太一样。工业设备比如传送带、分拣机构、点胶机更看重的是长时间运行的稳定性和抗干扰能力速度不一定高但绝对不能丢步因为丢一步可能就意味着一个工件报废。机器人场景比如机械臂关节、夹爪、云台更看重的是低速平稳性和响应速度因为关节运动往往是频繁启停、变速的而且对噪音敏感。DRV8818PWPR的1/8微步在工业场景里够用因为工业设备的运动行程通常比较长微步误差会被累积行程稀释掉。但在机器人关节这种小行程、高精度场景里1/8微步可能就不太够了这时候要么换更高细分的驱动器要么在机械减速比上做文章。我这次做夹爪用的是1/8微步配1:30的行星减速箱实际末端分辨率能到0.02度左右对于夹爪开合来说完全够用。PIC18F4682在这两个场景里的优势是它的ECCP模块可以配置成单输出PWM模式配合定时器中断产生脉冲序列脉冲频率的抖动可以控制在几个指令周期以内。这一点在机器人关节低速运动时特别重要因为脉冲抖动会直接转化成电机的转矩脉动听起来就是咔咔的噪音。1.3 选型时容易被忽略的三个参数第一个是驱动器的电流衰减模式。DRV8818PWPR支持快衰减、慢衰减和混合衰减通过DECAY引脚来配置。很多人在调试时发现电机低速时噪音大、发热高往往就是衰减模式没配对。慢衰减在低速时电流纹波小、噪音低但高速时电流跟不上快衰减高速响应好但低速噪音大。混合衰减是折中方案具体比例要根据电机电感来调。第二个是VREF电压和采样电阻的关系。DRV8818PWPR的电流设定公式是I_trip VREF / (5 × R_sense)其中R_sense是采样电阻。很多人直接拿模块上的0.1欧姆电阻来算但忽略了芯片内部还有5倍的增益。如果你要设定1A的电流VREF应该是1 × 5 × 0.1 0.5V。这个电压可以用MCU的PWM加RC滤波产生也可以用DAC但要注意PWM频率要远高于RC滤波的截止频率否则VREF上会有纹波导致电流设定值抖动。第三个是PIC18F4682的定时器资源分配。这颗MCU有5个定时器Timer0是8位/16位可选的Timer1和Timer3是16位的Timer2是8位的。做步进电机控制时通常用Timer1做脉冲周期定时Timer2做PWM输出如果要用PWM调VREFTimer0做系统滴答。这里要注意Timer1和Timer3可以组成32位定时器但一旦组成就不能单独用了所以在资源分配时要提前规划好。2. 硬件设计里那些数据手册不会告诉你的细节2.1 采样电阻的选型和布局采样电阻是步进电机驱动电路里最容易被轻视的元件。它的阻值决定了电流检测的灵敏度它的封装决定了散热能力它的布局决定了检测精度。DRV8818PWPR的采样电阻接在SENSE1和SENSE2引脚到地之间芯片内部会对这个电阻上的电压进行比较。阻值选择上常见的是0.1欧姆和0.05欧姆。0.1欧姆在1A电流下产生0.1V的压降功耗是0.1W用0805封装就够了。0.05欧姆在2A电流下产生0.1V压降功耗0.2W建议用1206封装。我这次用的是0.1欧姆的0805电阻因为夹爪电机的额定电流只有0.8A峰值1.2A0.1欧姆下最大压降0.12V功耗0.0144W余量很足。布局上有个坑要特别注意采样电阻的接地端必须单独走一根线回到芯片的GND引脚不能和功率地混在一起。因为采样电阻上的电压只有几十到一百多毫伏如果功率地上的电流流过采样电阻的接地路径就会在采样电压上叠加一个误差。我第一版板子就是图省事把采样电阻的地直接连到了铺铜上结果电机低速时电流明显偏大用示波器看采样电阻上的波形发现底部有几十毫伏的毛刺后来改成单点接地就正常了。提示采样电阻到芯片SENSE引脚和GND引脚的走线要尽量短且等长最好用地线包围减少外部磁场耦合。2.2 电荷泵电容和自举电容的取值DRV8818PWPR内部有电荷泵用来给高边NMOS的栅极提供驱动电压。电荷泵需要外接一个飞跨电容和一个储能电容。数据手册上推荐飞跨电容是10nF储能电容是100nF都是陶瓷电容。这两个电容的耐压要至少16V因为电荷泵的输出电压大约是VM加几伏。自举电容是给高边驱动供电的DRV8818PWPR内部集成了自举二极管只需要外接自举电容。电容值推荐100nF耐压16V以上。这里有个细节自举电容的容值不能太小否则在高频PWM下电荷来不及补充高边MOS会驱动不足导致导通电阻变大、发热增加。但也不能太大太大会增加开关损耗。我实测下来100nF在20kHz到50kHz的斩波频率下表现最好。还有一个容易被忽略的点电荷泵和自举电容的接地回路要尽量短最好直接连到芯片的GND焊盘上。如果走线太长寄生电感会在开关瞬间产生振铃严重时会把电容打坏。2.3 散热焊盘的处理方式DRV8818PWPR是HTSSOP-28封装底部有一个大的散热焊盘。这个焊盘必须焊到PCB上而且PCB上要打足够多的过孔把热量传到背面或者内层。我一般会在焊盘下面打9个过孔孔径0.3mm间距1mm过孔内壁镀铜。如果板子有内层地平面这些过孔直接连到地平面上散热效果最好。焊接的时候要注意散热焊盘上的锡膏量要控制好。太多会导致芯片浮起来引脚虚焊太少会导致散热焊盘接触不良。我通常用钢网印刷焊盘上开一个比焊盘略小的窗口锡膏厚度0.1mm左右。回流焊之后用X光检查一下确保焊盘下面没有大的空洞。实测下来在1A电流、20kHz斩波频率下芯片表面温度大约比环境高30度。如果环境温度是40度芯片温度就是70度左右离150度的结温上限还有很大余量。但如果电流到2A温度会明显上升这时候要么加散热片要么降低斩波频率要么改善PCB散热。2.4 电源去耦和电机供电的隔离电机供电和逻辑供电必须分开去耦。VM引脚上要并一个大电容比如100uF的电解或者钽电容和一个小电容100nF的陶瓷大电容负责吸收电机换向时的电流冲击小电容负责滤高频。VCC引脚逻辑供电上也要并100nF和1uF的电容。电机供电和逻辑供电最好来自不同的电源或者至少用磁珠或者电感隔开。因为电机在换向时会在电源线上产生很大的di/dt如果逻辑供电和电机供电共用一条线逻辑电源上会有很大的纹波严重时会导致MCU复位或者驱动器误动作。我这次用的是24V电机供电和5V逻辑供电5V是用24V经过DC-DC降压得到的但在DC-DC输出之后又加了一级LC滤波确保逻辑电源干净。注意如果电机供电和逻辑供电必须共地要确保地线上的电流不会流过敏感信号的地。通常的做法是单点接地功率地和信号地在电源入口处汇合。3. PIC18F4682的脉冲发生和电流设定逻辑3.1 用ECCP模块产生步进脉冲PIC18F4682的ECCP模块可以配置成PWM模式但步进电机需要的是脉冲序列不是固定占空比的PWM。所以更常用的做法是用定时器中断来翻转IO口。具体来说用Timer1做周期定时在中断里翻转STEP引脚的电平同时更新DIR引脚的状态。Timer1的配置要注意几点第一Timer1的时钟源可以选择内部指令周期或者外部晶振做步进脉冲时用内部时钟就够了第二Timer1的预分频器有1:1、1:2、1:4、1:8四档要根据需要的脉冲频率来选第三Timer1的初值要在中断里重新装载因为PIC18的定时器是向上计数的溢出后需要手动重载。假设系统时钟是40MHz指令周期是0.1us因为PIC18是4分频40MHz/410MHz指令周期0.1us。如果要产生10kHz的脉冲周期是100usTimer1需要计数1000次100us/0.1us。如果预分频是1:1Timer1的初值就是65536-100064536。在中断里重新装载这个值然后翻转STEP引脚。这里有个细节中断服务程序的执行时间会影响脉冲周期的精度。如果中断里做了太多事情比如更新多个变量、调用函数中断响应时间就会变长导致脉冲周期抖动。我一般把中断里的代码精简到最少只做翻转IO和重载定时器两件事其他逻辑放到主循环里处理。3.2 用PWM加RC滤波设定VREF电压前面说过DRV8818PWPR的电流设定靠VREF引脚上的电压。这个电压可以用PIC18F4682的PWM输出经过RC滤波得到。PIC18F4682有两个PWM模块一个是ECCP一个是标准PWM。如果ECCP用来做别的了可以用标准PWM来产生VREF。PWM频率的选择很关键。RC滤波的截止频率是1/(2πRC)PWM频率要远高于这个截止频率一般至少是10倍以上否则VREF上会有明显的纹波。假设R10kC1uF截止频率是15.9HzPWM频率至少要160Hz以上。但PWM频率也不能太高太高了PWM的分辨率会下降。PIC18F4682的PWM分辨率是10位如果PWM频率是20kHz在40MHz时钟下PWM周期是2000个指令周期10位分辨率需要1024个计数刚好够用。实际计算一下如果VREF要设定0.5VPWM的占空比应该是0.5/510%假设PWM输出经过RC滤波后的满量程是5V。10位PWM下占空比10%对应的计数值是102。这个值写入PWM的占空比寄存器就可以了。但这里有个问题RC滤波的输出阻抗不能太高否则VREF引脚的输入电流会导致电压下降。DRV8818PWPR的VREF引脚输入电流很小一般是微安级所以10k的电阻没问题。但如果用100k的电阻输入电流就会在电阻上产生明显的压降。我一般用10k加1uF实测VREF上的纹波在10mV以内对电流设定的影响可以忽略。3.3 微步细分的配置和时序要求DRV8818PWPR的微步细分通过MODE0、MODE1、MODE2三个引脚来配置支持全步、1/2、1/4、1/8四种模式。这三个引脚的电平在芯片上电或者复位时被锁存运行过程中改变不会立即生效。所以如果要动态改变细分需要先拉低nSLEEP或者nRESET改变引脚电平后再释放。微步细分的时序要求是在STEP脉冲的上升沿芯片会根据当前细分模式更新内部DAC的输出改变两相电流的目标值。所以STEP脉冲的上升沿要干净不能有振铃或者毛刺否则芯片可能会误判。我一般会在STEP引脚上串一个100欧姆的电阻靠近芯片放置用来抑制反射。还有一个细节在改变细分模式或者改变方向时最好先停止STEP脉冲等一段时间再改变避免在脉冲过程中改变状态导致丢步。我通常会在改变方向前至少等待1ms确保最后一个脉冲已经执行完毕。3.4 电流衰减模式的动态切换DRV8818PWPR的DECAY引脚可以配置成快衰减、慢衰减或者混合衰减。在实际运行中低速时用慢衰减噪音小高速时用快衰减响应好。如果要在运行中动态切换可以通过MCU的IO口来控制DECAY引脚。但动态切换有个风险在切换瞬间电流波形会有一个突变可能导致电机抖动。我一般会在电机停止或者低速运行时切换避免在高速运行时切换。如果必须在高速时切换可以在切换前后加一个短暂的斜坡让电流平滑过渡。实测下来对于夹爪这种低速应用直接用慢衰减就够了噪音最低发热也最小。对于需要快速响应的场景比如机械臂关节的快速定位可以用混合衰减兼顾响应和噪音。4. 现场调试中遇到的真实问题和排查过程4.1 电机低速时噪音大、发热高这是我在调试初期遇到的最典型问题。电机在低速运行时发出明显的嗡嗡声而且驱动器芯片温度偏高。用示波器看电机相电流波形发现电流纹波很大而且有明显的尖峰。排查过程是这样的首先怀疑是斩波频率太低把斩波频率从20kHz提高到40kHz噪音略有改善但发热没降。然后怀疑是衰减模式不对把DECAY引脚从慢衰减改成混合衰减噪音反而更大了。最后用示波器仔细看VREF引脚发现上面有大约50mV的纹波频率和PWM频率一致。问题就出在这里VREF上的纹波导致电流设定值在不停抖动电机电流跟着抖动就产生了噪音和额外发热。解决办法是在VREF引脚上再并一个10uF的钽电容把纹波压到5mV以内。改完之后噪音明显降低芯片温度也降了大约10度。这个问题的根因是RC滤波的截止频率太高PWM频率不够高。我原来的RC是10k加1uF截止频率15.9HzPWM频率是20kHz理论上纹波应该很小。但实际上PWM输出引脚的内阻和PCB走线的寄生参数会影响滤波效果加一个钽电容做二级滤波就解决了。4.2 高速运行时丢步夹爪在快速开合时偶尔会丢步表现为夹爪位置偏移而且偏移量不固定。丢步是步进电机最头疼的问题因为它是开环控制丢了就丢了没有反馈。排查丢步问题我一般按这个顺序来先看电流够不够再看加速度是不是太大最后看脉冲时序有没有问题。用示波器同时抓STEP脉冲和电机相电流发现丢步的时候STEP脉冲频率已经到15kHz但电机相电流的上升沿明显变缓说明电流跟不上。原因是电机的电感比较大在高速时电流上升时间变长如果脉冲频率太高电流还没升到设定值下一个脉冲就来了导致平均电流下降扭矩不足。解决办法有两个一是提高电机供电电压从24V提高到36V加快电流上升速度二是降低加速度让电机有时间建立电流。我两个都做了供电提到36V加速度从1000步/秒平方降到500步/秒平方丢步问题就解决了。这里有个经验步进电机的扭矩随速度上升而下降这是由电机电感和反电动势决定的。选电机的时候要看扭矩-速度曲线确保在工作速度范围内有足够的扭矩余量。一般建议留30%以上的余量。4.3 上电瞬间电机抖动每次上电时电机都会抖一下有时候还会发出咔的一声。这个问题困扰了我很久因为上电抖动在夹爪应用里是不可接受的可能会把夹持的工件碰掉。排查发现上电时PIC18F4682的IO口默认是高阻态而DRV8818PWPR的STEP和DIR引脚内部有上拉或者下拉导致上电瞬间STEP引脚上出现了一个意外的脉冲。同时VREF引脚在上电时还没有建立稳定的电压驱动器可能处于不确定状态。解决办法分两步第一在PIC18F4682的初始化代码里先把STEP和DIR引脚配置成输出低电平再配置其他外设第二在DRV8818PWPR的nSLEEP引脚上接一个RC延时电路让驱动器比MCU晚一点使能等MCU的IO口稳定之后再让驱动器工作。具体电路是nSLEEP引脚接一个100k电阻到VCC同时接一个1uF电容到地。上电时电容通过电阻充电nSLEEP电压缓慢上升大约100ms后达到使能阈值。这段时间足够MCU完成初始化并设置好IO口。4.4 用示波器抓波形时的接地陷阱调试步进电机驱动时示波器是最重要的工具但也是最容易引入误判的工具。我一开始用示波器看采样电阻上的电压波形发现上面有巨大的尖峰以为驱动器有问题。后来发现是示波器探头的地线夹在了功率地上而功率地上有电机换向时产生的大电流脉冲这些脉冲在探头地线上产生了压降叠加到了测量结果上。正确的做法是测量采样电阻上的电压时探头的地线要夹在采样电阻的接地端而不是随便夹在板子的GND上。如果采样电阻的接地端和板子GND之间有走线阻抗最好用差分探头或者用两个探头做数学运算。还有一个细节示波器的带宽限制要打开一般20MHz就够了可以滤掉高频噪声让波形更干净。如果看的是电流波形可以用电流探头但电流探头也有带宽和量程的限制要选合适的档位。5. 从能跑到跑好几个提升稳定性的实战技巧5.1 加减速曲线的设计步进电机不能突然启动到高速也不能突然从高速停止必须有一个加减速过程。最简单的加减速是梯形曲线加速阶段匀加速匀速阶段保持速度减速阶段匀减速。但梯形曲线在加速和减速的拐点处加速度有突变会产生冲击。更好的方案是S形曲线加速度也是渐变的冲击更小。在PIC18F4682上实现S形曲线可以用查表法。预先算好一条S形曲线的速度表存在Flash里运行时按索引查表得到当前速度对应的定时器重载值。这样计算量小适合8位MCU。表的长度一般是256或者512个点根据加速步数来定。我这次用的是简化的S形曲线加速阶段分三段第一段加速度从0线性增加到最大值第二段保持最大加速度第三段加速度从最大值线性减小到0。这样拐点处的冲击比梯形曲线小很多代码量也不大。5.2 电流设定的温度补偿步进电机的绕组电阻随温度升高而增大铜的电阻温度系数是0.39%/度。如果环境温度从25度升到75度绕组电阻会增加大约20%。在恒定电压驱动下电流会下降20%扭矩也跟着下降。虽然DRV8818PWPR是电流斩波驱动电流不随电阻变化但电机的扭矩常数也会随温度略有变化。对于高精度应用可以在电机上贴一个NTC热敏电阻用PIC18F4682的ADC读取温度然后根据温度调整VREF电压补偿扭矩变化。我这次做的夹爪对扭矩精度要求不高没有做温度补偿但在一些精密点胶或者装配应用里这个补偿是必要的。5.3 堵转检测和保护的实现步进电机堵转时电流会升到最大长时间堵转会烧电机或者驱动器。DRV8818PWPR本身有过流保护但它是硬件保护触发后需要重新使能才能恢复。更好的做法是在MCU里做堵转检测提前降速或者停止。堵转检测的原理是正常运行时电机相电流是斩波控制的电流波形有规律的纹波。堵转时反电动势消失电流上升更快斩波频率会变化。可以通过检测斩波频率或者电流波形的占空比来判断是否堵转。另一种方法是检测STEP脉冲的实际执行情况如果连续多个脉冲电机没有动就判断为堵转。但开环控制下没有位置反馈这个方法需要额外的传感器。我这次用的是简单方案在夹爪闭合时如果电流持续超过设定值的90%超过100ms就认为夹爪已经夹紧或者堵转停止发送脉冲。这个方案不需要额外传感器靠DRV8818PWPR的电流检测输出或者MCU的ADC采样采样电阻电压就能实现。5.4 PCB布局的几点经验PCB布局对步进电机驱动的稳定性影响很大。我总结了几条经验第一功率走线要尽量宽1A电流至少用40mil的线宽2A用80mil第二功率地和信号地要分开最后在电源入口处单点汇合第三采样电阻的接地端要单独走线到芯片GND不要和功率地混在一起第四电荷泵和自举电容要靠近芯片放置走线要短第五STEP和DIR信号线要远离功率线如果必须交叉尽量垂直交叉。还有一点芯片的散热焊盘下面要多打过孔过孔要连接到地平面或者专门的散热铜皮上。如果板子是双面板可以在背面铺一块铜皮通过过孔和散热焊盘连接增加散热面积。5.5 代码层面的抗干扰措施工业现场的电磁干扰比较严重MCU的代码要有抗干扰措施。第一所有IO口都要配置成确定的状态不要悬空第二中断服务程序要短不要在里面做浮点运算或者调用库函数第三关键变量要加volatile修饰防止编译器优化导致意外第四看门狗要打开防止程序跑飞第五通信接口如果有要加校验和重传机制。我这次的项目里PIC18F4682的配置字里打开了看门狗超时时间设成256ms。主循环里定期喂狗如果程序跑飞看门狗会复位MCU复位后重新初始化电机停止不会造成危险。6. 这套方案还能怎么扩展6.1 从单轴到多轴级联控制的思路如果要做多轴控制比如三轴机械臂或者XY平台可以用多片DRV8818PWPR加一片PIC18F4682。PIC18F4682有足够的IO口和定时器资源来控制3到4个轴。每个轴用一个定时器产生脉冲用不同的IO口输出STEP和DIR信号。VREF可以用同一个PWM输出经过不同的RC滤波网络产生也可以用多个PWM通道。多轴控制的关键是脉冲输出的同步和协调。如果要做直线插补或者圆弧插补需要计算每个轴的速度比例然后协调输出。这在8位MCU上做起来比较吃力可能需要换32位MCU。但如果只是简单的多轴独立运动PIC18F4682完全够用。6.2 加入位置反馈做闭环开环步进电机最大的问题就是丢步加入编码器做闭环可以解决这个问题。可以在电机轴上装一个增量式编码器用PIC18F4682的定时器或者外部中断来计数。如果发现实际位置和目标位置偏差超过阈值就调整脉冲输出或者报警。闭环控制还可以实现更高级的功能比如力矩控制、位置保持、堵转检测等。但闭环控制的代码复杂度比开环高很多需要做PID调节对MCU的运算能力也有要求。如果要做闭环建议用32位MCUPIC18F4682的8位架构做PID会比较吃力。6.3 用SPI或者I2C扩展外设PIC18F4682有SPI和I2C接口可以扩展外部DAC、ADC、EEPROM等外设。比如用外部DAC来设定VREF电压比PWM加RC滤波更精确、更稳定。或者用外部EEPROM存储运动参数掉电不丢失。我这次的项目里用I2C接了一个EEPROM存储夹爪的开合位置、速度、加速度等参数。这样每次上电不需要重新校准直接从EEPROM读取参数就行。EEPROM用的是24C022Kbit容量足够存几十个参数。6.4 从DRV8818升级到更高性能的驱动器如果应用需要更高的细分比如1/32或者1/64、更高的电流比如3A以上、或者更安静的运行可以考虑升级到TI的DRV8825或者DRV8880。DRV8825支持1/32微步电流到2.5A引脚和DRV8818基本兼容只需要改几个外围元件。DRV8880支持1/16微步内置了自适应衰减算法可以根据电机参数自动调整衰减模式噪音更低。但升级驱动器意味着要重新设计PCB和调整代码成本不低。如果DRV8818PWPR能满足需求没必要为了追求参数而升级。选型的核心原则是够用就好留20%到30%的余量不要过度设计。6.5 在机器人关节里的实际应用案例最后分享一个实际案例。我这次做的夹爪是一个两指平行夹爪用一颗42步进电机驱动减速比1:30最大夹持力大约20N。控制板就是PIC18F4682加DRV8818PWPR供电24V电流设定0.8A1/8微步。夹爪的运动控制分三个阶段快速接近、慢速夹紧、保持。快速接近阶段用高速度、低加速度尽快走到目标位置附近慢速夹紧阶段用低速度、高加速度精确控制夹持力保持阶段停止脉冲但保持电流维持夹持力。实测下来夹爪从完全张开到完全闭合大约需要0.8秒位置重复精度在0.05mm以内噪音在50dB以下。这个性能对于一般的工业夹取应用已经足够了。如果要做更精密的装配可能需要更高的细分和闭环控制那就是另一个方案了。这套方案的核心价值在于用一颗8位MCU和一颗集成驱动器实现了工业级的步进电机控制成本低、代码量小、可靠性高。对于中小批量的工业设备和机器人应用来说是一个性价比很高的选择。当然如果你的应用对性能要求更高或者需要更复杂的运动控制那就需要考虑32位MCU和更高性能的驱动器了。选型没有绝对的好坏只有适不适合。
阅读完成 · 觉得有帮助?
咨询建站