资料介绍
一、自平衡小车是利用车模自身动力使小车保持相对的平衡,是一个动态平衡的过程。维持车模平衡的动力来自车轮的运动,由两个直流电机驱动。对车模的控制可以分解为三个控制任务:
1、控制小车平衡:通过控制小车车轮正反转使小车保持直立平衡。
2、控制小车速度:通过控制小车的倾角实现小车前后运动和速度的控制,其实最终的仍是通过控制电机的转速实现。
3、控制小车方向:通过控制小车两个电机之间的转速差来实现转向控制。
分解为三个控制任务显得相对简单一点,但是在最终的控制过程中都归结为对一个控制量的控制,这样三个任务之间就会存在耦合,会相互干扰。三个任务中控制平衡是关键,所以对小车的速度和方向控制应该尽量的平滑。
二、硬件方案设计
小车的硬件分为三个部分,分别是主控部分、小车姿态获取部分以及电机驱动部分。主控板采用目前常用的arduino UNO,同时也可以使用其他arduino通用控制板做主控。
小车姿态获取可以有很多方案,使用最多的就是通过加速度计和陀螺仪获取小车姿态。理论上只需要两轴加速度计(垂直方向Z轴和沿小车运动方向X轴)和一个单轴陀螺仪(沿小车车轮轴方向,获取绕小车轮轴的角速度)。陀螺仪通过角度积分可以获得小车角度,但是经过积分会产生累计误差,并且会越来越大,X轴与Z轴加速度计的值也可以算出小车的倾角,但是加速度计的瞬时误差较大,所以结合陀螺仪和加速度计两者获得的角度做数据融合可得真实角度。我们使用一个集成了三轴加速度计和三轴陀螺仪的集成芯片MPU6050,这样极大的简化了我们的传感器电路。
小车通过两个直流电机驱动车轮运动来获得动力,直流电机的驱动电路设计关系到整个系统的稳定性,因为电机反转时会产生反向电动势会干扰到电源系统内其他设备的运行。我们选用L298P做电机驱动器,它内部包含4通道逻辑驱动电路,可同时驱动两个直流电机,输出电流可达2.5A。
软件设计之小车姿态获取---卡尔曼滤波
在开始之前应该对MPU6050进行设置,主要设置角速度以及加速度的量程,加速度量程有±2g、±4g±8g与±16g,角速度量程分别为±250、±500、±1000与±2000°/sec (dps),可准确的追踪快速动作与慢速动作。在使用之前先设置好量程以便后面的换算。我们小车轮轴与传感器Y轴平行,即绕Y轴旋转则有:
那竖直方向弧度计算公式为: angle = atan2(x, z) //结果以弧度表示并介于 -pi 到 pi 之间(不包括 -pi)
如果要换算成具体角度: angle = atan2(x, z) *(180/3.14)
陀螺仪获取角速度积分得到角度公式为:anglen = anglen-1 + gyronn*dt ,式中anglen 为第N次采样的角度值,anglen-1 为第N-1次的角度值,gyronn为两次采样值之间的角速度值,dt为两次采样之间的时间。然后将换算后的两个角度数据进行卡尔曼滤波融合,可获得小车真实角度,也可以采用更简单的互补滤波算法。
注意加速度计所得角度与陀螺仪积分角度的方向。
四、软件设计之小车姿态调整---PID参数整定
小车的姿态获取最终结果是一个角度,就是小车偏离平衡位置的倾角。通过以小车的这个倾角为变量进行PID控制,输出用于控制车轮转速的PWM值,那么相当于小车只有一个角度反馈环路,虽然能使小车平衡,但是增加了控制难度,所以通常会使用带测速的电机,再加入一个小车速度反馈环路,这样使得小车更容易控制。
- LabVIEW的源代码资料合集免费下载 47次下载
- 两轮自平衡智能小车的资料合集免费下载 52次下载
- 使用MATLAB的实验源代码C语言实现AM调制的详细资料合集免费下载 2次下载
- 设计一个智能小车跷跷板的资料合集免费下载 5次下载
- C#网络与通信方面程序编程源代码的详细资料合集免费下载 27次下载
- 交通灯程序源代码的详细资料免费下载 19次下载
- 机器学习matlab源代码的详细资料免费下载 31次下载
- linux的History命令代码的详细资料合集免费下载 2次下载
- levitator的ino和pid源代码详细资料免费下载 3次下载
- 四轴飞行器源代码详细资料免费下载 37次下载
- STM32控制STMPE811的源代码详细资料免费下载 54次下载
- STM32F4串行外设接口(SPI)的源代码的详细资料免费下载 50次下载
- FreeOSEK系统源代码和程序等详细资料免费下载 71次下载
- 用于MPEG4解码的源代码详细资料合集免费下载 10次下载
- 基于STM32设计的智能平衡小车源代码免费下载 121次下载
- 基于FPGA的平衡小车设计 348次阅读
- LOAM源代码中坐标变换部分的详细讲解 737次阅读
- 基于STM32的两轮平衡小车设计 1454次阅读
- 固态锂离子电池的详细资料解析 8342次阅读
- RS232接口串口取电电路的详细资料介绍 6045次阅读
- SPI总线驱动的C语言源代码详细概述 4580次阅读
- 使用AT89S51单片机制作红外遥控器的资料和源代码详细说明 5263次阅读
- 使用C语言实现万年历星期速算法的源代码免费下载 2701次阅读
- 如何进行PLC控制程序的设计详细资料PPT说明 5285次阅读
- 库卡机器人模拟量输入输出编程的详细资料概述 6123次阅读
- PPT教程之伺服电机及其驱动技术的详细资料讲解 6121次阅读
- 探析源代码如何在硬件上运行 3493次阅读
- PLC常用基本环节梯形图和详细文字说明详细资料概述 7772次阅读
- 基于STM32和MPU-6050的两轮自平衡小车系统设计与实现 2.9w次阅读
- 新手入门超声自平衡小车最佳方案 1.3w次阅读
下载排行
本周
- 1储能电源市场分析
- 7.99 MB | 7次下载 | 免费
- 2储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
- 3磁环电感定制时应该注意什么
- 0.32 MB | 2次下载 | 免费
- 4具有DCS-Control™ 功能的 3V 到 17V 0.5A 降压转换器TPS6217x-Q1数据表
- 3.17MB | 1次下载 | 免费
- 5labview文档教程资料(一)
- 24.29 MB | 1次下载 | 免费
- 6半砖式DC-DC转换器VI-J00 MiniMod系列数据手册
- 0.65 MB | 次下载 | 免费
- 7电机的模块化分析
- 2.97 MB | 次下载 | 5 积分
- 8SIMPLE SWITCHER® 4.5V至42V 输入、0.1/0.3/ 0.6A 输出降压直流/直流稳压器LM284x数据表
- 1.0MB | 次下载 | 免费
本月
- 1ES9038PRO解码芯片的电路原理图介绍
- 0.25 MB | 35次下载 | 5 积分
- 2UHD智能显示SoC VS680产品简介
- 0.46 MB | 11次下载 | 免费
- 3STM32国内外发展现状
- 1.15 MB | 11次下载 | 免费
- 4ATmega8芯片中文手册
- 2.45 MB | 8次下载 | 1 积分
- 5TDK电容器产品指南
- 11.88 MB | 7次下载 | 1 积分
- 6储能电源市场分析
- 7.99 MB | 7次下载 | 免费
- 7传感芯片选型指南
- 3.60 MB | 6次下载 | 免费
- 8储能电源市场分析报告
- 2.61 MB | 6次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935086次下载 | 免费
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420050次下载 | 免费
- 3Altium DXP2002下载入口
- 未知 | 233068次下载 | 免费
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191316次下载 | 免费
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183316次下载 | 免费
- 6labview8.5下载
- 未知 | 81567次下载 | 免费
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73786次下载 | 免费
- 8NI LabVIEW中实现3D视觉的工具和技术
- 未知 | 70088次下载 | 免费
评论
查看更多