欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

程序员文章站 2022-03-14 08:24:00
■ 前言这款双轴机械臂是应用于实验室中进行自动样品转换的执行机构。为了能够在一定范围内将试剂瓶(试管) 完成自动搬运,需要完成对样品的抓取,提升和放下、水平移动(二维) 等功能。使用带有肘关节、肩关节以及上下移动关节的机械平台可以完成这项设计。在基于STC8H1K28双轴机械臂驱动模块 给出了对肩关节、肘关节上的步进电机、角度传感器读取和控制模块的设计。本文下面就是利用该模块对机械臂进行运动控制。▲ 双轴机械臂的外观01联线配线1.步进电机和角度传感器接口(1)...

 ■ 前言


这款双轴机械臂是应用于实验室中进行自动样品转换的执行机构。为了能够在一定范围内将试剂瓶(试管) 完成自动搬运,需要完成对样品的抓取提升和放下水平移动(二维) 等功能。使用带有肘关节、肩关节以及上下移动关节的机械平台可以完成这项设计。

基于STC8H1K28双轴机械臂驱动模块 给出了对肩关节、肘关节上的步进电机、角度传感器读取和控制模块的设计。本文下面就是利用该模块对机械臂进行运动控制。

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 双轴机械臂的外观


 

01联线配线


1.步进电机和角度传感器接口

(1) 步进电机引线

引出4PIN的接口,分别定义为:

PIN 符号 功能 颜色
PIN1(MARK) PU+,DR+,MF+ 三个控制端口的公共电源线 红,蓝,棕
PIN2 PU- 脉冲输入
PIN3 DIR- 方向输入
PIN4 MF- 势能输入 绿

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

上述定义的四线插头可以接入基于STC8H1K28双轴机械臂驱动模块中的PANGx(角度传感器端口)。

(2) BH38角度传感器接口

引出4PIN接口,定义为:

PIN 符号 功能 颜色
PIN1(MARK) +5V 工作电源 棕:BROWN
PIN2 0V 电源地 蓝:BLUE
PIN3 A+ 485总线A+ 黑:BLACK
PIN4 B- 485总线B-

另外两个引线置零(RED),编程(黄)不再接入端口。

(3) 通道分配

基于STC8H1K28双轴机械臂驱动模块1具有两个通道的步进电机控制和角度传感器。将通道1(步进电机控制、角度传感器读取)分配给肩关节;将通道2(步进电机控制,角度传感器读取)分配给肘关节。

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

2.连接控制模块

按照上述的通道方案,将肘关节、肩关节的部件电机驱动端口、角度传感器端口分别进入实验电路板的相应的端口。具体参见上面的“通道分配”中的示意图。

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 控制模块与关节步进电机和角度传感器相连


3.WiFi调试

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 连接有WiFI调试下载器的系统


4.步进电机工作电源

STC8K28步进电机ULC2003触发器 测试两个步进电机需要供电电压大于15V,这里使用电源24V开关电源进行供电。

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 供电电源:24V,+5V


电源同时提供+5V,+24V 电压。供电电流最大4.6A。

使用ADJ电位器可以同时提高和降低输出的+5V, +24V电压。

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

 

02初步运动控制2


直接利用在基于STC8H1K28双轴机械臂驱动模块中的串口命令,通过WiFi调试界面发送指令控制双轴机械臂运动。

1.控制肘关节运动

通过串口命令step2实现肘关节的运动:

step2 2000
step2 -2000

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 肘关节运动


2.控制肩关节运动

step1 1000
step1 -1000

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 肩关节运动


通过上面肩关节和肘关节运动情况来看,证明了以下两方面的事实:

  1. 42HS48EIS的闭环步进电机。这款步进电机在带动负载运动过程中,不会丢步,并对位置(步数)进行闭环跟踪控制。那么42HS48EIS的闭环控制特性究竟是什么?这需要进一步通过它的数据手册来了解。
  2. 在肩关节和肘关节中,存在着较大的振荡情况。这主要是运动手臂本身转动惯量所引起的。那么在后面的控制指令中如何进一步来消除这种过冲,需要在算法上来实现运动阻尼。

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 肩关节运动对应的角度变化数值


双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 肘关节运动对应角度变化


3.肩关节与肘关节角度极限

通过将肩关节和肘关节的电机使能取消,手动将肩关节和肘关节旋转的极限位置。使用串口命令angle,可以获得在各个极限位置下角度的数值。

肘关节顺时针旋转,角度变化为:14526 --> 1122

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 肘关节的角度变化范围


肩关节顺时针旋转,角度变化为:3810 -->10800

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 肩关节角度范围


#!/usr/local/bin/python # -*- coding: gbk -*- #============================================================ # TEST2.PY                     -- by Dr. ZhuoQing 2020-08-09 # # Note: #============================================================ from headm import * from tsmodule.tsstm32 import * angle = [] for i in range(100): stm32cmd("CLEAR") stm32cmd("step2 320") time.sleep(1) stm32cmd('showa2 1') val = stm32memo(1) angle.append(val) plt.plot(angle) plt.xlabel("Sample") plt.ylabel("Angle") plt.grid(True) plt.tight_layout() plt.show() #------------------------------------------------------------ #        END OF FILE : TEST2.PY #============================================================ 

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

▲ 肘关节运动与角度之间的关系


★ 在调试过程中,肘关节电机输出与机械部分滑脱了,现在已经无法带动大臂旋转。

 

※ 结论


基于STC8H1K28双轴机械臂驱动模块与双轴机械臂组装,进行了初步的调试。需要进行如下的改动:

  1. 对于控制序号结合速度和位置来消除运动中的振荡;
  2. 在肩关节在调试过程中输出与大臂之间滑脱。需要在机械结构上能够进一步避免这种情况的产生。

双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28


  1. 控制模块AD工程文件:AD\XQWF\2020\机械臂\CNT2AXESSTC8H.PcbDoc ↩︎

  2. 单片机C51控制程序:C51\STC\Project\XQWF\2020\STC8H2AXES\STC8H2AXES.uvproj ↩︎

本文地址:https://blog.csdn.net/zhuoqingjoking97298/article/details/107895504