Rebel II – Update na Marlin FW 1.0.2

IMG_8347_webDosud jsem měl ve svém Rebelu II nainstalovaný původní FW, připravený Petrem Zahradníkem. Šlo o Marlin FW ve verzi 1.0.0. Fungoval dobře a nebyl důvod ho měnit až do doby, kdy mi začala vadit nepřesnost tisku v ose X. Po konzultacích s Petrem jsem nejdřív modifikoval ručně konstanty uvnitř FW tak, abych docílil správné velikosti – to se sice podařilo, ale celý postup určit novou konstantu, překompilovat FW, nahrát ho do Arduina, vytisknout zkušební výtisk, příliš pohodlný nebyl. Věděl jsem, že Repetier Host umí pracovat s EEPROM Arduina, ve které můžou být uloženy aktuální konstanty bez nutnosti přehrávání firmware – bohužel jsem studiem zdrojových kódů zjistil, že překlad obsluhy EEPROM byl zakomentovaný. Rovněž jsem zjistil, že je na webu dostupný novější FW ve verzi 1.0.2 …Stáhnul jsem tedy aktuální zdrojové kódy z githubu, modifikoval soubor configuration.h dle původního obsahu s ohledem na novější strukturu a povolil překlad EEPROM obsluhy. Výsledkem je funkční FW (vytiskl zatím cca 2 hodiny), který je v příloze na konci článku. Nakonfigurován je na původní stavebnici Rebela II z www.clexpert.cz s peekovým hotendem na filament o průměru 3mm (netuším, jestli tohle ovlivňuje konfiguraci) s textovým displejem 4×20 znaků. Vše, zdá se, pracuje jak má – hodnoty jsou ukládány a čteny z EEPROM, přežijí vypnutí a zapnutí tiskárny. Jediná věc, která mi stále nefunguje se SD card manager z Repetier Hosta. Bohužel ale s tím zatím nevím, jak dál…

 

Fw Arduino Clexpert Marlin
Fw Arduino Clexpert Marlin
fw_Arduino_Clexpert_Marlin_1.0.2.rar
Version: 1.0.2
7.0 MiB
720 Downloads
Details

