查看: 48134|回复: 254

[资料] CNC基础知识

[复制链接]
发表于 2017-5-3 13:18:23 | 显示全部楼层 |阅读模式
本帖最后由 rogerxue 于 2017-5-3 08:38 编辑

IMG_20170409_082248.jpg
多年来的技术解放,特别是近10年内3D打印的普及把这个曾经价格昂贵的加工技术降低到了普通爱好者也能接受的程度。CNC的普及不仅由于硬件的降价,在我看来更主要的是软件的成熟和软件易用性的加强。现在很多针对消费者级别的CNC软件简单易用,很多是开源且免费的。

自己刚开始接触CNC的时候除了觉得他神奇之外也被许多许多的概念也专业术语吓到。很多时候别说是如何解决问题,连如何开口问,如何搜索问题都不知道何从入手。这也难怪,CNC本来也不是针对业余爱好者的行业,不像木工是也草根行业,CNC是以工业生产为根本发展起来的,许多词汇,流程都是基于工业行业,对业余爱好者不是非常友好。撇开专用词汇,CNC的界面并不复杂,当你理解了很多基本概念之后也会帮助你在碰到问题的时候找到解决问题的办法,至少知道怎么更有针对性的向别人寻求帮助。

这篇文章的目的是向大家介绍一下CNC的基础知识,这些知识在平台间是通用的(无论是Windows还是Linux),可能会偏向开源的平台多一些,比如Linux或者LinuxCNC,不过概念是一样的。虽然这里开能没有直接提供你解决问题的办法,不过理解了这些基础内容相信会帮助你更好的学习和使用你的CNC。为了举例方便,这里的介绍仅限于3轴雕刻CNC。


从硬件到软件一层一层看:

现代化的系统越来越复杂,而人脑的记忆和运算能力有限,所以一般会把一个系统分为几个逻辑层,每个层之间用相对简单的界面交互。这么说比较抽象,举个例子:对于一个电灯来说,这个逻辑层包括灯泡,灯座,开关电线等等等等,但是对于使用者来说只要会用界面就可以了。电灯的界面就是开关,按一下开,再按一下关。CNC虽然复杂,但是分解到每一层也就没有这么复杂了。这里分层的顺序从机器到人来排列:


第一层:机械控制和感应器

这层是离机器最近的一层,它直接控制机器的各种运动包括切割。
s-l300.jpg rack1.jpg R&P.jpg
对于三轴雕刻机来说,驱动部分一般是三个独立的相互垂直的直线运动,传动方式一般是齿轮齿条,丝杆或者皮带。动力一般来自步进电机或者伺服电机。步进电机每圈分为固定的步数,比较常见的有200步。步进电机是开放回路, 也就是没有反馈,控制器只发出指令,不会根据电机转动的实际情况调整。伺服电机是闭路系统,也就是说控制器能得到电机的实际位置,根据情况调整指令。一般来说步进电机成本较低,力量较小。不过对于绝大多数非工业使用步进电机足够了。几个比较有流形的雕刻机CNC系统,比如shopbot,都是使用步进电机的。很多人会对精度表示担心,我给你举个例子:我自己做的CNC是采用了NEMA23的步进电机,采用20#的齿轮齿条驱动,1:3的减速比,步进电机200步/圈,驱动器带10微步。这个应该算是精度比较低的配置了,但是即使是这样的配置,理论精度也达到了 3.14/(200x10x3)~=0.0005英寸,远远超过了我的实际需要。所以个人觉得如果没有特殊需要,没有必要追求伺服电机,伺服电机不仅驱动系统价格要高很多,配饰也复杂。


