日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

基于 Marin 固件構(gòu)建自定義的3D 打印固件

Marlin 的歷史

Marlin 是一種用于 3D 打印機的開源固件,最初由 Erik van der Zalm 等人于 2011 年開發(fā)。等人。該固件最初是為 RepRap 項目設計的,該項目旨在創(chuàng)建任何人都可以構(gòu)建和使用的開源 3D 打印機。Marlin 憑借其用戶友好的界面、易于使用的配置選項和活躍的開發(fā)社區(qū),迅速在 3D 打印社區(qū)中廣受歡迎。該固件以其可靠性、穩(wěn)定性以及與多種 3D 打印機型號的兼容性而聞名。多年來,Marlin固件經(jīng)歷了多次更新,最新版本為2.1.x。這些更新為固件帶來了新功能、改進的性能和更準確的打印功能。Marlin 背后的開發(fā)人員繼續(xù)積極支持和改進該固件,使其成為 3D 打印機使用最廣泛、最可靠的開源固件選項之一。Marlin 擁有一個由用戶、開發(fā)人員和貢獻者組成的大型活躍社區(qū)。許多3D打印機制造商也采用Marlin作為他們的默認固件,并且許多流行的3D打印機控制板都支持它,例如RAMPS、SKR等。

編譯和配置 Marlin

準備材料

  1. 安裝 Vscode
  2. 在 Vscode 中安裝 PlatformIO 插件
  3. 準備Jlink 或 Stlink 下載工具
  4. 準備一個開源的 3D 打印主板及原理圖
  5. 一個結(jié)構(gòu)完好的 3D 打印機,推薦 經(jīng)典的Ender3,其他 CoreXY等也可。
  6. 普通的4~8G SD 卡

編譯固件

  1. 獲取 Marlin 官方源碼
git clone https://github.com/hysonglet/probe-rs.git

  2.使用 VSCode 打開 Marlin 工程

code Marlin&
    1. 修改主板類型,編輯工程配置文件platformio.ini,修改default_envs字段為你的主板名,主板名可以在文件Marlin/ini/XX.ini中查找,如Marlin/ini/stm32f1.ini中可選擇env:STM32F103RE_creality,則指定default_envs=STM32F103RE_creality即可。
    2. 編譯:pio run(需要提前將 pio 命令添加到環(huán)境變量),也可在 PIO 的工具欄直接點擊。
    3. 下載:pio run -t upload

    配置 Marlin

    Marlin 提供了豐富的配置來使得固件能輕松適應不同的機械結(jié)構(gòu),無論是龍門架、CoreXY、Polargraph、DELTA、SCARA、Polar等,都能輕松支持,多噴頭、不同的限位開關(guān)、測距傳感器、加熱方式等都能簡單的在配置文件中使能或自定義。所有配置在文件Marlin/Marlin/Configuration.hMarlin/Marlin/Configuration_adv.h常用配置如下:

    • 修改主板類型,編輯工程配置文件platformio.ini,修改default_envs字段為你的主板名,主板名可以在文件Marlin/ini/XX.ini中查找,如Marlin/ini/stm32f1.ini中可選擇env:STM32F103RE_creality,則指定default_envs=STM32F103RE_creality即可。
    • 編譯:pio run(需要提前將 pio 命令添加到環(huán)境變量),也可在 PIO 的工具欄直接點擊。
    • 下載:pio run -t upload

    配置 Marlin

    Marlin 提供了豐富的配置來使得固件能輕松適應不同的機械結(jié)構(gòu),無論是龍門架、CoreXY、Polargraph、DELTA、SCARA、Polar等,都能輕松支持,多噴頭、不同的限位開關(guān)、測距傳感器、加熱方式等都能簡單的在配置文件中使能或自定義。所有配置在文件Marlin/Marlin/Configuration.hMarlin/Marlin/Configuration_adv.h常用配置如下:

    指定主板類型.

    你可以打開文件./Marlin/src/core/boards.h選擇一款最接近你主板即可。當然也可添加你自己的主板名稱和主板號。

    • 指定串口個數(shù)和波特率
    • 指定步進電機驅(qū)動器類型,所有支持的類型可在注釋中選擇。
    • 指定擠出機個數(shù)和擠出比,通常保持默認即可。
    • 指定熱床溫度傳感器類型和加熱控制的極性,比較重要,需要準確設置,否則可能導致無法加熱或熱失控。
    • 設置噴頭和熱床的極限溫度,防止危險。設置加熱的 PID 參數(shù),通常保持默認即可。

    • 設置 3D 打印機的結(jié)構(gòu),如果是龍門架結(jié)構(gòu)則保持默認即可,否則根據(jù)注釋開啟你所在機型的宏定義即可。
    • 設置限位開關(guān)引腳的上下拉,通常與限位開關(guān)的觸發(fā)狀態(tài)有關(guān)系,設置錯誤則會導致噴頭撞擊。如觸發(fā)狀態(tài)為 1,則保持下拉使能即可,如果主板已經(jīng)添加下拉,則無需再開啟該宏定義。
    • 設置步進電機的傳動比,該值與驅(qū)動器的細分數(shù)、齒輪的傳動比有關(guān)。可利用網(wǎng)頁工具和實驗測試來設置該值:https://blog.prusa3d.com/calculator_3416/
    • 配置運動的性能,如最大速度、加速度、擠出速度、Jerk 值等。這些值會影響你打印機的性能、默認的值比較保守,可根據(jù)打印效果適當提高。通常龍門架架構(gòu)加速度可設置 8000 左右。
    • 配置步進電機驅(qū)動信號的極性
    • 配置 Home 的方向
    • 配置熱床的大小和原點的位置
    • 設置風扇控制引腳和速度

    參考視頻

    結(jié)語

     作為一個嵌入式開發(fā)者,也許你并不會用到 3D 打印機或者需要自己去定制一個3D 打印機主板,但是學習 Marlin 的編程思路是非常有效提高我們的開發(fā)技能。Marlin 實現(xiàn)了高效的運動控制算法、路徑規(guī)劃算法、優(yōu)雅的代碼接口,使得一套代管理非常多的不同型號、不同CPU架構(gòu)的MCU、完美適配不同的機械結(jié)構(gòu)、對于我們提高嵌入式 C/C++開發(fā)技能是個非常不錯的練手項目。

    聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
    覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
    贊 3
    收藏 4
    關(guān)注 19
    成為作者 賺取收益
    全部留言
    0/200
    成為第一個和作者交流的人吧