极坐标绘图仪是一种利用两台步进电机,通过绳子悬挂控制笔移动的绘图机器。通过电机调节绳子的长度,实现笔的精确移动。

这款绘图仪采用便宜的零件和 3D 打印部件,结构紧凑,易于组装。主要部件包括 3D 打印件、旧自拍杆、Arduino Nano、两台 28BYJ-48 步进电机和一个舵机。




极坐标绘图仪的宽度可调,范围为 375mm 至 690mm,因此可以在很小或很大的空间内绘制不同尺寸的图案。
所需材料






-
1 个 Arduino Nano(带 USB 数据线) -
2 个 28BYJ-48 步进电机(配 ULN2003 驱动板) -
1 个舵机 -
2 根旧自拍杆(长度 280mm) -
1 个 5V 母 DC 电源插座 -
绳子或线(用于悬挂笔) -
笔或记号笔 -
绘图表面(垂直板或纸张) -
电源(USB 或外接电源) -
3D 打印零件 -
轴承和螺丝 -
强力胶
工具:
-
3D 打印机 -
迷你电钻 -
螺丝刀套装 -
电烙铁 -
数字卡尺 -
卷尺或直尺
步骤 1:组装机器
3D 打印部件分为三大部分:
主部件(电路壳体):
-
用于安装控制电路,包括 Arduino Nano 和 ULN2003 驱动板。 -
左右两侧各固定一根自拍杆。 -
主体顶部和底部有矩形孔,便于舵机连线,可任选一个用于连接舵机到电路板。





电机固定部件:
-
用螺丝将步进电机固定在 3D 打印件的腔体内。 -
每个固定件都有孔用于穿过电机线。 -
这些固定件将与自拍杆另一端连接。 -
用强力胶把步进电机组件安装在自拍杆末端。
移动部件(吊舱 Gondola):
-
由 3D 打印件、轴承和螺丝组成。 -
用于固定笔或记号笔和舵机。 -
舵机需用较长的线,因为吊舱会在整个绘图区域内移动。 -
用强力胶将舵机粘在 3D 打印件上,确保舵机臂能在预留缝隙间自由活动。 -
吊舱有两只可动臂,用螺丝连接,不要拧太紧,以便自由转动。 -
轴承主要作为配重,确保吊舱在移动时保持稳定,也可用螺母等重物替代。




步骤 2:电路连接图(第一部分)


将 ULN2003 驱动板连接到 Arduino Nano:
X 轴电机:
-
IN4 → D2 -
IN3 → D3 -
IN2 → D4 -
IN1 → D5
Y 轴电机:
-
IN4 → A0 -
IN3 → A1 -
IN2 → A2 -
IN1 → A3
舵机连接:
-
信号线(棕色)→ D9 -
电源线(红色)→ 5V -
地线(黑色)→ GND
将两台 28BYJ-48 步进电机分别接到各自的 ULN2003 驱动板,并通过 5V 母 DC 插座为驱动板和电机供电,按电路图完成所有连接。
步骤 3:电路连接图(第二部分)
如果使用 ULN2003 电机驱动板,可以参考该电路图进行连接。

步骤 4:上传程序
下载极坐标绘图仪的源码:https://github.com/zanedrys/IPAD
-
解压后,打开 Processing 软件,找到 Sketch Book 文件夹(文件/首选项/Sketchbook/位置)。 -
在 Polargraph 文件夹中找到 Processing 库,将所有库文件夹复制到 Processing Sketchbook 的 libraries 文件夹中。 -
将 Polargrapcontroller 文件夹从 Polargraph/processing-source/目录下移动到 sketchbook 文件夹中。 -
将 Polargraph 库文件夹中的库复制到 Arduino 的 libraries 文件夹中。 -
打开 Polargraph/arduino-source/polargraph_server_a1文件夹中的 Arduino 源码。
步骤 5:配置参数
针对 28BYJ-48 步进电机和 ULN2003 驱动板,需要对 Polargraph 源码做如下修改:
-
用 Arduino IDE 打开 polargraph_server_a1.ino。 -
在 polargraph_server_a1 标签页: -
注释掉第 71 行(加 //) -
去掉第 76 行的注释(去掉 //) -
在 Configuration 标签页: -
用 AccelStepper motorA(8, A0,A2,A1,A3);替换掉第 96 行的AccelStepper motorA(8, 6,8,7,9); -
上传 polargraph_server_a1.ino到 Arduino Nano。
步骤 6:最终组装


-
将绳子绑在电机轴上,使笔架(吊舱)悬挂在中间。 -
将舵机安装在笔架上,用于控制笔的升降。 -
确保两根绳子长度一致,系统平衡。


步骤 7:机器设置




-
打开 Processing 2,打开 polargraphcontroller(文件→sketchbook→polargraphcontroller)。 -
点击运行按钮启动程序。 -
在工具栏点击 Setup 标签。 -
调整两滑轮间距离(Machine Width)。 -
设置机器高度(滑轮到面板底部的高度)。 -
设置绘图区域尺寸。 -
首先点击 Center Page 并将 Page Pos Y 设为 197。 -
然后点击 Center Home Point,将 Home Pos Y 设为 197。
步进电机参数:
-
根据所用滑轮和皮带设置 STEP PER REV。我用的是 28BYJ-48 步进电机,步进数为 2048。
舵机(笔)参数:
-
Pen Up Position 和 Pen Down Position 分别为舵机的抬笔和落笔角度。 -
点击 Serial Port,选择 Arduino 所在端口,连接成功后显示绿色并显示端口号。 -
点击 Command Queue 激活指令传输。 -
点击 Upload Lift Range,再点击 Test Lift Range 测试舵机角度。
步骤 8:生成 SVG 文件
-
用 Inkscape 等软件创建 SVG 文件。 -
打开 Inkscape,点击文件→文档属性,设置宽高为 100mm。 -
拖入图片,选择图片→转换为路径→删除原图→路径→对象转路径。 -
文件→另存为→文件名.svg→保存。 -
通过串口监视器或 Polargraph 控制程序将 SVG 文件发送到 Arduino。
步骤 9:运行



加载矢量图:
-
保存设置,每次启动程序都要加载设置。 -
点击 Input 标签,切换到主界面。 -
手动将吊舱移动到设定的 Home 点,每次绘图前都需如此,然后点击 Set Home。 -
设定笔位置后,点击 Set Pen Position。 -
点击 Set Area 设定绘图区域,再点击 Set Frame to Area 完成设置。
绘制矢量图:
-
找到任意矢量图,将其转为 SVG 格式。 -
在程序中选择 Load Vector,调整图片大小(Resize Vector),移动图片到合适位置(Move Vector),设定打印区域(Select Area、Set Frame to Area)。 -
最后点击 Draw Vector 开始绘图。
效果提升小技巧:
-
使用光滑的绳子或钓鱼线来减少摩擦。 -
添加配重来稳定笔架。 -
校准系统来确保绘图比例准确。
步骤 10:绘图效果展示
▲ 完整演示视频



STL 文件和 SVG 文件可以选择移步原文:https://www.instructables.com/Polargraph-Plotter/下载,也可以点击文末左下角阅读原文,到DF创客社区论坛打包下载。
项目作者:Deepaksh123
译文首发于DF创客社区
转载请注明来源信息
硬件军火库
直降1400元!长按扫码了解详情👆
DFRobot官方品牌店 https://dfrobot.taobao.com/
DFRobot官方旗舰店 https://dfrobot.jd.com/
大家有什么想说的,欢迎在下方留言!
往期项目回顾

