3D tiskárna – problém s tiskovým serverem

S častějším 3D tiskem a vzrůstající venkovní teplotou se začal Octoprint server chovat nespolehlivě. Někdy naběhnul až na 5 pokus, zhoršovala se jeho odezva a občas se tisk zastavil.

1. Diagnostika

Octoprint mi běží na Orange PI Zero s nainstalovaným Armbianem. Začal jsem hledat, jestli někdo neřešil problém s podobným chováním. Hledal jsem, jak ve spojitosti s Octoprintem, tak pouze Orange PI Zero a Armbianem. Co se najčastěji objevovalo jako možný zdroj problémů?

  • SD karta
  • napájecí zdroj
  • přehřívání

2. SD karta

Karta vypadala jako velmi pravděpodobný zdroj problémů. Armbian dokonce v dokumentaci doporučuje použití pouze karet označených jako A1.

Kartu jsem vyměnil s čistě flashnutým Armbianem a Octoprint. Octoprint začal startovat o poznání lépe, ale stále ne hned při prvním zapnutí.

3. Napájecí adaptér

Některé napájecí adaptéry nedodávájí uvedený štítkový proud. Také po delším době používání dochází ke snížení dodávaného max proudu.

Adaptér jsem vyměnil za nový značkový 2.5A. Díky tomu už startoval Octoprint hned při prvním zapnutí.

4. Přehřívání

Zbývalo dořešit, proč Octoprint přestal posílat data tiskárně. Hledal jsem na forech, prohledával logy, ale k ničemu to nevedlo. Žádný zásadní důvod jsem nemohl najít.

Během hledání jsem zaznamenal zmínku o možnosti přehřívání Orange PI Zero. To mi přišlo, jako možná příčina zastavení tisku.

Orange PI Zero jsem opatřl malým nalepovacím pasivním chladičem a při teplotě okolí 26°C začal testovat.

Nalepený malý pasivní chladič.

4.1 Měření CPU

Pomocí následujícího příkazu si můžeme nechat vypisovat aktuální informace o CPU.

V nečinnosti a s nalepeným chladičem dosahovala teplota CPU 55°C.

4.2 Syntetické zatížení CPU

Pro účely měření teploty CPU bylo nutné najít způsob, jak nejlépe simulovat zatížení.

Pro syntetické testy lze použít příkaz:

4.3 Simulace tisku

Snažil jsem jsem se najít způsob, jak simulovat tisk, aniž bych musel skutečně tisknout na tiskárně.

Octoprint myslí naštěstí na všechno a je možné pro účely ladění sériové komunikace nainstalovat virtuální port, na kterém probíhájí stejné procesy jako na portu skutečné tiskárny.

Stačí editovat configuračního souboru Octoprintu v umístění:

Přidat:

Po restartu Octoprintu se nám nabízí nový virtuální port, který vybereme, připojíme a spustíme tisk.

Vybraný virtuální port.

Během tisku jsem opět měřil teplotu CPU, která po cca 30 minutách dosáhla skoro 80°C.

4.4 Snižujeme teplotu

Další snížení teploty bychom mohli dosáhnout větším chladičem (neměl jsem), aktivním chlazením (instalaci brání rozšiřujicí deska), podtaktováním CPU, lepším větráním krabičky.

4.4.1 Podtaktování CPU

Minimální a maximální frekvence CPU je uložena v souboru /etc/default/cpufrequtils.

Soubor editujeme pomoci:

Přípustné frekvence CPU si necháme zobrazit pomoci příkazu lscpu.

Ve výpisu najdeme dostupné frekvence.

A pro zajímavost statistiku použití frekvencí, ze které vidíme, že CPU jelo v 70% nad 960MHz.

Maximální frekvenci jsem se rozhodl snížit na 648MHz. Po úpravě vypadá cpufrequtils takhle.

Pro použití nově nastavených frequencí je nutné restartovat servis.

Výsledná teplota po 30 minutách je už jen 64°C.

4.4.2 Změna krabičky

Orange PI Zero jsem měll instalovaný v krabičce s pouze malými bočními větracími otvory.

Původní krabička.

Po chvilce hledání jsem našel vhodnou krabičku, která měla vélké větrací otvory na spodku i vršku.

Nová vytištěná krabička.

Orange PI Zero do krabičky krásně padne.

Orange PI Zero v nové krabičce.

Nový test prokázal, že zmena boxu snížila teplotu na 49°C.

Díky jednoduchým úpravám jsem dokázal snížit teplotu z 80°C na 49°C. Od té doby je Octoprint spolehlivý a nestalo se mi, aby se tisk zastavil.

5. Dovětek

Při prozkoumávání configurace Octoprintu jsem zjistil, že se dá nastavit moznost restartu a vypnutí, což by mohlo také vést k větší spolehlivosti.

Přidáním několika řádek do sekce System, budeme mít k dispozici bezpečné vypnutí Orange PI Zero.

Kompletní můj config.yaml vypadá takto:

Napsat komentář

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