此车是在基础的平衡功能之上加了许多玩法如蓝牙控制,语音控制,避障控制,跟随控制;集成在一起最终体现出有4种模式:蓝牙模式,语音模式,避障模式和跟随模式。

一、想法起源
在各大视频平台经常刷到双轮的平衡车觉得特别有意思,想着我自己也得做一个属于我的平衡车,但我所想的平衡车不能与他人一样只有平衡功能还想再加上一些更有意思的功能;于是还是继续网上冲浪多看看有哪些有意思的功能适合加在我这个平衡车上,于是在看到许多小车视频后最终确定就加上蓝牙控制,语音控制,避障控制,跟随控制就行了吧;随即分别实现上述功能后,在集合到一起,接下来就是不断调试,经常烧,烧了换,换了烧,最终不断改进终于是成功了,至此现记录下那段难忘的时光。
Ⅰ、语音控制:1.多玩法平衡车语音模式演示_哔哩哔哩_bilibili
Ⅱ、蓝牙控制:2.多玩法平衡车蓝牙模式演示_哔哩哔哩_bilibili
Ⅲ、避障控制:3.多玩法平衡车避障模式演示_哔哩哔哩_bilibili
Ⅳ、跟随控制:4.多玩法平衡车跟随模式演示_哔哩哔哩_bilibili (跟随声源)
二、思路路线
每做一个东西都应该熟悉做这个东西时应该怎么去做,分哪些步骤,有哪些需要注意的;明确这些步骤后才能合理的分配自己的精力去完善每一步。
对此项目我的思路具体分为六步:
Ⅰ、模块移植
1.CW32F030的MCU运用:熟练运用CW32F030C8T6的GPIO,USART,IIC,TIM(后面用的最多)等外设,及其所有的函数API,是后面所有步骤的基础;可以在B站”CW32生态社区“官号进行学习。
2.OLED屏幕驱动:此屏幕驱动芯片为SSD1306,显存大小为128*64bit,0.96寸OLED像素个数就是128*64个,对应的就是每一个位对应每一个像素点;想要在OLED上显示什么数据,使用发送命令函数对一些相应的寄存器进行设置后,再使用发送数据函数就对显存进行操作就行。
3.MPU6050陀螺仪驱动:此传感器需要使用IIC读取数据的函数,与OLED类似,都需要使用发送命令函数对一些相应的寄存器进行设置,使能陀螺仪后再调用数据读取函数就可以读取陀螺仪的原数据(包括三轴的加速度与角速度);想要用在平衡车上需要再对此原数据进行姿态解算才能得到三轴对地的角度,数据处理方法包括“一阶互补过滤+卡尔曼滤波”,“驱动MPU内部的DMP模块直接获取对地角度”此数据才是我们最终要用的。
4.超声波模块驱动:HC-SR04模块是非常常见的超声波测距模块,使用GPIO外设和中断就行,通过IO引脚给个高电平信号发射超声波同时开启中断,定时器,接收到了之后进入中断获取计时数,配合声速是大概340m/s就能计算出距离,凭此写入软件逻辑中。
5.蜂鸣器模块驱动:每款蜂鸣器的驱动都是由一定频率的信号放大输出到蜂鸣器的正极的,信号的占空比决定了声音的响度;常见的一款蜂鸣器频率是2700HZ,只需要使用定时器外设,设置好预分频系数与重装载值就行,根据使能与失能或调节占空比控制响度嵌入到软件逻辑中。
6.红外传感器使用:红外传感器就两个值1和0,初始化IO口,适时读取值就行。
Ⅱ、功能模块学习
1.语音模块选型及其编程方法:使用的语音模块是ASRPRO,存储达4M,自定义词条可达300个;编程环境是天问block,支持图形化编程;后面详解。
2.蓝牙模块使用及其适配软件:使用的蓝牙模块是BT04-E,支持BLE,SPP;传输稳定,距离远,且官方有适配的软件,特别是其中的智能小车组件。
3.思考避障模块在程序中的逻辑嵌入:前面已经驱动过了这里就是完善下测距的逻辑,与红外的配合。
4.麦克风阵列的驱动与使用:使用的是6+1麦克风阵列,通讯协议是IIS(音频专用),驱动的主控是Maix bit使用的是MicroPython函数库;后面详解。
Ⅲ、硬件设计
1.绘制功能模块的外围电路:在实现上述所有功能后,对每个功能需要用到什么类型的引脚,每个引脚需要复用成什么功能掌握的应该都非常清楚了,于是自然而然地在绘制完最小系统后,将每个模块的基本电路画出来后,使用短接符将它们之间的共同引脚连接在一起,或直接使用相同名字,这样网络标识符相同在PCB中也是连接在一起的;
2.需要注意的是:在绘制模块的外围电路时,要注意保持通讯的电平都是一致的3.3V,有些模块既可以5V供电也可以3.3V供电,而且模块自带的电路没有5V转3.3V就有可能烧毁MCU,所以切记一定统一使用3.3V供电。
Ⅳ、程序联调
1.统一框架:设立一个思路层层将上述的功能模块并列的写入到程序框架中,通过什么模块开启和关闭每一种功能。
Ⅴ、完善机械结构
1.将项目做的更完善些:重新拆开优化结构使两轮子轴心一致,高度尽可能小降低重心,定制个亚克力外壳,将外露的导线理顺更加的美观。
Ⅵ、调整参数与PID
1.调PID:在上一步通过完善机械结构确定好重心后,就可以调整PID参数使平衡车达到理想的平衡效果。
2.调速度等参数:调整平衡车在各个模式下的前进速度,后退速度,转弯角度等。
审核编辑 黄宇
-
CW32
+关注
关注
1文章
324浏览量
1958
发布评论请先 登录
基于CW32的蓝牙无刷遥控车案列
CW32单片机如何让生活更便捷
CW32时钟运行中失效检测的流程是什么?CW32时钟运行中失效检测注意事项有哪些呢?
CW32 MCU用什么IDE开发?
CW32 MCU有哪些系列?
ASM1042A3S车规级CANFD芯片在两轮车和平衡车控制器方案中的技术应用
申克 511RBTU 平衡机:新能源汽车电机转子生产的 “平衡大师”
CW32多玩法平衡车——基于传统的平衡车之上扩展而来
评论