如何低成本制作一个极坐标绘图仪
本帖最后由 RRoy 于 2025-6-17 14:11 编辑极坐标绘图仪是一种利用两台步进电机,通过绳子悬挂控制笔移动的绘图机器。通过电机调节绳子的长度,实现笔的精确移动。
这款绘图仪采用便宜的零件和 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创客社区论坛打包下载。
原项目地址:
https://www.instructables.com/Polargraph-Plotter/
项目作者:
Deepaksh123
译文首发于DF创客社区
转载请注明来源信息
看起来很简单,加油,嘿嘿,我要先去学习一下。
页:
[1]