Enderova nova pamet

Zastarjeli i nesigurni firmware

Nemojte propustiti

E Ink avanture s Inky pHAT-om

E Ink (AKA E Paper, electronic paper) već je neko vrijeme s nama, a mogli ste se sresti s tom tehnologijom ako (još...

Raspberry Pi Story

Raspberry Pi maleni je SBC (single board computer) razvijen od Raspberry Pi Foundation kako bi pomogao u edukaciji osnova računarstva. Međutim, vrlo brzo pokazalo...

Spajanje više tipkala na jedan pin

Mnogi su nas nakon članka o izborniku s LCD shieldom pitali kako spojiti tipkala da rade na takav način. Jedan od načina...

I2C LCD

Sada je vrijeme da se pozabavimo jednim od osnovnih koraka u našim projektima a to je prikazivanje poruka na LCD ekranu. Danas...

Izrada izbornika na LCD štitu

Nakon što smo se upoznali sa shield koji ima LCD ekran i tipkovnicu. Ako još niste možete to učiniti ovdje. Vrijeme je...

Enderu 3 teško je naći manu (naročito za cijenu po kojoj se prodaje), i ako bi nešto trebalo izdvojiti, to je sigurno njegov zastarjeli i nesigurni firmware. Inače prilično jednostavna operacija firmware upgradea kod Endera 3 zakomplicirana je činjenicom da se isporučuje bez bootloadera na matičnoj ploči. Ali, ima i tome lijeka…

1. ZAŠTO?

Zašto novi firmware? Iz dva razloga – pristup postavkama koje ne postoje na tvorničkom meniju i sigurnost. Sigurnost čega? Sigurnost od požara! Da, tvornički isporučeni firmware nema uključen tzv. ‘thermal runaway protection’, što ukratko znači da će u slučaju bilo kakvog kvara na senzoru temperature, grijač nastaviti grijati punom snagom sve dok… Paaa, dok se nešto ne zapali. Da ne mislite da se tako nešto rijetko ili nikada ne događa, autor ovog članka može vam potvrditi da mu se točno takva situacija dogodila prije nekoliko godina. Do požara nije došlo samo zahvaljujući činjenici da je 3D printer bio pod nadzorom. Pouka: ne ostavljajte printer da radi kad nikoga nema kod kuće! Nikada.

- oglas-

Zašto bootloader? Bootloader nije ništa drugo nego komad koda koji se izvrši prilikom svakog paljenja ili resetiranja mikrokontrolera i ukoliko ustanovi pokušaj uploada novog koda na mikrokontroler, to će i odraditi. U suprotnom, prepustiti će da se izvršava kod koji se nalazi u programskoj memoriji mikrokontrolera. Postojanje bootloadera ima dvije posljedice – pokretanje programa u mikrokontroleru kreće djelić sekunde kasnije (totalno nebitna činjenica za 3D printer) i sam bootloader ‘krade’ jedan mali dio programske memorije mikrokontrolera za sebe. E sad, ovo drugo čak i igra ulogu u ovom konkretnom slučaju jer Ender 3 pogonjen je Atmelovim ATMega1284P mikrokontrolerom s ‘punih’ 128 kB (da, kilobajta!) memorije, koju će novi fimware popuniti preko 90%. Drugim riječima, svaki bajt je bitan!

Kao što se vidi na priloženoj slici, ova verzija Marlina taman stane u programsku memoriju čak i kada jedan dio zauzima bootloader pa ćemo mi tako i napraviti: prvo ćemo uploadati bootloader, a onda ćemo novi firmware jednostavno prebaciti korištenjem USB kabela.

2. KAKO?

Za upload bootloadera iskoristiti ćemo tzv. ICSP (ICircuit Serial Programmer) header na matičnoj ploči Endera, a kao programer iskoristiti ćemo Arduino UNO klon (Iteaduino UNO). Naravno, ako vam je pri ruci neki programer možete koristiti njega, ali pretpostavka je da je veća vjerojatnost da vam je pri ruci neki Arduino (ofkors, možete ga i posuditi ;-)). Također, možete koristiti i neki drugi Arduino, postupak je uglavnom isti.

2.1. Priprema

Evo i što je sve potrebno, prvo hardver:

  1. Arduino UNO i pripadajući USB kabel (u ovom slučaju USB mini, ali većina UNO-a ima USB B priključak pa pripazite na to). USB mini kabel trebati će vam u svakom slučaju kasnije za povezivanje Endera s računalom
  2. Tzv. Dupont kabeli duljine minimalno 20 cm, ukupno šest komada, od toga pet s oba ženska konektora i jedan s jednim muškim i jednim ženskim konektorom
  3. Imbus ključ (za skidanje poklopca matične ploče)

A onda i softver:

  1. Arduino IDE – bez njega ne IDE 😉
  2. Definicija Sanguino pločice za Arduino IDE (.zip datoteka na kraju ovog članka)
  3. Marlin 1.1.9 – novi firmware za vašeg 3D ljubimca

Skinite odgovarajuću verziju Arduino IDE-a s gornjeg linka i instalirajte ga na računalo. Zatim u File Exploreru pronađite njegov instalacijski direktorij i u njemu poddirektorij hardware (ako ga slučajno nema, slobodno ga napravite). Tamo kopirajte sanguino.zip datoteku i raspakirajte ju (Extract Here), trebao bi Vam se automatski pojaviti poddirektorij sanguino.

Sada pokrenite Arduino IDE i provjerite je li se pojavila definicija pločice Sanguino na meniju Tools->Board->Sanguino 1284p, trebala bi biti na dnu popisa pločica. Ako je nema, provjerite jeste li raspakirali zip datoteku na pravom mjestu i s pravim sadržajem (otvorite sanguino direktorij, u njemu bi trebala biti tri poddirektorija i pet datoteka).

2.2. Kabliranje

Došao je trenutak da spojimo UNO sa matičnom pločom 3D printera – nakon što odvijete tri vijka koji drže poklopac kutije s matičnom pločom, pažljivo ga preokrenite jer je ventilator na poklopcu žicama spojen s pločom. Položite poklopac lijevo od kutije, žice su taman toliko dugačke da to omogućavaju. U kutiji pronađite konektor u koji se spaja plosnati kabel iz LCD kontrolera, trebao bi biti u donjem lijevom kutu, i odmah desno uz njega nalazi se šest pinova, po tri pina u dva reda. To je ICSP header koji nam treba za upload bootloadera, a isti takav nalazi se i na Arduino UNO-u, negdje na rubu pločice, na suprotnom kraju od USB i naponskog priključka.

Ove headere spajamo Dupont kabelima i to tako da međusobno spojimo iste pinove (označene s VCC, GND, MOSI, MISO, SCK) ženskim kabelima, a reset pin (RST) s matične ploče printera spajamo na pin 10 (D10) Arduina, kako je prikazano na donjoj slici. Ukoliko vas zanima što rade i čemu služe MOSI, MISO i SCK, pročitajte nešto više o SPI komunikaciji ovdje.

Nakon što ste spojili sve Dupont kabele, priključite USB kabelom UNO na računalo i na matičnoj ploči 3D printera trebala bi se upaliti plava LED-ica. Ako se to nije dogodilo, odspojite UNO s računala i provjerite jeste li dobro spojili kabele. Ukoliko je s time sve u redu, postoji mogućnost da imate stariju verziju matične ploče na kojoj postoje headeri kojima se regulira izvor napajanja ploče. U tom slučaju možete prebaciti jumper na tim headerima iz položaja VREG u USB i pokušajte ponovno, sada bi se LED-ica trebala upaliti (nemojte zaboraviti vratiti jumper u VREG položaj nakon što ste gotovi s uploadom novog firmwarea).

2.3. Upload bootloadera

Sada se konačno možemo baciti na upload bootloadera (napomena: ovaj korak možete napraviti i prije kabliranja, samo u tom slučaju odspojite USB iz računala prije nego što počnete spajati Dupont kabele). Kao prvo, na UNO trebamo uploadati kod koji će ga pretvoriti u programator – pokrenite Arduino IDE i na meniju izaberite File->Examples->ArduinoISP->ArduinoISP. Otvoriti će se novi prozor s učitanim programom pa se prebacite na njega i sada na meniju izaberite Tools->Board->Arduino/Genuino UNO.

Na istom meniju pod stavkom Port izaberite serijski port na koji je spojen UNO (npr. COM3). Ako imate više ponuđenih stavki i niste sigurni koji je pravi port, isključite USB kabel iz računala i ponovno otiđite na ovaj meni. Sada će jedan od portova nedostajati – to je taj koji vam treba. Ponovno priključite USB i izaberite port. Također provjerite je li pod Tools->Programmer izabrana stavka AVRISP mkII i ako nije, izaberite ju. Sve što je sada preostalo je da kliknete na Upload ikonu na alatnoj traci (druga slijeva) ili izaberete stavku s menija Sketch->Upload.

Kompajliranje i upload trebali bi biti gotovi kroz par sekundi i na statusnoj traci trebala bi se pojaviti poruka „Done uploading.”. Ako se umjesto toga pojave greške, provjerite prethodne korake. Konačno, došli smo do trenutka kada treba uploadati bootloader. Ostanite u Arduino IDE-u i izaberite na meniju Tools->Board->Sanguino 1284p. Također, izaberite s menija i Tools->Programmer->Arduino as ISP (pripazite na to da na tom meniju postoje i prilično slične stavke, npr. ArduinoISP, pa budite pažljivi).

Zadnji je korak da izaberete stavku menija Tools->Burn Bootloader i pričekate da se u statusnoj traci ponovno pojavi poruka o uspješnom uploadu. U slučaju greške, provjerite kabliranje između UNO-a i matične ploče i pokušajte ponovno.

2.4. Upload firmwarea

Uz pretpostavku da je u prethodnom koraku sve prošlo kako treba, UNO nam više nije potreban i možete ga odspojiti s računala i matične ploče pa spojiti Ender USB kabelom direktno na računalo. Sada će vam trebati i Marlin koji ste skinuli s Githuba, raspakirajte ga u neki direktorij i unutar tog direktorija pronađite poddirektorij example_configurations\Creality\Ender-3. Iskopirajte sve datoteke osim README.md iz tog direktorija u osnovni Marlin direktorij i odgovorite potvrdno na pitanje da li želite prebrisati postojeće datoteke. Zatim dvoklikom na datoteku Marlin.ino pokrenite Arduino IDE u kojem će sada u tabovima biti učitane sve datoteke od kojih se sastoji Marlin firmware (a ima ih).

Kako bi mogli kompajlirati ovaj firmware potrebna nam je jedna biblioteka koja nije sastavni dio IDE-a pa ćemo ju sada instalirati. Na meniju izaberite Sketch->Include Library->Manage Libraries… i u prozoru koji se otvori u polje „Filter your search…” upišite u8glib. Dobiti ćete nekoliko ponuđenih biblioteka i među njima pronađite onu koja se zove U8glib by oliver i kliknite na gumb Install.

Nakon toga, na meniju Tools, provjerite je li izabrana prava ploča (Sanguino 1284p), port i obavezno stavku Programmer vratite na AVRISP mkII. Ako je sve u redu, sada možete pokrenuti upload Marlina na Ender. Kompajliranje će sada malo dulje potrajati, kao i upload, pa budite strpljivi. U slučaju greške kod kompajliranja, provjerite ispis u statusnoj traci i ako se spominje u8glib, ugasite Arduino IDE pa ga ponovno pokrenite i pokušajte ponoviti upload. S druge strane, ako se ispišu poruke tipa out of sync ili nešto tome slično, problem je u komunikaciji putem USB-a pa provjerite jeste li izabrali ispravnu ploču i COM port na meniju Tools. Poruka „Done uploading.” znači da je sve prošlo u redu i nakon što upalite 3D printer, nakon standardnog splash screena trebao bi se na par sekundi pojaviti ekran s informacijom o verziji Marlina kao na slici, a nakon toga i standardni ekran kontrolera.

3. NA KRAJU…

S obzirom na to da sada imate novi firmware, prođite kroz stavke menija kako bi vidjeli koje su vam opcije sada dostupne. Svakako pod stavkom Control kliknite na Initialize EEPROM, na ovaj način ćete sve promjene koje napravite u postavkama printera moći trajno spremiti. Također, ovisno o matičnoj ploči koja se koristi, može se dogoditi da SD kartica neće biti detektirana kod paljenja printera pa ćete morati ručno izabrati stavku menija Init SD Card (ne brinite, svi podaci na kartici ostati će nedirnuti). Ovaj problem može se riješiti dodavanjem par linija koda, kao što je opisano ovdje.

Ovakvi zahvati na firmwareu sada više nisu nikakv problem, pa se možete upustiti u promjene postavki printera koje se nalaze u datoteci Configuration.h. Npr., ako koristite samoljepivu podlogu za 3D print, možete iskoristiti skoro kompletnu raspoloživu plohu, tj. povećati područje printa za barem 10 mm po x i y osi. Nemojte samo zaboraviti nakon svakog novog uploada firmwarea na meniju kontrolera izabrati stavku Load Settings i onda Save Settings kako bi se nove postavke učitale u EEPROM, jer tu se sada nalaze postavke koje 3D printer koristi. Naravno, ako ste u međuvremenu mijenjali neke od postavki na samom printeru, te promjene će u ovom slučaju biti prebrisane pa, ukoliko ih želite sačuvati, pripazite da ih promijenite i u Configuration.h datoteci prije uploada.

I, to je to, nakon par laganih koraka i Ender 3 se po pitanju uploada firmwarea ponaša kao i svaki drugi pristojni 3D printer, pripazite samo da ne pretjerate s featurima (čitaj: auto bed leveling) jer slobodne je memorije na raspolaganju ostalo jako, jako malo.

Preuzimanje:

Prethodni članakPYW – Vijak
Sljedeći članakUvjeti korištenja

Možda vas zanima i ovo:

Komentiraj

Unesite svoj komentar!
Ovdje unesite svoje ime

Popularno

Uvjeti korištenja

Uvjeti korištenja seekretors.org stranice (u daljnjem tekstu: ove stranice) u vlasništvu su njenih osnivača Marka Miroslava Bače i Tomislava Preksavca (u daljnjem...

Enderova nova pamet

Enderu 3 teško je naći manu (naročito za cijenu po kojoj se prodaje), i ako bi nešto trebalo izdvojiti, to je sigurno njegov...

PYW – Vijak

Evo nas na prvoj stranici našeg putovanja, a s čime je bolje početi nego s dobrom vezom. Zato krenimo od vijčanog spoja.

Print Your world- uvod

Dobrodošli u novi serijal Print Your world ili kako bi mi rekli ekstrudiraj, ekstrudiraj. U ovom serijalu bavit ćemo...

Korekcija putanje glave 3D printera

Konkretno, u mom slučaju radi se o 3D printeru tipa delta, premda vjerujem da sličnih problema ima i kod modela s klasičnim...