您好,请登录 免费注册
手机立创
  • 微信小程序

    找料更方便

  • 立创APP

    体验更友好

  • 立创公众号

    售前咨询,优惠活动

消息(0)
我的订单 购物车(0)
联系客服
  • 4000800709

    点击QQ咨询

  • 0755-83865666

    0755-83865666

    拨打电话咨询

帮助中心
供应商合作

温馨提示

您上传的BOM清单格式不准确,当前支持上传xls、xlsx、csv、JPG、PNG、JPEG格式,请检查后重新上传

BOM正在分析中...
首页 > 应用与分享 >立创电赛展:《无线充电式手机遥控FOC轮足巡检机器人》,参赛赢2万现金!
  • 立创电赛展:《无线充电式手机遥控FOC轮足巡检机器人》,参赛赢2万现金!

  • 2024-12-31 16:57:09 阅读量:728

为了给大家些创作灵感,今天带来第九届立创电赛特等奖项目-《无线充电式手机遥控FOC轮足巡检机器人》案例分享!本文作者:瑞萨MCU杯第九届立创电子设计开源大赛选手@极电智翼Extreme Electric Wings,禁止商用,未经许可禁止转载。

1、项目功能介绍


 

本项目旨在开发一款集创新技术与实用功能于一体的无线充电式手机遥控轮足巡检机器人,适合居家、生产等场景,可以进行高效、灵活且自主的环境巡检工作。项目设计包含机械结构、软件控制、通信技术及无线充电,综合程度较高同时也十分有趣。

作为开源项目,我们精心整理了复刻本项目需要的所有附件资料,并在本文中介绍了系统架构、电路,机械结构、算法、程序框架、调试经验等,并在一些关键技术点上也有重点原理性的说明,期望和平台上的所有电子爱好者一起分享开源的乐趣,同时也邀请大家提出宝贵的建议来不断完善!

第九届立创大赛巡检机器人

 

1.1 项目核心功能特点

  • 环境监测系统

机器人搭载”盛思锐 Sensirion“高精度环境监测传感器,能够实时采集周围温度、湿度等环境数据(具体传感器配置可根据需求定制,空气质量、光照强度等)。监测数据通过蓝牙实时传输至手机APP,用户可随时查看并分析环境变化趋势。

  • 双轮足运动系统:

采用独特的轮足设计,结合轮式与足式机器人的优点,既能在平坦地面快速移动,又能跨越小障碍或楼梯,实现复杂地形的灵活适应。轮足使用永磁同步电机FOC控制,确保机器人在行走过程中的稳定性和平衡性,同时减少能耗,提高续航能力。

  • 安卓手机蓝牙APP遥控:

配套开发的安卓手机APP,用户可通过蓝牙连接机器人,实现远程无线操控。APP界面友好,操作简便,能实时反馈环境情况,进行运动控制(前进、后退、转向、停止等)以及速度调节。用户可直接通过APP控制机器人运动,满足不同场景下的灵活需求。

  • 无线充电功能:

机器人底部集成无线充电接收模块,只需放置于设计的无线充电底座上,即可自动开始充电,无需人工插拔电源线,极大地方便了机器人的维护和充电操作。无线充电功能提高了机器人的安全性和便捷性,避免了传统有线充电可能带来的安全隐患和不便。

 

1.2 应用场景

  • 工业巡检:在工厂车间、仓库等环境中,自动巡检设备状态、监测环境参数,及时发现并报告异常情况。
  • 家庭服务:作为智能家居的一部分,执行家庭监控、物品传递等任务,提高生活便利性。

 

1.3 项目技术优势与亮点

 

项目技术亮点描述:基于低成本单片机的复杂项目工程实现

 

  • STM32F103C8T6的选择与优势

本项目依托于STM32F103C8T6这款高性价比、资源丰富的入门级微控制器,成功实现了集无线充电、双轮足运动控制、蓝牙通信及环境监测于一体的复杂巡检机器人系统。

