👨🏫🥰🥳需要机械臂相关资源的同学可以在评论区中留言哦🤖😽🦄
指南目录📖:
机械臂速成小指南(二十三):Paul方法求解机械臂运动学逆解(含matlab代码)
🦾🌏🪐以下为正文🦾🌏🪐
一、电机驱动器概述
1.步进电机简介
步进电机是一种将电脉冲信号转化为转轴角位移的特殊电机,当驱动器接收到脉冲信号,它就驱动步进电机转动相应的角度。在机械臂控制过程中,我们通过调节脉冲个数来控制电机旋转角度,并与行星减速器相配合驱动机械臂关节;同时,我们也可以通过调节脉冲频率来控制关节旋转的速度与加速度,从而完成对末端执行器与各关节的轨迹规划。根据转子与定子的不同类型可将步进电机分为永磁式、反应式与混合式,如下图所示。
永磁式 | 反应式 | 混合式 |
永磁式步进电机的转子由永磁体制成,定子由软磁材料制成,二者周边均没有齿槽。定子线圈通电并产生与转子磁场相互排斥的固定磁场,永磁转子产生电磁转矩。永磁式步进电机的优点是成本低、转矩大,在断电时有定位转矩;缺点是步距角大、定位精度低、启动频率较低以及运行频率低。
反应式步进电机也叫磁阻式步进电机,其中又分为单段式步进电机与多段式步进电机。反应式步进电机的定子与转子均由软磁材料制成,二者周边均匀分布有齿槽,当定子绕组激磁通电,齿槽间气隙磁场发生变化,进而产生转矩带动定子旋转。反应式步进电机优点是输出转矩大、转速高且响应速度快;缺点是单步驱动时振幅大、振荡时间长,且断电后无定位转矩。
混合式步进电机将永磁式步进电机与反应式步进电机的优点相结合,即输出转矩大、精度高、运行稳定且断电后仍有定位转矩。混合式步进电机的定子由软磁材料制成,转子为两端套有软磁材料的圆柱永磁铁,且周边同样带有齿槽。混合式步进电机的爆炸图如下图所示。
2.步进电机驱动器
步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速和定位的目的。而在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置,即处于定位状态。
选择合适的步进电机驱动,可以提高步进电机运行的稳定性与精度。我所选用的电机驱动型号为DM542与OK2D4020A,其中,OK2D4020A驱动器用于驱动4号电机,其余5个电机均由DM542驱动器驱动。
DM542 | OK2D4020A |
以DM542为例,该驱动采用32位DSP(数字信号处理Digital Signal Processing,简称DSP)技术,采用内置微细分技术,即使在低细分的条件下,也能够达到高细分的效果,低中高速 运行都很平稳,噪音小。驱动器内部集成了参数自动整定功能,能够针对不同电机自动生成最优运行参数,且具有过压、欠压、短路保护等保护功能。
3.电气指标及环境参数
步进电机常用的电气指标有输出电流(峰值)、输入电源电压、控制信号输入电流、步进脉冲频率及绝缘电阻等,以DM542为例,其电气指标如下图所示。
电机驱动的环境参数通常包括温湿度、振动及粉尘等,以DM542为例,其环境参数如下图所示。
二、细分驱动工作原理
细分驱动实质上是一种电子阻尼技术,其主要目的是提高电机的运转性能,实现步进电机步距角的高精度细分。细分驱动的优点有:
- 因减少每一步所走过的步距角,提高步距均匀度,进而提高控制精度;
- 减少电机振动,低频振荡是步进电机的固有特性,用细分是消除它的最好方法;
- 减少转矩脉动,提高输出转矩。
步进电机驱动器可将控制电路发出的脉冲信号进一步细分,大幅提高驱动精度,该功能称为“细分”。步进电机驱动器内部主要由环形分配单元及功率驱动单元两部分组成,其驱动原理如下图所示。
1.环形分配单元
又称环分器或脉冲分配单元,主要功能是把来源于控制环节(下位机)的时钟脉冲串按一定的规律分配给步进电动机驱动器的各相输入端。环形分配器的输出既是周期性的,又是可逆的。
环形分配单元既可以通过硬件实现也可以通过软件实现。硬件环形分配的基本结构为触发器,其个数与步进电机相数相同;而软件环形分配是通过编程的方式,生成控制表。
以两相四拍驱动两相步进电机为例:设单序列脉冲为∆x,当其输入环形分配单元后,∆x可被分频为∆A与∆B两路输出脉冲,二者分别对应步进电机的A相绕组与B相绕组。当输出端输出∆A,步进电机A相绕组通电,当输出端输出∆B ,则步进电机B相绕组通电,图2.7即为两相四拍驱动方式下∆x、∆A与∆B的波形图。
以DM542为例,采用八位拨码开关设定细分精度、动态电流、静止半流以及实现电机参数
和内部调节参数的自整定。拨码开关的详细描述如下图所示。
拨码开关各位意义 | 拨码开关实物图 |
其细分设定表如下所示。
2.功率驱动单元
当得到适当的脉冲波形后,需对其进行放大后驱动电机,常用的有功率MOS管组成的H桥电路。
三、下位机、驱动器与电机的连接方式
1.控制信号接口
PUL为脉冲控制信号,脉冲上升沿有效;PUL-高电平时4~5V,低电平时0~0.5V。为了可靠响应脉冲信号,脉冲宽度应大于12μs。如采用+12V或+24V时需串电阻。
DIR为高/低电平信号,为保证电机可靠换向,方向信号应先于脉冲信号至少5us建立。电机的初始运行方向与电机的接线有关,互换任一相绕组(如 A+、A-交换)可以改变电机初始运行的方向,DIR-高电平时4~5V,低电平时0~0.5V。
ENA为使能信号,用于使能或禁止。ENA+ 接+5V,ENA-接低电平(或内部光耦导通)时,驱动器将切断电机各相的电流使电机处于自由状态,此时步进脉冲不被响应。当不需用此功能时,使能信号端悬空即可。
2.强电接口
GND为直流电源地;+V为直流电源正极;A、B分别为A、B相的线圈。
四、步进电机选配方法
选择电机时主要由电机的扭矩和额定电流决定。扭矩大小主要由电机尺寸决定。尺寸大的电机扭矩较大;而电流大小主要与电感有关,小电感电机高速性能好,但电流较大。
1.电机选配
(1)负载转矩
其中,J:负载的转动惯量;ε:负载的最大角加速度; C:安全系数,推荐值 1.2-1.4;T_负载:最大负载转矩,包括有效负载、摩擦力、传动效率等阻力转矩。
(2)转矩影响因素
对于给定的步进电机与线圈接法,输出转矩有以下特点:
- 电机实际电流越大,输出转矩越大,但电机铜损(P=I^2R)越多,电机发热偏多;
- 驱动器供电电压越高,电机高速扭矩越大;
- 由步进电机的矩频特性图可知,高速比中低速扭矩小。
力矩—转速特性图如下所示
2.电机接线方法
对于 6、8 线步进电机,不同线圈的接法电机性能有相当大的差别,如下图所述:
3. 供电电压与输出电流的选定
(1)供电电压的选择
一般来说,供电电压越高,电机高速时力矩越大。越能避免高速时掉步。但另一方面,电压太高会导致过压保护,电机发热较多,甚至可能损坏驱动器。在高电压下工作时,电机低速运动的振动会大一些。
(2)输出电流的设定
对于同一电机,电流设定值越大时,电机输出力矩越大,但电流大时电机和驱动器的发热也比较严重。具体发热量的大小不仅与电流设定值有关,也与运动类型及停留时间有关。以下的设定方式采用步进电机额定电流值作为参考,但实际应用中的最佳值应在此基础上调整。原则上如温度很低(<40℃)则可视需要适当加大电流设定值以增加电机输出功率(力矩和高速响应)。
- 四线电机:输出电流设成等于或略小于电机额定电流值;
- 六线电机高力矩模式:输出电流设成电机单极性接法额定电流的 50%;
- 六线电机高速模式:输出电流设成电机单极性接法额定电流的 100%;
- 八线电机串联接法:输出电流可设成电机单极性接法额定电流的 70%;
- 八线电机并联接法:输出电流可设成电机单极性接法额定电流的 140%。
五、步进电机驱动机械臂关节的编程实现
对同一个步进电机而言,末端执行器由初始位姿变换至不同的目标位姿时,其旋转方向、旋转速度及旋转角度通常不同。并且,在变换的过程中电机转速也不是恒定的:变换初期电机加速旋转,变换中期电机匀速旋转,变换末期电机减速旋转。
为确保关节正确旋转以及末端执行器能以稳定的轨迹到达期望位姿,必须对驱动各关节的步进电机进行精确的控制。本文选择以AT mega 2560为核心的Arduino下位机和两种型号的步进电机驱动器完成对步进电机的控制,相关代码烧录于下位机中,下表列出了控制1号电机的Arduino程序中所用到的主要变量名称及含义。
1号电机控制程序中主要变量名称及含义
序号 | 名称 | 含义 |
1 | ACCStep | 加速运动步数 |
2 | DCCStep | 减速运动步数 |
3 | J1step | 1号电机旋转步数 |
4 | AdjSpeed | 机械臂速度参数 |
5 | J1caldir | 1号电机旋转方向 |
6 | J1rotdir | 1号电机旋转方向标识 |
7 | J1stepPin | 1号电机脉冲控制引脚 |
8 | J1dirPin | 1号电机方向控制引脚 |
以关节1的控制为例,关节1的旋转方向由1号电机方向控制引脚J1dirPin控制,当引脚为高电平时电机反转,低电平时电机正转。方向控制引脚J1dirPin 的电平由J1caldir与J1rotdir共同决定。其中,J1rotdir由电机驱动的型号决定,J1caldir由上位机的运算结果决定。
关节1的旋转速度的调节是通过延时函数delayMicroseconds()以及机械臂速度参数AdjSpeed实现的:参数增大,延时时间增长,关节旋转速度降低;参数减小,延时时间减少,关节旋转速度增加。
关节1的旋转角度由加速运动步数ACCStep、减速运动步数DCCStep及1号电机旋转步数J1step确定。