24 thoughts on “Rebel II – Update na Marlin FW 1.0.2”

  1. Zdravím
    Také mám Rebela od pana Zahradníka. také bych si rád vyměnil FW na výše uvedený. Ale nerozumím poslední větě vašeho hodnocení. Znamená to, že vám nefunguje SD karta na Rebelu?

    Díky

    Zdeněk V.

    1. Ale ne – to jsem se asi špatně vyjádřil. Jediné, co nefunguje je ovládání SD karty na Rebelovi přes rozhraní v RepetierHost. Prostě musím vždycky vytáhnout SD kartu z tiskárny, strčit ji do čtečky v PC, nahrát G kód a dát kartu zpět do tiskárny…

  2. Čo všetko si musel zmenit v Marline aby to fungovalo?Uz je dostupna verzia 1.1.0. skusal som ju rozchodil som display ale sd kartu nie. po nahrati som skusil pohnut osou z ale nejako divne to hrkotalo tak som tam naral spet povodny.Čo ti to robilo v ose X?

    1. Jedinou věc, kterou jsem měnil byl soubor Configuration.h – ta verze 1.1 ještě není stabilní, jde jen o RC, takže bych zatím byl hodně opatrný… Navíc jsem nikde nenašel seznam změn oproti 1.0.2 Stable, takže zatím nevidím důvod přecházet na novou verzi.

    1. Ta chyba osy X spočívala ve špatném nastavení počtu kroků, takže jsem udělal to, že jsem povolil ukládání hodnot do EEPROM. V tom pomohla změna firmwaru, protože to starý neuměl. No a pak jsem si do EEPROM uložil novou, správnou hodnotu a od té doby to běží správně.

  3. Zdravím
    Mám několik dotazů, Snad si vzpomenete. Zkoušel jsem přejít na Repetier, abych byl kompatibilní s fórem REBELOVE. Bohužel se mi nelíbí jeho ovládání a vracím se k Marlinovi. Rád bych si nainstaloval vaší versi s úpravou. Při prohlížení kódů (neumím C a malinko píšu programy pro Arduino) jsem narazil, že je odremovaná část pro autoleveling. Můžete mi napsat jaký máte typ displeje, zda máte instalovaný autoleveling.(nevím jak stará je fotografie). Ještě bych rád požádal o radu, kde se dá v programu nastavit grafický display. Používáte strunu průměr 3. Mám ji v programu Marlin od pana Zahradníka nastavenou taky, přestože mi dodal extruder na průměr 1,75. Při přechodu na průměry trysek 0.3 to dělá problémy. Myslím, že jsem našel místo kde se to dá v kódu nastavit.
    Děkuji
    Zdenda

    1. Dobrý den,
      displej používám původní textový, označovaný jako http://reprap.org/wiki/RepRapDiscount_Smart_Controller . Osobně nedoporučuji používání grafického LCD, protože mimo většího zatížení CPU při vykreslování nic nového nepřináší, nastavení se provádí v configuration.h v sekci LCD and SD support (kde je rovněž vidět typ mého LCD…). Autoleveling nemám použitý žádný, odkomentovaná podpora pouze znamená, že je kompilovaný kód, který reaguje na odpovídající G kódy – viz. https://github.com/MarlinFirmware/Marlin/wiki/Mesh-Bed-Leveling . Průměr filamentu se (aspoň se domnívám) nenastavuje v kódu, ale je to kombinace nastavení v EEPROM a v RepetierHostu.
      Pavel

      1. Dobrý den

        Díky za brzkou odpověď. Co se týká průměru filamentu našel jsem v kódu ty to řádky:
        Configuration.h
        #define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) – this is then used in the slicer software. Used for sensor reading validation

        Configuration_adv.h
        #define D_FILAMENT 2.85
        //————————————————————————————–___________________________________________________

        #define STEPS_MM_E 836
        #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159)
        #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA)

        Ten druhý přímo počítá s konstanty (průměr filamentu) objem, myslím, že na těchto místech bych to měl změnit.

        Ještě bych se zeptal na drivery. Dal jsem si nové 8825 a nejsem si jistý, kde změnit počet mikrokroků. Myslím, že by to mělo být někde tady v Configuration.h

        #define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 3200, 145} // default steps per unit for Ultimaker @@@@@ For Pablo2048’s Rebel first number has to be 80.5
        #define DEFAULT_MAX_FEEDRATE {200, 200, 2, 250} // (mm/sec)
        #define DEFAULT_MAX_ACCELERATION {1000, 1000, 10, 3000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot.

        Jinak děkuji za vaše stránky. Hlavně téma ESP. WIFI mi moc neříká, tak tápu v různých OTA apod, tak musím dohledávat a vzdělávat se. Super.

        Zdenda

        1. Hmm, s tím průměrem filamentu máte pravdu – díval jsem se do nějakého starého zdrojáku, který jsem dostal od Petra a ne do verze 1.0.2. Nikdy jsem to číslo ale nepotřeboval změnit, takže přesně neporadím (leda až dokončím druhou tiskárnu, která bude mít 1.75mm filament). Ohledně změny driveru je třeba upravit počty kroků (finální doladění se stejně dělá přes EEPROM) – nastudujte si http://solidutopia.com/marlin-firmware-user-guide-basic/ a https://www.matterhackers.com/news/3d-printer-firmware-settings-stepper-motor-configuration . To jsou články, ze kterých jsem čerpal, když jsem upravoval firmware.

          1. Díky
            Našel jsem ještě tento odkaz.
            http://reprap.org/wiki/Triffid_Hunter%27s_Calibration_Guide

            Hodnoty podle mikrokroku se nastavují v příkazu kde máte korekci na X osu 80,5. (hodnota je 160, viz odkaz)

            Ten průměr fillamentu je pouze kontrolní. Hlavní nastavení je ve slicru. Díky za podnětnou diskuzi a pomoc.

            Nemohl by jste pro nás neznalé doporučit nějaký odkaz informacemi o konfiguraci wifi, pořád se ztrácím v pojmech a rozložením kdo je kdo.

            Těším se na tu druhou tiskárnu.

            Zdenda

          2. Není zač, jsem rád, že jste to vyřešil… Ohledně té konfigurace WiFi – moc nerozumím tomu, co myslíte tím “pojmy” a “rozložení”. Na druhou tiskárnu se těším taky 🙂 Už na ní pracuji asi 3 měsíce…
            Pavel

  4. No nevím co je OTA, API jak fungují vůči stávající síti wifi, jestli je možné v pár větách nebo schématem vysvětlit. Začal jsem se zajímat o internet věcí a čtu si články na vašem webu, ale ve výše uvedeném se ztrácím.

    Díky za pomoc.

    1. No tohle všechno by vydalo nejspíš na celou sérii vzdělávacích článků a to je skutečně mimo zaměření tohoto webu, takže jen krátké vysvětlení sem:
      OTA je zkratka Over the Air a v případě ESP8266 znamená nahrávání firmware přes WiFi místo sériovým portem
      API je Application Programming Interface – nejlépe nastudovat zde https://cs.wikipedia.org/wiki/API , ale spíš myslím, že jste měl na mysli AP (více se týkající ESP8266 a WiFi sítí), což je zkratka od Access Point a týká se filozofie a topologie sítí WiFi – opět nejlépe nastudovat třeba zde http://www.eprin.cz/co-je-to-wifi.html (ten článek se mi líbí víc, než popis na Wikipedii https://cs.wikipedia.org/wiki/Wi-Fi )…

  5. Zdravím, snažil jsem se nahrát FW, ale Arduino IDE vypsalo tuto: In file included from C:\Users\Lukas\AppData\Local\Temp\build19c0beb115104a2b6e5eabbe0197f3c7.tmp\sketch\SdFile.h:27:0,

    from C:\Users\Lukas\AppData\Local\Temp\build19c0beb115104a2b6e5eabbe0197f3c7.tmp\sketch\cardreader.h:8,

    from C:\Users\Lukas\AppData\Local\Temp\build19c0beb115104a2b6e5eabbe0197f3c7.tmp\sketch\Marlin_main.cpp:44:

    SdBaseFile.h:38: error: using typedef-name ‘fpos_t’ after ‘struct’

    struct fpos_t {

    ^

    In file included from C:\Users\Lukas\AppData\Local\Temp\build19c0beb115104a2b6e5eabbe0197f3c7.tmp\sketch\Marlin.h:10:0,

    from C:\Users\Lukas\AppData\Local\Temp\build19c0beb115104a2b6e5eabbe0197f3c7.tmp\sketch\Marlin_main.cpp:30:

    c:\users\lukas\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.3-arduino2\avr\include\stdio.h:950:33: note: ‘fpos_t’ has a previous declaration here

    __extension__ typedef long long fpos_t;

    ^

    Byly nalezené násobné knihovny “LiquidCrystal.h”
    Použitý: C:\Users\Lukas\Documents\Arduino\libraries\LiquidCrystal
    Nepoužitý: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal
    Použití knihovny LiquidCrystal ve verzi 1.0.4 v adresáři: C:\Users\Lukas\Documents\Arduino\libraries\LiquidCrystal
    exit status 1
    using typedef-name ‘fpos_t’ after ‘struct’
    —————————————————————————–
    Nějak si s tím nevím rady, můžete mi nějak pomoci?
    Děkuji

          1. Děkuji za radu, za hodinku to zkusím, mohl by jste mi kdyžtak poslat e-mail, pro lepší komunikaci, po případě, aby se to tu moc nezaplňovalo?
            Děkuji

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *