5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: awolfbee
打印 上一主题 下一主题

离合器式攻丝机改装的自动攻丝机,自动群钻视频(后面跟上原理和程序)

  [复制链接]
61
 楼主| 发表于 2013-1-31 08:08 | 只看该作者
本帖最后由 awolfbee 于 2013-2-1 08:11 编辑

群钻的时序:

工件从轨道上滑下,触发微动开关-----〉送料气缸将工件推到加工位置,前面有挡板限位-----〉Z轴气缸将群钻推下-----〉吹气-----〉送料气缸缩回-----〉延时一段时间,等待加工到位-----〉Z轴气缸缩回,群钻上升-----〉关气-----〉然后下料气缸将工件推下-----〉下料气缸缩回,然后是下一道工序。

以下为PLC的用C语言编写的程序。


#include<reg52.h>
sbit Y0=P1^0;
sbit Y1=P1^1;
sbit Y2=P1^2;
sbit Y3=P1^3;
//sbit Y4=P1^4;
//sbit Y5=P1^5;
//sbit Y6=P1^6;
//sbit Y7=P1^7;
//sbit Y10=P3^6;
sbit Y11=P3^7;// 计数器
//sbit Y12=P2^6;

/*---------------------
说明:
sbit Y0=P1^0;   送料气缸1前进和后退,常态为1,为缩回到最后端,准备送料。
sbit Y1=P1^1;        送料气缸2的前进和后退,常态为1,位于左边并保持
sbit Y2=P1^2;        Z轴气缸的伸长和缩回,常态为1,为缩回


本程序中使用四个电磁阀,Y3用来吹气。

--------------------------*/




sbit X0=P0^0;
sbit X1=P0^1;
//sbit X2=P0^2;
//sbit X3=P0^3;
//sbit X4=P0^4;
//sbit X5=P0^5;
//sbit X6=P0^6;
//sbit X7=P0^7;
//sbit X10=P3^2;
//sbit X11=P3^3;
//sbit X12=P3^4;
//sbit X13=P3^5;


//unsigned int a;
void delay_ns(unsigned int);
void main()
{
  EA=1;                 //开总中断
  EX0=1;         //         开外部中断0,
  EX1=1;         //         开外部中断1,
  while (1)
  {
   if (X0==0)
         {
                Y11=0;      //计数器开关接通
                Y0=0;              //送料气缸1伸长,将阀盖推到导轨上;
                delay_ns(600);  // 1、延时,等待阀盖运行到导轨上。
                Y11=1;       //计数器开关断开
                Y0=1;       //送料气缸缩回
                Y1=0;                //Z轴加工气缸伸长,将加工动力头推出;
                Y3=0;     //开气
                delay_ns(1000);  //2、延时,等待加工到位。
//                Y0=1;            //送料气缸缩回
                delay_ns(500);  //3、延时,等待加工完毕
                Y3=1;          //关气
                Y1=1;                 //Z轴加工气缸缩回,动力头缩回
                Y2=0;          //下料气缸伸出,将阀盖推下,
                delay_ns(500); //5、延时,
                Y2=1;          // 下料气缸缩回,
       delay_ns(500); //6、延时,等待下料气缸完全缩回

          }
                                          
   }
}

void delay_ns(unsigned int xs)

{
   unsigned int i,j;
   for (i=xs;i>0;i--)                 //延时大约500毫秒,有待验证
       for (j=110;j>0;j--);          //11059326/12=921610.5个机器周期

}

void zhongduan () interrupt 0
        {
          Y0=1;
          Y1=1;
          Y2=1;
          Y3=1;
        //        Y4=1;
        //        Y5=1;
        //        Y6=1;
        //        Y7=1;
        //        Y10=1;
        //        Y11=1;
                    }  
         

X0为微动开关,触发程序运行。

以下是PLC端口图。

           

欢迎继续阅读楼主其他信息

62
 楼主| 发表于 2013-1-31 08:13 | 只看该作者
单片机I/O口接口说明
单片机采用STC89C52RC
输入                                 输出
X0  --->      P0.0                       Y0  --->      P1.0
X1  --->      P0.1                       Y1  --->      P1.1
X2  --->      P0.2                       Y2  --->      P1.2
X3  --->      P0.3                       Y3  --->      P1.3
X4  --->      P0.4                       Y4  --->      P1.4
X5  --->      P0.5                       Y5  --->      P1.5
X6  --->      P0.6                       Y6  --->      P1.6
X7  --->      P0.7                       Y7  --->      P1.7
X10 --->      P3.2  中断0                Y10  --->     P3.6
X11 --->      P3.3  中断1               Y11  --->      P3.7
X12 --->      P3.4  计数器中断           Y12  --->      P2.6(蜂呜器)
X13 --->      P3.5   计数器中断
63
 楼主| 发表于 2013-1-31 08:16 | 只看该作者
气路:

