在早些年参加过智能车竞赛,自己做的是平衡组,看到这个题目突然有些怀念的感觉。本来有一种做到自己擅长领域的感觉,结果因为时间短暂,阻力倒是不小。
最大的阻力是:我买的不到100块的盗版j-link在使用CW突然提示某个升级的情况下,它就无法使用了。(有没有小伙伴知道如何救活它?)
步入正题,我用的小车还是自己保留的小车,一个使用K60处理器的自平衡车,可以驱动CCD或者摄像头。目前这个小车使用CCD或者摄像头可以按照智能车竞赛的赛道进行循迹运动,这里不再列出
在本次比赛要求中,定位需要基于挡板,这可能需要超声波模块,现有的电路板已经不支持这样修改。
我制定的临时方案是:借助小车自带的高精度编码器,按照累计测速的方案进行距离估计,按照计数/路程的对应关系进行行进。对于平衡车,这其中最大的难度在于,小车要在匀速的基础下保持非常平稳运行。
本文最后提供的视频中给出了小车稳定的视频,按照这种效果应该可以实现要求的效果。
下面简单介绍一下硬件方案:
1. MCU:使用Freescale公司的K60,100M全速运行;处理器这里就简单对比一下,K60是cortex M4内核的一颗arm,32位结构。在比赛中还有使用16位的S12微处理器。K60已经是一颗非常强大的微处理器,智能车所需的各种外设,包括PWM、ADC、GPIO、DMA、IIC、Timer等等都非常完善,简单来说就是一颗芯片可以完成整个控制系统。
2. 传感器:使用陀螺仪ENC03+加速度计MMA1270的方案,使用互补滤波方案;
本次使用的传感器中,加速度计为飞思卡尔low G模拟加速度计,经测试稳定性好,满足设计需求。ENC03为村田经典陀螺仪。
3. 电机驱动:使用ST公司的集成H桥电机驱动器,双路分别驱动左右电机;
本次使用的集成ST电机驱动器为VSN系列,具有强劲的驱动能力,同时集成了过流、低压灯各种保护。相对于分立方案PCB较为简洁,同时保护等容易完成。当然成本稍高一些。
4. OLED显示:使用128*64分辨率的OLED显示器;
这也是我用过的一个比较经典的显示方案,尺寸很小,分辨率也很高,适用于智能小车等场合。
5. 无线模块:使用Bluetooth无线传输;
6. 测速模块:使用360线高精度欧姆龙编码器,结合K60正交解码可以提高四倍分辨率,可以实现高精度测量转速,编码累加起来可以视为距离信息;这是本次设计的关键所在。按照QEP四倍分辨率计算,编码器旋转一周可以进行360*4=1440次编码计数,这已经是非常高的分辨率。
按照这个计数精度,小车即使不借助别的传感器,如CCD摄像头等,进行10m左右的直线巡线也不会产生过大的累计误差,可以满足设计要求。
7. 数据存储:使用SD卡,建立文件系统进行信息存储。
方案实现:
对于赛道进行测量,按照路程/编码器计数比进行行进。理论上在低速情况下可以实现设计要求。
实物图:
视频地址:http://v.youku.com/v_show/id_XMTU2NTQyMjA4NA==.html
观看密码:ICKEY
电工说黑线也可以参照一下。。。
那我放一个小车按照飞思卡尔比赛规定跑的视频。。。要是黑线的话这事好做不少。
视频地址:http://v.youku.com/v_show/id_XMTU2NTgxMTQ1Mg==.html
观看密码:ICKEY03