Arduino 巨型点阵打印机
Dotter - Huge Arduino Based Dot Matrix Printer
📌 项目介绍
Dotter 是一台用笔在纸上「逐点作画」的巨型点阵打印机:两台步进电机控制 X/Y 移动,伺服电机抬笔落笔,电脑端 Processing 把图片转成点阵坐标,通过串口发给 Arduino 执行。
项目源于一次失败的打印经历——作者把失败过程写成了教程的开篇,强调「失败是过程的一部分」,整机大量使用 3D 打印件,适合想进阶学习步进电机控制与图像处理的玩家。
🧰 环境与物料
- Arduino 板 ×1
- 28BYJ-48 步进电机(带驱动板)×2
- 微型伺服电机 ×1(控制抬笔)
- GT2 同步带 + 皮带轮 + 光轴/轴承若干
- 3D 打印结构件(作者提供 STL)
- 三极管、LED、电阻若干(指示与驱动电路)
- Ender3 等 3D 打印机用于打结构件
🔧 步骤拆解
1
失败的开端
作者最初用另一套方案失败,转而设计了更简单的结构
心态:先做能跑起来的最小版本,再逐步优化
2
准备物料
28BYJ-48 便宜但对精度要求不高,够用
整机零件大量 3D 打印,成本主要在三台电机与皮带
3
打印结构件
按 STL 分批打印,注意皮带张紧结构件优先
所有轴孔位建议扩孔+打磨,保证装配顺畅
4
组装机身
X 轴滑架、Y 轴框架按图纸装配
皮带张紧度要均匀,X/Y 运动方向互不干涉
5
绘制电路图
作者提供了完整原理图:Arduino + 步进驱动 + 伺服
电源部分注意步进电机电流,共用 5V 可能不够
6
做 PCB
作者自己设计了 PCB,也支持面包板搭接
新手可以用洞洞板代替,焊点注意短路
7
焊接与连线
先焊电源与地线,再焊信号线
步进驱动板加散热,长时间运行温升明显
8
Arduino 端代码
固件接收串口坐标指令,驱动电机与抬笔
波特率、坐标系与 Processing 端保持一致
9
Processing 端代码
电脑端把图片转成点阵并规划走笔路径
点距和画笔粗细匹配,作品才细腻
10
从第一笔开始
先画简单图形验证坐标正确、抬笔落笔同步
出现拖线/断线,先查抬笔时序
11
失败与调试
机械回差、皮带打滑是最常见的两大坑
记录每次调试参数,逐步逼近理想效果
12
成功时刻
多色换笔可做更丰富的作品
成品挂墙很有成就感
13
下一步
可加笔架换色、加大幅面、接入 WiFi 传图
项目开放度很高,社区有不少魔改案例
💡 要点提示
- 28BYJ-48 是 5V 减速步进,速度慢但扭矩够,点阵打印恰好需要低速稳定
- 抬笔动作时序务必先落笔画完再抬,否则会留下长拖线
- 点阵图像先做二值化/抖动处理,打印效果远好于直接灰度