给数控铣DIY刚性攻丝功能
Intro
我们都在金工实习时学过攻丝(Tapping),就是用一个带有螺纹形切削刃的工具在工件上切出螺纹来。做内螺纹的工具叫丝锥,做外螺纹的叫板牙。
与手工工作相比,数控机床在批量制造零件时具有较高的效率和一致性。数控铣床自动攻丝(Rigid Tapping)的过程有三步:主轴正转将丝锥旋入预先钻好的孔,到达预定深度后主轴停止,最后反转将丝锥退出工件。
值得注意的是,丝锥在工件内时,包括中间的减速和反转,Z轴的平动和主轴的转动要同步:主轴转一圈,Z轴运动一个螺距,不然丝锥分分钟断给你看。这就需要一个传感器不停地给数控系统报告主轴的转动角度,一般我们会用光电编码器或者磁编码器。正因为多了这么个传感器,数控机床厂就有理由把自动攻丝当作一个高附加值的Feature,能够自动攻丝的数控铣要贵很多。我手上的小破数控铣就没有这个功能,经过一番调研,我决定DIY一个光电编码器。
可能有同学想问,主轴的转速不是预先设定好的吗?按照转速移动Z轴不就行了?嘿嘿,我想说,有个东西叫累计误差(或者积分误差、累积误差,随你怎么叫),而且中间的加减速过程不好解决。
Planning
关于光电编码器
正交光电旋转编码器(Optical Quadrature Rotary Encoder)由三个红外对射光电传感器和一个码盘组成。码盘圆周上有等分的空缺,光电传感器会因为空缺打通了光路而发出信号。
我们把三个光电传感器分别叫做A、B和Z。A和B的光路放置在等分空缺经过的圆周上,相位差为90°或-90°(“正交”即为此意)。Z的光路放置在码盘一周唯一的空缺会经过的圆周上,给每一圈旋转确定起始位置。这样,主轴旋转时A、B、Z的输出信号应该长这样儿:
这样,我们不仅可以从信号脉冲的个数中推断主轴的角位移,还可以从AB相的相位差中推测主轴的旋转方向。
调研后我决定使用欧姆龙的EE-SX-677-WR/EE-SX-676-WR传感器,并且把码盘安装在主轴上方,也就是这里:
【图】
因为这篇文章是事后诸葛亮,图里可以看见大螺母上已经被我做了两个M4的螺纹孔,用于安装码盘。
测量尺寸
从上图可以看出安装编码器的位置比较狭小,要用游标卡尺测出各个需要的尺寸非常困难,所以这里我们使用试错法:画一个模板,用天空工场的激光切割机做出来,与实物比对后调整尺寸:
【切割视频】
试了几次后,终于做出了正确的模板。模板装上以后长这样儿:
【图】
于是我们的设计有了一个草图做参照。用自顶向下设计方法的语言来讲,这个草图就是设计的骨架(Skeleton)
【图】