a. 高性能与低功耗:STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,具有出色的计算能力和能效比,能够在低功耗下完成复杂的运算任务,非常适合于需要长时间运行且对功耗有严格要求的巡检机器人项目。

b. 丰富的外设资源:该微控制器集成了多种外设接口,包括多个定时器、ADC(模数转换器)、DAC(数模转换器)、SPI、I2C、USART等,为项目中的无线充电管理、电机驱动、蓝牙通信及环境监测传感器接入提供了强有力的支持。

易用的开发环境:STM32F103C8T6支持多种开发工具链和IDE(如Keil MDK、IAR EWARM、STM32CubeIDE等),使得项目开发更加高效便捷。

  • 项目实现的关键技术点

a. 双轮足运动控制系统: 

创新地使用了低成本单片机STM32F103C8T6,在单颗单片机芯片上完成了轮足机器人驱动。其资源被充分利用,实现了两个轮子的SVWPM的FOC控制以及轮足机器人的姿态三环控制。

b. 无线充电管理:

依托APP即可控制无线充电开关,硬件级设计实现充电状态的判断和管理,确保充电过程的安全性和高效性。

c. 蓝牙通信与APP开发:

利用STM32F103C8T6的USART蓝牙模块(如HC-05、HC-06等)实现与安卓手机的蓝牙通信。

开发配套的安卓手机APP,通过蓝牙接收来自机器人的环境监测数据,并发送控制指令给机器人。

d. 环境监测系统:

搭载”盛思锐“高精度环境监测传感器,通过STM32F103C8T6的ADC或I2C/SPI接口读取传感器数据。

对数据进行处理和分析,通过蓝牙或其他方式将监测结果实时传输给APP显示。

 

2、项目属性


项目首次公开,原创设计,未参加其他比赛,非毕业/课程设计。

 

3、开源协议


GPL3.0开源协议。项目核心功能全部开源。

 

4、硬件部分


4.1 系统整体方案

本作品是基于意法半导体的STM32F103C8T6微控制器作为主控制器。采用了三片STM32F103C8T6微控制器,分别完成轮足机器人控制,轮足机器人驱动,无线电能传输控制。其中通过STM32F103C8T6的USART实现轮足机器人控制和实时环境监测两个微控制器控制的统一,下面称为控制板。通过STM32F103C8T6的USART和蓝牙模块(如HC-05、HC-06等)实现与安卓手机的蓝牙通信,通过开发配套的安卓手机APP,通过蓝牙接收来自机器人的环境监测数据,并发送控制指令给机器人,实现机器人控制、无线充电、实时环境监测的功能。控制图为下:

 

系统整体方案

 

除了图中的充电板、控制板和驱动板,还有机身结构板和编码器板一共5种PCB,全部由“嘉立创EDA(专业版)”绘制。下节分别介绍的硬件部分。

 

4.2 充电板硬件电路

电源输入及保护:

保险丝保证系统稳定性防止过流。

电源输入及保护

STM32单片机最小系统:

主要负责蓝牙连接和PWM输出。

电源输入及保护 STM32单片机最小系统:

辅助电源部分:

LDO给5v和3.3v,给蓝牙模块与单片机供电。

辅助电源部分

 

全桥逆变器:

无线电能传输逆变器,开关管选用英飞凌IRF540,驱动芯片为TI的UCC27211,输出交流

全桥逆变器

LCC线圈补偿:

无线电能传输补偿拓扑,这个地方需要特殊设计Lf1=4.8μ,Cf1=258nF,C1=258nF,具体的参数设计放在下节。

 

LCC线圈补偿

蓝牙:

采用通用的蓝牙模块即可,HC-05/06等,性价比高,也可考虑将BC417芯片直接画板子上。

 

4.3 控制板硬件电路

 

全桥整流加S补偿:

采用二极管全桥整流,整流效率高,二极管应力低,无线电能传输补偿拓扑采用S补偿,电容参数为124nF

 

 全桥整流加S补偿

 

BUCK降压电路:

采用TI的TPS54302芯片,为4.5V 至 28V 输入电压、3A 输出电流、EMI 友好型同步降压转换器。可保证在全功率范围内电池充电电压的稳定。

 

