基于STM32对于三轴机械臂控制器设计 您所在的位置:网站首页 机械臂图纸技术要求高吗 基于STM32对于三轴机械臂控制器设计

基于STM32对于三轴机械臂控制器设计

2023-08-20 15:35| 来源: 网络整理| 查看: 265

简 介: 本文使用了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板图设计

▲ 单面PCB板图设计

2.端口定义 (1) IO口

从左到右:PIN1 ~ 10

PIN1PIN2PIN3PIN4PIN5PIN6PIN7PIN8PIN9PIN10PS1PS2IO0IO1IO2IO3IO4IO5IO6SERVO1 (2) 串口

从左到右:PIN1~ 6

PIN1PIN2PIN3PIN4PIN5PIN6+5VGNDRXD2TXD2RXD3TXD3 (3) 按键接口

从左到右: PIN1 ~ 6

PIN1PIN2PIN3PIN4PIN5PIN6+5VGNDKEY1KEY2KEY3KEY4 3.初步焊接与组装

▲ 快速制版的印刷电路板

▲ 快速制版的印刷电路板

▲ 对PCB板线路使用烙铁镀上锡

▲ 对PCB板线路使用烙铁镀上锡

▲ 焊接TQFP48 STM32C103F8C6

▲ 焊接TQFP48 STM32C103F8C6

▲ 焊接TQFP48 STM32C103F8C6

▲ 焊接TQFP48 STM32C103F8C6

▲ 焊接TQFP48 STM32C103F8C6

▲ 焊接TQFP48 STM32C103F8C6

3.接口板设计 (1) 原理图和PCB版图设计2

▲ 原理图

▲ 原理图

▲ PCB板图640

▲ PCB板图640

(2) 焊接组装

▲ 焊接制作后的电路板

▲ 焊接制作后的电路板

▲ 外部接口定义

▲ 外部接口定义

▲ 组装在一起的电路板

▲ 组装在一起的电路板

 

➤ 03初步调试3 1.硬件调试 (1) 上电测试 板上电源施加+5V,电流:38mA。U3 AS1117:输出电压 3.292V。 (2) 下载程序

▲ STM32的配置

▲ STM32的配置

▲ 下载程序

▲ 下载程序

(3) 舵机控制脉冲

舵机的信号:

50Hz,脉冲宽度:1ms~2ms极性是负极性。适合通过外围的反向输出缓冲。

▲ 输出SERVO的脉冲

▲ 输出SERVO的脉冲

▲ 设置输出极性反过来

▲ 设置输出极性反过来

 

➤ 04接口板调试

在核心板调试的基础配合下,对接口板进行相应的调试。

1.控制串口 (1) 接口协议

控制协议可以参见 机械臂底层通信协议说明 。通讯底层协议为:

串行通信232逻辑电平波特率: 115200bps (2) 接口连线

命令串口连入UART3.

▲ 接口电路图和PCB版图640

▲ 接口电路图和PCB版图640

制作三芯接口对应: PSENPIN1PIN2PIN3DB9PIN5PIN3PIN2定义GNDTXDRXD 三芯接口:白色标记点对应RXD(PIN3)

在上电后对于PSEN中的RXD(PIN3)测量,会有大约-8.9V的输出电压。确认接口芯片MAX202工作正常。

(3) 接口联通测试

▲ 测试UART命令串口

▲ 测试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~24V0V485A+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\ ↩︎



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有