marlin固件解析
. 关于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的优点:
- 预加速功能
Sprinter在每个角处必须使打印机先停下来再加速继续运行,而预加速只会加速和减速到某一个速度值,从而速度的矢量变化不会超过xy_jerk_velocity。要达到这样的效果必须预先处理下一步的运动。这样一来加快了打印速度,而且在拐角处减少了耗材的堆积,曲线更加平滑。 - 支持圆弧
marlin固件可以自动调整分辨率以接近恒定的速度打印一段圆弧,得到最平滑的弧线。这样做的另一个好处是减少了串口的通行量。因为通过一条G2/G3指令既可以打印圆弧,而不用通过多条G1指令。 - 温度多重采样
为了降低噪声的干扰,使PID温度控制更加有效,marlin采样16次取平均值去计算温度。 - 自动调节温度
当打印任务要求挤出速度有较大的变化的时,或者实时改变打印速度,那么打印速度也需要随之改变。通常情况下,较高的打印速度,也意味着有较高的温度,marlin可以使用M109 S B F指令去自动控制温度。使用不带F参数的M109不会自动调节温度。否则,marlin会计算缓存中所有移动指令中最大的挤出速度单位steps/sec,即所谓的maxerate。然后目标温度值通过公式T = tempmin+factor*maxerate,同时限制在最小温度(tempmin)和最大温度(tempmax)之间。如果目标温度小与最小温度,那么自动调节将不起作用。最理想的情况下,用户不用去控制温度,只需要在开始使用M109 S B,F并在结束时使用M109 S0. - 非易失存储器
marlin固件将一些常用的参数,比如加速度,最大速度,各轴运动单位等存储在EEPROM中,用户可以在校准打印机的时候调整这些参数,然后存储到EEPORM中,这些改变在打印机重启之后生效 而且永久保存。 - 液晶显示器菜单
如果硬件支持,用户可以构建一个脱机智能控制器(LCD,SD卡槽,编码器,按键)。用户可以通过液晶显示屏实时调整温度,加速度,速度,流量倍率,禁用步进电机…等等其他操作。 - SD卡内支持文件夹
marlin固件可以读取SD卡中子文件夹内的g-code文件,不必是根目录下的文件。 - SD卡自动打印
若SD卡根目录下有文件名为auto【0-9】.g的文件时,打印机会在开机后自动开始打印该文件。 - 限位开关触发记录
如果打印过程中碰到了限位开关,那么marlin会将限位开关的触发位置发送到串口,并给出一个警告。这对于用户分析打印过程中遇到的问题是很有帮助的。 - 编码规范
marlin固件采用模块化编程方式,让用户更加清晰的理解整个程序。为以后将固件升级成arm系统提供了很大的帮助。 - 基于中断的温度测量
一路中断去处理ADC转换和检查温度变化,这样就减少了单片机资源的使用。 - 支持多种机械结构
普通的XYZ正交机械,CoreXY机械,Delta机械,以及SCARA机械。
marlin固件解析相关推荐
- marlin固件烧录教程_i3型3D打印机制作详解――Marlin固件介绍
Marlin固件下载 基本配置 使用 Arduino IDE 打开 marlin.ino,切换到 Configuration.h 即可查看并修改该文件.或者使用任何一款文本编辑器(notepad,no ...
- 机械臂——arduino、marlin固件、printrun软件
最近了解到,在市面上大多数机械臂控制都采用的arduino这个开源硬件来控制的,而我发现既然会单片机,就没有必要采用arduino来控制了,arduino只是一种为了简化编程而开发一种软硬件控制平台, ...
- Marlin固件之—:基础入门与测试
一.Marlin的简单介绍 Marlin固件是一个3D打印的开源固件,3D打印固件有许多,Marlin最为健全和强大,当然相对也会复杂一些.使用Gcode控制爱,Gcode是数控机床等工控控制使用范围 ...
- Marlin固件之二:源代码详解与移植
由于需要进行固件定制化,Marlin固件太过于强大和紧凑,我对这个固件进行了裁剪,只剩下主枝干,实现功能的定制和裁剪.以下的代码详解是基于我已经移植在stm32上面的一个程序进行的.
- Marlin架构解析
1. Marlin 主函数流程图: 2. Marlin固件的数据流: 3. Marlin固件的泳道图:
- marlin固件烧录教程_Marlin固件配置教程详解
首先从Marlin固件GitHub下载固件源代码,也可从Makeboard网盘下载. Marlin固件主要分为两个版本,一个是1.0.2-2版本,是稳定版,已经一年没怎么更新了,功能比较少,网上的教程 ...
- 3D打印机Marlin固件双Z轴设置
3D打印机Marlin固件双Z轴设置 在3D打印机Marlin固件的最新版本2.1.1中,设置双Z轴和老版本有一些改动.记录一下如何在最新版本的Marlin固件中设置双Z轴. 以MKS GEN_L V ...
- Marlin固件显示其他Gcode文件扩展名
Marlin固件支持Gcode文件的打印.可是,有时候我们并不喜欢Gcode的扩展名.不过也是受切片软件的限制,我们切片出来的文件一般都是Gcode后缀的扩展名. 假设,只是假设有需要,如果你想改掉后 ...
- 3D打印机DIY之三------Arduino开发环境构建和Marlin固件配置
一.Arduino开发环境 1.搜索Arduino IDE下载安装即可. 2.使用VS code开发Arduino Arduino IDE很简单,很多功能都没有,使用起来很不方便.因此建议使用Visu ...
- marlin固件烧录教程_【打印虎】Marlin firmware RepRap Prusa i3 3D打印机固件配置教程.pdf...
[打印虎]Marlin firmware RepRap Prusa i3 3D打印机固件配置教程 [打印虎原创]RepRap_Prusa_i3_3D 打印机固件 Marlin_firmware 配置教 ...
最新文章
- VisionSeed 腾讯优图实验室
- Netty入门之Netty的基本介绍和IO模型
- mac os touch命令_MacOS系统终端常用命令大全
- 在SQL Server中取得操作系统文件的最后修改日期 [Z]
- 大三学生独自破解逆天AI模型:我只是把撩妹的时间,都用来研究机器学习了...
- Java不满足的依赖异常_java – 新的缺失/不满足的依赖项WildFly 9中的错误
- Notepad++插件安装和使用和打开大文件
- parsley.js自定义验证规则之大小写
- Unix/Linux编程实践教程(1)---Unix系统编程概述
- 51单片机秒表设计c语言版,51单片机秒表系统的设计
- 最强升级系统的锚点连接
- XML中的大于等于小于等于
- html圣杯布局,三种实现圣杯布局方法
- matlab rand函数的用法,matlab中rand函数的用法
- 半导体的光学性质和光电与发光现象
- 10幻方c语言,幻方算法 C语言描述
- SAP S4 FI后台详细配置教程- PART1 (通用配置及基础架构篇)
- 人工智能概论知识要点(七)
- 科学中有故事,故事中有科学
- Mysql 中的各种“删除”。删除数据库、删除表、删除字段
热门文章
- 深入了解创宇网络安全硬件产品--零信任(ZTSA)
- 抓取手机端app日志的方法总结
- AI 技术本身的一些优势,比如它能够从大量数据里去总结背后的规律
- 如何免费下载知网文献_知网文献下载工具_知网下载器Cnkidownloader
- 画毛毛虫代码计算机图形学,毛毛虫的任务
- 转:如何理解阿里月饼事件中各方的表现
- python实现多语言语种识别_Python检测多国语言
- linux驱动面试题2018(面试题整理,含答案)
- s一般怎么称呼自己的m_英文信的开头和结尾,怎么写才不会出错?
- 【Debug】 Packet for query is too large (1155878 > 1048576),max_allowed_packet设置.