
【立创梁山派】 六轮智能车
简介
一种基于梁山派的自制六轮智能车,使用6个N30电机,搭载2自由度摄像云台等一系列功能模块,支持蓝牙、WiFi网页、语音控制,车体长宽超过10*10,支持嘉立创免费PCB打样。
简介:一种基于梁山派的自制六轮智能车,使用6个N30电机,搭载2自由度摄像云台等一系列功能模块,支持蓝牙、WiFi网页、语音控制,车体长宽超过10*10,支持嘉立创免费PCB打样。开源协议
:GPL 3.0
描述
六轮智能车原型已完成。软硬件设计可能还会进行修改
零、项目特点
- 动力:6*N30电机,履带级越野体验。
- 成本:只要飞一些线,车体长宽超过10*10照样免费打样。
- 控制:支持WiFi网页遥控,跨平台通用,优于手机APP的方案。
- 感知:实时回传环境温度和所处海拔高度。
- 交互:2自由度云台搭配图传模块,一切尽收眼底。
- 扩展:留有大量洞洞板区域,可以按需添加传感器。
包含循迹等功能的完整演示视频请前往 https://www.bilibili.com/video/BV1YX4y1v7wU/。
一、设计思路
立创开源硬件平台上有各种四轮智能车以及二轮平衡车的设计,不过一下子没找到六轮车的设计方案。会不会是因为”N20电机+43mm车轮“很难在免费的10*10范围内完成布局呢?对于1块PCB底盘而言有些困难。用更小的轮子可能在电机安装时比较麻烦。
如果,用2块PCB的话......两块4轮车的PCB底盘拼在一起是6轮车的底盘,4+4=6,没有问题。这个方案的代价在于需要飞一些线,在打电赛时记得到器材室稍微多拿一点点就行了,不用额外出钱买。
目前立创开源平台上好像没看到别的六轮智能车方案......
二、硬件选型
2.1 供电
没人赞助我2S电池。使用一节特斯拉拆机18650为全车供电。整车使用3组IP5306升压模块提供5V电源:1路用于左侧3个电机,1路用于右侧3个电机,1路用于单片机控制传感部分。就算一侧2个轮子堵转应该也没啥问题。
3个供电模块的成本比买一节特斯拉18650低多了。只要能捡到合适的垃圾(老五3.5元16个IP5306充电宝板,已售罄),芯片、电感、电阻、发光二极管一站式搞定。电路图如下,随便画的,删去了USB输出和充电部分,因为用不到。
IP5306的0.5Ω电阻用0603封装也可以,我用拆机电阻试过。启动时最好按一下每个模块的按键(图中SW1那个位置上的)。
2.2 动力
使用6个减速比1:240左右的N30电机搭配43mm车轮提供动力,杰盛电机商行N30单价3.11元,比较贵。如果用N20也是可以的,两种电机的电机支架是通用的(欣薇电子科技 N20减速电机座,单价0.47元)。因为买不起TB6612或DRV8833,所以驱动芯片使用单价0.58元的TC1508。这个芯片电路很简单,而且易于使用。
2.3 传感
搭载BMP180监测环境温度和海拔高度,搭载MPU6050获取RPY角,使用MCU ADC监测电池电压。
车体后部装有1个HC-SR04超声波传感器作为倒车雷达。距离障碍物30cm、10cm时发出第一级、第二级警报,距离障碍物6cm时停车避障。当然,如果用户需要撞向障碍物,可以继续发出指令,智能车无视警报继续倒车,毕竟最终决定权在用户手中(如果让车子自动前进远离障碍物,岂不是剥夺了用户的选择权)。
循迹功能我感觉用处不大,所以精简了相关设计。车体前方装有1个红外传感器(网上很容易买到的那种),支持1路红外循迹。按下梁山派上的KEY_UP启动循迹模式。
2.4 声光效果
搭载0.96寸OLED屏幕实时显示电池电压、超声波测距结果、温度和海拔高度。使用WS2812灯条(老五0.8元的WS2812灯条卖了2.5年还没卖完呢)作为车灯,开启后,最左侧1个绿灯,最右侧1个红灯,可以选择打开其他5个灯珠。
搭载1个高电平触发的无源蜂鸣器发出倒车报警音效(捡来的时候低电平触发,自行改成高电平触发)。以及1个LM4871功放,使用MCU的DAC+DMA实现音乐播放。功放模块的具体电路请看我上一个开源项目 LM4871功放 - 嘉立创EDA开源硬件平台 (oshwhub.com)。
2.5 控制交互
使用JDY31蓝牙串口模块,实现蓝牙遥控功能。该模块与电脑配对后,按照普通串口的方式使用。
使用CI-03T语音识别模块,实现语音控制功能。该模块上手难度低,厂商提供了指令开发平台,无需任何编程即可实现所需功能。
使用ESP-01S Wi-Fi模块,实现Wi-Fi控制功能。使用Arduino编写程序,使得该模块开启热点和发布1个html网页。电脑或手机连接该热点,通过网页实现智能车行进、云台角度、灯光和音效控制,并且展示智能车采集的电池电压、超声波测距、温度和海拔高度,以及RPY角度信息。
Html网页是一种跨平台的通用性智能车控制方案,无需安装任何APP即可在笔记本电脑或智能手机上正常使用,具备优异的通用性、便捷性。
上述三种控制方式互不冲突。
2.6 云台与图传
使用2个SG90舵机驱动一个2自由度舵机云台,云台支架在科彦立旗舰店有售,2.1元1个。安装时最好准备一个锉刀,然后耐心打磨舵机臂。
图传的话,和梁山派没啥关系,我把Sipeed M1s Dock当图传用,具体介绍请看https://www.eetree.cn/project/detail/1483,这里不展开。如果用esp32-cam应该也可以的,只要5v供电,耗电不要太大即可。手机太重,应该不行。
三、引脚分配
电机:
左前 A: PB9, T1CH1; B: PE6, T8CH1
左中 A: PA1, T4CH1; B: PA6, T2CH0
左后 C: PB0, T2CH2; D: PB11, T1CH3
右前 A: PB15, T11CH1; B: PB6, T3CH0
右中 A: PB10, T1CH2; B: PA7, T2CH1
右后 C: PA3, T4CH3; D: PA2, T4CH2
舵机:
旋转 PB3, TICH1, 接5V
俯仰 PC6, T7CH0, 接5V
图传接5v
传感:
HC-SR04 TRIG: PC10, ECHO: PC12,接3.3V
BMP180 SDA: PF8, SCL: PF10, 接5V
MPU6050 SDA: PB8, SCL: PB5,接5V
红外巡线 PF9,接3.3V(启动巡线的按键PA0)
GD32 ADC PC4, ADC01_IN14
声光:
蜂鸣器 PF7, T10CH0, 接5V
LM4871功放 PA4, DAC_OUT0, 接5V
OLED SCL: PA8, SDA: PC9, 接5V,VCC和GND的顺序根据所用屏幕设置
WS2812 PC3, 接5V
控制:
JDY-31 PD2, UART4_RX(改原理图和电路图)
CI-03T PC11, UART3_RX
ESP-01S PG14, USART5_TX ; PG9, USART5_RX
四、部分安装说明
智能车分成上下两块板,上下板的电路和PCB请看原理图。对于下面一块板,需要切下两块小板垫在前轮安装孔,否则高度不对;然后两块板用中间两个轮子的安装口,通过螺丝紧密固定。左边3个电机(的驱动芯片)用1个IP5306供电,右边用另一个IP5306,如示意图所示。上下两块板通过M2铜柱固定,需要一些M2螺丝和螺帽。
安装时XH2.54插座的方向请务必自行确认好,不要管PCB上的标识!
OLED屏幕安装时,请根据手上的0.96寸屏幕选择VCC和GND的顺序。将J01和J02对应连到VCC或GND即可。
CI-03T语音模块在安装时请按照示意图焊接排针,并连接5V电源
车体结构示意图,仅供参考。
五、部分程序说明
Wi-Fi、蓝牙、语音模块通过发送串口指令实现控制功能。使用switch…case…语句完成指令识别。例如蓝牙控制的代码:
另外,使用Arduino编译ESP-01S的程序时,首先用ANSI格式编辑ino文件然后在IDE中直接打开编译下载,否则中文乱码。
六、注意事项
- 前进和后退时车体会莫名往右偏一下,原因未知,可能是供电不足,最好是电机和MCU,上下两块板分开1S供电,尤其是在使用图传模块时。
- 为了安全,智能车不用时务必拔掉18650电池。
- 安装时XH2.54插座的方向请务必自行确认好,不要管PCB上的标识!
- 传感器的安装位置和连线可以“飞线+洞洞板”,自行选择,我只是给出一种可行的安装方案。
七、致谢
本项目的GD32程序一部分使用了zwt0226的开源工程https://oshwhub.com/zwt0226/wen-tao-di-xiao-bai-zhi-neng-ju,在此表示感谢。
设计图

BOM


评论