机器手臂(3):机械手臂底座
2015-12-18 15:28
239 查看
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/50349901 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
源代码放在github上面:https://github.com/freewebsys/arm_hand_openscad
使用cura软件生成gcode文件进行打印。
舵机使用便宜的盛辉 MG995。
首先规范下命名,分别用ABCDEF表示正方体的6个面(在标准的xyz坐标系下)。
在OpenScad里面可以使用use 命令引入其他scad文件里面的模块。
然后再这个文件里面进行调用,相当于引入包,调用函数。
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Include_Statement
include是静态引入,use是动态引入,use可以控制是否调用模块。
use比较高级,同时还可以将模块进行移动旋转,比较常用。
将舵机支架拆分成一个文件。然后再arm_base.scad文件里面使用舵机支架。
一个单独的底盘,用于竖向固定舵机,所以需要使用use引入。
舵机支架和底盘合体效果。直接组合,然后挖去中间的部分。
这里注意一个问题,两个合体之后,会出现外凸出部分,这部分在打印的时候会出现些问题,尽量减少这样的设计。
比较突起在打印的时候是一条线过去的,不可能悬空呆着,肯定会往下掉,会走一点点型。
仔细看,垂直的部分会有不少拉丝,因为重量下垂的。
但是并不影响固定舵机。
博主地址是:http://blog.csdn.net/freewebsys
加入了模块和拆分了文件之后设计就很方便了,就像搭积木一样,一个一个拼接起来就好,将多个零件进行组装。
代码编写起来非常方便。都是非常简单的命令进行组合。
非常适合开发人员使用,设计简单的模型很方便。
博主地址是:http://blog.csdn.net/freewebsys
关于机械手臂
使用OpenScad设计3d零件。源代码放在github上面:https://github.com/freewebsys/arm_hand_openscad
使用cura软件生成gcode文件进行打印。
舵机使用便宜的盛辉 MG995。
1,画机械手臂底座
首先规范下命名,分别用ABCDEF表示正方体的6个面(在标准的xyz坐标系下)。
在OpenScad里面可以使用use 命令引入其他scad文件里面的模块。
然后再这个文件里面进行调用,相当于引入包,调用函数。
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Include_Statement
include是静态引入,use是动态引入,use可以控制是否调用模块。
use比较高级,同时还可以将模块进行移动旋转,比较常用。
将舵机支架拆分成一个文件。然后再arm_base.scad文件里面使用舵机支架。
一个单独的底盘,用于竖向固定舵机,所以需要使用use引入。
舵机支架和底盘合体效果。直接组合,然后挖去中间的部分。
3,源代码
//使用use,重复利用模型,不需要每次都画。 use <serv_box_1.scad>; motor_l = 55+1; motor_w = 24; bracket_l = (motor_l)*2;//len有误差,长度增加1. bracket_h = 5; module out_bracket(){ cube(size=[bracket_l,bracket_h,bracket_h]); } //画田字格底座,再和舵机支架拼接起来。 module bracket(){ //前外围支架 translate([0,0,0]) out_bracket(); //后外围支架 translate([0,bracket_l,0]) cube(size=[bracket_l+bracket_h,bracket_h,bracket_h]); //左外围支架 translate([0,bracket_l,0]) rotate(a=[0,0,270]) out_bracket(); //后右围支架 translate([bracket_l,bracket_l,0]) rotate(a=[0,0,270]) out_bracket(); //中间一根支架 translate([0,bracket_l/2,0]) out_bracket(); //中间连根支架,卡住舵机长度。 translate([(bracket_l-motor_l)/2,bracket_l,0]) rotate(a=[0,0,270]) out_bracket(); translate([(bracket_l-motor_l)/2+motor_l,bracket_l,0]) rotate(a=[0,0,270]) out_bracket(); } difference(){ union(){ //调用之前的舵机支架。移动到中心。 translate([-motor_l/2,-motor_w/2,30.5]) rotate(a=[-90,0,0]) serv_box_1(); //移动到中心。 translate([-bracket_l/2,-bracket_l/2,0]) bracket(); } tmp_l = motor_l-10; tmp_w = motor_w-10; translate([-(tmp_l)/2,-(tmp_w)/2,0]) cube(size=[tmp_l,tmp_w,bracket_h*2]); }
这里注意一个问题,两个合体之后,会出现外凸出部分,这部分在打印的时候会出现些问题,尽量减少这样的设计。
比较突起在打印的时候是一条线过去的,不可能悬空呆着,肯定会往下掉,会走一点点型。
仔细看,垂直的部分会有不少拉丝,因为重量下垂的。
但是并不影响固定舵机。
4,总结
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/50349901 未经博主允许不得转载。博主地址是:http://blog.csdn.net/freewebsys
加入了模块和拆分了文件之后设计就很方便了,就像搭积木一样,一个一个拼接起来就好,将多个零件进行组装。
代码编写起来非常方便。都是非常简单的命令进行组合。
非常适合开发人员使用,设计简单的模型很方便。
相关文章推荐
- 微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
- asp.net(c#)捕捉搜索引擎蜘蛛和机器人
- 使用图灵api创建微信聊天机器人
- 安卓(Android)聊天机器人实现代码分享
- 什么是android(What Is Android?)
- 开源硬件的价值评估
- 三星i9158刷机教程
- Nagios调用短信接口
- http协议状态码详解
- 50年后人工智能将成为人类最大的威胁
- 实用工具类 GTalk机器人
- 如何处理计划中的网站关闭事件
- Web工程师的工具箱
- 美团网2014校招笔试题及解答(长沙站+哈尔滨站)
- [极客]硬件极客最爱:支持WiFi的Arduino板到来
- 2014第二届上海国际3D打印技术展览会暨研讨会
- pcDuino上控制视频监控机器人
- 人形机器人----俯卧撑(参数)
- 分享一些机器人相关学习网址
- (一) 驱动模块搭建与测试