littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于Arduino和Duet Wifi的3D打印机状态显示系统

项目简介

本项目是一个开源的3D打印机状态显示系统,基于Arduino和Duet Wifi开发。适用于配备Duet Wifi控制板的用户,为昂贵的PanelDue显示器提供了低成本、易制作的替代方案。系统通过三个屏幕实现打印状态展示、预加热床和挤出机、暂停打印并更换新丝材等功能。

项目的主要特性和功能

Duet Data部分

  • 数据获取:借助Duet Wifi的串口,利用gcode命令(如M408)获取打印机的实时状态数据,以JSON格式呈现。
  • 数据解析:解析包含温度、设置点、完成百分比以及预计剩余时间等信息。
  • 控制命令:使用gcode命令(如G28M140M104M25M24等)实现对打印机的控制。

Arduino部分

  • 中间设备:作为Duet和Nextion显示器之间的桥梁,负责接收数据和发送控制命令。
  • 串口通信:需配置两个串口,分别用于与Duet和Nextion显示器通信。
  • 数据处理:运用JSON库解析来自Duet的JSON数据,并按需更新Nextion显示器的内容。

Nextion显示器部分

  • 显示配置:使用Nextion编辑器创建三个页面,分别显示打印状态、预加热床和挤出机、暂停打印并更换新丝材。
  • 数据通信:通过串口与Arduino通信,接收更新的显示内容。

安装使用步骤

1. 编程Arduino

将Arduino代码上传到Feather M0板(可使用Adafruit Feather M0 Adalogger或其他兼容的M0板),确保代码包含必要的库文件,如JSON库。

2. 编程Nextion显示器

使用Nextion编辑器将配置好的显示代码上传到Nextion显示器,可选择2.4英寸的Nextion显示器型号。

3. 接线

将Duet的PanelDue端口的5V、Gnd、Tx和Rx连接到Arduino和Nextion显示器。确保Arduino的串口配置正确,Duet的Tx连接到Arduino的Rx0,Duet的Rx连接到Arduino的Tx0;Nextion的Tx连接到Arduino的D11,Nextion的Rx连接到Arduino的D10。

4. 打印外壳

使用3D打印机打印合适的外壳,用于保护Arduino和Nextion显示器。

5. 测试与使用

连接电源后,系统自动启动并显示打印机的实时状态。可通过Nextion显示器上的按钮进行预加热、暂停打印和更换丝材等操作。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】