Jak vypálit zavaděč, bootloader, na desku Anet

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/

 

Dobrý den, vítejte u dalšího článku z dílny malé továrny na velké věci. Nedávno jste si mohli přečíst o nahrání firmware Marlin standardním, jednoduchým, způsobem. Dnes si řekneme o tom, jak nahrát firmware Marlin na Anet řídící desku, která nemá vypálený zavaděč neboli bootloader. Na tuto situaci můžete nejčastěji narazit u řídících desek verze 1-5. Výrobce zde použil čipy AVR bez připraveného zavaděče. Nešlo pravděpodobně o nějaký způsob ochrany ale o snížení nákladů. Na internetu je již celá řada článků a videí jak postupovat, já vám však zkusím popsat způsob, bez použití speciálního ASP programátoru. Ten se dá pořídit za několik desítek korun, ale pokud se programování AVR nevěnujete hlouběji, použijete ho jen jednorázově. Po vypálení zavaděče již můžete jednoduše nahrávat jakýkoliv firmware bez omezení.

Nástroje

Něco přeci jen potřebovat budete, vývojovou desku arduino. Typ si zvolíte podle potřeby, od verze nano po verzi mega. Arduino, totiž není nic jiného než AVR (atmel nebo atmega) čip, stejně jako řídící deska 3d tiskárny Anet a ten jako takový umí pracovat jako ISP programátor jiného arduina. To je přesně ten postup, který využijeme. S arduinem dnes již pracuje spousta studentů a hobbystů, pokud přesto nikoho takového v okolí nemáte, ozvěte se nám a my vám arduino půjčíme. Případně se postaráme o vypálení zavaděče za vás. Dále budete potřebovat USB kabel pro spojení Arduino desky s počítačem a několik propojovacích vodičů pro spojení Arduino desky s řídící deskou Anet.

Příprava

Celý postup přípravy, včetně stažení potřebného software je podrobně popsán v článku Nahrání firmware Marlin. Nyní se budeme věnovat samotnému zavaděči.

Pojďme na to

Prvním krokem bude příprava arduino desky a jeho proměna v ISP programátor. Připojte arduino desku k počítači pomocí USB kabelu a otevřete si programovací prostředí Arduino IDE. Z nabídky ” Nástroje / Port ” vyberte správný COM port, který byl arduinu počítačem přiřazen, z nabídky ” Nástroje / Programátor: ” vyberte možnost ” AVRISP mkii ” a z nabídky ” Nástroje / Vývojová deska ” vyberte možnost ” Arduino/Genuino Uno ” jako je to na následujících obrázcích.

 

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/
Správný port, v mém případě COM5

 

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/
Vývojová deska Arduino UNO

 

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/
Programátor AVRISP mkii

 

Dále si otevřete připravený krátký program, který již vytvořili vývojáři arduina a vložili jej mezi příklady. Tedy otevřete nabídku ” File / Examples ” a vyberte možnost ” Arduino ISP “. Opět přikládám obrázek pro snadnější orientaci.

 

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/
Zde se nachází základní sada připravených programů

 

Přednastavený program nahrajte do Arduino desky a tímto krokem již máte arduino jako programátor připraveno k nahrávání, stačí ho připojit ke správným pinům na řídící desce Anet. Naštěstí výrobce tyto piny zpřístupnil a nemusíme tedy nic složitě hledat na plošném spoji. Vše důležité je vyvedeno na černém, 10ti pinovém, konektoru blízko konektoru pro displej. Při zapojování postupujte podle obrázku níže.

 

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/
schema zapojení

 

Jak vidíte, nejedná se o nic složitého. 2 vodiče napájecí, 4 vodiče komunikační. Důležité je, aby byla deska Anet připojena ke zdroji 12V. Bez tohoto napájecího napětí AVR čip nefunguje a není tedy možné do něj nahrát zavaděč.

Jestli jste krok po kroku došli až sem, nezbývá, než pozměnit nastavení, vypálit zavaděč a zpřístupnit tak svůj anet board pro nahrání alternativního firmware. Posledními kroky tedy bude Arduino IDE kde z nabídky ” Nástroje / vývojová deska ” vyberte možnost ” Anet V1.0 optiboot “, z nabídky ” Nástroje / Programátor ” vyberte “Arduino as ISP ” a konečně ” Nástroje / Vypálit zavaděč ” jako je to na následujících obrázcích.

 

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/
Nyní bude vývojová deska Anet V1.0 optiboot

 

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/
Programátor Arduino as ISP

 

