设为首页收藏本站

[应用教程] 基于Arduino的甲壳虫改装设计(第二代)

Geemi 发表于 2015-10-14 20:57:57 | 显示全部楼层 [复制链接]
14 3489
本帖最后由 Geemi 于 2015-10-15 10:19 编辑

一.甲壳虫应用背景
在我们miniQ小车平台上,设计一种具有仿生功能的外观设计。采用低成本的3D打印技术来实现这一外壳,其质量,纹理,强度与重量都能很好的满足这一设计的要求。在美国MAKERFAIRE会展上,这一设计也得到了很好的评价,仿生型的外观,廉价的制作成本,加上有趣的运动型设计方案给这台miniQ平台带来很大的开发空间和宣传效应。
1.jpg
    这种设计给原有枯燥的小车设计带来新生,原有的小车只是搭建功能如寻线避障,但是加入外观后的小车平台会显得更加具有吸引力和活力。在展示作品和制作产品上都有很大的发展空间,目前市场上还没有基于可移动平台上的外观产品,能够直接接入到开发流程中去,唯一的途径就是开模。虽然说开模出来的产品外观很不错,但是对于非批量的开发来说无疑是提高了巨大的成本和开发精力。
二.制作材料与工具
2.1 制作零件材料:
  
序号
  
名称
数量
图示
备注
  
1
  
“头骨”
1
2.jpg
3D  打印件
  
2
  
“头皮
1
3.jpg
3D  打印件
  
3
  
翅膀
2
4.jpg
3D  打印件
  
4
  
“嘴
1
5.jpg
3D  打印件
  
5
  
M3螺丝螺母
若干
6.jpg
圆头机牙螺丝M3*54只)
  
圆头机牙螺丝M3*86只)
  
圆头机牙螺丝M3*122只)
  
平头机牙螺丝M3*84只)
  
平头机牙螺丝M3*154只)
  
6
  
Mini  Q小车
1
7.jpg
  
7
  
9g舵机
2
8.jpg
  
8
  
避障传感器
1
9.jpg
SHARP  GP2Y0A41SKOF
  
  
9
  
锂电池
1
10.jpg
7.4V  锂电池
  
10
  
铁丝
2
-
长度50mm,线径1mm
2.2 制作工具
  
序号
  
名称
缩略图
说明
  
1
  
螺丝刀组合
11.jpg
在有螺丝固定的时候需要使用组合螺丝刀,配合老虎钳可以更好的旋好螺丝。
  
2
  
老虎钳
12.jpg
制作铁丝拉钩和固定螺母的时候需要使用老虎钳。
三.实体搭建
3.1 组装零件
有了以上五个零件我们还需要两片金属合页。零件齐全之后我们就可以进入组装步骤了。
1.      首先将两只9g舵机安装在“嘴”上,用M3*5的螺丝固定在零件上,在把M3螺母放置在零件末端的沉孔里面;
13.jpg
注:安装之前需要将舵机调整到90角,将舵机实现连接到控制板上,写下程序调整角度,然后在将舵机摆臂固定上去。
2.      将两片合页放置在“头骨”零件的上方孔中,用M3*15螺丝和M3螺母将其固定在相应位置上,在将避障传感器安装在零件前方的位置中,然后使用M3*8螺丝和M3螺母固定;
14.jpg
注:合页上的螺丝选用平头螺丝安装,这样可以让合页很好的闭合。
3.      将组装好的“嘴”零件和“头骨”零件结合起来,使用M3*12的螺丝固定两个零件;
15.jpg 16.jpg
4.      将两只翅膀分别于对应的合页连接起来,使用M3*8螺丝和M3螺母将其固定在合页上;
17.jpg
5.      取两根长度各50mm的铁丝将其制作成如下图(左)所示的图形,然后用尖嘴钳将他固定到翅膀和舵机中去,效果如图(右)所示;
18.jpg 19.jpg
6.      将一台mini Q小车按照其教程组装好;
20.jpg
7.      将“头皮”零件通过M3*8螺丝固定在“头骨”零件中;
21.jpg
8.      将组装好的甲壳虫外壳和组装好的mini Q小车结合起来,通过M3*8螺丝固定起来;
22.jpg
9.      将2个舵机线和1根避障传感器线按照电路图的连接方式连接在电路板上,两个舵机一个接数字口9号脚,一只接10号角,传感器引线接模拟口A0口;
23.jpg
10.  最终完成甲壳虫小车。
24.jpg
3.2 电路部分
3.2.1 电路图
为了实现小车避障功能,我们搭建了如下图所示的电气连接图:
25.jpg
避障传感器连接模拟口A0端口,两只舵机分别连载数字口9号与10号端口。该电路可以实现遇到障碍物时让翅膀张开。
3.3 软件部分
3.3.1程序流程图
26.jpg
上图为甲壳虫遇到障碍物时会张开翅膀这一功能的程序流程图。该程序从开始到结束中间这段所执行的内容为循环执行。
3.3.2程序说明
程序总共分成三个部分:1)数据准备;2)条件判断;3)延时系统;
       数据准备:将小车上避障传感器探测的数据进行处理保存,
       条件判断:该过程有两个部分,一是判断避障传感器有没有检测到障碍物,二是判断舵机的转角是否为最大角或者最小角,进行门限处理。
       延时系统:通过delay延时函数进行对整个系统的时序进行调整,从而达到让系统变化的更加平滑。
