极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1870|回复: 0

机器人制作开源方案 | 卧式车床模型

[复制链接]
发表于 2023-7-7 09:39:44 | 显示全部楼层 |阅读模式
本帖最后由 机器谱 于 2023-7-7 09:39 编辑

1. 功能说明
       本文示例将通过程序控制模拟车床的运动效果--模拟车床进行加工时各个结构的运动方式。车床的主要运动包括夹持工件主轴的旋转运动、刀具进给运动、刀具的换刀旋转运动、溜板的平动、尾座上顶针的进给运动。


2. 结构说明

       该车床主轴旋转运动选择带传动的传动方式;刀具的进给使用滑块平移机构,用于短距离的移动;刀具的换刀装置使用电机直接驱动;溜板的平移选择丝杠传动,丝杠平移的距离较长且运动稳定;尾座的顶针进给运动使用滑块平移机构,用于短距离的平移。


3. 电子硬件
本实验中采用了以下硬件:

主控板
Basra主控板(兼容Arduino Uno)
扩展板
Bigfish2.1扩展板
传感器
触碰传感器
电池
7.4V锂电池

电路连接说明:在下图所示位置安装一个触碰传感器作为限位(限位:限定机械设备的运动极限位置)。


① 触碰传感器连接在Bigfish扩展板的A0端口;
② 3号舵机连接在Bigfish扩展板的D7端口;4号舵机连接在Bigfish扩展板的D4端口;5号舵机连接在Bigfish扩展板的D3端口。
③ 1号电机连接在Bigfish扩展板的D5,D6;2号电机连接在Bigfish扩展板的D9,D10。

4. 功能实现
4.1 实现思路
实现车床模拟加工的功能。


复位:
          溜板箱回到+X向极限位置(由1号电机控制),顶针伸出-X向(5号舵机控制),刀具箱回到+Y极限位置(3号舵机控制),刀具1指向-X向(4号舵机控制),主轴开始旋转(2号电机控制)。


第一步(粗加工):
          上刀,刀具1指向Y轴正方向(由4号舵机控制);溜板箱沿-X向移动进入工作区,以刀具1的顶点与顶针顶点在同一直线为止(1号电机开始工作,延迟大概4s);刀具箱+Y向伸出去(3号舵机控制);刀具1沿-X向移动1s后停止(1号电机开始工作,延迟1s)。


第二步(换刀,准备精加工):
          刀具箱沿-Y向移动到极限位置(3号舵机角度控制收回来);溜板箱沿+X向移动到+X向极限位置(1号电机控制,传感器限位);换刀,刀具2到刀具1的位置(4号舵机角度控制)。


第三步(精加工):
          溜板箱沿-X向移动进入工作区,以刀具1的顶点与顶针顶点在同一直线为止(1号电机开始工作,延迟大概4s);刀具箱+Y向伸出去(3号舵机控制);刀具1沿-X向移动1s后停止(1号电机开始工作,延迟1s)。


第四步(加工完成):
          刀具箱收回(3号舵机角度控制);溜板箱沿+X向移动到+X向极限位置(1号电机控制,传感器限位);主轴停止转动(2号电机stop);刀具1回到初始位置(4号舵机角度控制);顶针收回,沿+X向移动到极限位置(5号舵机角度控制)。

4.2 示例程序
       编程环境:Arduino 1.8.19
