站内搜索
发作品签到
六轴机械臂
专业版

六轴机械臂

简介

进入人工智能时代后机械臂和机器人一样都是应时代需求而生的科技产品。本设计是着重于机器人的底层驱动,以舵机为基本单元构造机械臂,六个舵机组装实现六自由度的机械臂,并用六组驱动电路控制每个电机的旋转。

简介:进入人工智能时代后机械臂和机器人一样都是应时代需求而生的科技产品。本设计是着重于机器人的底层驱动,以舵机为基本单元构造机械臂,六个舵机组装实现六自由度的机械臂,并用六组驱动电路控制每个电机的旋转。

开源协议

CERN Open Hardware License

(未经作者授权,禁止转载)
创建时间:2024-04-20 00:12:38更新时间:2024-06-27 09:31:03

描述

题目要求

六个自由度的简易机械臂控制

题目分析

总体设计方案框图

image.png
电源模块分为两路,一路通过主控板的数据传输口输入 5V 电压,通过稳压电路 XC6206P332MR-G 稳定输出3.3V 作为驱动芯片工作的主要电源。另外一路是通过底板的电源适配器进行外部供电,电源适配器提供 8.4V 的电压,通过舵机电源芯片的转换之后输出 5V 电压,为舵机的主要供电电源。

原理图设计说明

主控板原理图介绍

本次主控使用 KPZ32 系统控制板,主控芯片型号是STM32F103C8T6。本次设计采用的是主控板和底控板结合使用,这样不仅可以节省空间,还有利于在出现问题是可以逐个排查。

image.png

GPIO_PB13 对 SPI 切换器进行多路传输以使能SPI2。PWM 舵机引脚配置为:DJ0-PB3、DJ1-PB8、DJ2-PB9、DJ3-PB6、DJ4-PB7、DJ5-PB4。蜂鸣器引脚配置为:BEEP - PB5。按键引脚配置为:KEY1-PA8、KEY2-PA11。预留两个通道的按钮,详细的功能按照特定的程序执行

底板原理图介绍

底板电路图其中包括舵机电源接口、电源模块、稳压电路、手柄接口、蜂鸣器等电路、PWM 舵机接口、蜂鸣器电路、同步串口接口、电源选择电路。

底板主要电路分为两部分:一个是舵机电源电路,在第一次设计的时候考虑滤波电容的时候将 C10 直接通过 VS 连接到了 VIN 输入口上,因为电容是通交流阻直流,而底板使用的是 8.4V/3A 的电源适配器,因此输入的也是直流电压导致舵机电源没有工作,之前 V1.0 的电路版是直接使用飞线的方式将 C10 直接并联到了 VIN 上面。

在设计的底板 V1.1 修复了 BUG。第二个是手柄接收器的接口,此接口在 V1.0中的器件选型和 PCB 的线序连接出现了问题,这个底座封装是 PHD 2*3 2.0mm的公母头对插,但是由于手柄接收器的接口和底版接口的线序不对,需要重新制作一条双母的连接线,而 PHD2.0 的母头需要的 HC-PHD-T 的压线端子,不是平常的 2.0 的压线端子。

  1. 舵机电源模块
    MP1584 输入范围电压 4.5-28V,标称 3A 输出电流,实测 2A 发热但是没有问题,再大了发热太严重,所以 PCB 设计要注意底部裸铜进行散热处理,估计2A 以内放心用。输出电压范围:0.8V~25V 输入电压需大于输出电压 3V 以上比较稳定。

image.png

舵机电路原理图

image.png

  1. PWM 舵机接口
    PWM 舵机是通过杜邦线和底板上的六路排针连接的,每一路排针都有三个引脚,引脚 1 连接舵机信号,引脚 2 连接 VCC_SERVRO 舵机的工作电压,引脚3 连接 GND。

image.png

控制 6 路舵机引脚 DJ0--PB3、DJ1--PB8、DJ2--PB9、DJ3--PB6、DJ4--PB7、DJ5--PB4。VCC_SERVERO 通过选择电路将舵机电源输出的电压输入 5V 电压。
3. PS2 手柄接口
手柄接口一共有 6 个接口,手柄接收器是直接利用螺丝固定在底板下方,与单片机是用 6 根硅胶线连接,底座使用 HC-PHD-2*3A 比较稳定,大幅度避免因插拔导致接触不良。

