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

简 介: 本文使用了STM32对于一款三轴机械臂进行初步驱动,调试他的各个关节的运动情况。

关键词 机械臂三轴机械臂STM32

 

01背景


组装肩部带有减速器双轴机械臂组装与调试 的调试基础上,对于 两轴机械臂+机械爪整体控制板设计与机械爪控制调试 的双轴空集基本定型。除此之外增加了升降步进电机的控制。

这个版本在之前的调试基础之上,将控制器的主要MCUGG换成STM32。考虑到:

  • 将UART增加到三个,可以实现调试、角度传感器、外部RS232通信等方面的功能;
  • 对于输出脉冲进行终端控制。
  • 提高内部RAM容量,为控制功能提供硬件资源。

● 第一版本设计错误

  • MCU缺少DIR1,DIR龙哥485总线方向控制的信号。

 

02硬件设计


为了加速升级,将硬件控制设计成两部分:

  1. 核心板:包括有MCU,调试接口,3.3V电源。
  2. 接口板:对角度传感器 角度编码器 ST-3806-15-RS 读写所使用的MODBUS总线(RS485+MODBUS协议),RS232接口,舵机接口,2003达林顿接口。

1.核心板设计1

▲ 原理图设计

▲ 原理图设计

▲ 单面PCB板图设计

▲ 单面PCB板图设计

2.端口定义

(1) IO口

从左到右:PIN1 ~ 10