BUCK降压电路

 

电池充电电路:

采用南京拓微的充电芯片TP5100,为2A开关降压 8.4V/4.2V锂电池充电器芯片。

TP5100是一款开关降压型双节8.4V/单节4.2V锂电池充电管理芯片。其QFN16超小型封装与简单的外围电路,使得TP5100非常适用于便携式设备的大电流充电管理应用。同时,TP5100内置输入过流、欠压保护、芯片过温保护、短路保护、电池温度监控。

TP5100具有5V-12V输入电压,对电池充电分为涓流预充、恒流、恒压三个阶段,涓流预充电电流、恒流充电电流都通过外部电阻调整,最大充电电流达2A。TP5100采用频率400kHz的开关工作模式使它可以使用较小的外围器件,并在大电流充电中仍保持较小的发热量。TP5100内置功率PMOS、防倒灌电路,所以无需防倒灌肖特基二极管等外围保护。

充电电流设置为1A。

电池充电电路电池充电电路

 

单片机最小系统:

主要负责蓝牙连接,温湿度传感器信息采集和电量监测。

单片机最小系统

 

电压采样电路:

采用电阻分压,成本低,方便调节,ADC采样加稳压管保护。

电压采样电路

接口:

分别为电池接口,串口,烧录口,温湿度传感器,蓝牙模块接口。

接口

 

辅助电源部分:

ldo给5v和3.3v,给蓝牙模块与单片机供电。

辅助电源部分

 

电源保护:

稳压二极管保护单片机。

电源保护

温湿度传感器:

采用"盛思锐Sensirion"的sht30,链接:SHT30-DIS-B-±2%数字温湿度传感器(10-90%RH)外围电路参数配置也很简单,直接使用了模块,性价比高。

 

温湿度传感器

 

温湿度传感器

 

蓝牙:

采用通用的蓝牙模块即可,HC-05/06等,性价比高,也可考虑将BC417芯片直接画板子上

 

4.4 驱动板硬件电路

单片机最小系统:

主要负责连接控制板,采集编码器数据,采集电流控制两个电机,控制两个舵机。

单片机最小系统

 

电流采样:

采集电流,检测电机相电流。

电流采样

 

电流基准:

给定电流基准。

电流基准

 

电机驱动:

集成了三相全桥电路的驱动芯片,避免了电机分立驱动电路占据PCB的空间,并且电流输出能力也完美满足

电机驱动

 

陀螺仪:

陀螺仪电路,经典的MPU6050,模块通常使用连接不稳定。驱动板集成了陀螺仪电路,更加稳定,也更加节省空间。

 

陀螺仪

接口:

调试、电机、编码器接口,接口采用sh1.0系列4p。

 

接口

电池保护:

保护电池,避免过充、过放。

电池保护

BUCK:

将电池降压至5V。

电池保护 BUCK

BOOST:

给电机、驱动器供电。

BOOST

3.3V电源:

给单片机、及其外设芯片供电。

3.3V电源

 

编码器:

采集电机转子位置,用于FOC控制。

编码器

 

 

4.5 无线电能传输原理及参数设计

 

无线电能传输系统拓扑如下:

无线电能传输系统拓扑

 
图是采用 LCC/S 补偿拓扑的完整的 ICPT 谐振变换器电路拓扑,输入电压为直流,逆变环节采用全桥逆变,整流采用全桥,滤波环节采用电容滤波,接阻性负载 RL
由于整流桥将 Uab钳位为方波,而电流为正弦波,则负载 RL折算到整流桥前侧负载等效为:
负载等效
从而,输入直流电压 Uout为:
输入直流电压
设输入直流母线电压为 Uin,则全桥逆变后的基波电压幅值 UAB_1为:
直流母线电压
则从逆变桥往后看的输入阻抗 Zin为:
直流电流
可得从直流母线电压到输出直流电压的总增益为:
总增益
这是设计的关键参数,其中LCC/S拓扑其余设计参数由下面公式决定:

