基于STM32对于三轴机械臂控制器设计
简 介: 本文使用了STM32对于一款三轴机械臂进行初步驱动,调试他的各个关节的运动情况。
关键词
: 机械臂,三轴机械臂,STM32
➤ 01背景
在 组装肩部带有减速器双轴机械臂组装与调试 的调试基础上,对于 两轴机械臂+机械爪整体控制板设计与机械爪控制调试 的双轴空集基本定型。除此之外增加了升降步进电机的控制。
这个版本在之前的调试基础之上,将控制器的主要MCUGG换成STM32。考虑到:
- 将UART增加到三个,可以实现调试、角度传感器、外部RS232通信等方面的功能;
- 对于输出脉冲进行终端控制。
- 提高内部RAM容量,为控制功能提供硬件资源。
● 第一版本设计错误
- MCU缺少DIR1,DIR龙哥485总线方向控制的信号。
➤ 02硬件设计
为了加速升级,将硬件控制设计成两部分:
- 核心板:包括有MCU,调试接口,3.3V电源。
- 接口板:对角度传感器 角度编码器 ST-3806-15-RS 读写所使用的MODBUS总线(RS485+MODBUS协议),RS232接口,舵机接口,2003达林顿接口。
1.核心板设计1
▲ 原理图设计
▲ 单面PCB板图设计
2.端口定义
(1) IO口
从左到右:PIN1 ~ 10
PIN1 | PIN2 | PIN3 | PIN4 | PIN5 | PIN6 | PIN7 | PIN8 | PIN9 | PIN10 |
---|---|---|---|---|---|---|---|---|---|
PS1 | PS2 | IO0 | IO1 | IO2 | IO3 | IO4 | IO5 | IO6 | SERVO1 |
(2) 串口
从左到右:PIN1~ 6
PIN1 | PIN2 | PIN3 | PIN4 | PIN5 | PIN6 |
---|---|---|---|---|---|
+5V | GND | RXD2 | TXD2 | RXD3 | TXD3 |
(3) 按键接口
从左到右: PIN1 ~ 6
PIN1 | PIN2 | PIN3 | PIN4 | PIN5 | PIN6 |
---|---|---|---|---|---|
+5V | GND | KEY1 | KEY2 | KEY3 | KEY4 |
3.初步焊接与组装
▲ 快速制版的印刷电路板
▲ 对PCB板线路使用烙铁镀上锡
▲ 焊接TQFP48 STM32C103F8C6
▲ 焊接TQFP48 STM32C103F8C6
▲ 焊接TQFP48 STM32C103F8C6
3.接口板设计
(1) 原理图和PCB版图设计2
▲ 原理图
▲ PCB板图640
(2) 焊接组装
▲ 焊接制作后的电路板
▲ 外部接口定义
▲ 组装在一起的电路板
➤ 03初步调试3
1.硬件调试
(1) 上电测试
- 板上电源施加+5V,电流:38mA。
- U3 AS1117:输出电压 3.292V。
(2) 下载程序
▲ STM32的配置
▲ 下载程序
(3) 舵机控制脉冲
舵机的信号:
- 50Hz,脉冲宽度:1ms~2ms
- 极性是负极性。适合通过外围的反向输出缓冲。
▲ 输出SERVO的脉冲
▲ 设置输出极性反过来
➤ 04接口板调试
在核心板调试的基础配合下,对接口板进行相应的调试。
1.控制串口
(1) 接口协议
控制协议可以参见 机械臂底层通信协议说明 。通讯底层协议为:
- 串行通信232逻辑电平
- 波特率: 115200bps
(2) 接口连线
命令串口连入UART3.
▲ 接口电路图和PCB版图640
- 制作三芯接口对应:
PSEN | PIN1 | PIN2 | PIN3 |
---|---|---|---|
DB9 | PIN5 | PIN3 | PIN2 |
定义 | GND | TXD | RXD |
- 三芯接口:白色标记点对应RXD(PIN3)
在上电后对于PSEN中的RXD(PIN3)测量,会有大约-8.9V的输出电压。确认接口芯片MAX202工作正常。
(3) 接口联通测试
▲ 测试UART命令串口
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2020-10-23
#
# Note:
#============================================================from head import *
import serial
from _ast import Or
from serial.serialutil import SerialException
sport = serial.Serial()
sport.baudrate = 115200
sport.timeout = 0.05
try:sport.port = 'COM10'
except:printf('Set sport port COM10 error. ')
try:sport.open()
except serial.serialutil.SerialException:printf('Open sport port COM10 error.')
else:printf('Open sport port COM10 Ok.')while True:sport.write(b'U')time.sleep(1)ret = sport.read(100)printf(ret)#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
2.角度传感器
根据 角度编码器 ST-3806-15-RS 中给出的接口标准,对于ST-3806-15-RS制作5pins的100mil的接口(Male)。
表格:角度传感器接头定义
红/RD | 黑/BK | 绿/GN | 黄/YE | 白/WH |
---|---|---|---|---|
+5~24V | 0V | 485A+ | 485B- | SET |
➤※ 结论
对于机械臂相关电路设计进行了调试。
■ 相关文献链接:
- 组装肩部带有减速器双轴机械臂组装与调试
- 两轴机械臂+机械爪整体控制板设计与机械爪控制调试
- 角度编码器 ST-3806-15-RS
- 机械臂底层通信协议说明
- 对于STM32F103三轴机械臂控制器进行基本功能测试-上下运动功能
- 对于STM32F103三轴机械臂控制器进行基本功能测试-关节角度读取
- 对于STM32F103控制的三轴机械臂基本功能测试-关节转动控制
核心板AD工程文件:AD\XQWF\2020\机械臂\F103C8CNT.SchDoc * ↩︎
接口板的AD工程文件:AD\XQWF\2020\机械臂\CNTINTERFACE.PcbDoc ↩︎
STM32:STM32\Application\XQWF\2020\CNTSTM103\ ↩︎
基于STM32对于三轴机械臂控制器设计相关推荐
- 对于STM32F103三轴机械臂控制器进行基本功能测试-关节角度读取
➤01 机械臂调试 1.简介 对 基于STM32对于三轴机械臂控制器设计 中对应的控制电路读取肩部和肘部两个 角度编码器 ST-3806-15-RS 数据进行调试. 2.接口电路1 ▲ 角度读取的相关 ...
- 对于STM32F103三轴机械臂控制器进行基本功能测试-上下运动功能
简 介: 本文针对基于在基于STM32对于三轴机械臂控制器设计 中设计了控制电路板.本文记录对其在机械臂实际部件进行调试的过程. 关键词: STM32F103,机械臂,三轴,上下运动 ➤01 机械臂控 ...
- 对于STM32F103控制的三轴机械臂基本功能测试-关节转动控制
➤01 机械臂调试 1.简介 对于 基于STM32对于三轴机械臂控制器设计 的设计已经进行了如下的调试: 对于STM32F103三轴机械臂控制器进行基本功能测试-关节角度读取 对于STM32F103三 ...
- Rviz玩转三轴机械臂
前言 最近想加深ROS仿真机械臂的理解,所以笔者参考一些资料与博客,在ROS下搭个简单的三轴机械臂,在Rviz下实现各轴关节转动,如果后续有时间的话,可能会更新下Gazebo下仿真,如果时间不够的话, ...
- 六轴机械臂控制器 控制卡 软件 机械臂
六轴机械臂控制器 控制卡 软件 机械臂27400624681113128教学实训设备
- 基于STM32与TB6600的机械臂项目(代码开源)
前言:本文为手把手教学STM32的机械臂项目--Robot Arm,本次项目采用的是STM32作为MCU.该机械臂的基础模型为国外开源项目,诸多前辈经过长时间的验证与改进,其机械臂精度 ...
- 基于STC8H1K28的双轴机械臂驱动模块:步进电机42HS348E,BH32角度传感器
作者:卓晴博士,清华大学自动化系 更新时间:2020-08-08 Saturday ■ 设计背景 这是一款用于化学实验室样品上样器的机械臂.设置有肘关节.肩关节以及上下移动关节. ▲ 双轴机械臂结构 ...
- grbl控制3轴机械臂 原理 实现 (四) 之GRBL源码修改驱动三轴机械臂
往期回顾: 第一篇:grbl控制3轴机械臂 原理 实现 (一) 之2D机械臂模拟及实现 第二篇:grbl控制3轴机械臂 原理 实现 (二) 之3D机械臂模拟及实现 第三篇:grbl控制3轴机械臂 原理 ...
- 逆运动学:RRR型 2D 三轴机械臂的IK求解 | 机械臂运动学笔记(二)
任务: 给定末端的(x,y, \phi),求各轴角度( θ 1 , θ 2 , θ 3 \theta_1 , \theta_2, \theta_3 θ1,θ2,θ3) 先将多个空间几何拆解成平面 ...
最新文章
- spark1.x和2.xIterable和iterator兼容问题
- rust货轮什么时候出现_与 Rust 在一起的四年
- mysql 更改 uf_SQL经典实例(四)插入、更新和删除
- 【Java】异常处理体系概述
- 接口和抽象类有什么区别?
- Android清除本地数据缓存代码
- canvas 绘制直线 并选中_javascript自学记录:canvas绘图
- 如何让4年前的电脑装win10开机跑进15秒
- latex做ppt_用Markdown可以做什么
- Citespace、vosviewer 文献信息可视化分析
- 指付通盗刷信用卡维权连载--9月2日维权纪实
- 性能分析26-tomcat优化P61
- python热力图参数_python3.5数据处理——百度地图热力图传值
- collapse组件样式 react_antd源码分析之——折叠面板(collapse)
- LaTeX字符加的各种帽子
- JDBC+MySQL入门增删改查案例
- Kubernetes(简称K8s)将被带入到物联网边缘计算场景中
- AI青年的跨界故事,值得双击!
- GitHub 2020 报告:全球开发者工作与生活平衡情况年度分析
- My personal website:http://47.94.240.229:8080/yjh/project/