24VDC二位五通电磁阀,二位二通电磁阀(吹气用),气管,接头,节流阀(装在气缸上),气缸:送料,16*100气缸,下料,同上,Z轴:32*75,配件要配套。
64
 楼主| 发表于 2013-1-31 08:18 | 只看该作者
觉得基本上就这些了,有问题大家拍砖。

回头吧攻丝机的情况说明下。
65
 楼主| 发表于 2013-1-31 08:40 | 只看该作者
本帖最后由 awolfbee 于 2013-1-31 08:41 编辑

电路图。




COM实际上就是DC24V的负极。
66
 楼主| 发表于 2013-1-31 08:56 | 只看该作者
气路。台钻电路没改,因为这个要始终转动的。


67
 楼主| 发表于 2013-1-31 10:12 | 只看该作者
人气不足嘛,发得没劲了。
68
发表于 2013-1-31 12:55 | 只看该作者
我顶楼主啊!谢谢楼主分享
69
发表于 2013-1-31 14:59 | 只看该作者
这个老板请到你给他干活是他的福气!
70
发表于 2013-1-31 15:00 | 只看该作者
同时你也要兼顾一下工人的生计!
71
 楼主| 发表于 2013-1-31 15:15 | 只看该作者
本帖最后由 awolfbee 于 2013-1-31 15:29 编辑
twhdiy 发表于 2013-1-31 15:00
同时你也要兼顾一下工人的生计!


可能大家感觉我设计的东西吧人工代替了,工人没法吃饭了,现实的情况是,人工费用太高的话,这个项目就会停止,那就不需要人了。现在企业招人真的太难,2012年公司一个人都没进。


检验和上料斗的话还是要人的,毕竟公司不是靠这个来经营,主业还是要做的,不然靠这个哪能养20人。

72
 楼主| 发表于 2013-1-31 15:41 | 只看该作者
下面讲自动攻丝机的原理。

之前在危机老师那里买了一个钻床头,本来计划是改成自动攻丝机的,但是材料不凑手,一直搁置了。前几天任务太紧,攻丝这个环节堵了好几万个,没办法,赶进度,要过年啊,不然年后我要忙晕了,于是在打公司的那几台离合器式攻丝机的主意。

   危机老师当时给我的思路是,用台钻主轴带动一根1605的丝杆,然后用1:5的齿轮传动,这样刚好主轴转一圈,丝杆给进1mm,与这边工件的螺距对应。

   我的思路是,干脆直接在主轴上接上螺杆,螺杆的螺距与工件螺距对应,反正下面丝锥的螺距也是1mm,直接用这个丝锥攻个对应螺距的孔,另外车一根螺杆就行了。

   想好了就动手,于是就有了自动攻丝机的视频。上料系统是现成的,要做的就是电路部分,电路稍微复杂点,PLC控制电动机,Z轴与行程开关的位置给PLC正转和反转的信号。

   先上程序。

             #include<reg52.h>
sbit Y0=P1^0;           //  送料气缸控制
sbit Y1=P1^1;           //  电机正转
sbit Y2=P1^2;           //  电机反转
sbit Y11=P3^7;           //  计数器开关
sbit Y3=P1^3;           //        暂时未定义
sbit X0=P0^0;           //        启动开关
sbit X1=P0^1;           //        锁止开关
sbit X2=P0^2;           //        反转行程开关感知
sbit X3=P0^3;           //        正转行程开关感知
void delay_ns(unsigned int);
void main()
{
  EA=1;                 //开总中断
  EX0=1;         //         开外部中断0,
  EX1=1;         //         开外部中断1,
  while (1)
  {
    while (1)                                                        //锁定程序,防止在没有按下开始开关的情况下误触发
                    {                                                                //新增程序段
                            if (X1!=0)                                        //新增程序段
                         break;                                                //新增程序段
           }                                                        //锁定程序,防止在没有按下开始开关的情况下误触发
   if (X0==0)
         {
        Y11=0;      //计数器触电闭合;
                Y0=0;             //送料气缸开始推料
        delay_ns(400);  //1、延时,等待加工工件完全送到位
                Y11=1;                   //计数器触电断开
                Y0=1;           //断开电磁阀的电源,送料气缸缩回
//                delay_ns(100);        //延时,使得三位五通电磁阀恢复到正常状态
Y1=0;          //电机正转,
    while (1)                                                        //新增程序段
                    {                                                                //新增程序段
                            if (X2==0)                                        //如果X2=0,则说明攻丝已经到了预定深度,停止正转
                         {
                         Y1=1;                                        //停机
                         break;                                   //跳出循环
                         }                                                //新增程序段
           }                                                        //新增程序段

Y3=0;   //下料
delay_ns(300);         //延时,等待继电器完全恢复初始状态
Y3=1;   // 下料气缸缩回
Y2=0;                         //电机反转
    while (1)                                                        //新增程序段
                    {                                                                //新增程序段
                            if (X3==0)                                        //如果X3=0,则说明主轴已经上升到了预定高度,停止反转
                         {
                         Y2=1;                                        //停机
                         break;                                   //跳出循环
                         }                                                //新增程序段
           }                                                        //新增程序段
delay_ns(400); //延时,等待加工完毕。
     }
    }
}
  void delay_ns(unsigned int xs)
  {
   unsigned int i,j;
   for (i=xs;i>0;i--)                 //延时大约500毫秒,有待验证
   for (j=110;j>0;j--);          //11059326/12=921610.5个机器周期
}