LCC/S拓扑其余设计参数

LCC/S拓扑其余设计参数LCC/S拓扑其余设计参数

 

其中M表示互感,采用原副边相同线圈,感值9.7u左右,间距5mm,耦合系数约为0.6,因此设计Lf1=4.8μ,则Cf1=258nF,C1=258nF,C2=124nF

 

4.6 机器人机械结构

 

机器人机械结构

 

a. 机械结构尺寸设计

在轮足机器人的四杆机构中,具有四个铰接点,形成一个闭合的链条结构。如图所示,该机构的简化结构中,L4为与机身刚性连接的PCB,L1为大臂,L3为传动筋,L0和L2为一体的小臂。每个铰接点允许相邻杆之间进行相对旋转,从而实现灵活的运动。该结构的关键特性在于通过控制其中一个铰接点(如图中的L1和L4),可以影响整个机构的状态和位置,使机器人在行走时能够调节高度、倾斜角度以及转向能力。将这种四杆机构应用于轮足机器人,因为它有效提升了机器人的稳定性和灵活性,尤其是在应对复杂地形时。此外,四杆机构的设计相对简单,制造和维护成本较低,这也是其在机器人领域被广泛采用的原因之一。

 

在长度选择方面,需要考虑机体的稳定性。希望在铰链旋转时,机体的重心能够经过车轮轴,因此近似要求 L0 = L1。同时,L4 应大于 L2,以减弱角度 ∠φ 变化对 L4 角度的影响,从而在机身高度变化时,降低位于机身的陀螺仪的角度变化,提高控制的稳定性。此外,各个长度还需综合考虑机械结构的美观性以及实际运动中的干涉问题。最终选择的尺寸为:

 

机械结构尺寸设计

机械结构示意图

 

名称

长度/mm

L0

45

L1

45

L2

13

L3

45

L4

26

 

b. 轮电机选择

轮子使用3205B三相无刷电机,外转子设计,可以实现更高的转矩输出。3205B电机的详细参数如下:

Kv:260 RPM/V,电机每伏特施加的电压可产生260转/分钟的转速。

槽数 (n):12槽,定子绕组中的槽的数量。

极数 (p):14极,电机转子上的极对数量。

相电阻:约6.7欧姆,影响到电机在运行时的电流和热量产生。

 

电机采用FOC控制,这是一种高效的电机控制技术,适用于永磁同步电机(PMSM),具备良好的动态响应,特别适合需要精确控制的应用场景。FOC通过将三相电流(UVW)变换为两相坐标系(d-q轴)来实现速度和位置控制。电机自带径向磁铁,和磁编码器搭配使用,以获取实时转子位置,确保控制系统的准确性。

 

电机选择

 

电机选择

c. 关节舵机选择

舵机使用MG90S,金属齿轮版本,用来驱动关节L1和L4运动。MG90S是一款适合驱动关节运动的常用舵机,其主要优势在于金属齿轮提供了更高的耐用性和强度,适合高负载和频繁运动的应用。MG90S舵机体积小巧,易于集成到各种项目中,广泛应用于机械手臂和仿生机器人等领域。其具体的参数如下MG90S参数

 

重量

13.6G

尺寸

22.8*12.2*28.5MM

扭力

2.0KG(4.8V)

速度

0.11S(4.8V)

角度

180°C

温度

0°-55°

死区设定

5us

插头类型

JR、FUTABA通用

产品结构材质:

金属齿、空心杯电机、双滚珠轴承

 

MG90S舵机

MG90S舵机

 

MG90S连接示意图

MG90S连接示意图

 

5、软件部分


 

5.1 手机遥控App

APP基于MIT App Inventor平台开发,地址链接:appinventor.mit.edu

MIT App Inventor是麻省理工学院(MIT)计算机科学和人工智能实验室推出的一款图形化编程工具。平台提供了一组强大的组件和模块,用户可以利用这些组件构建丰富的交互式用户界面,并添加各种功能和特性。开发的App可以运行在手机、平板等Android或iOS设备上,具有广泛的兼容性

