【花雕动手做】尝试使用不同舵机来控制机械臂旋转底盘(金属云台)

盆友送了一个机器人的关节,全金属结构,做工比较精致,如图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
经查这个金属关节来源于克鲁泽 Cruzr人形机器人,它总共有15个自由度,其中2个就是机身关节,用于连接机身与仿生机械手臂。

在这里插入图片描述
在这里插入图片描述
关键词:
中空旋转平台,金属云台,机械臂旋转底盘,机器人关节,中空金属转台

中空旋转平台通过电机(舵机)驱动,实现角度调整自动化。精加工蜗轮蜗杆或齿轮传动,角度调整无极限。精密轴系设计,保证精密高,承载大;步进电机与传动件通过进口高品质弹性联轴器连接,排除空间和加工形位误差。旋转台面外圈刻度直观;标准接口,方便信号传输;手动手轮配置,电控手动均可。可选装伺服电机或步进电机。

特点
1、中空结构
中空旋转平台的转盘为中空结构,伺服电机连接在侧边,方便冶具中的气管、电线安装。
2、高刚性
中空旋转平台的转盘由一套精密交叉滚子轴承支撑,轴承中的滚子呈90度交错排列,并且滚子直径略大于轴承内圈与外圈间的滚道尺寸,使得交叉滚子轴承的内外圈及滚子之间存在预紧力,由此轴承支撑的伺服旋转平台转盘能够承 受径向、轴向、倾覆等各种力矩,其刚性是传统轴承的5倍以上。
3、高旋转精度
SR系列伺服旋转平台在组装完成后,以平台的交叉滚子轴承为旋转中心,再次对转盘的外径,端面进行磨削(标准级为精车),保证转盘的同轴度,平行度等形位公差。
4、高重复定位精度
中空旋转平台采用单级螺旋齿轮减速方式来增大输出扭矩,齿轮精度等级达5级以下,加之灵活的调隙机构,通过改变两齿轮中心距的方式来控制侧隙,使得中空旋转平台的空回极小,重复定位精度在5弧秒以下。
5、马达任意配置
中空旋转平台通过定制法兰及输入轴孔的方式灵活变换接口尺寸大小,适合连接任意品牌的伺服电机、步进电机。

这里准备尝试使用不同舵机来控制它,找到了四种不同的舵机。

在这里插入图片描述
在这里插入图片描述
因为安装规格大一些,需要自制一个舵盘,刚好S3003配件包里有一个

在这里插入图片描述
于是参照规格钻了八个孔

在这里插入图片描述
上好螺丝,就固定了舵盘

在这里插入图片描述
安装舵机

在这里插入图片描述

用铜立柱做支架
在这里插入图片描述

一块木板来充当底座

在这里插入图片描述

都装好是这样的,相当牢固

在这里插入图片描述

找到的四个实验舵机,型号和规格如下:
Futaba S3003舵机 180度 38克 5V 3.5KG/CM
MG996R 金属舵机 180度 55克 5V 13KG/CM
MG996R 金属舵机 360度 55克 5V 13KG/CM
CAN 总线金属舵机 360度 220克 24V 60KG/CM

在这里插入图片描述
第一个实验,Futaba S3003舵机 180度 38克 5V 3.5KG/CM

在这里插入图片描述
【花雕动手做】尝试使用不同舵机来控制中空旋转平台(机械臂底盘)
项目:最简单的伺服电机程序

/*
 【花雕动手做】尝试使用不同舵机来控制中空旋转平台(机械臂底盘)
  项目:最简单的伺服电机程序
*/

#include <Servo.h>
Servo myservo;
void setup() {
    
    
  myservo.attach(9);
}
void loop() {
    
    
  myservo.write(0);
  delay(1000);
  myservo.write(90);
  delay(1000);
  myservo.write(180);
  delay(1000);
  myservo.write(90);
  delay(1000);
}

Arduino实验场景图

在这里插入图片描述
在这里插入图片描述

【花雕动手做】尝试使用不同舵机来控制中空旋转平台(机械臂底盘)
项目:测试舵机步进转动

/*
 【花雕动手做】尝试使用不同舵机来控制中空旋转平台(机械臂底盘)
  项目:测试舵机步进转动
*/

#include <Servo.h>  // 声明调用Servo.h库

Servo myservo;  // 创建一个舵机对象

int pos = 0;  // 变量pos用来存储舵机位置

void setup() {
    
    

  myservo.attach(9);  // 将引脚9上的舵机与声明的舵机对象连接起来
}

void loop() {
    
    

  for (pos = 0; pos < 180; pos += 1) {
    
      // 舵机从0°转到180°,每次增加1°

    myservo.write(pos);  // 给舵机写入角度

    delay(15);  // 延时15ms让舵机转到指定位置
  }

  for (pos = 180; pos >= 1; pos -= 1) {
    
      // 舵机从180°转回到0°,每次减小1°

    myservo.write(pos);  // 写角度到舵机

    delay(15);  // 延时15ms让舵机转到指定位置
  }
}

Arduino实验场景图

在这里插入图片描述
【花雕动手做】尝试使用不同舵机来控制中空旋转平台(机械臂底盘)
项目:使用10K电位器模块控制S3003舵机位置

/*
 【花雕动手做】尝试使用不同舵机来控制中空旋转平台(机械臂底盘)
  项目:使用10K电位器模块控制S3003舵机位置
*/

#include <Servo.h>
Servo myservo;   // create servo object to control a servo
int potpin = 0;  // analog pin used to connect the potentiometer
int val;         // variable to read the value from the analog pin

void setup() {
    
    
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
    
    
  val = analogRead(potpin);         // reads the value of the potentiometer (value // between 0 and 1023)
  val = map(val, 0, 1023, 0, 179);  // scale it to use it with the servo (value
  // between 0 and 180)
  myservo.write(val);               // sets the servo position according to the
  // scaled value
  delay(15);                        // waits for the servo to get there
}

Arduino实验场景图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41659040/article/details/131854911