随着人工智能的发展,机器人已经越来越多地进入人们的生产、生活中.自从“中国制造2025”与德国“工业4.0”提出后,工业机器人成为了现代制造业发展的关键,得到了前所未有的发展[1-2].因具有体积小、功耗小、精确度高等优点,电机驱动在机器人领域拥有广阔前景[3],由于目前机器人领域广泛采用无刷伺服电机加减速组的设计方法[4],因此机器人关节及其无刷电机驱动与控制系统成为机器人研究的关键,随着服务机器人的普及,其技术将向标准化、模块化发展[5].在无刷电机驱动设计方面,文献[6]设计了一种基于DRV8323RS驱动芯片的无刷直流电机驱动器,主控制器TMS320C6748通过串行外设端口(SPI)通信方式对DRV8323RS芯片进行模式配置,实现对无刷直流电机的控制.文献[7]从直流无刷电机基本的磁链方程入手,分析了两相导通三相六状态星形方波直流无刷电机的运行模式.在机器人关节结构研究方面,文献[8]对机器人用RV减速器多齿啮合特性进行了研究;文献[9]对服务机器人小型关节回差测量进行了研究;文献[10]等设计了一种集成度较高的机器人关节模组,但是对上位机控制研究较少.综上所述,对于机器人关节的研究主要分为机械结构与电驱系统两方面,并未从整体进行研究,目前存在机器人关节集成度较低、对控制系统的研究较匮乏、人机交互系统较复杂等问题,为解决上述问题,本研究围绕高性能、低成本、易操作等特点,结合模块化理念,设计了一款机器人关节用无刷电机驱动与控制系统.选用STM32F103RCT6为控制核心,DRV8313为电机驱动芯片.STM32F103RCT6的端口与DRV8313的IN1,IN2,IN3,EN1,EN2和EN3等引脚连接,并结合反电动势过零检测电路、电流检测电路、位置传感器电路等即可实现电机控制,极大地降低了外围电路的复杂程度.以无刷电机的电流、速度、位置闭环控制为目标,采用比例积分微分(PID)控制算法,实现了无刷电机的稳定控制.1 总体方案设计机器人关节无刷电机驱动与控制系统主要由电机驱动模块、控制模块、通信传输模块、上位机等部分组成,系统硬件框图如图1所示.10.13245/j.hust.220212.F001图1系统硬件框图工作原理为上位机将机器人关节的身份标识号(ID)与目标位置等数据添加到数组,通过串口(USART)发送至控制板,控制板将接收到的信号解析后通过控制器局域网络(CAN)总线广播传送给每一个关节内部的控制模块,控制模块将接收到的数据与磁编码器的数值进行对比,经过PID算法计算后,单片机产生相应的脉冲宽度调制(PWM)方波调节电机U,V,W三相绕组电流,从而控制运转方向及速度,并通过单位时间内磁编码器数值变化监测电机的转速.温度检测与电压检测等监测电路可以避免电机驱动工作状态异常,降压模块为磁编码器、控制芯片、驱动芯片等提供所需电压.2 系统硬件电路设计2.1 无刷电机驱动电路设计无刷直流电机具有结构简单、效率高、调速性好和使用寿命长等优点[11].无刷直流电机已经在机器人、无人机、新能源汽车等领域获得广泛应用,尤其是在机器人关节方面,目前市场上的柔性智能伺服器驱动大都为无刷直流电机.以应用比较广泛的双相导通六步换相星型连接的无刷直流电机(BLDC)为例研究其数学模型.假设磁路不饱和,根据基尔霍夫电压定律,三相绕组电压平衡方程可表示为[12-13]uaubuc=r000r000riaibic+LsLmLmLmLsLmLmLmLsddtiaibic+eaebec,式中:ua,ub和uc为三相定子绕组相电压;r为三相定子绕组电阻;ia,ib和ic为三相定子绕组相电流;Ls为定子每相绕组自感;Lm为定子任意两相绕组间互感;ea,eb和ec为三相定子绕组反电动势.由于定子绕组为星型连接,因此有:ia+ib+ic=0;Lmib+Lmic=-Lmia.无刷直流电机状态空间表达式为diadtdibdtdicdt=rL1000rL1000rL1iaibic+1L1uaubuc-eaebec,式中L1=Ls-Lm为定子每相绕组的等效电感.电磁转矩方程为T=(eaia+ebib+ecic)/ω,式中ω为电机机械角速度转速.由电磁转矩方程可知:转矩是转子位置的正、余弦函数,为了获得连续旋转的稳定电磁转矩,必须从结构和控制方法上采取一定的措施[14].无刷电机的控制方式主要有方波控制、正弦控制与磁场导向(FOC)控制,正弦控制与FOC控制的硬件成本较高,算法较为复杂,考虑到硬件与开发成本,选用方波控制方案,并采用DRV8313作为电机驱动芯片,无刷电机驱动电路如图2所示.10.13245/j.hust.220212.F002图2无刷电机驱动电路直接检测反电动势是获取换相信号最简单的方式[15],本研究设计反电动势检测电路如图3所示,以U相绕组为例,节点A为U相绕组输出连接点,经电阻分压后分别接入对应比较器的正输入端,另一端负输入端为公共端,连接4.7 kΩ电阻.10.13245/j.hust.220212.F003图3反电动势检测电路2.2 降压模块设计降压模块电路如图4所示,采用LM1117降压芯片将VCC分别降到5 V与3.3 V,以满足各模块芯片的供电需求.LM1117具有输出调节范围广、内部热过载保护等特点,芯片引脚IN为输入端,引脚OUT为输出端,引脚ADJ为调节端,通过设置调节端与输出端电阻值即可获得相应输出电压值.输入输出电压差可达40 V,按输出最低3.3 V计算,理论上输入最高电压可达43.3 V,大于无刷电机驱动电压42 V.输出电压值计算公式为10.13245/j.hust.220212.F004图4降压模块电路Vout=1.25(1+R2/R1)+IAdjR2,(1)式中:R1为降压芯片输出引脚处电阻;R2为降压芯片调节引脚处电阻;IAdj为降压芯片调节引脚输出电流.由式(1)可以求出:5 V降压模块的电阻R1和R2的阻值分别为100和300 Ω;3.3 V降压模块的电阻R1和R2的阻值分别为120和200 Ω.2.3 通信模块设计搭载STM32F103RCT6芯片的控制板与上位机采用串口通信,控制板负责接收上位机发送的数据,将数据进行转换后通过CAN总线发送给无刷电机的控制模块.CH340C为电平转换芯片,其特点为采用5 V电压供电,内置晶振,RXD和TXD分别接STM32F103RCT6芯片USART的TXD和RXD引脚即可正常工作.STM32F103RCT6芯片拥有一个CAN控制器,通过增加CAN收发器芯片TJA1050即可完成CAN通信,通信模块电路如图5所示.10.13245/j.hust.220212.F005图5通信模块电路2.4 控制模块设计图6为控制模块电路,OSC_IN与OSC_OUT为外部晶振引脚,外部晶振频率为8 MHz,VDDA为模拟电路电源接口,避免了数字电路对模拟电路的影响.IN1,IN2和IN3分别为U,V,W的上桥臂输入端;EN1,EN2和EN3为下桥臂输入端;10.13245/j.hust.220212.F006图6控制模块电路D1和D2为显示系统工作状态的发光二极管;PWM为磁编码器输入引脚;SLEEP,RESET和COMPO为DRV8313状态异常输出引脚.考虑到程序烧录问题,选用引脚较少的SWD模式,因此SWCLK和SWDIO为程序烧录引脚.2.5 位置检测模块设计AS5600位置检测芯片具有12位分辨率,位置信息输出方式有两种,一种为PWM输出,一种为I2C通信方式.考虑设计成本及简便性,选取PWM输出模式,工作电压选择5 V.DIR引脚为方向极性控制端,若此处接地则磁场顺时针方向旋转磁编码器数值增加;PGO引脚为编程控制端,若此处接地则磁编码器工作处于默认模式,可进行360°连续测量,位置检测模块电路如图7所示.10.13245/j.hust.220212.F007图7位置检测模块电路3 系统软件设计控制器主要负责与上位机进行串口通信并将接收到的数据通过CAN总线发送给驱动器,其程序主要包括串口接收中断与CAN接收中断,在中断处理函数中分析数据头码及执行器ID与动作数值,若未执行中断,则完成串口与CAN总线数据的发送.驱动器相较于控制器程序更为复杂,包含CAN接收中断、定时器中断与外部中断.当CAN接收到数据时将触发接收中断,主函数根据接收到的数据对电机进行控制.定时中断设置为每10 ms触发一次,中断处理函数中读取位置传感器当前数值,并与上一次数值进行作差从而求出电机转速.在主函数中调用PID算法子程序,根据转速的设定值及求得的当前电机转速值,计算出驱动电机PWM方波占空比,具体算法为E=vset-vact;P=[KpE+KiEs+Kd(E-E1)],式中:E为设定转速与实际转速差值;vset为设定转速;vact为实际转速;P为占空比;Kp为比例系数;Ki为积分系数;Kd为微分系数;Es为累计误差;E1为前一次误差值.当P值范围为0~1时实际占空比值与P相同;当P值小于0时,实际占空比值为0;当P值大于1时,实际占空比值为1.由于电机转速随占空比增加而增高,因此可通过计算占空比将电机转速控制在设定值范围内.控制器与驱动器程序流程如图8所示.10.13245/j.hust.220212.F008图8程序流程图在上位机设计方面,界面主要分为参数设置区、数据设置区、数据发送操作区及动作组显示区.在控制的驱动器数量上,设置了1,6和17三个典型值.当驱动器仅有1个时可作为普通伺服电机使用;当驱动器数量为6时,可满足普通6自由度机械手控制使用;当驱动器数量为17时,可满足17自由度的人形机器人控制使用.4 实验分析为验证方案可行性及测试系统的性能,在实验室搭建了控制系统并进行了实验.首先对机器人关节模组减速器结构部分进行了设计,由于两级行星齿轮系统具有体积小、质量小、传动比大、结构紧凑和承载能力强的优点,广泛用于航空和特殊精密传动系统领域[16-18],因此采用减速比为36的二级串联行星减速组,驱动电机为无刷外转子电机,额定电压为42 V,相间电阻为0.66 Ω,电感为1.4 mH,额定转矩为0.05 N·m,反电动势系数为1.07 V/rad.受机器人关节外观尺寸限制,将机器人关节模组部分控制电路板分为上下两层设计:上层为负责降压与总线通信的通信板,下层为负责电机驱动与信号采集的驱动板.驱动板集成了无刷电机驱动功率与控制信号采集电路,为避免大功率电流及其他元器件对换相信号采集产生影响,对驱动板的电路进行了电磁兼容(EMC)优化,主要为元器件布局调整与分区敷铜,将场效应管(MOS)与信号采集的地线分离开,优化后的电路板实物如图9所示.10.13245/j.hust.220212.F009图9电路板实物图在电机转速控制方面,结合PID算法并利用单片机记录单位时间内磁编码器数值变化,以此求出电机的转速,从而达到电机转速的闭环控制.实验测试原理如图10所示.10.13245/j.hust.220212.F010图10测试系统原理图为了检测控制系统对电动机速度的控制性能,对电机不同转速进行测试并绘制速度曲线.经过多次实验,可以确定当比例系数为0.12,积分系数为8,微分系数为0时,电动机速度控制效果最佳.图11为无刷电机转速图,图中:n为无刷电机转速;t为时间.从图11可以看出电动机转速在各转速阶段拥有较好的响应.图12为与转速对应的电流图,图中i为电流,可以看出:电机增速阶段电流值增大,电流特性较好.10.13245/j.hust.220212.F011图11无刷电机转速图10.13245/j.hust.220212.F012图12电流图5 结论a. 从机器人关节驱控一体化出发,设计了一款集成度较高且具有高性能、低成本等特点的模块化机器人关节用无刷电机驱动系统,并详细阐述了驱动电路的结构组成与工作原理.b. 在机器人关节无刷电机驱动的基础上,设计了基于CAN总线的机器人控制系统,该系统可用于6自由度机械手及17自由度人形机器人等多自由度机器人控制,与现有控制系统相比,操作更为简便,对机器人的普及具有积极作用.c. 将经典PID算法应用到无刷电机控制,对机器人关节模组的电机转速进行闭环控制实验,并对实验进行分析,实验结果表明:机器人关节可按设定速度平稳运行,验证了机器人关节驱动与控制系统的可靠性.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读