手机遥控

 

a. 软件工作流程

如图为设计的蓝牙APP,其工作流程:

 

软件工作流程

 

  • 用户打开APP后,首先进入主界面。主界面分为充电控制部分与轮足机器人控制部分,界面开启时所有按键不可用,只能连接蓝牙。
  • 充电控制部分点击蓝牙连接即可连接蓝牙,如果已连接,则显示“已连接”状态;若未连接,则提示用户连接错误。连接成功后,连接蓝牙按键不可用,轮组机器人所有按键不可用,用户只可选择是否开启无线充电功能。若开启,APP将发送指令至机器人,启动无线充电,并在按键上显示充电状态,开启按键同时不可用。若关闭,APP将发送指令至机器人,关闭无线充电,并在按键上显示充电状态,关闭按键同时不可用。
  • 轮足机器人控制部分点击蓝牙连接即可连接蓝牙,如果已连接,则显示“已连接”状态;若未连接,则提示用户连接错误。连接成功后,连接蓝牙按键不可用,无线充电所有按键不可用,用户只可选择环境监测和轮组机器人运动功能。
  • 点击“启动”即可控制轮足机器人开启,启动时显示启动状态,同时控制按键启用,可点击,点击后可以控制机器人运动,可以控制机器人的前进、后退、左转、右转、立定、起跳、跳舞等动作。关闭时显示关闭状态,同时控制按键禁用,不可点击。
  • 点击“启动/关闭监测”即可控制是否查询实时情况,启动时显示启动状态,同时查询实时情况启用,可点击,点击后可以跳转状态界面,查询实时状态。关闭时显示关闭状态,同时查询实时情况禁用,不可点击。
  • 用户点击“查询实时情况”按钮,进入环境监测界面,即第二界面。由于开发软件平台问题,需要重新连接蓝牙,APP会自动连接蓝牙至轮足机器人。用户可手动更新温度和湿度以及机器人电量信息,或选择自动更新信息。完成监测后,用户可选择并返回主界面,返回主界面,APP会自动连接蓝牙至轮足机器人,即可随意控制机器人运动。

 下图为APP的设计流程图:

 

APP设计流程

 

b. 软件部分设计内容

完成了以下工作:

1.        设计直观易用的主界面和子界面。

2.        在界面上设置清晰的按钮和提示信息,引导用户进行操作。

3.        根据用户操作生成相应的控制指令。

4.        将指令通过蓝牙发送给轮足机器人,并接收执行结果。

5.        在界面上显示控制结果和机器人状态。

6.        支持从状态界面跳转到控制界面,再从控制界面返回主界面的流畅操作。

7.        采用蓝牙通信模块,实现与轮足机器人的蓝牙连接、断开、数据收发功能。

8.        实时检测蓝牙连接状态,并在界面上显示。

9.        数据处理与显示模块接收来自轮足机器人的数据(如电量、温度、湿度等),并进行处理。

10.     在界面上以数字等形式实时显示这些数据。

11.     支持手动和自动更新数据功能。

 

5.2 无线充电板软件程序

需要完成蓝牙通信,PWM控制功能。

在STM32的开发环境中,引入相关的库文件,以便能够使用蓝牙通信功能。初始化串口,配置USART引脚和相关参数,如波特率、数据位、停止位和校验位等。通常,蓝牙模块的默认波特率为9600,但可以根据需要调整为更高的波特率,如115200。

启用STM32的定时器(Timer)模块,通过定时器来生成PWM信号。配置定时器TIM1的相关参数,有预分频器、自动重载值和计数模式等,以控制PWM信号的频率和占空比。选择142.857kHz和48%占空比,设置死区。将定时器的输出连接到PWM模式,并启用相应的PWM通道。

通过接收APP发送的指令,控制驱动信号启动和关断,以控制无线充电的开启和关闭。

 

单片机资源图:

 

单片机资源图

代码框架

 

代码框架:

下面为主要配置:

配置时钟:

 

配置时钟

 

