适用于初学者的DIY RepRap 3D 打印机教程—第3部分:代码

这篇文章来源于deviceplus.com英语网站的翻译稿。
如果您是初次接触该项目,请先参考该项目第1部分和第2部分的内容再进行下一步的工作: 适用于初学者的diy reprap 3d 打印机教程—第1部分:构建 以及 适用于初学者的diy reprap 3d 打印机教程—第2部分: 接线。
在diy reprap 3d打印机系列的最后一部分中,我们将配置皮带和挡块,添加lcd显示屏,并编写程序代码对打印机进行测试。让我们开始吧!
最终打印机规格:
台式机占地面积:11in x 13in x 13in
最大建造空间:105mm x 130mm x 80mm
硬件:
从第1部分中得到的3d打印机框架
arduino mega
ramps 1.4
任意大小的sd卡
5x a4988带有散热器的步进电机驱动器
6 x 机械终端挡块
20 x 公对母线
discount reprap的智能全屏图形显示器
电源(12v 30a, oem)
三芯电缆和连接器(见图 x)
6 x ¼”环形压接连接器
大规格导线
逻辑线
电工胶带
胶带,魔术贴,或其他电缆管理解决方案。
软件
arduino ide
marlin 3d 打印机固件
cura 3d 打印切片软件
工具
烙铁
焊锡
剥线钳
压接器
概览
连接皮带装置
连接机械挡块
测试所有组件
连接屏幕
下载并配置marlin固件
收尾工作
您的第一台打印机
步骤1:连接皮带装置
本教程中的皮带配置如图1所示。您可能会对配置中的一些地方感到不解,我将会对其意图进行说明。
图1:皮带配置
该系统使用了两条皮带,每条皮带环绕一个步进电机,然后连接到挤出机滑块的对角线上。也就是说,当仅运行一个步进电机时,皮带将会沿对角线运动。如果两个电机都沿相同方向旋转,则挤出机沿x轴移动;如果它们沿相反方向旋转,则挤出机沿y轴移动。这使得打印机可以沿对角线快速运动,从而节省了打印的时间和功耗。
为了设置此装置,将同步带切至2 x 140 cm长。这完全取决于打印机的尺寸,因此请先设置好皮带,再按照尺寸进行裁切。从一侧开始,将一条皮带夹在挤出机滑块的一角。最终结果应如下图所示(图2)。
图2:仅连接了一根皮带的打印机
以下是安装技巧:
将平滑侧缠绕在堆叠的底部同步皮带轮上。
将皮带的齿侧缠绕在步进电机上的同步皮带轮上。
将皮带的齿侧缠绕在紧挨着的两个角处的底部轴承上。
将齿侧缠绕在底部同步皮带轮上,并将其夹紧在反对角线上。
使用顶部同步皮带轮和轴承在另一个步进电机上重复上述步骤。
步骤2:测试所有组件
在继续进行该项目之前,我们将对所有组件分别进行测试,确认能否正常工作。请确认已下载arduino ide。将以下代码复制并粘贴到arduino环境中。
#define x_step_pin 54#define x_dir_pin 55#define x_enable_pin 38#define x_min_pin 3#define x_max_pin 2#define y_step_pin 60#define y_dir_pin 61#define y_enable_pin 56#define y_min_pin 14#define y_max_pin 15#define z_step_pin 46#define z_dir_pin 48#define z_enable_pin 62#define z_min_pin 18#define z_max_pin 19#define e_step_pin 26#define e_dir_pin 28#define e_enable_pin 24#define q_step_pin 36#define q_dir_pin 34#define q_enable_pin 30#define sdpower -1#define sdss 53#define led_pin 13#define fan_pin 9#define ps_on_pin 12#define kill_pin -1#define heater_0_pin 10#define heater_1_pin 8#define temp_0_pin 13 // analog numbering#define temp_1_pin 14 // analog numberingvoid setup() { pinmode(fan_pin , output); pinmode(heater_0_pin , output); pinmode(heater_1_pin , output); pinmode(led_pin , output); pinmode(x_step_pin , output); pinmode(x_dir_pin , output); pinmode(x_enable_pin , output); pinmode(y_step_pin , output); pinmode(y_dir_pin , output); pinmode(y_enable_pin , output); pinmode(z_step_pin , output); pinmode(z_dir_pin , output); pinmode(z_enable_pin , output); pinmode(e_step_pin , output); pinmode(e_dir_pin , output); pinmode(e_enable_pin , output); pinmode(q_step_pin , output); pinmode(q_dir_pin , output); pinmode(q_enable_pin , output); digitalwrite(x_enable_pin , low); digitalwrite(y_enable_pin , low); digitalwrite(z_enable_pin , low); digitalwrite(e_enable_pin , low);digitalwrite(q_enable_pin , low);}void loop () { if (millis() %1000 <500)digitalwrite(led_pin, high); else digitalwrite(led_pin, low); if (millis() %1000 <300) { digitalwrite(heater_0_pin, high);digitalwrite(heater_1_pin, low);digitalwrite(fan_pin, low); } else if (millis() %1000 <600) { digitalwrite(heater_0_pin, low); digitalwrite(heater_1_pin, high);digitalwrite(fan_pin, low); } else { digitalwrite(heater_0_pin, low); digitalwrite(heater_1_pin, low);digitalwrite(fan_pin, high); } if (millis() %10000 1 , (void *)heater_1_temptable#endif#if extruders > 2 , (void *)heater_2_temptable#endif#if extruders > 3 #error unsupported number of extruders#endif }; static int heater_ttbllen_map[extruders] = { heater_0_temptable_len#if extruders > 1 , heater_1_temptable_len#endif#if extruders > 2 , heater_2_temptable_len#endif#if extruders > 3 #error unsupported number of extruders#endif }; #define pgm_rd_w(x) (short)pgm_read_word(&x)#define sdss 53#define led_pin 13#define fan_pin 9#define ps_on_pin 12#define kill_pin -1#define heater_0_pin 10#define heater_1_pin 8#define temp_0_pin 15 // analog numbering#define temp_1_pin 14 // analog numbering#define temp_2_pin 13 // analog numberingvoid setup() { pinmode(temp_0_pin , input); pinmode(temp_1_pin , input); pinmode(temp_2_pin , input); pinmode(fan_pin , output); pinmode(heater_0_pin , output); pinmode(heater_1_pin , output); pinmode(led_pin , output); pinmode(x_step_pin , output); pinmode(x_dir_pin , output); pinmode(x_enable_pin , output); pinmode(y_step_pin , output); pinmode(y_dir_pin , output); pinmode(y_enable_pin , output); pinmode(z_step_pin , output); pinmode(z_dir_pin , output); pinmode(z_enable_pin , output); pinmode(e_step_pin , output); pinmode(e_dir_pin , output); pinmode(e_enable_pin , output); pinmode(q_step_pin , output); pinmode(q_dir_pin , output); pinmode(q_enable_pin , output); digitalwrite(x_enable_pin , low); digitalwrite(y_enable_pin , low); digitalwrite(z_enable_pin , low); digitalwrite(e_enable_pin , low); digitalwrite(q_enable_pin , low); serial.begin(115200);}float analog2temp(int raw, uint8_t e) { #ifdef heater_0_uses_max6675 if (e == 0) { return 0.25 * raw; } #endif if(heater_ttbl_map[e] != 0) { float celsius = 0; byte i; short (*tt)[][2] = (short (*)[][2])(heater_ttbl_map[e]); raw = (1023 * oversamplenr) - raw; for (i=1; i raw) && ((float)(pgm_rd_w((*tt)[i][0]) - pgm_rd_w((*tt)[i-1][0])) >0)) { celsius = pgm_rd_w((*tt)[i-1][1]) + (raw - pgm_rd_w((*tt)[i-1][0])) * (float)(pgm_rd_w((*tt)[i][1]) - pgm_rd_w((*tt)[i-1][1])) / (float)(pgm_rd_w((*tt)[i][0]) - pgm_rd_w((*tt)[i-1][0])); break; } } // overflow: set to last value in the table if (i == heater_ttbllen_map[e]) celsius = pgm_rd_w((*tt)[i-1][1]); return celsius; } return ((raw * ((5.0 * 100.0) / 1024.0) / oversamplenr) * temp_sensor_ad595_gain) + temp_sensor_ad595_offset;}unsigned long prevmillis;void loop () { if (millis() %1000 <500) digitalwrite(led_pin, high); else digitalwrite(led_pin, low); if (millis() %1000 <300) { digitalwrite(heater_0_pin, high); digitalwrite(heater_1_pin, low); digitalwrite(fan_pin, low); } else if (millis() %1000
点击此处阅读第2部分:接线 >


