【STM32】【C】【嵌入式】分享一下我的项目经验--基于stm32桌面主从机械臂设计(一弹)

5 篇文章 6 订阅
3 篇文章 0 订阅

 本文为原创文章,转载需要注明转载出处

   前言:嵌入式开发是相比其他IT行业是比较难的行业,它不仅需要你去掌握软件的经验,还要去学习一些硬件的知识,

它是软件和硬件的一个粘合剂,起到一个至关重要的地位

 嵌入式学习必须要沉下心来

 实物图

这个项目是我在学校做的项目,发表了一篇论文,由于学校的是一个团队,机械加电控,主要讲了机械部分,电的知识只有一些,并没有讲很多关于电的知识,我很遗憾,很可惜,并不能将电和控制部分的东西展现出来,在这里,我把思路屡一下,发在这里。

【STM32】【C】【嵌入式】分享一下我的项目经验--基于stm32桌面主从机械臂设计(一弹)

【STM32】【C】【嵌入式】分享一下我的项目经验--基于stm32桌面主从机械臂设计(二弹)

【STM32】【C】【嵌入式】分享一下我的项目经验--基于stm32桌面主从机械臂设计(三弹)

代码还没更新完,github太卡了,码云一个小时上传20个文件

码云地址:https://gitee.com/rong11417/MasterSlaveArm

目录

摘要:

 

第一章 系统整体设计思路

1.1整体设计概述

 1.2整体设计逻辑原理图

1.3 单片机简介

 1.4 stm32f103部分系统原理图

1.5 stm32f103系统架构图

第二章 元件及器件

2.1 42 步进电机

2.1.1 42步进电机概述

2.1.2 42步进电机的工作原理 

 2.2 A4988 电机驱动

2.2.1 A4988电机驱动概述

2.2.2 A4988 电机驱动实物图

2.2.3 A4988电机驱动连线图

 2.3 蓝牙 HC-06

2.3.1 蓝牙 hc-06概述

2.3.2 蓝牙之间通信

2.3.3电平选择

2.3.4 蓝牙的主从关系配置

 2.3.5 蓝牙连接


摘要:

随着科技的发展,工业4.0的推进,机械臂应用也越来越广,它慢慢取代人工劳动,演化出各种各样的机械臂,比如码垛机械臂,焊接机械臂,装配机械臂,手术机械臂,等等,这些机械臂工作的稳定性和精度都是高于人的,并且它们可以从事危险的环境里。

机械臂主要由机械框架,硬件和软件等组成,这里主要硬件和软件的部分,本文旨在方案新颖,方案由两个三自由度机械臂,一个是主机械臂,另一个是从机械臂,类似于示教机械臂,主机械臂怎么运动,从机械臂就跟着怎么运动。

 

第一章 系统整体设计思路

1.1整体设计概述

从整个大体来看,本次设计略微有点复杂。首先一共有两个机械臂,一个主机械臂,一个是从机械臂,要想实现功能,需要用到两个stm32c8t6最小系统,一个是控制主机械臂,一个控制从机械臂,控制主机械臂的stm32最小系统的主要功能是通过采集主机械臂上的三个电位器的电压值和ADC值,计算出1个角度是多少个ADC的值,从而计算出对应的电机脉冲,然后通过蓝牙发送数据。控制从机械臂的stm32最小系统的主要功能是蓝牙接收传过来的数据,进行脉冲数据处理,然后转化为三个步进电机对应的脉冲,进而驱动从机械臂。

 1.2整体设计逻辑原理图

1.3 单片机简介

stm32f103xx性能系列是一套全面的节能模式允许设计低功耗应用,在很多领域应用广。

主要特性:

高性能ARM Cortex-M3 32位RISC内核,72MHZ频率,高速嵌入式闪存

16mhz石英振荡器,内部8 MHz,内部32khz RC,PLL的CPU时钟,RTC专用32khz振荡器

直接存储器存取,7通道DMA控制器,外设支持:定时器,ADC, SPIs,I2Cs 和USARTs

低功率,休眠、停止和待机模式,VBAT供应的RTC和备份寄存器

2 x 12位,1µs A / D转换器(16通道),转换范围:0至3.6 V,双样本和保持能力,与先进的控制计时器同步

通信接口,最多2个I2C接口(SMBus/PMBus),最多3个USARTs (ISO 7816接口,LIN,IrDA功能,调制解调器控制),最多2个spi (18mbit /s),CAN接口(2.0B Active), USB 2.0全速接口等

 1.4 stm32f103部分系统原理图

1.5 stm32f103系统架构图

第二章 元件及器件

2.1 42 步进电机

2.1.1 42步进电机概述

要控制机械臂,先得控制步进电机,我这里选用的步进电机是42步进电机。步进电机按转子类型来分,可以分为永磁式、反应式、混合式。42步进电机是混合式步进电机,也有听说过57步进电机。这个型号常见的是按照步进电机的尺寸来分类的,按照法兰尺寸,市面上常见的混合式步进电机有20/25/28/35/36/39/42/57/60/86/110/130,下面主要讲解42步进电机。

2.1.2 42步进电机的工作原理 

步进电机(stepping motor)把电脉冲信号转换成角位移以控制转子转动的微特电机。在自动控制装置中作为执行元件。每输入一个脉冲信号,步进电机前进一步,故称之为脉冲电动机。

 2.2 A4988 电机驱动

2.2.1 A4988电机驱动概述

a4988电机驱动常用来3d打印中,其常与ardiuno配合使用,在这里我将配合用stm32f103c8t6最小系统来配合a4988电机驱动控制42步进电机。 

2.2.2 A4988 电机驱动实物图

2.2.3 A4988电机驱动连线图

1B 1A 2A 2B是连接42步进电机的

MS1 MS2 MS3进行细分电路,来选择模式的,如下图

L |L| L是全步  每步1.8度,也就是一个脉冲1.8度。 如果给200个脉冲,就是360.理论上是这样的。
下面就是细分  H L L  1/2细分
L H L   1/4细分
H H L   1/8细分
H H H  1/16细分
VMOT 和下面的GND 连接的是一个外部供电电源  电压在8~35V
右下角的VCC和GND是与板子的对应管脚相连接
/ENABLE 控制电机是否能转  0代表可以转 1代表不能转
/RESET 和 /SLEEP 这两个管脚用一根杜邦线相连
DIR管脚控制的是 电机旋转方向 正转或反转  0代表正转  1代表反
STEP管脚是控制脉冲的 与板子 相连一个管脚 对其管脚进行控制

机械臂左右步进电机与a4988驱动的连接方式

左步进电机连线

1B ------->蓝(blue)

1A-------->黄(yellow)

2A-------->绿(green)

2B-------->红(red)

右步进电机连线

1B ------->红(red)

1A-------->绿(green)

2A-------->黄(yellow)

2B-------->蓝(blue)

反正两个电机反着接

 2.3 蓝牙 HC-06

2.3.1 蓝牙 hc-06概述

通常用的蓝牙是hc-05型号的,蓝牙(Bluetooth):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为RS232数据线的替代方案。蓝牙可连接多个设备,克服了数据同步的难题。

2.3.2 蓝牙之间通信

 pc端与单片机之间的通信,pc端需要通过usb转ttl串口的一个转换器,通过这个转换器与pc端和蓝牙相连接,蓝牙的RX对应的是转换器的TX,转换器的RX对应的蓝牙的TX,只有这两个相互交叉才可以读写数据,这一点很重要。

2.3.3电平选择

一般情况下,蓝牙不能正常工作的原因可能是电压低的缘故,大多数蓝牙模块的电压范围比较大,HC-06的蓝牙模块是3.3-6v,总之要看好蓝牙模块对应的技术手册,连接正确的电源。

2.3.4 蓝牙的主从关系配置

 设置决定蓝牙模块自动连接工作后的角色,主角色(Master)会自动搜索配对连接,从角色(Slave)只被动接受连接,不会主动搜索,回环角色(Loopback),属于被动连接,接收远程蓝牙主设备数据并将数据原样返回给远程蓝牙主设备。如果两个HC05模块要建立连接,其中一个必须设置为主角色,另外一个可以设置为从角色或回环角色,如果一个HC05模块和电脑蓝牙或者手机蓝牙通信,一般电脑或手机可以主动建立连接,所以HC05可以使用从角色,出厂默认也是设置为从角色的。

 2.3.5 蓝牙连接

1)HC06蓝牙模块与转接口连接好后,直接将USB转TTL转换器插入电脑,这个时候,HC06蓝牙模块快闪,就进入了设置模式。

2)打开串口调试助手,选择对应com口,如果没有的话,需要安装c340驱动,然后将波特率选择为原来设置好的波特率,出厂的时候是9600,打开串口。

3)将“发送新行”去掉勾选,输入AT,点击发送,发回来的是:OK。

4)设置蓝牙名字

发送:AT+NAMExxx,xxx为任意的应为,比如名字设置为me,则应该发送AT+NAMEme,返回:OKsetNAME,说明名字设置成功。

  1. 设置配对密码

发送:AT+PINxxx,xxx为任意数字,并且密码为四位数,比如设置密码为,1234,则发送AT+PIN1234,返回:OKsetPIN

  1. 设置波特率

发送:AT+BAUDx,x为1~c的数字。比如讲波特率设置为115200,则发送AT+BAUD8,返回对应的波特率

 