https://3dfactory.cz/2018/06/12/jak-vypalit-zavadec-anet/
Poslední krok, vypálit zavaděč

 

Závěr

Nyní již můžete pokračovat standardním způsobem podle článku Nahrání firmware Marlin, kde popisuji detailní postup. Pokud nemáte možnost opatřit si vývojovou desku arduino s potřebnými propojovacími kabely, obraťte se na nás, jeden takový set máme k zapůjčení, případně vám zavaděč vypálíme sami.

* Novější verzi článku i s videonávodem najdete zde: Více funkcí, více místa, to je optiboot

48 thoughts on “Jak vypálit zavaděč, bootloader, na desku Anet

  1. Václav Vaněk says:

    Budou po přehrání FW normálně fungovat oba dva motory na ose Z? V nastavení Marlina jsem nikde nenarazil na konfiguraci obou dvou motorů jen osy Z jako takové.

    • Miroslav Kováčik says:

      Dobrý den, určitě budou fungovat oba Z motory. Tiskárny Anet mají oba Z motory připojeny k jednomu driveru A4988.
      Jen pro informaci:
      – maximální proud do obou motorů – 1,8A
      – rozlišení mikrostepů – 1/16

  2. Václav Vaněk says:

    Výborně na mikrostepi jsem se chtěl také zeptat. Předpokládám že ostatní osy a ex. mají taky 1/16? Musí se mikrostepi nnějak nastavit v config nebo je defaultně nastavená hodnota nevím co dosadit do výpočtu….. a v defaultním nastavení pro Anet A8 v Merlinovi je x100, y100, z400, e100 což se mi zdá dost málo při použití mikrostepů

    • Miroslav Kováčik says:

      Ano, rozlišení mikrostepů je dáno použitým driverem který je osazen na základní desce. Všechny krokové motory tiskárny Anet používají 1/16.
      Marlin nastavení je v pořádku. Nejedná se o počet kroků na jednu otáčku motoru ale o počet impulzů motorů na 1mm posunu osy. Například, mé aktuální hodnoty jsou X100,31 Y100,47 Z400,02 E100,0
      K těmto hodnotám nejlépe dojdete kalibrací tiskárny a extruderu.

  3. Václav Vaněk says:

    Stavím si na desce Anet vlastní konstrukci takže když použiji ozubená kola s 20 zuby a roztečí 2 mm a motory s 200 kroky tak by mi počet impulzů/mm vycházel 80 ? ( 200*16/20/2) což je 0,0125 mm na impulz?

    • Miroslav Kováčik says:

      Někde na internetu jsem viděl online kalkulačku pro výpočet různých druhů posunů. Obecně si ale myslím, že počítáte správně.
      Teoreticky bych se výpočtem příliš nezdržoval ale přešel rovnou k testování. Po prvním výtisku budete přesně vědět jaká hodnota je správná.

  4. Ivan P. says:

    Dobrý den, snažím se vypálit zavaděč na svou Anetu, ale mám dostupné jen Arduino MEGA 2560 a nemohu nikde najít na které porty mám co připojit. Předem děkuji za odpověď

  5. Vladimír Nejedlý says:

    Je to pěkný článek, jen v mém případě nevím proč nefunguje.
    Anet napájená 12V. Dráty připojená k UNU a skončí to takhle:

    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1b

    Vše v Anetě zůstane nezměněno, takže bych mohl fungovat dál, ale …
    Změnil jsem šroubovice za trapéz a než začnu tiskat , ve slyc3ru mám nastavené správné hodnoty, 6,4x rychleji a hlavně 6,4x dál. I obyčjný autohome je strašnej rachot.

    Ví někdo, co dělám špatně?

    Anet A8 CTC (dřevák)

    • Miroslav Kováčik says:

      Dobrý den, ta chybová hláška mi připomíná situaci, kdy nová verze Arduino IDE nekomunikuje s Uno deskou. Předpokládám, že máte některou z novějších verzí. Zkuste si opatřit starší verzi, řekněme 1.8.0. na té se mi tento problém neobjevil.

      • Vladimír Nejedlý says:

        Děkuji za odpověď, určitě vyzkouším. Nicméně funkčnost komunikace s Unem jsem provedl nahráním blikače a ten fungoval bez problémů.
        Spíš mě zajímá, zda má svítit Anetí kontrolka. Protože ta je i přes napájení 12V (vytažených 12V z PC) zhasnutá. Ve dřevákovi ale svítí.

        • Miroslav Kováčik says:

          Kontrolka nesignalizuje pouze připojené napájení, ona se rozsvítí až když má připojené periferie.
          Jen zrekapituluji postup abych se ujistil že mluvíme o stejné věci.
          1. Připojíte Arduino Uno k PC, a vložíte na něj program Arduino as ISP
          2. Připojíte Anet desku pomocí šesti kabelů, změníte vývojovou desku má Anet 1.0, programátor zvolíte Arduino ISP a nakonec vypálíte zavaděč.
          Pak všechno odpojíte a na Anet desku jednoduše přes USB kabel nahrajete Marlina.

  6. Jiří Kolda says:

    zdravím zkouším vypálit bootloader na anet A8 základní deska v1-5 na arduino UNO jsem nahrál program arduinoISP (příklady-ArduinoISP) poté jsem uno připojil k desce na anetě anet GND do arduino GND, anet VCC do arduino +5V, anet MISO do arduino 12, anet SCK do arduino 13, anet RESET do arduino 10, anet MOSI do arduino 11 (mezi GND a RESET jsem dal 4,7uF kondenzátor) V arduino IDE jsem nastavil vývojová deska: AnetV1.0 (Optiboot), vybral jsem správný port a programátor nastavil na Arduino as ISP potom jsem kliknul na “vypálit zavaděč” a výsledkem byla chybová hláškaú (avrdude: stk500_disable(): unknown response=0x12
    Chyba při vypalování zavaděče.) PS:Anet byla zapojená normálně do zásuvky ale žádná LED nesvítila jenom na Arduinu

  7. Vladimír Nejedlý says:

    Dnes jsem se k tomu konečně dostal a nezbývá než poděkovat. Vše funguje tak jak má. Ta rekapitulace pomohla víc než celý článek.
    A další poděkování samozřejmě za OptiBoot

  8. Vladimír Nejedlý says:

    Nezbývá nic jiného než poděkovat. Vše funguje tak jak má, jen jsem přeskočil důležitý krok. Stejně tak děkuji za článek Optiboot.

  9. Antonín Roll says:

    Děkuji, děkuji, děkuji 🙂
    Díky Vašemu webu a návodům jsem se z amatérského teoretika 3D tisku 🙂 posunul o několik úrovní výše. Minulý pátek jsem si půjčil z klubu tiskárnu HERO101 s kterou jsem poprvé v životě vytiskl asi dvě a půl nepovedených věcí. Zápasil jsem s podložkou a pod. A tak ji zavrhl (tiskárnu) a jen tak si koupil ANET E10 (v1.5). V pondělí objednáno a v pátek doručeno. Filament jsem vzal od Průši a už se v pátek tisklo. Dnes je sobota večer a já mám nahraný MERLIN a jdu si hrát a kalibrovat.
    Ještě jednou děkuji za to, že se nezištně dělíte o informace, které jste nezískal zadarmo, ale potem vlastní krve 🙂
    Přeji krásný den Tonda 🙂

    • Miroslav Kováčik says:

      Děkuji Tondo, jsem moc rád, že pro vás články byly přínosem. Určitě náš web sledujte i nadále. Už teď si v hlavě nosím několik dalších článků, které doufám budou pomáhat…

  10. Radim Habala says:

    Zkoušel jsem, ale kdykoliv připojím napájení z arduino uno k desce anet zhasne arduino i aneta. Prosím, poraďte.

    • Miroslav Kováčik says:

      Takové chování je velmi zvláštní. Jste si úplně jistý správností zapojení? Obě komponenty nezávisle na sobě fungují dobře?

  11. Martin says:

    mne pri paleni bootloaderu vypise toto :
    (pouzivam cinsku kopiu mega2560, zapojene podla schemy v komentaroch)

    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.

    Error while burning bootloader.

    • Miroslav Kováčik says:

      Něco tam musíte mít asi špatně. Pošlete mi třeba do mailu (info@3dfactory.cz) několik fotek jak to máte zapojené a IDE nastavené a něco vymyslíme.

      • Martin says:

        zdravim, tak som na to asi po 5 minutach od odoslania prispevku prisiel. Stacilo po celu dobu flashovania drzat reset tlacitko na anet doske (snad to pomoze aj dalsim s rovnakou chynou 🙂

  12. josek says:

    Dobrý den. Před časem jsem podle tohoto článku s užitím Arduina uno vypálil na desku Anet A8 Optiboot a pak Marlin 1.1.9 s aktivovaným autolevelem i možností výměny filamentu – vešlo se v pohodě. Teď po výměně senzoru Z potřebuji změnit souřadnice polohy senzoru vůči trysce ve firmwaru desky (v souboru configuration.h v Marlinu 1.1.9). Musím opakovat celou proceduru s arduinem uno a Optibootem, nebo mohu začít rovnou vypálením upraveného firmwaru Marlin 1.1.9 podle postupu v článku “Nahrání firmware Marlin”, tj. volit v nástrojích programu Arduino desku Anet V1.0 (Optiboot) a Programátor ” AVRISP mkII ” ? Děkuji za radu.

    • Miroslav Kováčik says:

      Dobrý den, bootloader se “odemyká” jen jednou. Nyní již stačí nahrát upravený program.

  13. kenybalboa says:

    Dobry den mam anet a8 1.5 atmega 1284P. Zkousel sem to nekolik hodin , vsechny pokusy byli marne.Pres arduino as ISP lze nahrat bootloader jen v IDE 1.6.13. ale na nic vic to dale nereaguje. Jediny zpusob , ktery vysel , je pres USBASP .Musi se pres USBasp (treba z aliexpresu) nahrat bootloader , pote je potreba upravit v configuration.h polozku na tuto hodnotu #define MOTHERBOARD BOARD_MELZI (nastavi se to MELZI).Pak je mozno nahrat do ANET pres usb marlin , je potreba externi napajeni ANETY.

    • Miroslav Kováčik says:

      Dobrý den, je škoda, že máte s deskou takové komplikace. Nicméně měnit motherboard type není nejlepší řešení. Melzi má velmi podobný koncept ovšem je potřeba to pak přehodit zpět protože né všechny piny jsou zapojeny totožně. Pokud to ve vašem případě fungovalo, určitě to byl dlouhý proces zkoušení, nicméně to nebude obecné pravidlo pro všechny případy. Nahrál jsem bootloader do velké spousty desek od tronxy přes ender atd ale s tímto jsem se nesetkal. Každopádně vám velmi děkuji za věcný komentář, někomu se určitě může hodit.

    • Miroslav Kováčik says:

      Dobrý den, je škoda, že máte s deskou takové komplikace. Nicméně měnit motherboard type není nejlepší řešení. Melzi má velmi podobný koncept ovšemje potřeba to pak přehodit zpět protože né všechny piny jsou zapojeny totožně. Pokud to ve vašem případě fungovalo, určitě to byl dlouhý proces zkoušení, nicméně to nebude obecné pravidlo pro všechny případy. Nahrál jsem bootloader do velké spousty desek od tronxy přes ender atd ale s tímto jsem se nesetkal. Každopádně vám velmi děkuji za věcný komentář, někomu se určitě může hodit.

  14. kenybalboa says:

    Jeste jednodussi je tohle.Marlin ma v sobe polozku example_configuration.Tady se vybere Anet a tam sou 2 soubory.Ty se nakopirujou do adresare kde je marlin.ino(prepsat ano).A pak se to cele posle do Anety.Koneckoncu tady z toho example by se asi na kazdy typ tiskarny melo kopirovat nastaveni…

    • Miroslav Kováčik says:

      Dobrý den, přesně takto se to dělá a přesně tak jsem se to snažil do článku napsat. Tiskárna Anet má velkou základnu uživatelů, proto je již základní nastavení přímo v marlinu. Opravdu stačí jen překopírovat ty dva soubory.

  15. Šimon says:

    dobrý den mne pri paleni bootloaderu vypise toto :
    (pouzivam kopii uno r3)

    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.

    Error while burning bootloader.

  16. Pepa says:

    Dobrý den,
    mám stejný problém jako několik z vás a to je
    “avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.

    Chyba při vypalování zavaděče.”

    – používám klon Arduino Nano R3
    – vývojové prostředí Arduiono 1.8.9
    – nahrát ArduinoISP na Nano R3 prošlo v pořádku (nastavení Vývojová deska-> Arduino Nano, procesor -> ATMega328P (Old Bootloader), programator-> AVRISP mkII)
    – připojil jsem konektory na Nano R3 konektory ISCP
    – dle instrukcí jsem nastavil (Vývojová deska-> Anet 1.0 (optiboot), programator-> Arduino as ISP) a zkusil vypálit zavadeč
    Podle konverzace výše někdo radil také držet RESET button na Anet desce po dobu flashování tento krok navíc vygeneroval chybu:

    “avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xd2”

    Setkal se s tím někdo případně přišli jste na to jak danou situaci vyřešit? V případě, že danou desku nedokážu zprovoznit určitě neplánuji kupovat nový board od Anet ale směřoval bych na kombinaci Arduino Mega + Ramps 1.6.

    Díky moc za případné rady

    • Miroslav Kováčik says:

      Dobrý den, možná jde jen o chybu v přepisu ale určitě máte verzi arduino nano? Není to Arduino Uno R3? Teoreticky by vám to nešlo nahrát ale… Zkuste si opatřit prostředí IDE verze 1.8.5

      • Pepa says:

        Chvíli po napsání mě napadla ještě jedna věc propojil jsem konektory přes ISCP akorát RESET jsem zapojil na D10. Bootloader se vypálil a nahrál jsem také Merlin ale problém je teď ten, že i přes nahrání Merlina svítí displej a na něm několik bílých kostiček ale nic víc i přes opakované nahrání Merlina. Arduino IDE jsem změnil na 1.8.5. Napadá vás co se mohlo stát?

      • Pepa says:

        Udělal jsem ještě několik testů:
        – tisk přes octoprint funguje společně se zahříváním hotbedu
        – displej nejdříve najede cca bez 7 čtverců z horní řady a poté zůstane na obrazovce jen daných 7 čtverců horní řady, které původně chyběly (když tiskárnu zapnu vypadá to že proběhne animace ale není vidět žádný text jen postupně mizí čtverce)
        – zkusil jsem znova přehrát bootloader a MARLIN a výsledek je totožný (použil jsem poslední verzi MARLIN, posláno přes Arduino IDE 1.8.5, Vývojová deska -> Anet V1.0 (Optiboot))
        Podle toho co jsem tam zběžně googlil se jedná
        – zničená deska (ale proti mluví to, že jde tisknout přes octoprint)
        – zničený displej ovšem tady netuším čím bych ho zničil
        Napadá vás jak bez nutnosti půjčení displeje z jiné Anety zjistit kde se nachází problém?

        Díky za radu

        • Miroslav Kováčik says:

          Dobrý den, bílé kostičky na displeji značí podařené nahrání bootloaderu. Poté co pak nahrajete Marlin, měl by se displej normálně rozjet. Pokud se vám tedy nahrání Marlin podařilo, neviděl bych chybu v displeji samotném ale možná v nastavení firmware.

  17. Pepa says:

    Použil jsem přednastavené konfigurační soubory ze složky “example_configurations”. Napadá vás co by zde mohlo být nastaveno chybně? Mám desku verze 1.5.

    Díky

    • Miroslav Kováčik says:

      To by tedy mělo být v pořádku. Přednastavení pro Anet A8, to sedí ano? Pak tedy jedině vypůjčit jiný displej a vyzkoušet. Nic jiného mne nenapadá.

  18. Jaroslav Ivanov says:

    Pri nahrávani firmware Marlin mi vypiše hlášku: non-constant conditiom for static assertion. Ako si s tým poradiť?

  19. Antonín Roll says:

    Tak se musím smát (sobě),
    vloni jsem nahrál vše do Anet v1.5 a dnes již několik hodin zápasím s instalací nového Merlin 🙂 Jak to člověk dlouho nedělá, hned to zapomene 🙂

Napsat komentář

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