3.3.3 实现程序
#include<Servo.h>                                                                                                                               //舵机使用库;
Servo myservo;                                                                                                                                      //定义舵机左;
Servo myservo1;                                                                                                                                   //定义舵机右;
int a=90,b=90;                                                                                                                      //定义初始角度为90度;
uint16_t get_gp2d12(uint16_t value) {                                  //避障数据转换函数,转换为实际的距离单位毫米;
        if (value < 30)
                value = 30;
        return ((67870.0 / (value - 3.0)) -40.0);
}
void setup() {
  myservo.attach(9);                                                                                                         //定义9号脚为舵机左;
  myservo1.attach(10);                                                                                                       //定义10号脚为舵机右;
  pinMode (A0, INPUT);                                                                                  //定义避障传感器引脚为A0脚;
}
void loop() {                                                                                                                                               //循环;
  uint16_t range = get_gp2d12 (analogRead(A0));                                                                              //探测距离;
  if(range<100){                                                                                                           //距离100mm以内为真;
    a++;                                                                                                                   //左边的舵机角度增加;
    b--;                                                                                                                     //右边的舵机角度减少;
  }
  else {
a--;                                                                                                                    //左边的舵机角度减少;
b++;                                                                                                             //右边的舵机角度增加;
  }
  if(a>130)a=130;                                                                                               //左边舵机最大张角为130度;
  if(a<85)a=85;                                                                                                           //左边舵机最小角为85度;
  if(b>95)b=95;                                                                                                                 //右边舵机最大为95度;
  if(b<50)b=50;                                                                                                                 //右边舵机最小为50度;
    myservo.write(a);                                                                                                           //将角度传给舵机左;
    myservo1.write(b);                                                                                                         //将角度传给舵机右;
    delay(50);                                                                                                                                                  //延时
}
4 注意事项
1)组装舵机时要先对舵机旋转到90度,可以连接到控制板将其设置到90度,然后在将半一字摆臂安装上去,安装过程中保持摆臂水平安置;
2)整个安装过程是先组装打印件在将组装好的零件和小车连接起来,所以拆卸的时候也要先分离小车和打印件,然后在拆打印件;
3)组装过程中难免会有走线,所以要整理好走线,合理的分布走线的位置,确保不被挤压即可;
4)组装好了之后如果对小车的程序进行调整,那么需要将小车从打印件上拆下来,这样的工作很繁琐,建议使用蓝牙下载程序,使用教程请点击[url=http://wiki.dfrobot.com.cn/index.php/(SKUFR0267)Bluno蓝牙4.0控制器_兼容Arduino#BLUNO.E5.9F.BA.E7.A1.80.E7.A4.BA.E4.BE.8B]使用链接[/url]
5)组装好了之后翅膀会和舵机相连,所以尽可能少强力掰开翅膀,以便损坏舵机,也建议使用金属舵机,可选此型号点击使用链接

