智能无障碍轮椅——汇总

news2024/11/28 20:47:58

文章目录

  • 一、设计内容
  • 二、控制理论
  • 三、材料列表
  • 四、控制图
  • 五、硬件介绍
    • 1、TB6612FNG电机驱动模块
    • 2、DX-BT04 2.0蓝牙模块
    • 3、MPU6050陀螺仪模块
    • 4、电源模块
    • 5、520编码器直流减速电机
  • 六、PID理论与算法控制
  • 七、代码解析
  • 八、参考博文

一、设计内容

  • 使用 STM32 作为主处理器进行开发制作,由对倒立摆控制系统的分析进而分析平衡车的控制理论, 其中包括直立行驶和转弯。把控制原理【PID闭环控制】转化成代码从而实现MCU对硬件的控制
  • 通过对滤波算法的分析对 MPU6050 中的陀螺仪和加速度数据进行融合,使滤波后的结果可以满足设计要求。
  • 对 PID 算法进行分析, 为闭环控制系统找到合适的 PID 控制器模型

二、控制理论

  • 一阶倒立摆模型
    在这里插入图片描述

  • 两轮平衡小车则与倒立摆系统类似, 当倒立摆离开平衡位置时它受到的重力作用与运动方向相同, 不是抑制它的变化反而促使它向偏离平衡点更远的地方运动, 也就是它向着不稳定方向发展, 所以摆杆要想平衡就必须有其它形式的外力作为辅助, 所以这就引出了速度,给小车一个与摆杆运动方向相同的速度使摆杆因自身的惯性产生一个回复力, 这个回复力就可以使摆杆具有向着稳定状态运动的趋势

  • 所以根据上述的原理,通过测量小车的倾角和倾角速度控制小车车轮的加速度来消除小车的倾角。因此,小车倾角以及倾角速度的测量成为控制小车直立的关键。

平衡小车的控制任务可以分解成三个基本控制任务。(对应直立环、速度环、转向环)

  • 1 首先是控制小车的平衡, 控制小车的平衡可以通过控制平衡小车的两个车轮的正反转实现平衡小车可以在两个运动方向都可以获得产生回复力的加速度, 这样平衡任务就可以实现。

  • 2 然后是控制小车的速度, 由以上分析可知小车的速度与倾角有着密不可分的关系, 所以小车的速度变化应该与倾角相对应。

  • 3 最后是控制小车的方向, 控制小车的方向可以利用两个车轮之间的转速差进行控制,转向速度应该与速度差的大小成正比 。

三、材料列表

  • 编码电机(A/B相)(2个):获取速度信息并作为控制目标。
  • 电机驱动TB6612FNG:驱动电机(STM32I/O口直接驱动电机能力不足)优点:体积小。
  • MPU6050陀螺仪:获取平衡车角度信息。
  • OLED:显示采集到的角度以及PID参数等(方便调试)。
  • BT-04蓝牙模块:无线控制小车状态。
  • 12V航模电池/3节18650电池串联:给电机供电
  • 亚博智能STM32平衡车扩展版:内含稳压模块
  • 红外循迹模块:循迹
  • 超声波模块HC-SR04:避障(跟随)

四、控制图

在这里插入图片描述

五、硬件介绍

1、TB6612FNG电机驱动模块

STM32——TIM输出比较中第五章:PWM驱动直流电机的硬件介绍

2、DX-BT04 2.0蓝牙模块

智能无障碍轮椅——DX-BT04 2.0蓝牙模块

3、MPU6050陀螺仪模块

STM32——I2C通信中第六章:MPU6050简介

4、电源模块

  • 使用12V航模电池或者三节18650电池串联构成一个电压12V的电源,12V的电直接接入TB6612电机驱动模块的VM引脚,之后再通过LM2596降压(通过调节降压模块的电位器来控制电压降到5V)给单片机供电。

  • 1200mAh即1200毫安时,安时和毫安时是蓄电池的容量单位,1安时等于1000毫安时,1200毫安时等于1200毫安时/1000=1.2安时。如果一个蓄电池的容量等于1.2安时,额定电压等于12伏特,则电池的存电量等于12伏*1.2安时=14.4瓦时,电池的功率等于14.4瓦。

  • mwh与mAh单位的换算关系
    举例:一块标有“2960mWh 3.7V”的电池,实际电量用mAh表示应等于2960÷3.7=800mAh。

5、520编码器直流减速电机

智能无障碍轮椅—— 520编码器直流减速电机

六、PID理论与算法控制

智能无障碍轮椅——PID算法控制

七、代码解析

智能无障碍轮椅——平衡功能代码解析

八、参考博文

三天让车立起来!STM32平衡车入门PID —— 第一天(硬件搭建)
基于STM32和MPU6050的平衡车制作报告
平衡小车在线编程课程视频(b站行走天下)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/331372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web3.0:互联网新阶段

Web3.0 定义:从后端生产关系革新开始。 Web3.0 是结合了去中心化和代币(Token)经济学等概念,基于区块链技术的全新的互联网迭代方向,意在解决 Web2.0 带来的生态不平衡、发展不透明等问题。与 AR/VR 等前端创新相比&am…

oracle外键约束、级联删除

根据约束名称查询:select * from user_constraints t where t.CONSTRAINT_NAME 约束名称举例:字段解析:1、CONSTRAINT_NAME:约束名称。2、CONSTRAINT_TYPE:约束类型。3、TABLE_NAME:约束所在的表。4、R_CO…

FreeModbus RTU 移植指南

