• 机器手臂(3):机械手臂底座


    本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/50349901 未经博主同意不得转载。
    博主地址是: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

    添加了模块和拆分了文件之后设计就很方便了,就像搭积木一样。一个一个拼接起来就好。将多个零件进行组装。
    代码编写起来很方便。都是很easy的命令进行组合。
    很适合开发者使用,设计简单的模型很方便。

  • 相关阅读:
    wiki iso88591字符表的解释
    [c]字符1一维数组求长度
    vim 用户配置
    PHP中向浏览器输出图片
    如何及时取消 BackgroundWorker 组件的后台工作
    python basic
    php5.1中的时区设置。
    MyBatis的深入原理分析之1架构设计以及实例分析
    hibernate缓存:一级缓存和二级缓存
    Spring 注解(Annotation)代替XML实现零配置
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7092682.html
Copyright © 2020-2023  润新知