机器人设计-嵌入式系统硬件选型

Posted 殇堼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器人设计-嵌入式系统硬件选型相关的知识,希望对你有一定的参考价值。

1.电源模块

智能移动机器人要实现移动,电源模块是其实现运动的能量来源,由于线缆供电的供电方式对于移动机器人有很多限制,故选用移动电池模组为系统供电。目前市场上用于移动机器人等运动平台的常用电池类型有:铅酸电池、锂电池及其他化学成分的电池。
推荐使用磷酸铁锂电池,该型电池不仅保证了电池的安全高效,而且使用寿命更长、绿色环保

2.ROS主机

ROS主机选用成本低且性能优异的卡片计算机RaspberryPi,该模块体积小巧,容易嵌入系统,其系统主要是基于Linux系统,
但随着Windows 10 IoT的发布,RaspberryPi已经可以运行Windows系统,考虑到Linux系统的开源性以及目前Windows开发ROS的诸多局限性,本设计ROS主机仍选用在Linux系统下进行开发。
如图所示为RaspberryPi 3B的实物及主要功能接口。

3.运动控制核心

机器人运动控制核心在机器人整个控制系统中起着至关重要的作用,通过分析比较,常用的是意法半导体公司(ST)的32位微控制器。
通信电路设计
(1)RS232通信电路数据的传输一般有并行串行两种方式,由于串行接口的诸多优点,在很多领域得到应用,常用串行接口总线包括:RS232、RS422、RS485、USB,串行通信又可以分为同步通信异步通信两种类型,异步通信又分为单工、半双工、全双工。同步通信与异步通信最大的区别就是:在数据的传输过程中同步通信要在同步时钟下传输而且数据之间不允许有间隙,而异步通信却无此限制,所以异步通信在字符发送开始和结束时都设置了一个标志位,以便接收端能够正确地将每一个字符接收下来。RS232协议就一种串行异步全双工通信方式,下图就是异步通信原理示意图。


在数字电路中,RS232其实是一种电平定义方式,其逻辑电平在定义TxD和RxD上:逻辑“1”(MARK)=一3V~一15V,逻辑“0”(SPACE)=+3~+15V。RS232适合短距离、点对点的通信场合,本设计中WiFi模块与STM32之间就通过RS232进行通信。RS232串口的逻辑电平不能直接连接到STM32的TTL串VI,因为标准TTL电平定义:输入逻辑“1”电平大于2V,输入逻辑“0”电平小于o.8v,输出逻辑“1”电平大于2.4V,输出逻辑“0”电平小于O.4V,所以需要一个电平转换芯片进行电平转换,这里选用如图48所示的MAX3232芯片来做电平转接,转接接口电路原理图如图所示。

(2)USB转TTL串口电路
硬件系统中底层控制核心STM32与ROS主机Raspberry Pi 3B之间的通信传输通过USB串口实现,由于USB的逻辑电平属差分信号,即信号端D+LL D.大200mV时为逻辑“1”,D.比D+大200mV时为逻辑“0”,与TTL电平不兼容,信号传输时同样需要设计电平转换电路,其中STM32端通过转接芯片CH340G实现USB串151与TTL串VI的电平转换,将核心板的串口1逻辑电平转换为USB串口的逻辑电平,转换电路如图50所示。本USB串口是一个MiniUsB座,提供CH340G和ROS上位机主机通信的接口。

4.无线WiFi模块

在机器人控制系统中使用较广泛的近距离无线通信技术有WiFi、Mesh、蓝牙、ZigBee、Thread、Z—Wave、NFC、UWB、LiFi等,而随着通信业的发展,其中无线WiFi模块凭借低廉的成本、稳定的工作性能、快速的数据传输,使其进入各个行业,尤其在智能家居和智能机器人等终端产品通信技术中的使用最为广泛。无线WiFi模块直接与STM32通过RS232连接进行通信,主要负责非智能导航状态下的人工远程控制,并能建立一定范围的无线局域网。核心板具体型号为联发科(MTK)MT7628 SOC芯片,该芯片系统采用Openwrt‘(Linux)系
统,实物图如图。

5.电机与驱动模块

驱动电机是机器人运动的动力来源,机器人的控制实际上可以归结为对电机的控制,而针对不同的电机其控制方法各不相同,同种电机也会有不同的控制模式,所以电机的控制首先需要确定其就控制方法。系统所采用的电机类型为低压
伺服电机,并配备有驱动器,实物如图所示。

电机与驱动模块主要有速度控制和位置控制两种控制模式,综合考虑全向移动机器人的工作需要及运动特性,所采用的电机控制模式为速度控制模式,在有编码器的情况下,采用PID控制算法也可以实现位置控制。直流伺服电机驱动器模块的控制信号典型接线主要包括:差分方式接线、共阳极接线和共阴极接线。控制信号采用共阳极接法,其接线方式如图所示。

其中,脉冲控制信号高电平时4~5V,低电平时0~0.5V,为了可靠响应脉冲信号,脉冲宽度应大于1.2ps。方向控制信号为高电平时4~5V,控制信号为低电平时0~o,5V,控制信号先于脉冲信号5脚保证了电机可靠换向。使能信号用于使能或禁止。ENA+接+5V,ENA.接低电平(或内部光耦导通)时,此时电机处于自由状态将屏蔽外部脉冲信号。

6.系统上下位机的通信设计

系统上下位机的通信方式如图所示,STM32下位机嵌入式系统与ROS主机Raspberry Pi 3B之间通过串口方式进行通信。

基于无线WiFi的多机分布式通信目的是通过PC端远程访问ROS主机,在一台PC上同时对多个Linux终端进行操作,通过SSH通信即可实现ROS主从机之间的文件互传、远程其他操作。
SSH通信程序分为有客户端程序openssh.client和服务端程序openssh—server。
同时为ROS主从机安装SSH服务,并且开启服务,终端执行命令如下:
$sudo apt—get install openssh-server
$sudops—e Igrep ssh
修改hosts文件,将ROS主从机hostname(主机名)和当前网段下的口地址
添加进该文件,保存退出。修改hosts文件终端执行的命令如下:
$sudo gedit/etc/hosts
编辑bashrc文件,设置ROS-MASTER.URI,终端执行的命令如下:
$gedit.bashrc
ROS主机添加如图所示的代码:

ROS从机添加如下图所示的代码,其中口为当前网段的地址,rosmater只运行于ROS主机。

通过上述设置,即可实现WiFi分布式通信的设计。
底盘控制系统框图如下:

以上是关于机器人设计-嵌入式系统硬件选型的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式开发概述

自动化缺陷检测系统02---系统平台搭建

自动化缺陷检测系统02---系统平台搭建

[架构之路-20]:目标系统 - 硬件平台 - 嵌入式系统硬件电路基础:架构设计流程总线外设基本电路编码

什么是嵌入式系统的软硬件协同设计

STM32学习-嵌入式微处理器指令集架构