自制CNC钢笔绘图仪(自动换刀) - DIY绘图机教程
本教程将展示如何制作一台CNC钢笔绘图仪(绘图机),并具有一个很酷的功能:自动换刀。换句话说,机器能自动更换颜色,从而绘制出非常酷炫的图案。 您可以观看以下视频或阅读下方文字教程。 机器结构基于我之前的DIY CNC激光雕刻机,目标是用最少零件制作最简单的CNC机器。使用3个NEMA 17步进电机驱动X、Y、Z轴,一个微型舵机控制夹爪。大脑是Arduino UNO配合CNC扩展板和三个A4988步进驱动器。 工作区域相当大,360x280mm,绘图精度在我看来相当令人印象深刻,尤其是使用0.6mm中性笔时。 现在我将详细讲解构建此类绘图机所需的一切:设计、电子连接、固件与软件选择、G代码生成方法。 首先看设计。如前所述,基于我之前的CNC激光雕刻机设计,目标是极简零件。两大核心部件是MGN15H线性导轨及配套滑块。X、Y轴运动通过两条GT2同步带和带轮实现。Z轴为简单往复运动:移动部分在两根6mm光轴和线性轴承上上下滑动。一个微型舵机用于夹持钢笔。 回零程序对本绘图仪至关重要,因为钢笔架位置固定,机器必须有起始参考点。因此每个轴都必须有限位开关。 您可以在Thangs上找到并下载此3D模型,也可在浏览器中浏览: Download the assembly 3D model at Thangs. Thanks Thangs for supporting this tutorial. 用于3D打印零件的STL文件可在此下载: 以下是组装绘图仪所需的所有零件。 组装所需组件清单(电子元件清单见后文电路图部分): 开始组装。先用M3螺栓固定底板和导轨支架。本机所有螺栓均为M3各种长度,仅GT2带轮需少量M5螺栓螺母。 两侧准备好后,用每侧两颗螺栓将X轴导轨固定。MGN15H导轨因滑块内含钢球/滚子,提供极其平滑无间隙运动。 安装前建议清洁并润滑导轨以确保正常工作。 Y轴导轨安装在X轴滑块上方,用中心安装板连接。先用三颗螺栓将Y轴导轨固定在中心板上。 接着安装两个NEMA 17步进电机。一个在板子顶部,一个在底部。安装GT2带轮需M5螺栓螺母。此处两个带轮为惰轮(提供X轴同步带抓力)和安装在步进电机上的齿形带轮。 安装齿形带轮时需根据惰轮位置测量调平。Y轴只需一个惰轮安装在导轨另一侧,因Y轴同步带将成环安装。 接下来连接两轴:用四颗M3螺栓将中心板固定到X轴滑块。机器主体成型,Y轴滑块可到达工作区任意位置。 继续组装钢笔升降机构。由固定在Y轴滑块上的固定部分和上下滑动的移动部分组成。固定部分固定后,安装Z轴步进电机(NEMA 17短款,23mm而非40mm以减轻重量)。 升降臂直接套在步进电机轴上。原配定位螺丝过长,我未使用,但孔型与轴匹配可传递运动。该零件后续略微修改,下载文件中已更新。 将四个线性轴承装入移动部分,固定微型舵机,并在旁边固定钢笔夹持部件。 连接固定和移动部分:先将舵机线穿过固定部分孔洞,从顶部插入6mm光轴穿过轴承和固定部分孔。同时在固定和移动部分之间放入弹簧,使其推动移动部分向下,帮助钢笔更好贴合工作面。固定部分底部有开口可装入M3螺母锁紧光轴。 接着组装安装在机器一侧的钢笔架单元,由上下两部分组成,可容纳最多12支钢笔。 安装同步带。先测量所需长度大致裁剪。为将同步带固定在滑块上,我制作了很酷的同步带连接器:同步带绕过中空轴并夹在两壁之间防止移动。 用M3螺栓固定第一个连接器在滑块一侧,另一侧重复。可沿槽移动连接器张紧同步带。 X轴同步带直线连接两侧,穿过带轮提供与步进电机带轮的张紧/抓力。 X轴张紧用类似同步带形状的连接器拧紧在机器两侧。 安装限位开关。 我最终将Z轴限位开关位置略微下调,X、Y轴限位开关沿用之前项目已接线的。 机械部分完成,进行电子连接。 如前所述,使用Arduino Uno配合CNC扩展板和三个A4988步进驱动器。 为将Arduino固定在机器上,我额外3D打印了一个侧板部件。用两颗M3螺栓固定Arduino,上方插入CNC扩展板。 需为每个步进驱动器插入三个跳线帽选择1/16细分,然后插入驱动器。将电机正确连接到CNC扩展板。微型限位开关直接焊线,另一端焊母排针(从杜邦线剪下)。舵机用延长线连到CNC扩展板。供电需12V电源,最小2A。电路连接图如下: 所需电子元件购买链接: 我们使用Arduino UNO + CNC Shield + 3个A4988驱动器。3个微型限位开关用于回零,一个微型舵机用于夹爪。供电需12V 2A最小电流。 几个最后修饰完成绘图仪。安装钢笔夹爪,直接连接在舵机舵盘上。 管理升降机构线缆,我用餐桌垫材质(坚韧且柔韧)做线缆管理。 机器完成。但有几点注意:Y轴导轨单侧悬臂,3D打印PLA材料刚性不足,全伸展时钢笔升降机构比支撑侧低4mm。 偏差过大,我通过垫高机器前端将差值降至约1mm(可接受)。若使用大尺寸导轨,强烈建议在另一侧也支撑Y轴导轨。 另一个问题是钢笔架,钢笔无法稳固停留。建议加大上部开口并在侧面加软性材料,使钢笔易于插拔且不易脱落。 最后在整机下垫一块板获得平整工作面。 机器组装完成。 接下来赋予其生命使其成为真正CNC机器。需给Arduino刷入控制CNC运动的固件,并用控制软件发送G代码指令机器动作。 DIY CNC最流行的开源固件是GRBL。但本绘图仪需要控制舵机的修改版,称为“grbl-servo”,将主轴控制引脚(数字引脚11)默认PWM频率从1kHz改为50Hz以适配舵机。 下载安装GRBL固件到Arduino IDE库文件夹后,还需修改config.h启用3轴回零(默认2轴)。 控制软件使用GRBL-Plotter,专为绘图仪设计,含图形转G代码转换器。同样开源,可从Github下载。 首步:通过合适COM端口连接Arduino。点击“Kill Alarm”按钮,串口监视器显示当前GRBL参数。需根据机器修改部分参数。 首要调整行程分辨率(steps/mm)。表示电机转多少步移动1mm,取决于步进电机类型、细分设置、传动机构(本例GT2同步带轮)。 本机X、Y轴设80 steps/mm以保证精度。Z轴设40(非真实运动精度,因往复运动无法达标)。 参数$23设0(限位开关位置),设置最大进给率、加速度、最大移动速度,参数$1设255(保持步进电机通电锁轴)。注意:启用此项后,尤其Z轴短电机易发热,需将A4988驱动器电流限制调至最小。 控制器设置选项很多,初看令人望而生畏。首先设置笔升降映射为Z轴,设定抬笔/落笔位置值。 在刀具表标签定义钢笔颜色和位置。注意这些值基于G53机器坐标系,由硬性限位开关和GRBL参数中设定的最大行程决定。 定义各钢笔位置用偏移值:X=0, Y=277(此值使夹爪对准第一支笔),然后每支笔Y向负方向间隔21.7mm。 可为每支笔单独调整进给率和升降位置(适应不同笔型)。 在换刀标签选择“Perform tool change on Tx M06”,指示M06指令出现时执行换刀。 T后的数字x表示刀具表中的刀具编号。换刀需包含“select”和“remove”脚本,M06出现时执行,定义夹爪动作取/放刀具。 取笔流程:夹爪按机器绝对坐标移至刀具表定义位置 → 舵机张开夹爪 → 上抬4mm → X向靠近笔并略微Y向移动 → 夹爪闭合 → 抬起笔 → 回到脚本执行前位置。放笔步骤相反。 所有参数取决于钢笔尺寸、笔架尺寸,唯有反复测试调整才能完美。 最后看如何用GRBL-Plotter从图片生成G代码。 加载图片后点击“Preview with colors from table”预览效果。在图像校正标签调整亮度、对比度、伽马、饱和度以获得接近真实或期望的颜色。设置输出尺寸(mm),在颜色替换标签移除不需要的颜色。 例如移除图中白色对应的杏色。点击“Create G-Code”生成G代码。 也可从SVG文件生成G代码,直接拖拽SVG文件即可自动生成。 绘图前在工作区任意位置设定零点,点击播放按钮开始。 钢笔绘图仪开始工作,享受它创造魔法的过程。 希望您喜欢本视频并学到新知识。如有疑问欢迎在下方评论区提问。概述


DIY CNC钢笔绘图仪3D模型

机器组装
















电子连接


DIY CNC钢笔绘图仪电路图

完成机器组装






DIY钢笔绘图仪固件与控制软件



GRBL参数设置

GRBL-Plotter设置






为自动换刀CNC钢笔绘图仪生成G代码





制造工艺
- 现代铸币:历史沿革、生产工艺与未来走向
- 利用 Arduino Nano R3 自制全功能 CNC 雕刻机
- 自制通用 CNC 机器完整指南 — 可切换激光/铣削/绘图多功能头
- DIY 自动咖啡机:Arduino + 蓝牙 + Android App 实现语音控制
- 五轴CNC机床构建的三大成熟技术路线
- CNC机床打造的十大精密核心零部件
- CNC机床刀具选用专业指南:刀具寿命与生产力平衡之道
- 数控铣床操作与设置全攻略:从零基础到精通
- 极致精度实战指南:如何选购与实现高精度CNC机床的可靠交付
- CNC切削刀具快速对比:立铣刀、螺纹铣刀等核心工具解析
- Top-Turn S50 斜床身 CNC 车床:长工件精密加工
- Top-Turn S50 斜床身 CNC 车床:长工件精密车削(重复条目)