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

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

  1. 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é.

    1. 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ý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ů

    1. 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. 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?

    1. 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. 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. 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)

    1. 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.

      1. 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í.

        1. 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. 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. 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. 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. 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 🙂

    1. 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. Zkoušel jsem, ale kdykoliv připojím napájení z arduino uno k desce anet zhasne arduino i aneta. Prosím, poraďte.

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

  11. 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.

    1. 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.

      1. 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. 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.

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

  13. 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.

    1. 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.

    2. 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. 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…

    1. 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. 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.

    1. Taky používám kopii UNO R3, tím to nebude. Řekl bych, že máte něco špatně zapojené…

Napsat komentář

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