Dálkové ovládání 3D tiskárny

 

Dobrý den, vítám vás z malé továrny na velké věci s dalším článkem. Jestli jste postupovali krok za krokem napříč našimi návody, máte nainstalovaný tiskový server octoprint a ovládáte tisk odkudkoliv s přístupem k internetu. Je to věc hodně praktická, pokud třeba tisknete velký objekt, který se může pokazit, jste schopni tisk na dálku vypnout a zachránit tak nemalé množství plastu. Nejen tento způsob použití ale najde uplatnění. Výhod je spousta.

 

Dnes se pokusíme posunout tento systém ještě o kousek dále a to tak, že budeme nechávat raspberry pi stále zapnuté a pomocí něj budeme zapínat celou tiskárnu a případně nějaké další periferie jako třeba osvětlení. Kdykoliv se tedy podívám na stránku svého octoprintu, z minulého článku třeba „mujoctoprint.hopto.org“ zapnu tiskárnu, rozsvítím si světlo a můžu tisknout, ať už jsem zrovna kdekoliv. Stačí k GPIO boardu (vstupní/výstupní piny) raspberry pi, připojit relé a tím ovládat zátěž. Abychom ale naše raspberry příliš nezatěžovali, ve skutečnosti budeme ovládat tranzistor, který následně bude ovládat relé a teprve to, nám ve výsledku připojí tiskárnu do sítě. Důvodem je omezení výstupního proudu GPIO na cca 25mA které k sepnutí relé nestačí.

Hned v úvodu si dovolím tento článek rozdělit na dvě části. Kdo z vás je zkušený elektronik, vytvoří si relé obvod sám. Kdo elektronik není, ale už někdy nějaký obvod stavěl, přečte si odstavce textu, kde si navrhneme zapojení s tranzistorem jako spínačem. A ti z vás, kteří elektronice nerozumí vůbec, obstarají si hotový reléový modul, který pouze připojí. Poslední část článku bude opět společná a nainstalujeme si v ní do octoprintu rozšiřující plugin kterým budeme naše relé ovládat.

Koupený reléový modul

Začnu pěkně popořádku poslední možností, hotový reléový modul. Takový modul s jedním nebo více relé je k dostání na českém internetu v mnoha eshopech. Pořizovací cena se pohybuje do 100 Kč za jeden spínací kanál, tedy jedno relé. Musím ale zmínit nízkou odolnost těchto spínacích relé. Nejednou se mi stalo, že se kontakty relé po několika sepnutích „zapekly“ napěťovými špičkami a zůstaly navždy sepnuté. Odběr proudu tiskárny nebývá velký, kolem 1A, ale proudový ráz těmto malým relé vyloženě škodí. Možným řešením by bylo připojení vhodného varistoru paralelně ke svorkám relé, které by všechny napěťové špičky poslalo do zkratu. Takové „poloviční“ řešení ale v naší továrně nechceme.

Vlastní řešení

Nezbývalo tedy, než si vyrobit obvod, řekněme, trochu robustnější. Větší relé však potřebuje více proudu k přitažení kotvy a více proudu tekoucího přes raspberry pi může způsobit jeho poškození, nebo v lepším případě jen restart. To je totiž primárně stavěno na odběr přibližně 25mA, které nám k sepnutí relé nestačí. Proto je třeba mezi relé a raspberry připojit tranzistor v zapojení jako spínač. Schéma je jednoduché, odporový dělič, tranzistor, relé, blokovací dioda.

 

 

Uvedu příklad výpočtu parametrů:

Vybrali jsme si nějaké relé, příkladem RM40-2011-85-1005 z GES. Vidíme, že toto relé je určeno pro napětí 5V na cívce a odpor jejího vinutí je 125R (ohmů). 5V/125R = 0,04A, vinutím relé poteče proud 40mA. Ze schématu vidíme, že proud Ic je stejný proud jako proud vinutím relé. Aby tranzistor sepnul 40mA, musí mít proud Ib, tekoucí jeho bází alespoň velikost Ic děleno proudovým zesilovacím činitelem tranzistoru (DC Current Gain – hFE). Podíváme se do dokumentace k tranzistoru, který použijeme – zajímá nás nejnižší možná hodnota hFE. Nedejte se zmást tím, že se hFE udává pro různé proudy Ic, takže najdeme že BC337-25 má pro Ic=100mA hFE nejméně 160. Vypočteme 40mA/160=0,25mA. To je tedy proud, který sepne naše relé, když teče bází našeho tranzistoru. Ovšem tato hodnota je nejmenší, která je ještě použitelná, takže v praxi zvolíme proud bází 3 až 5x vyšší, než je nutné, tedy 0,25*5=1,25mA. Nějaká super přesnost nás v tomto případě nezajímá. Víme, že napětí mezi bází a emitorem bude v sepnutém stavu zhruba 0,7V. MCU, nebo to, co spíná svým výstupem tranzistor, bude mít pro náš příklad výstupní úroveň napětí 3,3V.  Na rezistor R1 nám tedy zbude napětí 3,3V-0,7V=2,6V. Aby přes R1 teklo 1,25mA, potřebujeme, aby měl odpor 2,6V/0,00125=2080R. Zvolíme 2k, protože to je snadno dostupná velikost, která je nejblíže k vypočtené hodnotě. Pro kontrolu: 2,6V/2000=1,3mA. To je ale proud rezistorem R1, před bází tranzistoru je ještě rezistor R2, o jehož proud (Ir2) bude proud bází (Ib) nižší. Proud Ir2 je napětí mezi bází a emitorem (0,7V) děleno odporem rezistoru R2. V praxi se často používá stejná hodnota pro R1 a R2. Je to z praktických důvodů – čím méně různých hodnot v zapojení, tím lépe. Tedy 0,7V/2000=0,35mA. Proud bází je tedy 1,3mA-0,35mA=0,955mA. Stačí nám 0,955mA k plnému otevření tranzistoru pro 25mA, při hFE minimálně 160? 0,955mA*160=152mA, což je více než trojnásobek toho co potřebujeme, je to tedy správně. Hodnotu R1 a R2 proto necháme 2k.

Ještě vysvětlím, proč je paralelně k relé zapojená dioda. Relé přitahuje kontakt cívkou, která má určitou indukčnost, a ta při rozepnutí proudu (který jí teče) vygeneruje napěťovou špičku, která by mohla spínací tranzistor prorazit. Diodou způsobíme to, že se při rozepnutí proudu uzavře obvod kolem indukčnosti a k proražení tranzistoru nedojde. Pro běžná relé stačí dioda 1N4007.

 

Nechám na vás, jestli si pro své relé a tranzistory vytvoříte desku plošných spojů nebo se spokojíte s nepájivým polem. Tak jako tak, přichází čas, připojit obvod k raspberry pi.

 

 

Z obrázku je patrné, že míst k připojení je hromada. Pro účely tohoto článku jsme použili krajní pin 03, 05 a 06 tedy přesněji GPIO02, GPIO03 a GND, vy si však vyberte kterékoliv jsou vám blízké. Důležité bude sjednotit zemnící potenciály tedy spojit minusový pól napáječe raspberry pi s minusovým pólem napáječe relé.

Nesnadnější provedení se nabízelo ze “šuplíkových” zásob s použitím univerzálního plošného spoje. Koupili jsme jen 2 relé za necelých 100kč, zbytek se povaloval kolem. Kdybychom však měli koupit vše, počítám že by se cena nepřehoupla přes 200kč. Hodně muziky za málo peněz a k tomu příjemný pocit z dobře strávené hodinky práce.

Instalace

Nyní přichází na řadu instalace pluginu s názvem “Enclosure plugin” z repozitáře octoprint. Po přihlášení do vašeho octoprint serveru, stačí přejít do nastavení, kliknutím na ikonu klíče. V levém menu nově otevřeného okna zvolíme možnost “Plugin Manager”. Další kliknutí bude na tlačítko “Get More…” v plugin manageru.

 

Nyní do vyhledávacího řádku místo “Search…” napište “enclosure”, zobrazí se plugin s názvem “Enclosure Plugin”, který kliknutím na modré tlačítko “Install” jednoduše nainstalujete. Octoprint vás po dokončení instalace požádá o jeho restart. Poté již na hlavní obrazovce naleznete vedle karet “temperature”, “control” atd. také kartu “Enclosure Plugin”.

Než-li se pustíme do ovládání, musíme jej prvně nastavit. Respektive určit, na kterém GPIO pinu máme připojené relé. Tedy, ikona klíče v horní liště, poté v levém menu, úplně na konci seznamu, volba “Enclosure Plugin” jako na obrázku.

Nyní je na řadě, přidat ovládané výstupy tlačítkem “Add Outputs…” Po kliknutí se vám zobrazí nabídka nastavení která vypadá takto:

Jaké nastavení se vlastně nabízí? Z těch důležitých je to jen “IO Label” tedy název výstupního pinu. V tomto případě jsem zvolil příznačný název tiskárna. Dále zadáme který GPIO pin jsme pro spínání tiskárny zvolili. Následující dvě zaškrtávací políčka “Auto Startup” a “Auto Shutdown” pouze určují, jestli se GPIO pin sepne automaticky při zapnutí Octoprintu a vypne při dokončení tisku. Tuto volbu nechávám prázdnou protože mnohdy tisknu více věcí po sobě a nechci aby se mi mezi jednotlivými tisky tiskárna pokaždé vypínala. Poslední zaškrtávací políčko na stránce pouze udává, jestli bude na GPIO pinu logická 1 (3,3V) nebo logická 0 (0V) v době, kdy bude aktivní. Nechte tuto volbu prázdnou pokud jste použili zapojení z tohoto článku. Jinak se vám tiskárna zapne, až když kliknete na vypnout a obráceně.

 

Hotovo…

Pokud jste postupovali přesně podle článku, mě by jste mít hotovo. Nyní již svou tiskárnu můžete zapínat a vypínat přes octoprint odkudkoliv na světě, kde máte přístup k internetu.

Přeji vám mnoho úspěšných tisků a budu rád, pokud se o tento článek podělíte s dalšími tiskaři pro které by mohl být přínosný.

 

11 thoughts on “Dálkové ovládání 3D tiskárny

    • Miroslav Kováčik says:

      Dobrý den, zapojení koupeného relé modulu je snadné. Na vstupní piny si zapojíte 5V napájení, zem a spínací výstup z raspberry pi. Stejně jako je to u vyrobeného zapojení.
      Na výstupu relé jsou pak 3 kontakty – no (normaly open), vstup, nc (normaly close)
      Na střední kontakt si tedy přivedete fázový vodič k napájení tiskárny. Na levém kontaktu bude fáze při vypnutém relé, na pravém kontaktu se objeví při zapnutém relé.
      Pěkné zapojení najdete třeba na obrázku zde:

      https://goo.gl/images/66NM7H

      zapojení relé

  1. rollfree says:

    Slepení kontaktů relé nezpůsobují napěťové špičky, ale proudové špičky. Takže varistor paralelně k cívce nic neřeší.
    Proudové špičky, které vznikají při spínaní kapacitní zátěže (v tomto případě hlavně spínaného zdroje) se dají omezit vřazením ochranného NTC do přívodu ke zdroji. Případně i do obou větví (na fázi i pracovní nulu, tj. svorky L a N).

  2. petous22 says:

    A co místo relé použít SSRko? Proudové špičky nebudou vadit, protože spíná zátěž v nule, nemusí se nic moc bastlit, dají se vybrat s indikační led a na 5V ovládání.

    • Miroslav Kováčik says:

      Solid state relé je taky možnost. Osobní zkušenost nemám ale je jasné, že by to fungovalo bez potíží. Já se jen vydal cestou bastlení.

  3. kisiday.jozef2 says:

    Dobrý deň. Chcem Vám poďakovať za Vaše články. Sám som len nedávno začal s 3D tlačou a veľa som sa z Vašich článkov naučil. Spravil som si diaľkové vypínanie tlačiarne, ale použil som plugin “PSU Control”, ktorý pracuje bezchybne a v menu mám symbol blesku. Plugin “Enclosure” chcem použiť napr.: na zapínanie svetla pre kameru pri snímaní.

    • Miroslav Kováčik says:

      Dobrý den, zkontroloval jsem články a všude obrázky vidím. Zkuste znova načíst stránku nebo třeba jiný prohlížeč. Internet Explorer, Mozilla Firefox i Google Chrome mi obrázky zobrazují.

  4. Lumir says:

    Zdravím Vaše články jsou super, jen tak dále 😉 Mám problém s tímto “enclosure” pluginem. Po instalaci se mi v hlavní nabídce zobrazí (Temperature; Controll….), ale když na něj kliknu nic se neukáže 🙁 Zkoušel jsem ve třech prohlížečích a všude je to stejné. Na netu jsem k tomuto problému nic nenašel 🙁 Zkusíte poradit?

    • Miroslav Kováčik says:

      Dobrý den, děkuji za pochvalu. Takto, již jsme si psali a problém vyřešili, jen pro ostatní přidám: plugin je potřeba před spuštěním / uvedením do funkce / nastavit. Zejména jde o nastavení, který GPIO se bude používat atd.

Napsat komentář

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