下面提供一个参考例程(lathe.ino),具体实验效果可参考演示视频。
  1. /*------------------------------------------------------------------------------------

  2.   版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.

  3.            Distributed under MIT license.See file LICENSE for detail or copy at

  4.            https://opensource.org/licenses/MIT

  5.            by 机器谱 2023-06-14 https://www.robotway.com/

  6.   ------------------------------*/

  7. #include <Servo.h>


  8. Servo servo_pin_4;

  9. Servo servo_pin_3;

  10. Servo servo_pin_8;

  11. Servo servo_pin_11;

  12. Servo servo_pin_7;

  13. int _ABVAR_1_i = 0 ;


  14. void setup()

  15. {

  16.   pinMode( 14, INPUT);

  17.   servo_pin_4.attach(4);

  18.   servo_pin_3.attach(3);

  19.   servo_pin_8.attach(8);

  20.   servo_pin_11.attach(11);

  21.   servo_pin_7.attach(7);

  22.   pinMode( 9 , OUTPUT);

  23.   pinMode( 10 , OUTPUT);

  24.   pinMode( 5 , OUTPUT);

  25.   pinMode( 6 , OUTPUT);

  26.   servo_pin_4.write( 140 );


  27.   servo_pin_3.write( 170 );


  28.   servo_pin_8.write( 50 );


  29.   servo_pin_11.write( 74 );


  30.   servo_pin_7.write( 94 );


  31.   delay( 1000 );


  32. }


  33. void loop()

  34. {

  35.   if (digitalRead(14))

  36.   {

  37.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 80 ); _ABVAR_1_i++ )

  38.     {

  39.       servo_pin_4.write( ( 140 - _ABVAR_1_i ) );

  40.       delay( 10 );

  41.     }

  42.     delay( 1000 );

  43.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 80 ); _ABVAR_1_i++ )

  44.     {

  45.       servo_pin_4.write( ( 60 + _ABVAR_1_i ) );

  46.       delay( 10 );

  47.     }

  48.     digitalWrite( 9 , HIGH );

  49.     digitalWrite( 10 , LOW );

  50.     delay( 2000 );

  51.     digitalWrite( 9 , LOW );

  52.     digitalWrite( 10 , LOW );

  53.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 100 ); _ABVAR_1_i++ )

  54.     {

  55.       servo_pin_3.write( ( 170 - _ABVAR_1_i ) );

  56.       delay( 20 );

  57.     }

  58.     digitalWrite( 5 , HIGH );

  59.     digitalWrite( 6 , LOW );

  60.     delay( 1000 );

  61.     digitalWrite( 5 , LOW );

  62.     digitalWrite( 6 , LOW );

  63.     delay( 1000 );

  64.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 69 ); _ABVAR_1_i++ )

  65.     {

  66.       servo_pin_3.write( ( 70 - _ABVAR_1_i ) );

  67.       delay( 20 );

  68.     }

  69.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 41 ); _ABVAR_1_i++ )

  70.     {

  71.       servo_pin_8.write( ( 50 + _ABVAR_1_i ) );

  72.       delay( 20 );

  73.     }

  74.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 73 ); _ABVAR_1_i++ )

  75.     {

  76.       servo_pin_11.write( ( 74 - _ABVAR_1_i ) );

  77.       delay( 20 );

  78.     }

  79.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 85 ); _ABVAR_1_i++ )

  80.     {

  81.       servo_pin_7.write( ( 94 - _ABVAR_1_i ) );

  82.       delay( 20 );

  83.     }

  84.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 64 ); _ABVAR_1_i++ )

  85.     {

  86.       servo_pin_11.write( ( 1 + _ABVAR_1_i ) );

  87.       delay( 20 );

  88.     }

  89.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 70 ); _ABVAR_1_i++ )

  90.     {

  91.       servo_pin_8.write( ( 91 - _ABVAR_1_i ) );

  92.       delay( 20 );

  93.     }

  94.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 64 ); _ABVAR_1_i++ )

  95.     {

  96.       servo_pin_11.write( ( 65 - _ABVAR_1_i ) );

  97.       delay( 20 );

  98.     }

  99.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 169 ); _ABVAR_1_i++ )

  100.     {

  101.       servo_pin_3.write( ( 1 + _ABVAR_1_i ) );

  102.       delay( 20 );

  103.     }

  104.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 170 ); _ABVAR_1_i++ )

  105.     {

  106.       servo_pin_7.write( ( 9 + _ABVAR_1_i ) );

  107.       delay( 20 );

  108.     }

  109.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 39 ); _ABVAR_1_i++ )

  110.     {

  111.       servo_pin_11.write( ( 1 + _ABVAR_1_i ) );

  112.       delay( 20 );

  113.     }

  114.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 40 ); _ABVAR_1_i++ )

  115.     {

  116.       servo_pin_8.write( ( 20 + _ABVAR_1_i ) );

  117.       delay( 20 );

  118.     }

  119.     for (_ABVAR_1_i= 1; _ABVAR_1_i<= ( 85 ); _ABVAR_1_i++ )

  120.     {

  121.       servo_pin_7.write( ( 179 - _ABVAR_1_i ) );

  122.       delay( 20 );

  123.     }

  124.   }

  125.   else

  126.   {

  127.     servo_pin_4.write( 140 );

  128.     servo_pin_3.write( 170 );

  129.     servo_pin_8.write( 50 );

  130.     servo_pin_11.write( 74 );

  131.     servo_pin_7.write( 94 );

  132.     delay( 1000 );

  133.   }

  134. }
复制代码

5. 资料下载
资料内容:

①程序源代码
②样机3D文件
资料下载地址:
卧式车床模型-概述 https://www.robotway.com/h-col-243.html

回复

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-2 06:36 , Processed in 0.039283 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表