. 关于G代码的学习总结
学习3d打印机的基础就是了解并且掌握g-code文件,实际上g-code指的是3d模型在进入3d打印机实际打印之前,必须要经过切片器处理而成的一种中间格式文件。这种中间格式文件的内容,实际上就是每一行3d打印机固件所能理解的命令。而这种命令,也被称为g-code命令。是3d打印机与pc之间最重要的命令交互界面。
常见的计算机与3d打印机的连接,不论是usb还是TCP/IP协议或者是SD卡,所有的连接通道中都是g-code命令。

了解marlin固件

对于3d打印机的固件来说一般来说有两种,一种是:Sprinter;另一种就是marlin;
而Sprinter已经没有人维护了。所以一般来说我们选用marlin固件。
而marlin相对于Sprinter的优点:

  1. 预加速功能
    Sprinter在每个角处必须使打印机先停下来再加速继续运行,而预加速只会加速和减速到某一个速度值,从而速度的矢量变化不会超过xy_jerk_velocity。要达到这样的效果必须预先处理下一步的运动。这样一来加快了打印速度,而且在拐角处减少了耗材的堆积,曲线更加平滑。
  2. 支持圆弧
    marlin固件可以自动调整分辨率以接近恒定的速度打印一段圆弧,得到最平滑的弧线。这样做的另一个好处是减少了串口的通行量。因为通过一条G2/G3指令既可以打印圆弧,而不用通过多条G1指令。
  3. 温度多重采样
    为了降低噪声的干扰,使PID温度控制更加有效,marlin采样16次取平均值去计算温度。
  4. 自动调节温度
    当打印任务要求挤出速度有较大的变化的时,或者实时改变打印速度,那么打印速度也需要随之改变。通常情况下,较高的打印速度,也意味着有较高的温度,marlin可以使用M109 S B F指令去自动控制温度。使用不带F参数的M109不会自动调节温度。否则,marlin会计算缓存中所有移动指令中最大的挤出速度单位steps/sec,即所谓的maxerate。然后目标温度值通过公式T = tempmin+factor*maxerate,同时限制在最小温度(tempmin)和最大温度(tempmax)之间。如果目标温度小与最小温度,那么自动调节将不起作用。最理想的情况下,用户不用去控制温度,只需要在开始使用M109 S B,F并在结束时使用M109 S0.
  5. 非易失存储器
    marlin固件将一些常用的参数,比如加速度,最大速度,各轴运动单位等存储在EEPROM中,用户可以在校准打印机的时候调整这些参数,然后存储到EEPORM中,这些改变在打印机重启之后生效 而且永久保存。
  6. 液晶显示器菜单
    如果硬件支持,用户可以构建一个脱机智能控制器(LCD,SD卡槽,编码器,按键)。用户可以通过液晶显示屏实时调整温度,加速度,速度,流量倍率,禁用步进电机…等等其他操作。
  7. SD卡内支持文件夹
    marlin固件可以读取SD卡中子文件夹内的g-code文件,不必是根目录下的文件。
  8. SD卡自动打印
    若SD卡根目录下有文件名为auto【0-9】.g的文件时,打印机会在开机后自动开始打印该文件。
  9. 限位开关触发记录
    如果打印过程中碰到了限位开关,那么marlin会将限位开关的触发位置发送到串口,并给出一个警告。这对于用户分析打印过程中遇到的问题是很有帮助的。
  10. 编码规范
    marlin固件采用模块化编程方式,让用户更加清晰的理解整个程序。为以后将固件升级成arm系统提供了很大的帮助。
  11. 基于中断的温度测量
    一路中断去处理ADC转换和检查温度变化,这样就减少了单片机资源的使用。
  12. 支持多种机械结构
    普通的XYZ正交机械,CoreXY机械,Delta机械,以及SCARA机械。