柯马向吉利威睿交付电驱动装配线,将其自动化率提升一倍
在新能源汽车发展领域,安徽合肥不停放大招
红米Note5什么时候上市?红米Note5携手红米Note5A一起发布,MIUI9+骁龙630再战千元,卖1099可好?
LED灯有噪声的原因及解决
机器人排查发热 助力社区工作人员统计数据
适用于初学者的DIY RepRap 3D 打印机教程—第3部分:代码
英特尔在移动芯片为何衰败,看完此文豁然开朗
科创板心脉医疗董事曲列锋介绍、履历信息
明基亮彩4K投影机TK850 升级家庭影音娱乐
山西:到2025年底公共充电桩桩车比不低于1:8
国内首个机器警察治安巡逻 周鸿祎:当心别被犯罪分子偷去卖废品
新能源时代下,奔驰/宝马/奥迪各自的优势解析
波音表示已经修改了737MAX软件系统正在等待监管机构的批准
喜讯!天宫一号与神舟十一号今早在太空对接成功
消费级高精度3D扫描,搭建元宇宙高速公路
主流大模型推理框架盘点解析
高压电机的功率计算公式
什么是声卡DSP/MIDI
向GPIO设备添加边缘敏感转换检测
超声波风速传感器 CV7-OEM的特点及应用