结构材料:
50枚M2 x 10mm圆头螺丝
30枚M1.2 x 6mm沉头自攻螺钉
少量扎带
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
第三步:安装结构
注意电机和舵机的方向。
电子组件的连接图如下,我们需要为这些连接制作一块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穿过盖板上的孔,盖紧盖板就完成了,接下来开始试玩,跑起来还真够奇葩的!
自做自受 2015-12-18 12:40
zhengzhirui 2015-12-18 09:12