Marlin 2.0.x 升級 - 首發 (以TinyBoy 為例子)

本帖最後由 fred2088 於 2019-4-18 00:40 編輯

Offer 大神早於 2014-9-6 已經首發 Arduino Mega 2560 + RAMPS1.4 + Marlin Firmware 如設定 Marlin 1.0.0 beta

https://www.hkepc.com/forum/view ... 259&tid=2120148

四年多後 Marlin 停止 1.x 的開發, 將開發已去到 2.x
希望可以在 2019年一月開始 ...
雖然內容只是皮毛步驟, 但為使在 HKEPC 人氣多D及令高手師兄多D發言及分享, 內容會先在這裡首發 !!!

見國內 大部份3D打印機的 Marlin 都只是升級去到 1.1.9, 希望他們會在來多D這裡, 為他們的機子升級 (自大說法... )
http://marlinfw.org/meta/features/ (進階功能等師兄們試了)

Marlin 2.x 好處
- 支援好多 32Bit 板 , ARM, STM32 ...
- 支援多類 LED燈, 機內照明及機箱燈, WS2812 / Neopixel/RGBW 等 (作小改可作進度燈)
- 支援 USB Flash Disk (8 Bit 去到 32 bit 主板)
- 支援用LCD Menu 使用人手換絲步驟
- 支援方便自定UI 介面
- 支援 SD 升級 Firmware - USB and SDCARD Firmware flashing for the ARDUINO ATMEGA 2560 and ADK
- 打印完成, 熱頭歸位


https://www.hkepc.com/forum/redi ... 57&pid=37890392

本帖最後由 fred2088 於 2018-12-24 23:15 編輯

首先要知道自己部機的規格 :

找找有沒有舊 Marlin 1.x 的源代碼
或 寫下規格
打印機結構 : Cartesian ( Cartesian / Delta / SCARA / Core XY / Core XZ / Core YZ )
X 最大長度 :  100mm, 定位碰制 : Max
Y 最大長度 :  100mm, 定位碰制 : Min
Z 最大長度 :  105mm, 定位碰制 : Min
X 步進 : 每步 1.8度, 步進帶 : GT2, 牙距 : 2mm
Y 步進 : 每步 1.8度, 步進帶 : GT2, 牙距 : 2mm
Z 步進 : 每步 1.8度, 絲杆 : 3MM, 螺紋距離 : 0.5mm @圈
E 步進 : 每步 1.8度, 輪牙直徑 : 11mm
熱咀 : 1個
發熱管 : 50W 12V
熱感 : 100K NTC
風扇接線位 : 直連電源(不經主板)
顯示屏 : i2c 128x64 OLED ( i2C / SPI / TxRx )
SD 模塊 : SPI SD/MicroSD Shield

TOP

本帖最後由 fred2088 於 2018-12-29 15:44 編輯

升級前預備

因為Marlin 2.0.x 用了樹型存檔,  Arduino IDE 是不支援的 (只會自動開啟同資料夾的文件), 所以要另找 Editor ...
我選了 Notepad++
還有其他的 Editor 可用 :
Sublime Text 3, Notepad++, TextMate, Visual Studio Code, Atom,
https://www.google.com/search?q=free+text+and+project+editors

Recommend by Marlin
https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x
To build Marlin 2.0 you'll need Arduino IDE 1.9 or PlatformIO. We've posted detailed instructions on how to build Marlin 2.0 for ARM.

1. 下載及 安裝 Arduino 1.8.8 (Current release) 1.9 還是 Beta
或 PlatformIO (未用過, 因為我只是初哥, 如果是32Bit板 PlatformIO 會好D ...)
2. 安裝 U8glib, Adafruit_NeoPixel (Sketch>Include Library>Manage Library:search U8glib, neopixel)
3. 使用Notepad+ 開啟 configuration.h 及 configuration_adv.h