cnc-76a.jpg 2-2kw-Water-Cooled-font-b-CNC-b-font-font-b-Spindle-b-font-Motor-ER20.jpg
雕刻机或者铣床采用旋转的刀头来切割工件,这个部分叫主轴,动力来自有刷或者无刷电机,又进一步分调速或定速。现在比较流形的是两种:一种直接用木工雕刻机,好处是很多地方都能买到,配置简单到不能再简单,速度力量比较适合木工加工。缺点是噪音大实在是大,有刷电机寿命短,低转速扭力小。另外一种是3相无刷电机加VFD(变频驱动),好处是无级调速,低转扭力相对较大,噪音小,寿命长,搭配合适的控制系统,可以实现完全软件控制。缺点是价格较高,配置比较复杂,重量也较大。2-3年前木工雕刻机还有比较大的价格优势,这两年随着VFD系统的不断降价和改进,价格上已经不相上下。驱动方面分直接驱动,皮带驱动,齿轮驱动等等,直接驱动最常见,也最简单,除非你对扭力或者速度有特殊要求,直接驱动基本能满足木工要求。主轴还有一个很重要的部件就是刀具夹头,现在主流的是ER系列,后面跟的数字越大,夹具也越大。其他标准还有很多,比如金属加工比较流形的R8系列等等。夹具虽小,不能小看,在对精度要求高的主轴上夹具可以占到1/3甚至更多的价格。


IMG_7764.JPG ProximityLimitSwitch.JPG
为了让控制器知道主轴所在的空间位置,一般机器都装有限位开关,有些还有原点开关。限位开关和原点开关的目的不同,但是工作原理基本一样,事实上很多DIY的机器限位开关和原点开关是同一个(我的就是同一个)。在介绍他们的异同之前,先介绍一下基本概念。开关分两种NC和NO,NC指在正常非触发情况下开关是联通的,NO则相反,只有触发的时候才联通,用来做感应开关的一般采用NC,原因是降低开关出错的几率。

限位开关:一般装载行程的两端,比如我的X轴的限位开关就装在x轴的两端。目的是防止机器超过行程撞车发生意外。

原点开关:一般也装在行程的一段,目的是在机器冷启动的时候告诉系统一个绝对坐标。我的原点开关和限位开关是同一个,比如X轴,我用左边的限位开关作为原点开关,在冷启动的时候,机器会慢速向左运动,直到触发X轴原点开关,机器就用这时候的坐标作为X0,当然你可以设置这个坐标为其他任何坐标。原点开关配合软件限位(后面会解释)使用基本可以保证机器不超过行程,除非你的机器出了故障或者设置不对。
5381327d38a06bcc1b1a491f361c9ef7500afd07959.png
对刀块:还有一个非常有用感应器就是对刀块了,它的结构很简单,一块金属板加一根线就可以。它的作用是告诉机器刀头相对工件的位置。原理很简单,先在系统里设置好金属块的厚度,然后慢慢下降主轴,直到刀头碰到金属块,从主轴到对刀块完成电流回路触发信号。我们已知对刀块的厚度,就可以算出工件的位置。


总结一下第一层的界面:
虽然第一层有很多机械电子结构,不过他们的基本界面并不复杂,这里以我的CNC为例介绍一下接口界面:
  • 步进电机:4个线头,每组间隔的线圈共享两个接头。具体运行原理这里就不解释了。
  • 主轴从最简单的木工雕刻机只有动力电源 到相对复杂的3相变频无刷有动力电源以及控制电线。控制电线根据你的配置不同也不同,我的配置里面由两条电线控制RS485界面。
  • 各种感应开关:我用的是NC开关,每个轴两个,串联。也就是说对于每个轴来说只有一个信号,这个信号可能代表原点触发,也可能是限位触发。具体意义在软件里面设置。这样每个轴就是两个线头
  • 对刀块和开关一样,只不过是NO的结构,也是两根线。

这里的线头里面所有的地线是可以合并的。



第二层: 硬件驱动层