配置定时器time1:

 

配置定时器time1

 

PWM配置,频率占空比:

 

PWM配置,频率占空比

 

设置死区:

 

设置死区

 

UART1配置,波特率9600:

 

UART1配置,波特率9600

 

主函数先初始化即可通过接收数据控制无线充电是否开启:

 

主函数先初始化即可通过接收数据控制无线充电是否开启

 

 

5.3 控制板软件程序

需要完成蓝牙通信,温湿度传感器控制,电量检测,控制驱动板。

在STM32微控制器上集成蓝牙通信、通过I2C接口控制温湿度传感器、利用ADC接口检测电量,以及借助USART接口控制驱动板的功能,需要一系列连贯的配置步骤。

首先,针对蓝牙通信,需要选择合适的USART(或UART)端口,并配置其引脚为USART功能,设置与蓝牙模块相匹配的波特率、数据位、停止位和校验位。

对于温湿度传感器的控制,启用STM32的I2C接口,配置SCL和SDA引脚为I2C功能,并设置合适的I2C时钟速度。在I2C初始化完成后,通过发送启动信号和传感器地址来初始化传感器,并可能发送特定的初始化命令。之后,编写函数来定期从传感器读取温湿度数据,以供后续处理。

 

在电量检测方面,利用STM32的ADC接口,选择适当的ADC通道,并配置ADC的时钟源、预分频器、分辨率和采样时间。ADC初始化完成后,可以编写函数来启动ADC转换,并在转换完成后读取转换结果。根据电路设计,这个ADC值可以转换为电压值或电量百分比,用于监控系统的电量状态。

 

对于驱动板的控制,选择另一个USART端口进行配置,同样设置与驱动板相匹配的波特率、数据位、停止位和校验位。USART初始化完成后,可以编写函数通过USART发送控制命令给驱动板,并可选地接收驱动板的响应。这样,STM32就能够通过USART接口与驱动板进行通信,实现对其的控制。

 

在整个配置过程中,确保每个组件的初始化函数在主程序的合适位置被调用,并通过循环或中断服务程序来周期性地读取传感器数据、发送控制命令、处理蓝牙通信等。此外,为了增强系统的稳定性和可靠性,还考虑了错误处理机制,以便在出现异常情况时能够及时响应并采取相应的措施。

 

单片机资源图:

单片机资源图

代码框架:

 

代码框架

程序主要配置:

配置时钟:

 

配置时钟

 

 

配置ADC:

 

配置ADC

 

配置I2C:

 

配置I2C

 

配置I2C

 

UART1配置,波特率9600:

 

UART1配置,波特率9600

 

UART2配置,波特率115200:

 

UART2配置,波特率115200

 

sht3x.c中放置了传感器相关函数定义。

 

 

ADC采样封装函数:

 

ADC采样封装函数

 

温湿度传感数据接收封装函数:

 

温湿度传感数据接收封装函数

 

 

主函数先初始化即可通过状态机接收蓝牙数据控制每个状态并发送至驱动板:

 

主函数先初始化即可通过状态机接收蓝牙数据控制每个状态并发送至驱动板

 

5.4 驱动板软件程序

驱动板负责轮足机器人的动作控制,并接受来自输入端的动作指令,以实现对机器人各个关节和电机的精确调节。

1、驱动板电机矢量控制

根据三相逆变电路开关状态,电路共有8种基本状态,如下图所示,对应的矢量为U0~7,其中六个非零电压矢量:

和两个零电压矢量​:

 

 

驱动板电机矢量控制

U4举例,此时的三相绕组的相电压为:

三相绕组的相电压

合成电压矢量图为:合成电压矢量

得到矢量U4的幅值为:

矢量U4的幅值

类似地可以知道,六个基本矢量幅值也为UDC

接下来是用8种基本状态合成任意方向的矢量。可以看到开关的不同状态实际上可以产生不同方向的磁场的,但是这些方向是离散的有限的。使用PWM技术,可以将这8种基本状态合成任意方向的矢量,是的磁场控制更加平滑。例如我们要合成一个位于扇区1(U4和U6)之间的一个矢量,利用U4和U6这两个基本状态,如图:

U4和U6这两个基本状态

向量表示为:

向量

利用正弦定理求解

正弦定理

最终得到:

正弦定理

 

整个周期T中,除T4T6外,用没有效果的两个零矢量填充,两个零矢量的和是定值,具体的分配其实是任意的,仅仅为了对称(这样的好处是可以减小谐波),我们取:

总结一下:需要D4U4D6U6D0U0D7U7。最后一步,我们将算的占空比转化为实际PWM的占空比。

A相在U4U6U7的时候都要为1,所以占空比为:

占空比

B相在U6U7的时候都要为1,所以占空比为:

占空比

C相U7的时候要为1,所以占空比为:占空比

以上就是在第一扇区求得的占空比,在其他扇区的过程类似。接下来还能得到具有一般性的公式:

当位于第二扇区时:角度θ变为θ+π/3,变为原来的需要θ-π/3。

当位于第n扇区时: 角度θ变为θ+(n-1)π/3,变为原来的需要θ-(n-1)π/3。

最终扇区起始矢量和结束矢量的占空比分别为:占空比

然后根据所在扇区配置具体的DADBDC

同时还要关注能输入的最大Uref,在下图中,可以看出其范围是图中的六边形阴影区域,而在任意角度的可以表示最大控制电压为六边形的内接圆,最大的控制电压为:

 

最大控制电压

 

最大控制电压

这意味着在程序中,我们设定最大的控制电压不能超过0.866UDC

2、驱动板机器人姿态控制三环原理

在软件部分,驱动板负责轮足机器人的动作控制,并接受来自输入端的动作指令,以实现对机器人各个关节和电机的精确调节。主控系统采用STM32F103单片机,具有强大的处理能力和灵活的外设配置,适合于实时控制任务。

连接了两个I2C编码器,这些编码器用于实时反馈电机转子的位置,提供必要的位置控制信息。为了控制轮足机器人的两个电机,系统使用定时器TIM2和TIM3来提供六相PWM信号,PWM的周期设置为25kHz。配置了四路ADC通道,用于实时采样电机相电流。TIM4用于生成驱动舵机的PWM信号,使得舵机可以实现精准的角度控制。通过软件I2C连接陀螺仪。TIM1被用于控制程序的精确的定时功能,确保各个控制任务能够在合适的时机触发,提高了系统的整体反应速度和协调性。

姿态控制的三环原理介绍

在轮足机器人的控制系统中,直立环、速度环和转向环是三个关键的控制环,它们分别负责不同的控制任务,以确保机器人的稳定性和灵活性。

直立环主要负责维持机器人的平衡和姿态稳定。该环的输入为角度给定,是让机器人保持稳定的姿态角度,一般取机械中值。通过实时读取陀螺仪和加速度计的角度反馈,和角度给定做差,经过PID控制得到FOC的控制电压,最中经过变换输出电机转矩。例如机器人倾斜,直立环会增大调整电机的输出转矩,机器人往偏移的一侧移动,改变角度,以确保机器人直立。

 

驱动板机器人姿态控制三环原理

 

单独的直立环只能保证机器人不倒,但是无法使其保持原地静止,所以需要对其前后行进速度进行控制,引入速度环。速度环专注于控制机器人的运动速度,该环根据输入的速度给定和实际速度反馈,经过速度PID,得到角度补偿。引入速度PID,也可以看作原来直立环的角度给定从并不再是固定的了,而是考虑控制机器人速度的角度给定,从而更加灵活。对于本来的直立功能而言,引入速度环也能保持直立。举个例子,当速度给定为0,经控制机器人的轮子速度最终为0,这是机器人当然也是直立的。

 

驱动板机器人姿态控制三环原理

 

直立和速度环已经可以让机器人的速度为零,但是实际上,因为两个轮子电机的固有参数差别,即使输入一样,电机的扭矩等参数也有差别,但是最终机器人的自转。转向环负责机器人在移动过程中的方向控制。和直立环类似,该环路通过读取陀螺仪数据,根据目标方向和实际方向之间的差异,调整FOC的输入差值,以实现转向控制。

 

