赞
踩
这个学期有个嵌入式课程设计的任务,要求用战舰V3开发板整点活出来。毫无嵌入式底子但是想搞点花头的我思来想去,最终决定搞一台多方式控制的STM32自平衡小车。
整个设计可以简单的分为遥控器部分和小车部分。遥控器用的是正点原子的STM32F1战舰V3开发板;小车底盘、主控板用的是大鱼电子家的。目前已经实现:
用战舰V3的按键控制;
游戏手柄连接战舰V3控制;
MPU6050连接战舰V3实现体感控制;
键盘控制(电脑蓝牙连接小车然后键盘控制小车运动)。
演示视频链接:https://www.bilibili.com/video/BV1az4y1v75h/?vd_source=7f074cf6eda38a8fc0759768cf347005
前排提醒:本篇只提供实现平衡小车的部分思路,并没有详细的实现过程!
首先是关于平衡小车如何实现的内容。网上有很多种方法可以实现平衡小车,比如自己画PCB板,去嘉立创制作PCB板,然后买排针排母焊枪,一步一步焊到PCB板上,然后买零部件跟排针排母连接,这种适合有时间有精力的新手做,b站也有up出教程的;或者有3d打印机的佬也可以用3d打印机打印出板子;或者直接买成品,从成品开始研究,比较适合像我这种没时间但是想速通的玩家。
买成品的时候需要注意的是每家的平衡小车构造、各个接口或多或少都有点差异,尤其是主板,因此最好在同一家买。我就是一开始东拼西凑不同厂家的便宜货,结果却花了不少冤枉钱/(ㄒoㄒ)/~~
平衡小车主要包括车身、马达和车轮、主控板三个部分。
平衡小车车身架构就是几块板子和几个立柱。最下面的板子会与马达固定,中间板子间的夹层放电池、主控板。很简单的架构,放张图大家应该都能看懂。
(这是亚博智能STM32平衡小车示意图,这家店资料挺全的,就是有点小贵)
马达可以分为带编码器的和不带编码器的。编码器下面还可以再分。现在主流电机都是带霍尔编码器的GM25-370、GM37-520和TT130塑胶电机。塑胶电机最便宜,一般的四轮车上用的都是塑胶电机。二轮车方面GM25-370、GM37-520用的比较多。GM25-370、GM37-520主要是参数不一样,外观上的差异就在大小,GM37-520更大。
马达与主控板之间的连接线一般是ph2.0或者xh2.54.
一块光秃秃的主控板只有电路,加入排针和排母后可以将元器件相互连接。平衡小车主控板必需的有:
最小系统板:STM32F103C8T6
陀螺仪模块:MPU6050
电机驱动模块:TB6612
稳压模块:78M05三端正线性稳压器/LM2596S。
蓝牙模块:BT05/HC06
当然还可以加OLED显示屏,可以用来调试和显示信息;或者加超声波传感器,给平衡小车扩展功能。电源接口用接线端子连接。没有直接对应的引脚的用杜邦线连接。
代码一般是先在CubeMX里生成STM32的基础代码,然后在keil里完善;当然如果已经有基础代码了就可以直接在keil里手撕代码。代码写完便是烧录工作。STM32F103C8T6烧录的方式有很多,比如用ST-link、USB转TTL串口等。
但是我在用白色的ST-LinkV2连接STM32F103C8T6烧录代码时总是出现连接闪烁的问题,就是刷新一下显示连接上了,再刷新一下却显示没连接上,再刷新一下又显示连接不上,导致烧代码的时候一直烧不进去。好像是频率的问题,但是我改了频率好像还是不行,有清楚的佬可以帮我解答一下/(ㄒoㄒ)/~~我最后是用USB转TTL串口通过串口工具(如FlyMcu)烧录hex文件才成功的。
战舰V3的代码烧录用ST-LinkV2正常烧录。
大鱼电子的STM32F103C8T6将PA9、10引脚复用成TypeC串口,用TypeC转USB的线连接电脑,通过mcuisp烧录hex文件。
平衡小车制作过程有点繁琐,一篇博客讲不完,涉及到平衡小车的姿态运动学,知道陀螺仪参数来调节PID。这个过程可以参考B站up天下行走的视频(我就是看了天下行走的视频才去买的大鱼电子的小车(●'◡'●))。平衡车一定留出连接蓝牙的串口,所有的遥控方式都是通过蓝牙传输信息的。下面是平衡小车实现效果。
【疯狂试验】超越想象!我用STM32打造的自平衡小车竟然能飞!?
PS:后面计划写一篇如何实现战舰V3上主蓝牙和小车上的从蓝牙连接以及传输数据的实现过程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。