一、Arduino开发环境

1、搜索Arduino IDE下载安装即可。

2、使用VS code开发Arduino

Arduino IDE很简单,很多功能都没有,使用起来很不方便。因此建议使用Visual Studio Code来进行Arduino程序的开发。Visual Studio Code可以编辑代码、编译程序和下载功能,可以完全替代Arduino。

首先下载安装Visual Studio Code,然后安装Arduino插件。

安装完成后,点“重新加载”启动插件。

然后“文件”--“首选项”--“设置”

“扩展”--“Arduino configuration”--“在setting.json中编辑”

添加Arduino IDE路径配置,如:

"arduino.path": "D:/Program Files (x86)/Arduino",

这样就完成所有配置了,下面介绍一下使用VS code开发Arduino的方法

首先可以使用VS code打开自带的例程:

也可以新建一个.ino文件,直接开始开发。

点击窗口的最下面可以选择编程器、开发板型号、串口号等

打开.ino文件,右上角会出现

可以选择编译并下载、只编译。

3、下载并使用VS code打开Marlin

https://github.com/MarlinFirmware/Marlin  下载Marlin固件,下载后解压。

直接打开VS code,使用“打开文件夹”,打开Marlin的文件夹

打开文件夹后,再在Marlin文件夹中找到Marlin.ino打开,就可以编译和下载了。

二、Marlin固件必要配置

打开Configuration.h文件,使用VS code的搜索功能来修改下面的参数。

1、#define BAUDRATE 250000

配置串口波特率,一般不修改。上位机的波特率要和这个一致才能正常通讯。
2、#define MOTHERBOARD 33

配置板子类型。3d打印机主控板类型非常多,每个板子硬件连接都可能不同,所以这个参数必须要跟你自己的板子类型相同,否则无法正常使用。如果板子是RAMPS1.4,对应的配置应该为33(单打印头配置),和34(双打印头配置)。如果你使用的是其它板子,请参考旁边的注释并选择合适的配置。

3、#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_BED 1

分别配置挤出机温度传感器和热床温度传感器的类型。配置为1说明两个都是100K ntc热敏电阻。如果是其他的,请参考旁边的注释进行设置。
4、#define EXTRUDE_MINTEMP 170

挤出机工作最低温度,必须要高于这个温度,挤出电机才能工作。如果耗材不是ABS或者PLA,这个值要改变,否则挤出机达不到170度,永远都不会工作。
5、#define BED_MINTEMP 5

热床工作最低温度,低于此温度让热床工作会报警。比如冬天室温太低就很可能触发热床温度过低报警,要想正常使用,可以把这个温度再调低,可以为负值。
6、const bool X_ENDSTOPS_INVERTING = true;
const bool Y_ENDSTOPS_INVERTING = true;
const bool Z_ENDSTOPS_INVERTING = true;

配置3个轴限位开关类型,配置为true,限位开关默认状态输出为1,触发状态输出为0。一般的限位开关都是上拉的,按下触发后输出0。
7、#define INVERT_X_DIR false
#define INVERT_Y_DIR true

#define INVERT_Z_DIR false

X轴、Y轴、Z轴运行方向是否反向,这个参数先不管,后面调试的时候根据机器情况再来调整。
8、#define X_MAX_POS 205
#define X_MIN_POS 0
#define Y_MAX_POS 205
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

配置打印机最大和最小坐标,单位是mm。
9、#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}

配置回原点的速率,单位为毫米每分钟,太快会导致机架晃动。 
10、#define DEFAULT_AXIS_STEPS_PER_UNIT {400, 400,400,92.64}

这个参数是打印机打印是否正确的最重要参数,参数含义为运行1mm各轴所需要的脉冲数,分别对应x,y,z,e四轴。

我的打印机3轴都是使用的8mm丝杆,因此电机转一圈移动8mm,电机步距角是1.8度,转一圈需要200个脉冲,电机驱动是16细分,因此转一圈需要3200个脉冲。因此移动1mm需要400个脉冲。