驱动板机器人姿态控制三环原理

 

通过这三个控制环的协同工作,轮足机器人能够实现稳定的直立姿态、平滑的速度变化和灵活的转向能力,从而适应复杂的行驶环境。

单片机资源图:

 

单片机资源图

 

代码工程目录:

代码工程目录

 

驱动板调试过程:

 

电源测试:

焊接电源部分:焊接两节电池保护S-8252AAC、8-12V的BOOST升压TPS55340RTER、8-5V的BUCJK降压TPS54302DDCR、5-3.3V的LDO,上电后观察电源指示灯是否亮起,用万用表测量电压是否准确。

 

FOC功能实现:

焊接驱动板其余电路,先不要连接其他外设。测试单片式是否工作。

连线接入编码器,下载外设测试代码,测试两个电机的编码器数据获取。

连线接入电机,下载SPWM测试代码,测试SPWM驱动的电机是否转动。

分别下载左、右电机的FOC代码,记录零电角度的校准值和编码器方向,并复制到当前以后的FOC程序中。

 

三环控制功能实现:

下载外设测试代码,测试MPU6050的数据是否正确,并记录大致的机械中值。

下载直立环pid控制代码,先调节Kp,后调节Kd,直至电机的输出转矩合理,直立功能大致实现。

下载直立环-速度环pid控制代码,速度设置为0,调节环pid控制代码,调节Kp和Ki,直至机器人静止,速度为0的速度环实现。

 

注:若您的项目涉及软件开发,请在附件上传对应的工程源码。这里可以详细说明您的软件流程图、功能模块框图、相关算法的解释或科普、源码结构、编译环境的搭建和配置、源码编译方法、程序烧录方法等。推荐图文并茂的形式向别人介绍您的想法。

 

6、BOM清单


电路板

无线充电板:

无线充电板

 

控制板:

 

控制板

 

 

驱动板:

 

驱动板

 

 

驱动板

 

机械结构物料

机械结构物料

 

机械结构物料

 

没有3D打印机的小伙伴,强烈建议使用“嘉立创3D打印服务’,价格便宜并且打印效果更好!如图是下单界面的价格:

 

下单界面价格

 

注:项目涉及的BOM清单。在嘉立创EDA 生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。

 

7、大赛LOGO验证


 

充电板PCB:

充电板PCB

 

充电板PCB实物:

充电板PCB实物

 

 

控制板PCB:

 

控制板PCB

 

 

控制板PCB实物:

控制板PCB实物

 

驱动板PCB:

驱动板PCB:

 

驱动板PCB实物:

驱动板PCB实物

 

机器人结构板PCB:

机器人结构板PCB

机器人结构板PCB实物:机器人结构板PCB实物

 

巡检机器人

您的浏览器版本过低(IE8及IE8以下的浏览器或者其他浏览器的兼容模式),存在严重安全漏洞,请切换浏览器为极速模式或者将IE浏览器升级到更高版本。【查看详情】
推荐您下载并使用 立创商城APP 或者最新版 谷歌浏览器火狐浏览器360浏览器搜狗浏览器QQ浏览器 的极(高)速模式进行访问。
© 深圳市立创电子商务有限公司 版权所有

提示

您确定要删除此收货地址的吗?

请填写订单取消原因

提示

您确定删除此收货地址吗?

成功提示

content

失败提示

content

微信咨询

关注公众号咨询客服

咨询客服
  • 在线客服热线

    0755-83865666

  • 服务时间

    工作日  8:30~20:30

    节假日  8:30~18:00

  • 服务投诉

QQ咨询
投诉意见

紧急问题投诉电话:

18826549599

更快的受理通道

对常规通道处理结果不满意

请在此扫码

此意见箱直通立创管理层

优惠券 建议反馈
填问卷 立创用户体验问卷调查 立即参与
活动规则
活动规则
展开客服