image.png
1 脚连接 VCC 给手柄接收器供电。2 脚连接 GND 形成回路。3 脚连接底座的 PS6,PS6 连接主控芯片的 PA14,功能是手柄接收器的 CMD 功能。4 脚连接PS2,接收器对应功能为 ATT,连接主控芯片的 PA13。4 脚连接 PS7,接收器对应功能为 CLK,连接主控芯片的 PA12。6 脚连接 PS1,接收器对应功能为 DAT,连接主控芯片的 PA15。
4. 蜂鸣器
有源自激型蜂鸣器工作发声原理如下:直流电源输入经过振荡系统的放大和取样电路在谐振装置作用下产生声音信号。其引脚 BEEP 连接主控板 PB5 引脚,通过三极管控制有源蜂鸣器的发声,当基极为高电平时,三极管截止,蜂鸣器不发声,反之,输出低电平时,蜂鸣器发声。

image.png

PCB设计说明

image.png

image.png

这里有PCB的一些设计说明,PCB的布局,在分布电源时要考虑到防止反接以及滤波电容,距离电源输入端越近越好,舵机电源芯片下方不要防止器件会影响散热,PWM舵机排针要考虑结构放置在方便舵机接线的位置,正常信号布线的距离尽可能的短,不要出现锐角,实在没位置可以换成三岔口的直角,电源线要不小于30mil,在电源输入口我用的是直接铺铜,舵机电感的走线尽量干净,下方空隙处不要走信号线、每个器件间距不小于10mil,铺铜间距大概都设置20mil就行了。

软件说明

代码块:

void loop_nled(void) {
static u32 time_count=0;
static u8 flag = 0;
if(millis()-time_count > 1000) {
time_count = millis();
if(flag) {
nled_on();
} else {
nled_off();
}
flag= ~flag;
}
}
//串口数据接收处理
void loop_uart(void) {
if(uart1_get_ok) {
if(uart1_mode == 1) { //命令模式
parse_group_cmd(uart_receive_buf);
parse_cmd(uart_receive_buf);
} else if(uart1_mode == 2) { //单个舵机调试
parse_action(uart_receive_buf);
} else if(uart1_mode == 3) { //多路舵机调试
parse_action(uart_receive_buf);
} else if(uart1_mode == 4) { //存储模式
save_action(uart_receive_buf);
}
uart1_mode = 0;
uart1_get_ok = 0;
uart1_open();
}
return;
}
//循环读取 PS2 手柄数据
void loop_ps2_data(void) {
static u32 systick_ms_bak = 0;
//每 50ms 处理 1 次
if(millis() - systick_ms_bak < 50) {
return;
}
systick_ms_bak = millis();
//读写手柄数据
psx_write_read(psx_buf);
#if 0
//测试手柄数据,1 为打开 0 为关闭
sprintf((char *)cmd_return, "0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x,0x%02x\r\n", (int)psx_buf[0], (int)psx_buf[1], (int)psx_buf[2], (int)psx_buf[3], (int)psx_buf[4], (int)psx_buf[5], (int)psx_buf[6], (int)psx_buf[7], (int)psx_buf[8]);
uart1_send_str(cmd_return);
#endif
return;
}
//处理手柄上的按钮
void loop_ps2_button(void) {
static unsigned char psx_button_bak[2] = {0};
//对比两次获取的按键值是否相同 ,相同就不处理,不相同则处理
if((psx_button_bak[0] == psx_buf[3])
&& (psx_button_bak[1] == psx_buf[4])) {
} else {
//处理 buf3 和 buf4 两个字节,这两个字节存储这手柄 16 个按键的状态
parse_psx_buf(psx_buf+3, psx_buf[1]);
psx_button_bak[0] = psx_buf[3];
psx_button_bak[1] = psx_buf[4];
}
return;
}

实物验证图

image.png

实物展示说明

1.当完成对板子焊接后,需要用万用表等工具对线路的短路,断路,虚焊等情况进行排查,同时也要在焊接的同时注意正负极是否存在反接的情况。
2.检查 PS2 手柄开关是否可以通电,选择模式是否可以选择红绿灯模式。
3.检查 6 个 PWM 舵机接口波形,使用示波器检查信号输出口的波形输出方波,方波信号较为稳定,没有存在断断续续,单个占空比变化符合程序设计值,输出电压值通过使用万用表测出为 5V。

image.png

image.png

演示视频

链接:https://pan.baidu.com/s/1cB-e6QHxs4jkZ-rDCRyMAw?pwd=gdtl
提取码:gdtl

其它附件上传

代码工程
链接:https://pan.baidu.com/s/1R1pU8HtVVvwIMt6wUYqSiA?pwd=1uig
提取码:1uig

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
Project.zip
53
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航