简单平衡小车制作过程中遇到的问题

您所在的位置:网站首页 自平衡自行车设计理念是什么 简单平衡小车制作过程中遇到的问题

简单平衡小车制作过程中遇到的问题

2024-03-31 10:13| 来源: 网络整理| 查看: 265

本人最近做了一个平衡小车,过程中遇到不少问题,在这里总结一下,可能也会帮助到大家

 

文章目录 前言一、嫖资料,找教程二、小车结构三、电子元件的组装四、写程序时(改嫖到的程序)遇到的问题总结

前言

          我的平衡车只是起平衡作用,那些循迹呀、遥控呀都没弄

提示:以下是本篇文章正文内容,下面案例可供参考

一、嫖资料、找教程

          平衡小车要学习PID算法、编码器、oled、mpu6050、tb6612当然最主要的时mpu6050和pid算法。我在微信上看到这样一篇文章非常非常有帮助,可以说我就是按着这篇文章做的平衡车。(大家可以微信关注公众号“果果小师弟”搜索“零基础一周完成平衡小车项目”查看这篇文章真的是满满的干货)pid算法的视频在腾讯视频app搜索“pid经典”可以搜到,特别经典,画质一般但是讲的特别好,我称之为最强(当然作者才疏学浅,没见过啥世面,嘿嘿)

        b站平衡小车的up主“天下行走ㅍ_ㅍ”讲的非常完美,保姆级教程,大家可以参考下。关于mpu6050的是,我是先看的正点原子的又看的野火的最后看的小马哥的(小马哥在“摩尔吧”这个网站里面)我觉得小马哥关于mpu6050的视频讲的较好一些,还有一些编码器、tb6612的知识在csdn上读的文章,不难,很好理解。

二、小车结构

        板子是作者自己焊的(要照着b站Up主的原理图焊,否则会出很大的麻烦,我就是随心所欲的焊的,结果改了很长时间),用了三个18650的3.7v电池来给tb6612和stm32供电(千万注意给stm32供电要接一个降压模块,我开始的时候直接用的一个电池给单片机3.3v供电,然后板子炸了,后来才知道电池充满电的电压是4点几伏,要是用电池给5v供电,怕供电不足,干脆一个降压模块下去全都解决了,降为5v之后给单片机和两个编码器供电,然后用单片机的3.3v给其他元件供电)三个电池大概是10v-11v左右,我给这个线接tb6612的时候加了个开关,可能是供电问题,如果不加开关,打开总开关后oled屏总是不亮,我怀疑是初始化总是不成功电池直接给两个器件供电,有点困难。我等oled屏亮了之后再打开接vm的开关,就十分完美。

        大家注意小车的结构重心要低,控制起来效果才好,我的小车开始时中心太高了总是调不好pid 后来我给他加了块石头,铜柱的距离也缩短了,调起参数来就好一点了。

三、电子元件的组装

        组装没啥好说的,如果自己焊的板子,焊的时候一定要仔细仔细再仔细,一个飞线飞错板子可能就会炸裂,建议焊板时给蓝牙留出一个位置来,可能以后突发奇想做个蓝牙遥控呢(本来在这已经弄完了,结果一个Ctrl+z,把我编辑的都取消了,害,再来一遍把,)

四、写程序时(改嫖到的程序)遇到的问题

        1、注意mpu6050的摆放位置不要太奇葩,我的就是和up主(天下行走ㅍ_ㅍ)的不一样,结果调参调了好久才发现,摆放位置不同,需要更改函数,对于我的程序,是把这个

Vertical_out=Vertical(Med_Angle,Pitch,gyroy); //直立环

改为了

Vertical_out=Vertical(Med_Angle,Roll,gyrox); //直立环

 起初时只是改了角度,没有改角速度(也就是把gyroy改为gyrox)调参调了好久都不行

        2、还遇到了,把程序下载到stm32里程序不能执行,但是软件调试一会后就可以正常运行了,原来是这个Use MicroLIB不小心给去了,这个一定要勾上,好像是和汇编语言转c语言有关,野火的初级篇视频有讲,我也没注意,反正一定要勾。

 

        3、还有就是up主的mpu6050的触发方式是外部中断,我也不知道怎么回事,我的外部中断总是不能触发(程序一模一样),我就给改成定时器3的定时器中断,5ms一次(因为dmp计算最少时间是5ms,小马哥视频里有讲,不过有的大神1ms一次,咱也无法解释)

        4、看的有的视频教程讲,dmp初始化一次可能不成功于是我加了个循环

while(mpu_dmp_init()!=0) { PCout(13)=1; for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3