FreeModbus 简介 FreeModbus 是一个免费的软件协议栈,实现了 Modbus 从机功能: 纯 C 语言支持 Modbus RTU/ASCII支持 Modbus TCP 本文介绍 Modbus RTU 移植。 移植环境: 裸机Keil MDK 编译器Cortex-M3 内核芯片(LPC1778/88&…

Intel x86_64 PMU简介

文章目录前言一、性能监控概述二、CPUID information三、架构性能监控3.1 架构性能监控 Version 13.1.1 架构性能监控 Version 1 Facilities3.1.2 预定义的体系结构性能事件3.1.3 cmask demo测试参考资料前言 Intel 64 和 IA-32 架构提供了 PMU(Performance Monito…

Oracle Data Guard Apply服务

1. Apply服务介绍 Apply服务自动应用redo到备数据库来保持与主数据库的同步和允许事务一致性访问数据。 缺省情况下,Apply服务等待备redo日志文件进行归档,然后再应用归档日志文件包含的redo。然而,可以启用实时Apply,允许当前的…

CentOS8基础篇2:文件系统

一、文件系统概述 1.文件系统的基本概念 操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。它规定了文件的存储方式及文件索引方式等信息。文件系统主要由三部分组成,分别是与文件管理相关的软件、被管理的文件和实施文件管…

ip-guard如何查看客户端连接的服务器IP地址?

在客户端上通过“运行”输入win.ini打开文件(在目录C:\\Windows\\),可以从里面找到一个字段SIP,比如SIP=3232237616 再将其换算成16进制数为c0a80830

每天10个前端小知识 【Day 8】

前端面试基础知识题 1. Javascript中如何实现函数缓存?函数缓存有哪些应用场景? 函数缓存,就是将函数运算过的结果进行缓存。本质上就是用空间(缓存存储)换时间(计算过程), 常用于…

在CANoe/CANalyzer中给CAN Log.asc/blf文件“瘦身”

案例背景(共7页精讲): 该篇博文将告诉您,如何给离线文件CAN Log.asc/blf文件“瘦身”:批量删除/过滤 CAN Log中,不需要的CAN ID和CAN channel。 目录 1 准备工作 2 插入CAN Filter 3 保存“瘦身” 后的…

一种RK3399+MIPI+FPGA的高速工业相机的设计方案(一)

目 前 , 嵌 入 式 相 机 逐 渐 代 替 了 传 统 相 机 进 入 大 众 的 视 野 , 应 用 在 公 安 刑 侦 、 生 物 医 学和 文 物 保 护 等 诸 多 领 域 。 但 是 随 着 人 们 对 图 像 视 觉 成 像 质 量 追 求 的 提 升 , 图 像 传 感 器 的 特…

ESP32S3系列--SPI主机驱动详解(一)

一、目的SPI是一种串行同步接口,可用于与外围设备进行通信。ESP32S3自带4个SPI控制器外设(Master),其中SPI0/SPI1内部专用,共用一组信号线,通过一个仲裁器访问外部Flash和PSRAM;SPI2/3各自使用一组信号线;开…

【C++】二叉树的前序中序后序非递归实现

文章目录二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历总结二叉树的前序遍历 前序遍历的顺序是根、左、右。任何一颗树都可以认为分为左路节点,左路节点的右子树。先访问左路节点,再来访问左路节点的右子树。把访问左路节点的右子树看成一个子问题…

VUE3 插件的开发和使用

在构建 Vue 项目的过程中,离不开各种开箱即用的插件支持,用以快速完成需求,避免自己造轮子。 在 Vue 项目里,可以使用针对 Vue 定制开发的专属插件,也可以使用无框架依赖的通用 JS 插件,插件的表现形式也是…

51单片机学习笔记_11 蜂鸣器,识简谱,根据简谱编写蜂鸣器代码

蜂鸣器实验 蜂鸣器简单地说,就是电磁线圈和磁铁对振动膜的作用。 单片机的是无源蜂鸣器,不能一直充电,需要外部控制器发送震荡信号,可以改变频率产生不同的音色、音调。 大多数有源蜂鸣器则没有这个效果,有源蜂鸣器…

JavaScript(四)-全面详解(学习总结---从入门到深化)

👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者 📕系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 📧如果文章…

JAVA开发(Redis的主从与集群)

现在web项目无处不在使用缓存技术,redis的身影可谓无处不在。但是又有多少项目使用到的是redis的集群?大概很多项目只是用到单机版的redis吧。作为缓存的一块,set ,get数据。用的不亦乐乎。但是对于高可用系统来说,数据…

Tomcat简介

目录 一、Tomcat简介 二、下载安装Tomcat 三、利用Tomcat部署静态页面 一、Tomcat简介 Tomcat是一个HTTP服务器,可以按照HTTP的格式来解析请求来调用用户指定的相关代码然后按照HTTP的格式来构造返回数据。 二、下载安装Tomcat 进入Tomcat官网选择与自己电脑…

电子科技大学人工智能期末复习笔记(二):MDP与强化学习

目录 前言 期望最大搜索(Expectimax Search) ⭐马尔科夫决策(MDP)——offline(超重点) 先来看一个例子 基本概念 政策(Policy) 折扣(Discounting) 如…

Mysql中的事务

1. MyIsam是不支持事务的, InnoDB支持 2.事务的四大特性ACID 原子性(Atomicity):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节,而且事务在执行过程中…

PythonWeb开发基础(四 完)Response使用及wsgify装饰器

课程地址:Python 工程师进阶技术图谱 文章目录🌾 Response使用及wsgify装饰器1、Response的使用2、wsgify装饰器🌾 Response使用及wsgify装饰器 1、Response的使用 前面一节我们知道了,使用webob的Request模块可以很方便地对请求…