发表于 2015-10-15 07:36:37 | 显示全部楼层
记得这个帖子 之前就看过造型  今天应该是做了修改 哈哈
回复 支持 反对

使用道具 举报

发表于 2015-10-15 09:55:16 | 显示全部楼层
感觉挺不错的,教程赞!
回复 支持 反对

使用道具 举报

发表于 2015-10-15 15:03:27 | 显示全部楼层
好教程,都像这样写,我就能看懂了,哈哈
回复 支持 反对

使用道具 举报

发表于 2015-10-15 18:12:22 | 显示全部楼层
把模型发一下 我也打印做一个
回复 支持 反对

使用道具 举报

发表于 2015-10-15 19:01:59 | 显示全部楼层
大连林海 发表于 2015-10-15 18:12
把模型发一下 我也打印做一个

同意
回复 支持 反对

使用道具 举报

发表于 2015-10-15 19:53:25 | 显示全部楼层
大连林海 发表于 2015-10-15 18:12
把模型发一下 我也打印做一个

冷静一点,5楼和6楼
机械部分还是有问题的。。。在等等,第三代。。。谢谢
回复 支持 反对

使用道具 举报

发表于 2015-10-15 20:15:03 | 显示全部楼层
Geemi 发表于 2015-10-15 19:53
冷静一点,5楼和6楼
机械部分还是有问题的。。。在等等,第三代。。。谢谢 ...

回复 支持 反对

使用道具 举报

发表于 2015-10-16 14:12:17 | 显示全部楼层
建议甲虫翅膀做成圆形的,更像甲虫,而且下面的地盘也是圆形的。同时可以增加2个LED做眼睛。
回复 支持 反对

使用道具 举报

发表于 2015-10-16 15:24:30 | 显示全部楼层
mickey 发表于 2015-10-16 14:12
建议甲虫翅膀做成圆形的,更像甲虫,而且下面的地盘也是圆形的。同时可以增加2个LED做眼睛。 ...

恩恩……第一代的就是圆形的,效果一般般,笔者是想做成棱角的,这样会很有未来高科技的感觉,但是一直没实现呀,后期再准备优化以下,但是圆形的应该不在考虑范围之内,体积略大。。。。。
回复 支持 反对

使用道具 举报

发表于 2015-10-19 11:47:32 | 显示全部楼层
Geemi 发表于 2015-10-16 15:24
恩恩……第一代的就是圆形的,效果一般般,笔者是想做成棱角的,这样会很有未来高科技的感觉,但是一直没 ...

恩,圆形的是瓢虫,你这个是甲虫。
回复 支持 反对

使用道具 举报

发表于 2015-12-30 15:55:32 | 显示全部楼层
后期我要改这个模型了,让他成为仿生虫和科幻虫。。oh yeah
回复 支持 反对

使用道具 举报

发表于 2016-10-10 22:30:40 | 显示全部楼层
厉害厉害,有创意,可否发一下3D数据
回复 支持 反对

使用道具 举报

发表于 2016-10-12 12:43:34 | 显示全部楼层
王子麒 发表于 2016-10-10 22:30
厉害厉害,有创意,可否发一下3D数据

3D 的源文件貌似没有了。。。sorry,这个作品做的比较早,
回复 支持 反对

使用道具 举报

发表于 2016-10-12 18:50:33 | 显示全部楼层
Geemi 发表于 2016-10-12 12:43
3D 的源文件貌似没有了。。。sorry,这个作品做的比较早,

。。。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则 允许回帖同步到新浪微博  

推荐阅读

精华导读




公司简介| 联系我们| 加入我们| 微博| 优酷| 英文网站| DF创客社区 ( 沪ICP备09038501号-4  
友情链接| 硬创邦| 花生壳社区| 模友之吧| 电子发烧友社区| 创客星球| 云汉电子社区| 电子工程网| 与非网| Arduino中文社区| 南极熊3D打印网|

上海智位机器人有限公司  沪ICP备09038501号-4   

Powered by Discuz! X3.1

Licensed Comsenz Inc.

返回顶部 返回列表