g540 website picture_md.gif Gecko540 wiring.jpg g540wd1.jpg maxresdefault.jpg 20141010_190809.jpg de60b189cc98ab72eeb9d2e3f3d349dc.jpg
从这层开始我们不再和机械打交道了,只有电信号。从第一层的接口看来,有些线的信号代表什么意义很明确,比如感应开关,接通表示正常,断开表示触发。不过有些就不明确了,比如步进电机的4根线如何使用,或者是主轴变频控制的两条线怎么发指令都不明确。不用担心,这些接口一般都是标准的工业接口协议,有现成的芯片电路板来解释和控制。用我的CNC打比方:我采用了Gecko G540的驱动板,驱动板里面带了4个步进电机的驱动电路,可以同时驱动4个步进电机。这是什么意思呢?还记得刚才步进电机里连出来的4根线吗?只要接到G540的相应位置,G540知道怎么让电机向前转,或者向后转,或者保持当前位置不动,你只需要告诉G540 向前还是向后,走几步就可以了。除此以外,G540还有印射了很多不需要解释的端口,比如限位开关,对刀块接线等等。这些线可以认为是直接联通,什么都没干 。(其实并没有这么简单,G540很有可能对这些端口进行了保护,也就是在紧急开关触发的时候自动断开所有的接口,不过你不需要了解)

在这一层,不是所有的电路都是在G540上的,比如我用来控制主轴的RS485接口就是一个电脑自带的标准串口协议,所以那部分是连接在电脑上的。我还是把它放在这里解释,因为逻辑上他属于这层。

总结一下这一层的界面:
我们把电线接到了驱动板上,界面也从电线变成抽象的电信号。虽然看不见摸不着,但是不用怕,因为转化为电信号以后他们代表的意义更好理解了。比如对于步进电机来说只有两个信号:前进还是后退,走几步


第三层:软件控制

example-panel-small.png linuxcnc_logo.png
这层完全脱离硬件,你打交道的都是窗口,配置文件等等。软件控制层的功能是解释事先编好的刀路,告诉硬件驱动层应该如何移动主轴,合适开启主轴,多少转速等等。在移动主轴的时候也要符合牛顿力学,有加速,匀速和减速三个过程,所以软件需要知道硬件的极限,能达到多大的加速度,最高速度是多少等等。控制软件还做一些后勤工作,还记得刚才我说提到的软件限位吗?当机器冷启动后找到原点后,控制软件的软限位就能保证机器不超过行程,所以很多diy机器每个轴上只有一个限位开关。

国内流行的,可以说是占统治地位的是Artsoft公司出的Mach系列,不过其实很多人不知道这个领域另外一个很有名的软件叫Linuxcnc,顾名思义,这个是基于Linux平台的开源软件,不仅功能强大,而且稳定性也很出色。著名的Tormach系列数控机床就是从Linuxcnc改版过来的。最重要的一点是它是免费软件,不花钱还是正版的。我能理解对于很多不熟悉电脑的人来说用这个软件听起来很难,其实并不是,它大部分是图形界面操作,有很活跃的社区支持。为了推广开源软件,我这里只介绍Linuxcnc。要下载Linuxcnc可以去它的官网:www.linuxcnc.org有详细介绍。

这一层的界面:
是G代码,G代码可以认为是种机器指令,举几个最简单的例子:
X0 (就是让机器X轴移到当前坐标的0位置)
M03 (启动主轴)

第四层:CAM软件或者手写G代码
Screen Shot 2017-04-13 at 9.49.38 PM.png Screen Shot 2017-04-16 at 9.14.01 PM.png g-code-sample.jpg
有了G代码,理论上我们几乎可以想让机器干什么都可以了,不过实际情况下由于切割的几何形状复杂,想要手写G代码完成创作几乎是不可能的。我手写过一些测试机器的代码,比如让机器在行程的最大范围内画圈来磨合机器,但是稍稍复杂一点的图形就几乎不可能自己写了。所以就产生了CAM软件,CAM的作用就是将三维或者二维图形转化为G代码。这个工作听起来很简单,其实相当相当的复杂,特别是多轴CNC的CAM软件几乎可以和CNC机器的硬件差不多价格。对CAM软件我了解的不多,我自己用的是Fusion360自带的CAM。功能已经非常强大了,又是免费,我实在没什么可抱怨的。CAM软件一般针对不同的机器模式也不同,常见的是2.5轴的,也就是XY轴加不连贯的Z轴。也就是说可以把板以一个形状切下来,不能复杂的三维曲面。现在纯三维的也越来越普及了。