marlin固件解析相关推荐

  1. marlin固件烧录教程_i3型3D打印机制作详解――Marlin固件介绍

    Marlin固件下载 基本配置 使用 Arduino IDE 打开 marlin.ino,切换到 Configuration.h 即可查看并修改该文件.或者使用任何一款文本编辑器(notepad,no ...

  2. 机械臂——arduino、marlin固件、printrun软件

    最近了解到,在市面上大多数机械臂控制都采用的arduino这个开源硬件来控制的,而我发现既然会单片机,就没有必要采用arduino来控制了,arduino只是一种为了简化编程而开发一种软硬件控制平台, ...

  3. Marlin固件之—:基础入门与测试

    一.Marlin的简单介绍 Marlin固件是一个3D打印的开源固件,3D打印固件有许多,Marlin最为健全和强大,当然相对也会复杂一些.使用Gcode控制爱,Gcode是数控机床等工控控制使用范围 ...

  4. Marlin固件之二:源代码详解与移植

    由于需要进行固件定制化,Marlin固件太过于强大和紧凑,我对这个固件进行了裁剪,只剩下主枝干,实现功能的定制和裁剪.以下的代码详解是基于我已经移植在stm32上面的一个程序进行的.

  5. Marlin架构解析

    1. Marlin 主函数流程图: 2. Marlin固件的数据流: 3. Marlin固件的泳道图:

  6. marlin固件烧录教程_Marlin固件配置教程详解

    首先从Marlin固件GitHub下载固件源代码,也可从Makeboard网盘下载. Marlin固件主要分为两个版本,一个是1.0.2-2版本,是稳定版,已经一年没怎么更新了,功能比较少,网上的教程 ...

  7. 3D打印机Marlin固件双Z轴设置

    3D打印机Marlin固件双Z轴设置 在3D打印机Marlin固件的最新版本2.1.1中,设置双Z轴和老版本有一些改动.记录一下如何在最新版本的Marlin固件中设置双Z轴. 以MKS GEN_L V ...

  8. Marlin固件显示其他Gcode文件扩展名

    Marlin固件支持Gcode文件的打印.可是,有时候我们并不喜欢Gcode的扩展名.不过也是受切片软件的限制,我们切片出来的文件一般都是Gcode后缀的扩展名. 假设,只是假设有需要,如果你想改掉后 ...

  9. 3D打印机DIY之三------Arduino开发环境构建和Marlin固件配置

    一.Arduino开发环境 1.搜索Arduino IDE下载安装即可. 2.使用VS code开发Arduino Arduino IDE很简单,很多功能都没有,使用起来很不方便.因此建议使用Visu ...

  10. marlin固件烧录教程_【打印虎】Marlin firmware RepRap Prusa i3 3D打印机固件配置教程.pdf...

    [打印虎]Marlin firmware RepRap Prusa i3 3D打印机固件配置教程 [打印虎原创]RepRap_Prusa_i3_3D 打印机固件 Marlin_firmware 配置教 ...

最新文章

  1. VisionSeed 腾讯优图实验室
  2. Netty入门之Netty的基本介绍和IO模型
  3. mac os touch命令_MacOS系统终端常用命令大全
  4. 在SQL Server中取得操作系统文件的最后修改日期 [Z]
  5. 大三学生独自破解逆天AI模型:我只是把撩妹的时间,都用来研究机器学习了...
  6. Java不满足的依赖异常_java – 新的缺失/不满足的依赖项WildFly 9中的错误
  7. Notepad++插件安装和使用和打开大文件
  8. parsley.js自定义验证规则之大小写
  9. Unix/Linux编程实践教程(1)---Unix系统编程概述
  10. 51单片机秒表设计c语言版,51单片机秒表系统的设计
  11. 最强升级系统的锚点连接
  12. XML中的大于等于小于等于
  13. html圣杯布局,三种实现圣杯布局方法
  14. matlab rand函数的用法,matlab中rand函数的用法
  15. 半导体的光学性质和光电与发光现象
  16. 10幻方c语言,幻方算法 C语言描述
  17. SAP S4 FI后台详细配置教程- PART1 (通用配置及基础架构篇)
  18. 人工智能概论知识要点(七)
  19. 科学中有故事,故事中有科学
  20. Mysql 中的各种“删除”。删除数据库、删除表、删除字段

热门文章

  1. 深入了解创宇网络安全硬件产品--零信任(ZTSA)
  2. 抓取手机端app日志的方法总结
  3. AI 技术本身的一些优势,比如它能够从大量数据里去总结背后的规律
  4. 如何免费下载知网文献_知网文献下载工具_知网下载器Cnkidownloader
  5. 画毛毛虫代码计算机图形学,毛毛虫的任务
  6. 转:如何理解阿里月饼事件中各方的表现
  7. python实现多语言语种识别_Python检测多国语言
  8. linux驱动面试题2018(面试题整理,含答案)
  9. s一般怎么称呼自己的m_英文信的开头和结尾,怎么写才不会出错?
  10. 【Debug】 Packet for query is too large (1155878 > 1048576),max_allowed_packet设置.