(7)设置主从模式

蓝牙一: 发送:AT+ROLE=S,将蓝牙设置成从机模式,从机模式下蓝牙快闪,从机

模式才能跟手机相连

 

蓝牙二:

 

发送:AT+ROLE=M,将蓝牙设置成主机模式 ,主机模式下蓝牙慢闪。

 

(8)连接测试 给两个蓝牙重新供电,一会后,两个蓝牙灯常亮,说明连接成功。

 未完,请看二弹

 【STM32】【C】【嵌入式】分享一下我的项目经验--基于stm32桌面主从机械臂设计(二弹)

  • 19
    点赞
  • 191
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: STM32是一种微控制器家族,常用于嵌入式系统设计。基于STM32机械臂设计,可以实现复杂的运动控制和自动化功能。 首先,机械臂通常由关节和连接器构成,每个关节都需要一个驱动器来控制。基于STM32机械臂设计可以使用其GPIO引脚控制关节驱动器,通过PWM信号调整驱动器的占空比以控制关节的角度。同时,STM32的定时器还可用于生成高频PWM信号,以提供精确的控制和运动平滑性。 其次,机械臂还需要传感器来感知环境和实时监测机械臂状态。STM32的ADC模块可用于读取传感器数据,如位置传感器、力/力矩传感器等,以实现闭环控制和运动校准。此外,基于STM32机械臂设计还可以通过UART、SPI或I2C等通信接口与其他模块或计算机进行数据交换和远程控制。 另外,为了提供更高的运算能力和更多的存储空间,STM32系列还提供了丰富的外设,如定时器、DMA控制器、CAN总线等。这些外设可以用于优化机械臂设计的运算效率和通信性能。 最后,基于STM32机械臂设计可以通过嵌入式实时操作系统(RTOS)来实现任务调度和多线程运行。RTOS可以管理多个任务和中断,并确保各个任务的实时性和稳定性,提升机械臂的运动精度和可靠性。 综上所述,基于STM32机械臂设计能够实现高精度的运动控制、多种传感器数据采集和通信功能,并且通过RTOS实现任务调度和多线程运行,大大提升了机械臂的性能和可靠性。 ### 回答2: stm32是一种嵌入式微控制器,它有很高的性能和广泛的应用领域。基于stm32进行机械臂设计可以实现灵活可控的机械臂运动。 在基于stm32机械臂设计过程中,我们可以首先使用stm32开发板连接电机驱动器和传感器。通过编写代码,我们可以使用stm32控制电机驱动器的速度和方向,以实现机械臂的运动。 同时,stm32具有较高的计算能力和丰富的外设接口,这使得我们可以将各种传感器和执行器与stm32连接起来。例如,我们可以通过连接陀螺仪传感器和压力传感器,实现对机械臂位置和力度的精确控制。 另外,stm32还支持多种通信接口,如SPI、UART和I2C等。这些接口使得我们可以将机械臂与其他设备进行无线或有线通信。例如,我们可以通过连接无线模块,实现对机械臂的遥控。 此外,stm32的低功耗特性也使得基于它的机械臂设计可以更节能。通过合理设计算法和使用低功耗外设,我们可以将机械臂的功耗降至最小。 总而言之,基于stm32机械臂设计可以实现高性能、灵活可控和节能的机械臂。通过合理选取外设和编写代码,我们可以有效地控制机械臂的运动,并将其应用于各种场景,如工业生产、物流和医疗等。 ### 回答3: 基于STM32机械臂设计需要考虑到多个方面。首先,需要选择适合的STM32微控制器,它可以提供强大的计算能力和丰富的外设接口,以满足机械臂的控制需求。接下来,需要设计机械臂的机械结构和运动学模型,包括关节数量、类型和布局,以及关节驱动方式。同时,还需要选择适当的电机和传感器,用于实现机械臂的精准运动和位置反馈。 在控制方面,基于STM32机械臂设计可以通过PID控制算法来实现位置和速度控制。同时,可以利用STM32的定时器和输入捕获功能来实时获取关节的角度信息,从而实现闭环控制。此外,STM32还支持通信接口,例如CAN和UART,可以用于与上位机或其他外部设备进行通信,实现机械臂的远程控制和数据交互。 为了提高机械臂的易用性和安全性,可以在设计中加入人机交互界面和防碰撞功能。利用STM32的LCD屏幕和按键接口,可以设计用户友好的界面,方便用户对机械臂进行操作和监控。同时,可以通过添加超声波或红外传感器,来检测机械臂周围的障碍物,并及时采取相应的措施,避免碰撞。 总而言之,基于STM32机械臂设计,需要综合考虑硬件和软件的设计,以实现机械臂的精确控制、安全运行和用户友好的操作界面。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GLL_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值