[秀作品] 小白无障碍制作InMoov机械手

kikiwu   2019-4-12 14:37 楼主
这个机械手很久之前就在做了,但是没有做完,直到看到张禄的同步机械臂。我又开始了制作并完成了机械臂。最近收到LEE大大的赞助,准备把这次制作过程,写成详细教程,让小白无障碍制作 !机械部分(可以说完成了机械部分,基本上完成了制作的大部分工作)
先从手指开始,手指5根,分别打印出来,经过打磨、钻孔,安装螺丝。器材:
         螺丝 20、25、30
         PLA     白色
         风筝线或鱼线
         舵机     
         ……(持续更新)
3D打印模型文件分别为:
Auriculaire(小指)、ringfinger(无名指)、Index(食指)、Majeure(中指)、thumb(大拇指)

打印出手指部件

用锉刀修饰模型
钻孔后用AB胶粘接

穿线

注意线头打结!

再将指头盖用胶与指粘接

其余手指安装与之类似,注意每根手指两根线,分别用于弯曲和伸直手指。穿线时不要让两根线缠绕在一起。
五根手指打齐并正确穿线。

打印文件:WristsmallV3.stl


打印文件:WristlargeV4.stl

将大拇指两根线穿过手掌,注意我们使用了,上下两孔洞。


(持续更新中)6月4日外出一天陪朋友去常州看创客空间 。


rotawrist3V2

rotawrist2.stl

rotawrist1V3.stl

组合后形态,构成手腕部分

robpart5V3.stl,将模型文件打印出来后,去除支撑如下图所示。

去除支撑后的模型

robpart4V3.stl如上述模型一样打印后去除支撑



组合后形态


RobServoBedV5,打印上图所示舵机床,将5个舵机按上图所示方式安装上。

servo-pulleyX5.stl,打印好以后,将舵机圆形多盘安装到此模型中,如上图所示
今天是高考,不过今年我不用监考,所以在家休息,烧锅接送孩子之余,继续我们的机械手安装。

小指无名指中轴安装,适当打磨后将中轴从孔中插入,注意控制手指弯曲和伸展的控制线不要缠绕,且分布与中轴两侧。

拇指中轴安装,适当打磨后,将其正确安装,方法如上。

安装注意确保中轴尾部进入孔内,如上图所示,否则会影响腕部中轴的安装。

用螺丝将手表面固定LOGO ——INMOOV

打印腕部齿轮

将齿轮与腕部固定

再将rotawrist3V2与其连接如上图。

内部齿轮组安装如图所示

腕部中轴安装,还是要注意线分布在中轴两侧。

中轴另一端用扣子扣住。

手掌与腕部安装完毕、
手臂前后片用AB胶水,粘接,为了使其粘接更为牢固可用夹子加以固定。

6月8号









物理电路连接图如下所示(使用5根弯曲传感器)

代码编写:原理很简单通过5根弯曲传感器的弯曲度,将其映射为舵机的旋转角度。
  • // Controlling a servo position using a potentiometer (variable resistor)
  • // by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
  • #include
  • Servo thumbservo,indexservo,middleservo,ringservo,littleservo;  // create servo object to control a servo
  • int thumbpin = 0;  // analog pin for thumb connect the flex sensor
  • int indexpin = 1; // analog pin for index connect the flex sensor
  • int middlepin = 2; // analog pin for middle connect the flex sensor
  • int ringpin=3; // analog pin for ring connect the flex sensor
  • int littlepin=4; // analog pin for little connect the flex sensor
  • int val1,val2,val3,val4,val5;    // variable to read the value from the analog pin
  • void setup()
  • {
  •    thumbservo.attach(5);  // attaches the servo on pin 5 for the thumb
  •    indexservo.attach(6); // attaches the servo on pin 6 for index finger
  •    middleservo.attach(9); // attaches the servo on pin 9 for the middle finger
  •    ringservo.attach(10); // attaches the servo on pin 10 for the ring finger
  •    littleservo.attach(11); // attaches the servo on pin 11 for the little finger
  • }
  • void loop()
  • {
  •    val1 = analogRead(thumbpin);            // reads the value of the potentiometer (value between 0 and 1023)
  •    val1= map(val1, 768, 853, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
  •    thumbservo.write(val1);   // sets the servo position according to the scaled value
  •    val2 = analogRead(indexpin);            // reads the value of the potentiometer (value between 0 and 1023)
  •    val2= map(val2, 768, 853, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
  •    indexservo.write(val2);   // sets the servo position according to the scaled value
  •    val3 = analogRead(middlepin);            // reads the value of the potentiometer (value between 0 and 1023)
  •    val3= map(val3, 768, 853, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
  •    middleservo.write(val3);   // sets the servo position according to the scaled value
  •    val4 = analogRead(ringpin);            // reads the value of the potentiometer (value between 0 and 1023)
  •    val4= map(val4, 768, 853, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
  •    ringservo.write(val4);   // sets the servo position according to the scaled value
  •    val5 = analogRead(littlepin);            // reads the value of the potentiometer (value between 0 and 1023)
  •    val5= map(val5, 768, 853, 0, 179);     // scale it to use it with the servo (value between 0 and 180)
  •    littleservo.write(val5);   // sets the servo position according to the scaled value
  •    delay(10);                           // waits for the servo to get there
  • }

复制代码
以上代码是联机版本。拓展应用:
       无线连接版本


本文转自:DF创客社区


回复评论 (1)

服务器大全
点赞  2019-4-13 09:15
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复