void zhongduan () interrupt 0
        {
          Y0=1;
          Y1=1;
          Y2=1;
          }  
73
 楼主| 发表于 2013-1-31 15:48 | 只看该作者
电路部分:PLC控制继电器,继电器控制两个交流接触器。X0为启动开关,X1和X2分别与行程开关连接,Y0为送料气缸,Y1和Y2分别控制继电器,继而控制交流控制器。

一点心得:  240V的继电器也能用于380V电路中,但是容量必须降低很多才行。我之前用10A的240v继电器直接控制750W三相电机,结果5000个工件后烧掉了,不过因为是四路触点,所以还剩一路触点,干脆我用这剩下的一路触点控制交流接触器,现在已经运行了一周,没有什么问题,继电器的外壳是透明的,看不到火花,之前就不行了,和电焊似地,当时就觉得用不长,过两天后就出现缺相现象了,显然是触点被烧坏了。

电路图有点复杂,如果会画图软件就好了,半天没捣鼓出来。
74
发表于 2013-1-31 20:29 | 只看该作者
这个要顶!楼主年轻有为!
75
 楼主| 发表于 2013-1-31 20:34 | 只看该作者
stone_1045 发表于 2013-1-31 20:29
这个要顶!楼主年轻有为!

晕,你从哪里推断我年轻的?
76
发表于 2013-1-31 20:38 | 只看该作者
在视频里看到的!哈哈!还有就是越年轻越容易和盘托出、年纪大了就容易有想法了哈!说话就云里雾里的。
77
 楼主| 发表于 2013-1-31 20:52 | 只看该作者
stone_1045 发表于 2013-1-31 20:38
在视频里看到的!哈哈!还有就是越年轻越容易和盘托出、年纪大了就容易有想法了哈!说话就云里雾里的。

公司里面我算年龄不小的了,37岁了。可能是说话速度快,给人感觉愣头青。

   我对公司里面所有的人在技术上是不保留的,就算是关键的技术也会敞开说,这在于,我教会了他,出现同样问题,我不用费神;我也不担心教会徒弟,饿死师傅这种情况,因为我每天都在学习,如果不用心的话,想超过我不是件容易的事情,09年和现在的我,在知识和经验上完全是两码事,而且,你要教会他人的话,自己还得有两刷子才行。技术保留,没必要,今天他不会,明天他还不会吗?都不是自己琢磨的东西,都是从外面吸取的内容,换个渠道一样得到,只不过可能稍微晚点。



78
发表于 2013-1-31 21:08 | 只看该作者
说的对!我属虎比你大几岁呢!学习很重要的,这也是我常来51论坛和中 国机械社区闲逛的原因哦!我有几台机床,但利润太低了,基本处于半闲置。主要从事数控维修、改造等,04年前,还不知数控为何物呢!学习太重要了。经济上的回报有时并不是最主要的,关键是自己觉得很充实!
79
 楼主| 发表于 2013-1-31 21:13 | 只看该作者
攻丝机的时序:

工件从轨道上下滑,触发微动开关,X0电平变成低电平,程序开始运行----》送料气缸将工件推到加工位置,前面有挡板定位----》送料气缸缩回----》电机正转,在丝杆的推动下Z轴下行----》攻丝进行中,直至下行程开关触发----》下料气缸将工件推下----》下料气缸缩回----》电机反转,直至触发上行程开关,电机停止转动,然后进入下一个加工循环。
80
 楼主| 发表于 2013-1-31 22:05 | 只看该作者
本帖最后由 awolfbee 于 2013-1-31 22:15 编辑

大约是8月份,一个朋友约我帮他设计一台专门加工铝合金件的专机,当时设计了两个方案,预算超过60万。放弃了专机的想法,采用多工位独立加工的方式,三人操作,每天加工费用的产值2500元。PLC程序是我编写的,我只做第一台样机,加工其中的一道工序,其他的工位我只提出了构思,由他们自己完成。因为他本身是做模具的,压铸模,所以做工装是非常方便的,比我做的要精确多了,也好看多了,我就是切割焊焊,他则是整个铣出来的。大约花了5万吧,划算多了,比专机多用了一个人。


如果使用专机加工,效率可能稍微高点,但是这个成本不是一年两年能回来的,如果产品改型,这个专机就报废了,如同帖子前面说的群钻,台钻坏掉了,群钻就报废了。再者就是维护成本问题。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

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