Elektronika Gen7 pro RepRap

Projekt 3D tiskárny RepRap sleduji už delší dobu, ale teprve nedávno jsem se konečně rozhodl si ji postavit. Pokud se o RepRap zajímáte nebo jste již nějaký postavili, pak víte co to je a jak celý projekt vypadá. Jestli o RepRapu slyšíte poprvé, tak jen stručně – RepRap je open-source hardware projekt, který si klade za cíl vytvořit 3D tiskárnu z levných a běžně dostupných zdrojů. Jelikož jsem zrovna ve fázi, kdy stavím elektroniku, bude se následující text zabývat jí. Mechanická část a další informace přijde na řadu snad později.

Verze RepRapu

Jelikož projekt sleduji už nějakou dobu, tak mě ani nepřekvapil chaos a anarchie, která v projektu vládne. A to nemyslím nijak zle, to je prosté konstatování skutečnosti. Pokud se rozhodnete postavit si RepRap opravdu od základu a sami, připravte se na velké množství verzí a nedokončené dokumentace. Je potřeba vybrat typ RepRapu, který chcete postavit (nejvíce pozornosti teď získala verze Prusa i3, i ta má ale dvě možné varianty) a podle toho si nechat vytisknout plastové části. Dále musíte vybrat vhodnou elektroniku a k ní firmware, vhodný extruder a hotend a vyřešit spoustu dalších detailů. Pokud se jako já rádi hrajete a baví vás řešit takovéto problémy, pak je volba jasná. Naopak, pokud chcete co nejrychleji tisknout nebo vás nebaví znovu vymýšlet kolo, můžete si sehnat kompletní stavebnici a tu jednoduše během několika málo hodin postavit, anebo vyrazit na některý workshop, kde se RepRapy hromadně staví. Verze, kterou jsem se rozhodl postavit já je Prusa i3, single frame s elektronikou Gen7 verze 1.5 a firmwarem Teacup. Snad se časem ukáže, že to byla dobrá volba :)

Elektronika Gen7

Elektronika Gen7
Pokud si chcete postavit RepRap s elektronikou Gen7, ale netroufáte si na její sestavení a oživení, rád vám ji vyrobím. Případní zájemci, pište prosím na můj email slintak (zavináč) uart (tečka) cz.

Na rozdíl od jiných elektronik je Gen7 navržen tak, aby se dal lehce vyrobit doma. Deska plošného spoje je jednostranná, obsahuje pouze vývodové součástky (já osobně bych spíš uvítal SMD, abych nemusel tolik vrtat) a obsahuje konektory pro přímé připojení ATX zdroje z osobního počítače. V současné době je deska ve verzi 1.5 a obsahuje:

  • mikrokontrolér ATMega644 nebo ATMega1284,
  • funguje s 20 MHz krystalem,
  • MCU sám zapíná a vypíná ATX zdroj,
  • místo pro 4 řadiče Pololu A4988 (a možnost zapnout nebo vypnout microstepping),
  • převodník USB na UART,
  • vstupy pro 2 termistory,
  • tranzistory pro spínání hotendu a heated bed,
  • vstupy pro 3 optické endstopy,
  • desku je možné jednoduše rozšířit o další vlastnosti (například spínání ventilátoru).

Kompletní stavebnici této elektroniky nabízí sám autor Markus „Traumflug“ Hitter na webu reprap-diy.com. Jelikož je ale layout DPS a seznam součástek volně dostupný (a pod licencí CC BY-NC-SA 3.0), můžete si ji vyrobit sami.

Plošný spoj

DPS je jednostranný o velikosti asi 10×13 cm. Schéma i layout verze 1.5 můžete nalézt v Github repozitáři, hledejte soubory Gen7Board-AVR 1.5 Schematic.pdf a Gen7Board-AVR 1.5 Layout.pdf. Já jsem desku vyráběl osvitem. Layout si nejdříve před tiskem zrcadlově otočte (tak, abyste pak mohli stranu na které je inkoust nebo toner položit přímo na DPS, pro osvit je to lepší) a vytiskněte na průhlednou fólii (během tisku nastavte co největší kontrast a kvalitu). Samotný osvit a leptání pak probíhá standardně, jen si připravte dostatečně velké nádoby, je to dost velká deska.

Moje vyleptaná deska pro Gen7 elektroniku.
Moje vyleptaná deska pro Gen7 elektroniku.

Teď následuje ta obtížnější část :) vyvrtat všechny díry. Vystačíte si s vrtákem o průměru 0,8 mm, pouze konektory CONN1, CONN2, CONN3 pro zdroj, tranzistory Q1 a Q2 a k nim patřící konektory je potřeba vyvrtat alespoň 1,2 mm (pro jistotu i víc, nic se nestane).

Součástky

Seznam součástek naleznete na oficiální wiki stránce Gen7. Rezistory, kondenzátory a konektory jsou klasické, seženete je kdekoliv (u elektrolytů doporučuji volit napětí 35 a více Voltů). Konektory pro zdroj, mikrokontrolér a MCP2200 se hůř hledají, já je nakonec nakoupil v TME.eu, zde jsou odkazy:

Osazení a oživení

Osazení je jednoduché a přímočaré. Jediná součástka, která jde ze strany spojů je MCP2200, všechny ostatní jsou na straně součástek. V první fázi připájejte vše, kromě tranzistorů Q1 a Q2 a mikrokontrolér ještě nepřipojujte do patice. Jakmile budete mít hotovo, zkontrolujte případné zkraty pomocí multimetru a pokud nebude viditelný žádný větší problém, jumperem spojte propojku J14 (viz fotografie).