*** 在修改時, 在修改了的內容前 加入記號 (我會用 // fred), 可以方便一次過搜尋所有已改動的內容 ...

自定開機 Logo

m1.jpg
2018-12-28 11:54

上載速度

m2.jpg

主板類別

m3.jpg

自定打印機名稱

m4.jpg

印絲直徑

m5.jpg

印咀及熱床溫感

m6.jpg

遠程送絲長度

m7.jpg

有效定位碰制

m8.jpg

碰制正反設定

m9.jpg

XYZE 每mm 步數

m10.jpg

最快步度

m11.jpg

最大加速

m12.jpg

預設加速

m13.jpg

加減速緩衝

m14.jpg

停止鎖死步進

m15.jpg

步進轉動方向

m16.jpg

Z軸歸零位置

m17.jpg

XYZ軸歸零方向

m18.jpg

打印時數總計

m19.jpg

在選單設定歸零選項

m20.jpg

OLED設定

m21.jpg

刪除風扇針腳定義

m24.jpg

自動風扇針腳定義

m22.jpg

TinyOLED 針腳定義

m23.jpg

TOP

本帖最後由 fred2088 於 2018-12-31 10:55 編輯

LCD Menu Tree 修改

128x64 的選項修改 ... 在 Marlin-bugfix-2.0.x\Marlin\src\lcd\ultralcd.cpp
menu.png
2018-12-31 10:55

TOP

本帖最後由 fred2088 於 2019-1-1 14:28 編輯

改 Menu 做大字 原本是5行的, 加大字改為 4 行 ...

U8glib Font List , 大家可從 Font List 選可支援的字型大小 來顯示 ...
https://github.com/olikraus/u8glib/wiki/fontsize

1.1.6以後... 已改用 Hallow highlight 以減低主板的工作, 但 XYZ 機可以用回反白選項, Delta 機會有點吃力 ...
\Marlin-bugfix-2.0.x\Marlin\src\lcd\ultralcd_impl_DOGM.h

m31.jpg
2019-1-1 14:16


https://www.hkepc.com/forum/redi ... 57&pid=37974684

\Marlin-bugfix-2.0.x\Marlin\src\lcd\ultralcd_impl_DOGM.h

m32.jpg

TOP

本帖最後由 fred2088 於 2019-1-2 11:31 編輯

自定 128x64 UI
也可為Marlin加入未支援的 LCD顯屏 (獨家支援 ... 又自 High ... 最重要是平 )

        u8g.setFont(u8g_font_fur14); 設定不同字體 (U8glib 內支援的字體)

m34.jpg
2019-1-2 11:22



https://www.hkepc.com/forum/redi ... 57&pid=37974684

TOP

本帖最後由 fred2088 於 2019-1-2 11:39 編輯

支援 WS2812 / Neopixel , 機內燈, 機身燈 (又是獨家 20 x WS2812 自己玩做PCB ... )

Neopixel 設定

m35.jpg
2019-1-2 11:34




https://www.hkepc.com/forum/redi ... 57&pid=37974125

機箱燈

m36.jpg

TOP

本帖最後由 fred2088 於 2019-1-12 21:16 編輯

USB 手指支援 (不用再找SD卡 ... )
Mini USB Host Sheild / USB Host Sheild for Uno $2x~$3x
支援Mega2560+RAMPS

m55.png
2019-1-12 21:15



https://www.hkepc.com/forum/redi ... 57&pid=37999075

TOP

本帖最後由 fred2088 於 2019-1-2 11:30 編輯

多頁打印資訊

1. 整體資訊
2. 熱頭資訊
3. XYZ座標資訊
4. SD卡打印進度資訊

在 Marlin-bugfix-2.0.x\Marlin\src\lcd\dogm\status_screen_DOGM.h 改 lcd_impl_status_screen_0()
可自定多少頁 page1 ~ page??

Marlin-bugfix-2.0.x\Marlin\src\lcd\dogm\status_screen_DOGM.h

m33.jpg
2019-1-2 11:27


  實機打印 ...
   

TOP

本帖最後由 fred2088 於 2019-1-4 00:06 編輯

預計打印所需時間
Printing ETA

打印機的打印% 是以已打印的Byte數 除以檔案大小的Byte數,
而預計打印所需時間, 有不同的處理手法,
1. 在切片時計算之後以備註加入GCODE 內, 如切片時沒有加入時間備註,便顯示不倒 ...
2. 以已打印的時間及 % 計算出 預計打印所需時間 ,  初計算出來的打印時間會相差很多 ...
        預計時間 = (已用時間 / 已用%) * 100) - 已用時間;
3. 可能還有其他方法 ...

m37.jpg
2019-1-2 11:51

TOP