热度 23
2015-12-16 09:41
2607 次阅读|
2 个评论
本文转自雷锋网硬创邦,作者吴攀。编者注:本项目来自Instructables,作者Smudger_WTH利用3D打印和基于Arduino的机器人程序开发一个能够行走,也能够变成机器小车的“变形金刚”;其通过安卓手机的蓝牙连接进行控制。作者为其起名为蜘蛛机器人(Spiderbot),下面我们就来看看这只变形蜘蛛是怎么炼成的。 第一步:准备工作 电子组件: Arduino Nano 12个EMAX ES08MA II舵机 Adafruit 16信道12位PWM/伺服驱动 蓝牙HC-05模组 电机驱动L293D 4个300RPM 6V N20直流电机(带橡胶轮胎) Hobbywing UBEC-8A2-6S 电子调速器(UBEC) Wild Scorpion 7.4V 2200mAh LiPo电池和对应的电池接头 6cm x 9.5cm PCB板 2个LED灯 线材等 结构材料: 50枚M2 x 10mm圆头螺丝 30枚M1.2 x 6mm沉头自攻螺钉 少量扎带 3D打印组件 第二步:3D打印结构 本项目的大部分结构部件都是利用3D打印技术制作完成的,具体的文件点击 3D_Print_Parts_STL.rar 下载,其中包含8个独立的文件,打印数量如下: base.stl 基板x1 cover.stl 盖板x1 coxa.stl 髋板x2 coxa_mirror.stl 髋板固定x2 femur.stl 股板x4 motorMount.stl 电机安装板x4 tibia.stl 胫板x2 tibia_mirror.stl 胫板固定x2 第三步:安装结构 使用M1.2 x 6mm的螺丝将4个股板做好,并将舵机臂安装到基板上。 使用M2螺丝将舵机安装到髋板和胫板上。 将带轮子的N20直流电机安装到胫板上,这里使用M2螺丝和电机安装板进行固定。 注意电机和舵机的方向。 第四步:制作PCB并焊接电子件 电子组件的连接图如下,我们需要为这些连接制作一块PCB板。 PCB板的设计(下载 PDF文件 或 PCB文件 ),其尺寸为6cm x 9.5cm。 制作成功的PCB。 安装各个部件,这里安装了6条线:2条5V、2条接地、Arduino Rx-HC-05 Tx和Arduino Tx-HC-05 Rx。 安装开关。 将两个LED分别串联一个电阻后并联起来,它们将作为机器人的两只眼睛。 最后,将电子调速器(UBEC)连接到6V输出,并将UBEC的输出连接到16信道伺服驱动。 第五步:连接舵机和电机 将舵机连接到板上。舵机有三条线,其中棕色是地线,红色接V+,黄色是PWM。 为了和后面的程序匹配,这里选择的连接方式是: 左前腿舵机是0,1,2; 右前腿舵机是4,5,6; 左后腿舵机是8,9,10; 右后腿舵机是12,13,14; 另外,接口3,11,15空接;接口7用于LED的PWM调制。 然后将控制4个轮子的4个电机和PCB上的电机焊接起来,一共8个接口。 第六步:写入代码并调试 这里的代码需要用到 Adafruit_PWMServoDriver 舵机驱动库,其安装方法点击 这里 查看。 库安装完成后,就可以开始编译代码了。另外注意一点:在使用USB为Arduino Nano写入代码时,注意不要将其它供电组件连接到Arduino上。点击 spiderbot_servo.rar 下载代码。 代码上传完成后,接好断开的线就可以打开电源了。 设备启动时,所有的舵机都会回归到“0”位点,最后会呈现下图的模样:髋板与基板成45度角,股板与髋板成30度角,而胫板竖直略向外。如果样子不同,那就需要进行适当的调整,调整过程中不需要断电。另外,你也可以通过调节Arduino代码中的偏移值对其进行校准。 接下来在底面固定电池。 第七步:调试机器人的运动 你可以在Arduino代码的主循环函数中单独调用单个函数来对机器人进行调试。 void loop() { //去掉函数前面的双斜杠即可单独调用该函数 //forward(); //backward(); //left(); //right(); //vehicle(); } 如果运动方式不对,进行相应的调节即可。在汽车模式下,机器人的腿应该像下图一样折叠起来。注意折叠起来之后不要对舵机的运动构成阻碍,一旦你听到异常响亮的噪声,很可能是舵机负载过大,这时应该切断电源。 至于机器人的步态(creep gait),看起来有些奇怪,但机器人运动学不是本项目的主题,详情你可以点击 这里 了解。简单来说,就是在一只脚抬起的时候,另外三只脚必须在地面以保持平衡和稳定。你也可以在Arduino代码中对步态进行调节,让它看起来更优雅一点。 最后你也可以修改代码中mleft()和mright()函数中的参数修改汽车模式下机器人左转右转的角度。 第八步:安装安卓软件并连接蓝牙 本项目的安卓程序是作者自己编写的,界面比较简单,只有左下角的运动控制和右下角的变形按钮。另外需要注意的一点是,如果你没有进行修改,该蓝牙设备的初始名字应该是HC-05,初始密码是1234. 本安卓程序的源代码在 这里 下载,编译好的APK文件则可点击 这里 下载。 第九步:安装盖板,完成 将LED穿过盖板上的孔,盖紧盖板就完成了,接下来开始试玩,跑起来还真够奇葩的!