PIN1PIN2PIN3PIN4PIN5PIN6PIN7PIN8PIN9PIN10
PS1PS2IO0IO1IO2IO3IO4IO5IO6SERVO1
(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

  • 制作三芯接口对应:
PSENPIN1PIN2PIN3
DB9PIN5PIN3PIN2
定义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

 

※ 结论


对于机械臂相关电路设计进行了调试。

 

■ 相关文献链接:


  1. 核心板AD工程文件:AD\XQWF\2020\机械臂\F103C8CNT.SchDoc * ↩︎

  2. 接口板的AD工程文件:AD\XQWF\2020\机械臂\CNTINTERFACE.PcbDoc ↩︎

  3. STM32:STM32\Application\XQWF\2020\CNTSTM103\ ↩︎

  • 12
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STM32是由意法半导体(STMicroelectronics)公司推出的基于ARM Cortex-M内核的高性能、低功耗、高性价比32位微控制器系列。自其面世以来,STM32凭借其广泛的适用性和卓越的特性,已成为嵌入式系统设计领域的主流选择之一,广泛应用于工业控制、消费电子、物联网、汽车电子、医疗设备、智能家居等多个领域。 内核与架构 STM32产品线采用了不同版本的ARM Cortex-M内核,包括M0、M0+、M3、M4、M7等,分别对应不同级别的性能需求。这些内核提供单周期乘法、硬件除法、DSP指令集、浮点单元(FPU)等功能,以满足不同应用场景中的计算密集型任务需求。处理器架构遵循哈佛结构,具有独立的指令总线和数据总线,确保高效的代码执行和数据访问。 丰富的外设与接口 STM32控制器集成了丰富的外设资源,以适应各种复杂系统设计。这些外设包括但不限于: 通信接口:如USART、UART、SPI、I2C、CAN、USB(全速/高速)、Ethernet、无线连接模块(如BLE、Wi-Fi)等,用于实现设备间的串行通信和网络连接。 定时器:多种通用定时器、高级定时器、基本定时器以及PWM输出,支持定时、计数、脉冲捕获、电机控制等多种功能。 模拟外设:高精度ADC(模数转换器)、DAC(数模转换器)、比较器、温度传感器等,用于采集和处理模拟信号。 存储器:内置Flash和SRAM,容量从几KB到几MB不等,满足不同应用的数据存储和运行空间需求。部分型号还支持外部存储器接口(如FSMC、Octo-SPI)以扩展存储能力。 安全与保护机制:如加密加速器、安全单元、内存保护单元(MPU)、看门狗定时器、时钟安全系统(CSS)等,保障系统安全稳定运行。 开发环境与生态系统 STM32拥有强大的软件支持和生态系统,简化开发流程并加速产品上市时间: 开发工具:官方提供STM32CubeMX初始化配置工具,帮助开发者快速进行项目设置、外设配置及代码生成。此外,还有STM32CubeIDE集成开发环境,集成了编译器、调试器和仿真器支持。 软件库:STM32Cube软件包包含HAL(硬件抽象层)库和LL(低层)库,前者提供跨平台、跨系列的统一API接口,后者直接面向寄存器提供高效访问。同时,还提供各类外设驱动、中间件组件(如FreeRTOS、FatFS、LwIP等)以及特定应用框架(如STM32Cube.AI for AI推理)。 社区与资源:ST官方社区、论坛、博客、技术文档、培训材料、应用笔记、用户案例等资源丰富,为开发者提供全方位的技术支持和交流平台。 产品线与封装 STM32产品线按性能、功耗、外设组合等特性划分为多个子系列,如STM32F、STM32L、STM32G、STM32H等,每个子系列下又包含多种型号,以适应不同成本、性能、尺寸和功耗要求。封装形式多样,从小型QFN、LQFP到大型BGA,满足不同应用场景的封装密度和散热需求。 综上所述,STM32控制器以其强大的内核性能、丰富的外设集成、完善的开发支持和广泛的市场应用,为嵌入式系统设计提供了高度灵活且极具竞争力的解决方案。
### 回答1: 关于STM32开源机械臂资料,目前互联网上有很多相关的资源和资料可供开发者使用。 首先,可以在GitHub上找到丰富的STM32开源机械臂项目。许多开发者已经将他们的代码上传到GitHub,包括控制程序、电路设计机械结构。这些项目多数是开源的,你可以自由地下载和学习。 其次,一些论坛和社区也提供了许多STM32开源机械臂项目的帖子和资源。例如,有些开发者在知乎、CSDN等平台上分享了他们的经验和代码,你可以通过搜索关键字,找到一些实用的资料。 此外,一些广受欢迎的机械臂教育套件也使用了STM32控制器,并提供了相应的资料。这些套件通常包括详细的使用手册、示例代码和教学视频,能够帮助初学者入门。 如果你对于机械臂的具体应用场景和功能有特定的需求,可以在相关的技术论坛上提问,向其他开发者求助。他们可能会分享一些有用的资料和经验,帮助你解决问题。 最后,如果你对于STM32开源机械臂的学习有较高的需求,建议阅读一些与STM32控制器相关的书籍和教材。这些资源通常会介绍STM32的基本知识和开发技巧,为你更好地理解和应用STM32开源机械臂资料提供帮助。 总之,通过这些途径,你将能够获得丰富的STM32开源机械臂资料,帮助你进行相关的开发和学习。只要有耐心和勇于探索的精神,你一定能够成功! ### 回答2: stm32开源机械臂是一种使用stm32单片机作为控制核心的开源机械臂。开源机械臂的特点是其设计、代码以及相关资料都是公开的,方便用户学习、定制和二次开发。 对于stm32开源机械臂资料,可以通过互联网和开源社区获取。首先,可以在开源社区如GitHub等平台上找到相关的开源机械臂项目。这些项目通常会提供完整的设计文件、PCB电路图、驱动程序源代码以及使用说明。 此外,还可以在开源机器人社区或者相关的技术论坛上查找和咨询。这些社区和论坛为用户提供了交流和分享的平台,用户可以在这里提问、寻求帮助或者分享自己的经验和代码。在这些平台上,可以找到很多关于stm32开源机械臂的讨论、教程和项目示例。 对于初学者来说,还可以通过搜索相关的开源机械臂教程和博客来获取更多的资料。这些教程通常会详细介绍stm32开源机械臂的基本原理、使用方法和编程技巧。 总之,stm32开源机械臂资料丰富,用户可以通过互联网和开源社区轻松获取相关的设计文件、代码和教程。通过学习这些资料,用户可以深入了解stm32开源机械臂的原理和使用方法,并进行二次开发和定制。 ### 回答3: STM32是一款由意法半导体公司(STMicroelectronics)推出的32位单片机系列。这款单片机广泛应用于各种领域,包括机器人控制。现在关于STM32机械臂的开源资料已经相对丰富。 首先,关于STM32机械臂的硬件设计,许多开源项目提供了详细的电路图和原理图。这些设计包括不同自由度的机械臂结构,适用于不同应用的机械臂控制板等。这些资料可以帮助工程师们理解机械臂的硬件连接方式,并根据需要进行修改。 其次,针对STM32机械臂的软件开发,也有一些开源项目可供参考。这些项目包括机械臂的运动控制算法、逆向运动学算法以及与其他设备的通信接口等。通过学习这些开源代码,工程师们可以了解如何使用STM32单片机实现机械臂控制和运动规划。 此外,一些技术爱好者和工程师也会在开源社区分享他们的STM32机械臂项目经验。这些经验包括机械臂的组装、调试和优化等方面。通过参考这些经验,学习者可以更好地了解机械臂的实际应用和故障排除技巧。 总之,STM32机械臂的开源资料已经相对丰富,包括硬件设计和软件开发等方面。这些资料能够帮助工程师们实现自己的机械臂项目,并为机器人控制领域的开发者提供了宝贵的参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值