我的打印机使用的是MK8挤出机,电机上的齿轮直径是11mm,周长是3.14*11=34.54mm,16细分,转一圈需要3200个脉冲,因此移动1mm,需要3200/34.54=92.64个脉冲。为了追求精确可以上料后,控制挤出机挤出10mm,用尺子量一下实际挤出的长度来矫正一下计算值。(详细的可以看这儿http://www.log4cpp.com/diy/3dprinter/46.html)
11、#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

限位开关是限制最大距离还是最小距离(归零的那一边),1是最大距离,-1是最小距离,根据自己的安装方式来设置,一般都是最小距离。

12、把//#define REPRAP_DISCOUNT_SMART_CONTROLLER前面的“//”去掉来启用2004液晶。

13、把#define SDSUPPORT前面的“//”去掉来启用SD卡。

注:如果是12864液晶,则需要将//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER前面的“//”去掉,同时因为12864可以显示汉字,所有还需要添加字库U8glib ,不然会编译报错。直接搜索U8glib 就可以知道安装方法了。

以上的配置修改了,就可以编译下载到Mega2560了。

3D打印机DIY之三------Arduino开发环境构建和Marlin固件配置相关推荐

  1. OpenGL学习笔记之三 OpenGL开发环境之GLFW与GLAD配置

    内容来源:LearnOpenGL CN 前言 在我们画出出色的效果之前,首先要做的就是创建一个OpenGL上下文(Context)和一个用于显示的窗口.然而,这些操作在每个系统上都是不一样的,Open ...

  2. prusai3打印机使用教程_PrusaI3改进型3D打印机DIY教程.docx

    PrusaI3改进型3D打印机DIY教程 Prusa?I3改进型DIY教程 简介&材料清单简介微嵌WQ0003是在开源RepRap Prusa i3基础上开发而来.大大提高打印机工作稳定性,成 ...

  3. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  4. 嵌入式开发环境构建_设计模式:不可变的嵌入式构建器

    嵌入式开发环境构建 上周,我写了关于什么使图案成为反图案. 本周,我提出一种设计模式-或等待--也许这是一种反模式. 还是? 让我们看看! 当有一个类可以构建另一个实例时,构建器模式是一种编程风格. ...

  5. webpack最新版本_webpack小结-开发环境构建优化

    刚刚对我们前端项目做了一顿分析优化操作,因为接手时每次构建要花两分钟左右的时间,实在忍受不了,只能动手了.通过这次优化,重新温习了下 webpack 的一些知识.接下来会关于 webpack 展开写几 ...

  6. Arduino 002 --- 在Ubuntu(Linux) 中搭建Arduino开发环境

    在Ubuntu/Linux 中搭建Arduino开发环境 我的Ubuntu系统:Ubuntu 14.04.10 TLS 32位 需要安装的Arduino的版本:Arduino 1.6.11(最新版本) ...

  7. c语言程序构建,c语言开发环境构建及简单的c程序设计.doc

    c语言开发环境构建及简单的c程序设计 实验x C语言开发环境构建及简单的C程序设计 一.实验目的 1.熟悉字符模式下的C程序编译和调试环境,基本掌握麒麟Linux字符模式下的编译工具和调试工具的使用: ...

  8. Arduino基础入门篇02—Arduino开发环境IDE安装使用

    工欲善其事,必先利其器.本文主要介绍Arduino开发环境IDE的安装及功能介绍. Arduino IDE安装 从官网下载IDE开发环境,IDE下载地址 .笔者使用Win10系统,点击 Windows ...

  9. 利用HFS软件一分钟搭建好ESP8266基于Arduino开发环境

    利用HFS一分钟搭建好ESP8266基于Arduino开发环境

最新文章

  1. 浅谈 Math.BigMul 方法
  2. python中怎么比较两个列表-python中如何比较两个列表
  3. python如何统计出现的次数_Python统计日志中每个IP出现次数的方法
  4. 3、MySQL二进制日志(Binary Log)详解
  5. RAID冗余技术的介绍AND实现
  6. 螺旋矩阵c++语言_一起刷 leetcode 之螺旋矩阵(头条和美团真题)
  7. Operations map 运营图谱
  8. 如何在电脑/手机上将HTML文件转换为PDF?
  9. 读书印记 - 《我们人类的基因:全人类的历史和未来》
  10. sql语句之delete
  11. 专业图形卡测试软件,专业卡能玩游戏么?实测很是意外
  12. abaqus三点弯曲有限元模拟
  13. 阿里云有奖调查结果公布,赠送10个阿里巴巴logo胸针
  14. 【编程规范】 后端API接口设计编写与文档编写参考
  15. 基于Grafana的Web监控报警
  16. 动画 | 大学四年结束之前必须透彻的排序算法
  17. 黑暗背景(所有暗主题cobalt,dracula...)Rstudio查看对象窗口viewer没有滚动条,白亮背景就有(所有白主题chrome,cloud)。R版本[64-bit] R-3.6.0
  18. 当“AI”对上“AI”,骚扰电话能否被扼杀在“苗芽”
  19. GitHub的raw.githubusercontent.com无法链接
  20. 语音合成论文优选:语音合成综述(2021)

热门文章

  1. Linux平台软件包管理rpm、yum---马哥运维笔记
  2. R语言使用barplot函数可视化柱状图、使用因子变量作为x轴坐标标签
  3. 一种可以使身体感受生死法则的电脑
  4. CRM 开发 - 权限组件/stark组件/CRM业务
  5. 什么是电子邮件的格式?企业邮箱地址是什么?
  6. java 项目英语面试问题_Java 英文面试题
  7. uniapp 公众号获取code
  8. Python 获取当前文件 当前目录 上级目录 上上级目录
  9. 详解HTTP GET请求
  10. Linux CentOS系统下jps -l命令不生效解决方案