第五层:也是我们这里介绍的最后一层:CAD三维绘图软件。这层就不多做介绍了,这也是最能发挥创造力的一层。代表软件有sketchup,Fusion360等等



评分

参与人数 8刨花 +63 +10
收起 理由
601119582 + 10 书痴者文必工 艺痴者技必良
新意东 + 10
td1213 + 10 非常感谢,留着慢慢看
缘者 + 2 期待大神出视频解说
多吉天然晶石 + 10 辛苦了。
香辣匠 + 10 + 10 书痴者文必工 艺痴者技必良
firstwater + 10 很好的CNC入门教程,再接再厉!
太阳灵魂 + 1 不错,支持下
发表于 2017-5-3 13:29:00 | 显示全部楼层
谢谢分享,
回复 支持 反对

使用道具 举报

发表于 2017-5-3 13:48:40 | 显示全部楼层
很详尽,辛苦了。
来自苹果客户端来自苹果客户端
回复 支持 反对

使用道具 举报

发表于 2017-5-3 14:17:22 | 显示全部楼层
感觉好复杂好难入门,我想问一下可以用plc控制电机,不用那个什么mach吗。我理解了就是,买一个成品机架总成和主轴电机和步进电机,然后接个控制电机的控制器,然后需要告诉控制器你要干什么,就把CAD的图用funtion360的cam软件翻译成代码,然后输入进控制器。大概是这样吗?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2017-5-3 14:23:31 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2017-5-3 14:46:05 | 显示全部楼层
浅显易懂,非常不错!
回复 支持 反对

使用道具 举报

发表于 2017-5-3 14:47:52 | 显示全部楼层
版主介绍的图文并茂非常翔实,普及知识大家都获得了益处,感谢辛勤付出,但我看到一大堆的电路头就蒙了,来个视频版的实用教程就更好了!
回复 支持 反对

使用道具 举报

发表于 2017-5-3 15:32:11 | 显示全部楼层
第一次这么仔细的看有关cnc的介绍,我这外行看得有点云里雾里的
回复 支持 反对

使用道具 举报

发表于 2017-5-3 15:38:49 | 显示全部楼层
目前国内看到最诚恳用心的一篇cnc入门贴
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2017-5-3 16:23:30 | 显示全部楼层
楼主出品必属精品,学习了!
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2017-5-3 16:45:49 | 显示全部楼层
谢谢分享
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2017-5-3 17:26:37 | 显示全部楼层
学习了。谢谢!
来自苹果客户端来自苹果客户端
回复 支持 反对

使用道具 举报

发表于 2017-5-3 18:38:26 | 显示全部楼层
大师级的人物写出的文章就是不一样啊
回复 支持 反对

使用道具 举报

发表于 2017-5-3 20:20:04 | 显示全部楼层
CNC一直以来是我的头疼,加上年纪大了一些学习能力差,想了又想还是不敢涉及的领域。今天看到了是你的帖子才重新唤起我的兴趣,经你分层梳理,逐步介绍,详细介绍,对CNC才有了一定的认识,具体还需要继续学习。一步一步来吧,真是下定决心做的时候少不了向你请教。
回复 支持 反对

使用道具 举报

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

本版积分规则

木工爱好者网站车贴
人一生中 必须有一样 不以此谋生的工作

QQ| 小黑屋|手机版|Archiver| 中国木工爱好者-木工网 公安备案号 46010802000427

Copyright © 2001-2013 Comsenz Inc. All Rights Reserved.

X3.2( 琼ICP备18001209号-1 )

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