步进电机小车

发布者:系统管理员发布时间:2016-11-05浏览次数:61

作者:韦兴旺、赵衍蕾

1.作品构思

2016 725日,一年一度的Robot Challenge 国际机器人挑战赛中国区竞赛在内蒙古自治区乌兰察布市举行。小编在看到灭火项目组题目后灵感爆发,遂做此作品,以验证小编的想法。

灭火机器人项目小学组题目如下:

下图所示的比赛场地中,红色线条为虚拟墙壁,圆点为蜡烛摆放位置,黑色线条为机器人行进时的参考路线。

机器人须在规定场地中找到随机放置的蜡烛,并将其火焰扑灭。


 

地图长4米宽2米。

该赛题难度在于,机器人需要能够精确控制行进距离,并遍历所有房间。若使用步进电机控制的话,精确控制行进距离将变得特别简单;考虑到该地图并无规律可循,只能使用预设地图导航的方法来遍历所有房间了。该项目难度不大,虽然是小学组赛题,但对于普通高校的本科生来说还是有难度滴。

随即,小编开始了机器人底盘图纸的绘制以及部分元器件的购买。

底盘部分,小编打算使用两只步进电机作为行动控制部件,车尾使用一只万向轮,构成后三点式三轮车。下图为机器人底盘的CAD图。


 

元器件清单如下:

42步进电机2个;

车轮2只;

联轴器2个;

万向轮1个;

火焰传感器2个;

红外反射式线条传感器5个;

铜柱若干;

STM32单片机最小系统板1个;

MPU6050陀螺仪加速度传感器1个;

L9110电机驱动芯片5片;

HS0038红外接收头1只;

串口蓝牙透传模块1个;

OLED显示屏1个;

5v降压模块1个;

18650电池2节。


 

2.制作过程

很快,元器君们都已经陆续到货,某宝购物太方便了。小编呢也开始了繁忙的组装之旅。其实也不是很复杂,自己的亲儿子自己最熟悉。机器人车架部分组装完成后效果如下:


 

接下来将是电路部分的制作。

电路部分使用STM32单片机作为主控;使用OLED12864显示屏显示部分参数;使用两节18650电池供电,供电电压约为7.4V;因单片机最小系统使用的是5V供电,因此需要使用一个电压转换模块。

电路板制作过程小编使用的仍然是 热转印 + 化学腐蚀 的方法。老规矩,首先,在电路设计软件中绘制好PCB图,在小编的精心绘制下,该电路板单面走线,仅使用了2条飞线。机器人电路图如下图所示。


 

使用激光打印机将PCB图印刷到热转印纸上,然后使用热转印机转印到覆铜板上。


 


 


 

将印有PCB图的覆铜板投入到腐蚀剂热溶液中,将没有电路的部分腐蚀掉,保留下有连接的电路。


 

 

切边,打孔,焊接元器件,喷上三防漆,大功告成!


 


至此,电路部分制作完毕。组装完好后如下图。

 

接下来将进行核心部分工作——编写程序。

为丰富小车的功能,小编打算机器人除了能实现题目中所说的灭火功能外,还能实现红外遥控和电脑上位机的蓝牙遥控等等等等。

软件框架很简单,如下图所示:

 

3.工作原理

在灭火任务中,机器人前方的5个线条传感器能够检测地图中的黑色线条,当检测到黑色线条时,传感器将返回数字信号1,反之为0;当多个传感器同时检测到黑色线条时,即可判断为前方遇到了十字路口,此时需要查询事先写在程序内部的地图数据,判断是否转弯等。


 

红外遥控的控制相对比较简单。当按下红外遥控按键时,红外遥控器的红外线发光LEDNEC编码的方式调制发出4个字节的遥控编码,其中前两字节为遥控编码,第三个字节为按键编码,第四字节为按键校验码。机器人上的红外接收头收到信号后将信号传给单片机,单片机解码后执行相应动作。下图为红外遥控接收头和遥控器图片。

电脑上位机功能的实现也不复杂,主要涉及串口的通信以及VB上位机程序的编写。当电脑蓝牙串口与机器人蓝牙模块建立连接后,即可实现机器人与电脑间的通信。机器人通过约定好的通信协议来执行电脑上位机的命令。下图为电脑上位机界面截图。


 

在电脑上位机的上方是一个绘图板,用户可以在绘图板中绘制一些简单的线条图像,设置好步距,单击“执行”后,机器人将在地上按照图像的线条行进。该功能使用平面向量法实现,在绘制每一条线条时,计算机计算出每条线的角度以及长度,并传给机器人,机器人再按照该数据绘制出绘图板的图形。若能给机器人一只笔的话,就能在地上写字了。

除此之外,还为机器人编写了一个贪吃蛇的小游戏,可以在机器人的屏幕上显示并Play。启动方法:通过电脑上位机发送指令“snake”到机器人,即可启动游戏。


 

4.结束语

该作品到此已经制作结束了,实验结果表明,机器人能够在地图中遍历各个房间并扑灭火源,便利整个地图耗时约240秒;在红外遥控试验中不可避免因遥控距离太近而无法实现远距离的遥控。

整个项目从2016713日开始,到728日结束,历时15天。从头到尾可谓是一手打造。该小车成本大约220元。部分功能还在完善中。

整个项目大获成功。