Zelený jumper v pravé části připojí elektroniku k 5V stand-by, které poskytuje ATX zdroj.
Zelený jumper v pravé části připojí elektroniku k 5V stand-by, které poskytuje ATX zdroj.

ATX zdroje poskytují 5V stand-by napětí i když jsou vypnuté, to využijeme pro napájení celé elektroniky. Nyní zapojte ATX zdroj do všech 3 konektorů. Můžete použít ATX20 i ATX24, obě verze jdou ke konektoru připojit a orientaci nelze poplést. Po připojení zdroje do el. sítě by se měla rozsvítit LED3  (na fotografii je to jediná červená dioda), což indikuje, že je elektronika pod napětím. Pokud je vše v pořádku a nic neshořelo, :) zkratujte propojku a pravý dolní pin patice (viz zelené šipky na fotografii níže). To způsobí, že se ATX zdroj zapne. Pokud je stále vše v pořádku, zkontrolujte úrovně napětí podle fotografie.

Úrovně napětí pro kontrolu (zdroj: oficiální wiki Gen7).
Úrovně napětí pro kontrolu (zdroj: oficiální wiki RepRapu).

Jesliže jsou napětí jak mají být, můžete zdroj zase odpojit a připájet zbytek součástek – tranzistory a zapojit mikrokontrolér do patice. Tím je elektronika hotová a připravená k naprogramování.

Bootloader a firmware

Programovací piny jsou nad MCU.
Programovací piny jsou nad MCU.

Jelikož je přímo na desce převodník USB na UART, budeme chtít, aby se mikrokontrolér dal programovat skrze UART. K tomu je potřeba bootloader a správně nastavit fuses. Zdrojový kód bootloaderu je možné nalézt na Githubu. Buď si stáhněte nejnovější zdrojové kódy a ty si sami přeložte (součástí kódů je readme a Makefile, postupujte podle nich) nebo stáhněte ZIP soubor Gen7 Arduino IDE Support v2.0. Ve složce Gen7/bootloaders/Gen7 najdete již přeložené binárky bootloaderů pro různé typy mikrokontrolérů a krystalů. V mém případě jsem zvolil soubor bootloader-1284P-20MHz.hex, který jsem následně nahrál do MCU (programovací 2×3 piny jsou nad mikrokontrolérem):

$ avrdude -c usbasp -p m1284p \
> -U lfuse:w:0xF7:m \
> -U hfuse:w:0xDC:m \
> -U efuse:w:0xFC:m \
> -U flash:w:bootloader-1284P-20MHz.hex

Verze bootloaderu
Pokud používáte MCU ATMega1284P a 20 MHz krystal, použijte bootloader verze 2.0 (viz odkaz výše). Novější verze 2.1 v současné době pro tuto kombinaci nefunguje. Pokud máte 16 MHz krystal, verzi 2.1 můžete použít.
Nyní můžeme přejít k naprogramování vlastního firmwaru. V tomto okamžiku již můžete AVR programátor odpojit, protože o programování se bude starat bootloader a USB-UART převodník. Popis kompilace firmwaru Teacup pro Gen7 elektroniku nechám na jindy (je tam hodně nastavení a konstant, které je potřeba upravit, vše je ale dobře zdokumentované), předpokládejme proto, že máme binárku firmwaru připravenou. Programování proběhne následujícím způsobem (elektronika je připojena ke zdroji a přes USB k počítači):

$ avrdude -c stk500v2 \
> -b 115200 \
> -p atmega1284p \
> -P /dev/tty.usbmodem641 \
> -U flash:w:teacup.hex

A na závěr ještě malá drobnost. V továrním nastavení jsou u čipu MCP2200 vypnuty signalizační LED. Jelikož jsme je osadili, bylo by vhodné je zapnout, takže během komunikace s PC budou blikat. K tomu slouží utilita MCP2200 Configuration Utility v1.3.1, která je ale bohužel pouze pro Windows. Program nainstalujte, opět připojte elektroniku ke zdroji a k PC a v aplikaci zapněte volbu Enable RX/TX LEDs, vše ostatní nechejte v původním nastavení.

Jak elektroniku vyzkoušet

Jestli vše funguje lze zjistit následujícím způsobem. Stáhněte a nainstalujte si aplikaci Printrun, která slouží k ovládání a tisku na RepRapu (aplikací je více, já jsem zvolil právě tuto). Jestliže se vám podaří připojit k elektronice (je potřeba zvolit vhodný port, nastavit baud rychlost 115200 a zmáčknout tlačítko Connect), pak vše funguje jak má.

Závěr

Pokud jste se dostali až sem, měli byste mít na stole plně funkční elektroniku pro tiskárnu RepRap. Ještě zbývá připravit si dva termistory, tři optozávory, topné těleso a vyhřívanou podložku na dostatečně dlouhých vodičích zakončené konektory (protikusy k těm, co máte na desce). Také je potřeba obstarat si řadiče motorů (pravděpodobně Pololu 4988, ale nic nebrání postavit si vlastní) a motory samotné. Řadičů je potřeba čtyři a motorů pět (o nich jsem se již trochu rozepsal v článku Napětí krokových motorů). O tomto napíšu pár řádků, až budu mít sám hotovo a vše připraveno. Zrovna teď se zabývám výrobou vlastního hotendu (tedy abych byl přesný – tiskárnu stavím s kamarádem, on je strojař a má soustruh, já radím a on soustruží :) ) a čekám až mi přijdou plastové části. Jak bude čas a nějaké nové informace, pokusím se zase sepsat pár řádek.