怎样进行网站推广,传媒公司名字大全免费,精美的商城网站介绍,最好用的软件FPGA平衡小车
一. 硬件介绍
底板资源: TB6612电机驱动芯片 * 2 MPU6050陀螺仪 WS2812 RGB彩色灯 * 4 红外接收头 ESP-01S WIFI
核心板
微相 A7_Lite Artix-7 FPGA开发板
电机采用的是平衡小车之家的MG310(GMR编码器)电机。底板上有两个TB6612芯片#xff0c;可以驱动…FPGA平衡小车
一. 硬件介绍
底板资源: TB6612电机驱动芯片 * 2 MPU6050陀螺仪 WS2812 RGB彩色灯 * 4 红外接收头 ESP-01S WIFI
核心板
微相 A7_Lite Artix-7 FPGA开发板
电机采用的是平衡小车之家的MG310(GMR编码器)电机。底板上有两个TB6612芯片可以驱动四个电机除了做平衡小车之外也可以用来作为四驱车的底板非常nice同时支持两种控制方式推荐通过红外遥控进行控制实现起来非常简单红外遥控器也非常便宜。
二. RTL 介绍
本次设计分为三大部分: MPU6050姿态解算 电机驱动(PWM编码器) , 平衡控制遥控器控制的模块另外算。其中MPU6050姿态解算为设计的核心解算出来的角度越稳平衡控制就越容易小车也就越稳定。平衡控制其核心是调节PID的参数参数调的好小车没烦恼。
这里只对框架上做一个简单的介绍具体的实现说明可以在我的微信公众号上获取: FPGA之旅
整体架构如下 1. MPU6050姿态解算
模块数据流如下图所示将获取到的角度进行一个8阶的FIR滤波加速度进行一个2阶的IIR滤波即可得到相对平滑一点的数据然后经过Cordic算法进行姿态解算即可得到roll和pitch角度为了得到更加平滑一点的roll和pitch数据这里将得到的角度再进行了一个1阶的均值滤波(本来使用的是3阶的均值滤波但是相位延时有点大所以修改为1阶的了) 2. 电机驱动(PWM编码器)
框图如下在实际使用的时候只使用了速度的检测角度检测这部分功能就去掉了PWM生成模块另算这部分的代码是比较简单的就不作过多的说明了。 3. 平衡控制
平衡车的控制采用三环: 直立环、速度环、转向环,来进行控制直立环采用的是PID进行控制速度环采用的是PI进行控制而转向环由于yaw在MPU6050解算的时候误差较大所以没有使用PID来进行控制转向的速度而是直接输出的两轮的速度差进行控制。框图如下三环通过PID进行调节后相加得到最终的PWM值进行输出。三5环的具体实现可以参考开源的平衡小车C语言实现所以难点不在代码实现上而在于PID的调参上面没有经验且没有人指导的情况下那简直是噩梦如果长时间没有调好的话容易怀疑是不是小车的结构有问题(但小车的结结构一般是没有问题的哈哈哈)。 4. 遥控控制
本来想使用低成本高效率的红外遥控来对小车进行控制的但是出现了意外接收到的红外遥控值不稳定按同一个按键接收到值居然不一样。没办法还好弄了个esp-01S可以通过tcp进行连接之前弄四轴飞机的有程序可以拿来直接使用美滋滋。
三. 总结
FPGA平衡小车的基本架构就已经介绍完了很多模块在都已经实现过拿来通过简单的修改就可以直接用了代码实现上还是比较轻松的难点在于PID的调参上也是花了非常多的时间。
微信公众号 FPGA之旅 回复 FPGA平衡小车 获取开源链接
演示视频 【开源】FPGA平衡车简介里面有获取方式
tle-【开源】FPGA平衡车简介里面有获取方式)]