Sadržaj:
- Supplies
- Korak 1: Odaberite rotacijski davač
- Korak 2: Dodajte remenicu i prazan hod
- Korak 3: Kodiranje
- Korak 4: Ožičenje
- Korak 5: Odštampajte delove
Video: Brojač vlakana pametnog 3D štampača: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Zašto se mučiti s prebrojavanjem vlakana? Nekoliko razloga:
Uspješni ispisi zahtijevaju pravilno kalibrirani ekstruder: kada gcode kaže ekstruderu da pomakne filament za 2 mm, mora se pomaknuti točno 2 mm. Loše stvari se događaju ako pretjerano ekstrudira ili premalo ekstrudira. Dobro kalibrirani brojač može ekstruder držati poštenim
Rezači približno govore o tome koliko će ukupnog vlakna dati ispis uzeti (i po dužini i po težini) i htio bih provjeriti te vrijednosti
Mjereći kretanje filamenta, također me obavijestite kada je štampanje počelo, a kada prestalo
Trebalo mi je nešto za pokrivanje prostora preostalog uklanjanjem ružnog džinovskog logotipa na prednjoj strani štampača
Svježe je
Inspirirao me ovaj instruktivni uređaj koji je prepravio stari PS/2 miš kao brojač niti za 3D pisač. Ne samo da je 3D korisniku dodao korisnu funkciju, već je i prepravio stari uređaj koji bi inače završio na deponiji. Ali taj projekat je izgrađen oko PS/2 interfejsa miša, koji je izgledao bespotrebno glomazan. Stoga sam ovo iskoristio kao priliku da naučim o jedinoj bitnoj komponenti: rotacijskom koderu.
Supplies
Rotacijski davač
Razvojna ploča zasnovana na ESP32
I2C OLED ekran (dvobojna jedinica izgleda posebno cool)
Sitni trenutni taster
Odmašćen ležaj 608ZZ
Dva o -prstena iz prodavnice gvožđa (~ 33 mm ID x ~ 1,5 mm prečnik profila - pogledajte komentare)
Dva 2,5 mm samorezna vijka za kućište
Dva vijka, matice i podloške od 4 mm za pričvršćivanje nosača na pisač
Gomila žica
3D štampač i malo filamenta
Korak 1: Odaberite rotacijski davač
Rotacijski davači pretvaraju rotacijsko kretanje u električne impulse. Svi miševi stare škole koristili su ih za mjerenje kretanja kotrljajuće loptice, a moderniji (ha ha) optički miševi još su ih koristili za kotačić za pomicanje, što sam imao oko sebe i koristio za početno eksperimentiranje. Nažalost, moj nije ponudio očigledne tačke montiranja i rezolucija mu je bila loša.
Ako je vrijedno raditi, vrijedi pretjerano raditi. Zato sam kupio veliki, prijateljski koder od 360 impulsa po okretu i izgradio svoj projekt oko njega. Odabrao sam Signswise Inkrementalni optički rotacijski davač tipa LPD3806-360BM-G5-24C. Ali svaki pristojan koder će uspjeti.
Korak 2: Dodajte remenicu i prazan hod
Linearno kretanje filamenta prevodi se u rotacijsko kretanje davača pomoću remenice. Žica se za remen pridržava praznim kotačem.
Remenica ima dva utora, svaki drži rastegnuti o-prsten tako da nema klizanja, U praznom hodu ima jedan v-utor za držanje filamenta centriranim na remenici davača. Nalazi se na ležaju 608ZZ koji sam postavio oko sebe, a montiran je na spiralnu oprugu otisnutu točno u glavnom tijelu mog projekta. (STL datoteke priložene ispod.)
Za to je bilo potrebno nekoliko pokušaja i grešaka, ali moj dizajn bi trebao prilagoditi različite kutove i radijuse kalema, dopuštajući filamentu da se odmotava s bilo kojeg dijela kalema, sve od početka do kraja ispisa. Štampana opruga olakšava ubacivanje ili vađenje filamenta pri promjeni kalema.
Korak 3: Kodiranje
Za samo prebrojavanje filamenta, svaka će razvojna ploča s dva digitalna ulaza biti dovoljna. Davač koji sam odabrao ima četiri pina: Vcc, uzemljenje i dva pina kodera. Evo zaista lijepog teksta koji objašnjava kako rade rotacijski koderi i kako ih povezati s Arduinom. (Također: ovaj članak o 3-pinskim koderima.)
Osnovno računanje je jednostavno: dva ulaza - postavljena za interno podizanje tako da vanjski otpornici ne moraju biti lemljeni na Vcc - i jedan prekid. Dodao sam i dugme nula/reset, zahtijevajući još jedan unos i prekid:
void setUpPins () {
pinMode (ENCODER_PIN_1, INPUT_PULLUP); pinMode (ENCODER_PIN_2, INPUT_PULLUP); pinMode (ZERO_BTN_PIN, INPUT_PULLUP); attachInterrupt (ENCODER_PIN_1, encoderPinDidChange, CHANGE); attachInterrupt (ZERO_BTN_PIN, zeroButtonPressed, CHANGE); } void IRAM_ATTR encoderPinDidChange () {if (digitalRead (ENCODER_PIN_1) == digitalRead (ENCODER_PIN_2)) {position += 1; } else {pozicija -= 1; }} void IRAM_ATTR zeroButtonPressed () {// rukovanje nulom & reset}
Ali želio sam više od glupog brojača. Pomoću ESP32 (ili ESP8266) i ugrađenog WiFi-ja mogu zaista učiniti nešto sa podacima koje prikupljam. Pomoću jednostavnog koda za vremensko ograničenje (objašnjeno u nastavku) mogu odrediti kada štampanje počinje i kada se završava i te događaje slati kao obavještenja na svoj telefon. U budućnosti mogu dodati senzor istrošenosti i obavijestiti se (i pauzirati pisač) kada mi zatreba pažnja.
Cijeli kôd se nalazi na Githubu.
Nekoliko napomena o kodu:
Da biste ovo prilagodili svojoj konstrukciji, potrebna vam je samo rezolucija (encoderPPR) - u impulsima po okretu, koja je tipično dvostruko veća od navedene specifikacije - i radijus remenice (wheelRadius). Ove vrijednosti, plus ssid i lozinka vašeg WiFi -ja te određeni pinovi povezani s gumbom, koderom i OLED zaslonom, sve idu u config.h
Dugme nula služi i kao reset - držite ga pritisnutim za ponovno pokretanje ploče, što je korisno za otklanjanje pogrešaka
Prekidi su moćni - ponekad previše moćni. Jedan dodir dugmeta nula mogao bi uzrokovati da se funkcija zeroButtonPressed () pozove 10-20 puta, pa sam dodao logiku debounce. Mojem optičkom koderu to nije trebalo, već YMMV
Dok se prekidi brinu o ulazima asinhrono, rutina loop () vodi knjigovodstvo. EncoderState - popis koji se može unositi, povlačiti ili zaustavljati - ažurira se promjenom položaja kodera. Vremenska ograničenja tada određuju kada je štampač započeo i završio štampanje. Ali lukavi dio je to što 3D pisači često pokreću i zaustavljaju kretanje, pa je najbolje funkcioniralo definiranje događaja "dovršeno ispisivanje" koji ostaje neprekidno zaustavljen najmanje 5 sekundi. Svaki pokret pokreće drugi mjerač vremena koji definira događaj "početak štampanja" samo ako se u vremenskom okviru od 15 sekundi ne dogodi događaj "štampanje završeno". U praksi ovo djeluje uspješno
Tako da kod glavne petlje () može raditi neopterećeno, kod debounce radi u petlji RTOS zadataka. Slično, http zahtjevi za slanje obavijesti su sinkroni i stoga su pozadinski. Tako se animacije odvijaju glatko i odbrojavanje nikada ne prestaje
U mom primjeru postoji hrpa dodatnog koda za (A) uspostavljanje i održavanje mrežne veze s WiFi-jem i mDNS-om, (B) dohvaćanje vremena s NTC servera kako bih mogao označiti vremenska i početna obavještenja i prikazati sat na OLED -u i (C) upravljam OTA ažuriranjima tako da ne moram fizički povezivati ploču s Mac -om radi ažuriranja koda. Trenutno je sve u jednoj monolitnoj C ++ datoteci, samo zato što nisam odvojio vrijeme za bolju organizaciju
Koristio sam divnu (i besplatnu) aplikaciju Prowl iOS za slanje push obavijesti na telefon sa samo HTTP metodama preuzimanja
Za razvoj koda i fleširanje ploče koristio sam spektakularnu platformu PlatformIO koja radi na Visual Studio Codeu, oba besplatna
Za svoj projekt koristio sam ove biblioteke: u8g2 Olivera, elapsedMillis Paula Stoffregena i HTTPClient Markus Sattler, koja dolazi s Espressif ESP32 platformom. Sve ostalo dolazi s Arduino bibliotekom ili ESP32 platformom u PlatformIO
Konačno, stvorio sam šest jednostavnih bitmapa moje glavne remenice pod različitim kutovima, tako da sam mogao prikazati urednu malu animaciju okretača na OLED -u iza pulta. Kreće se u odgovarajućem smjeru pomoću kodera, iako mnogo brže za dramatičniji učinak
Korak 4: Ožičenje
Dizajnirao sam ovo kako bi ožičenje bilo jednostavno, uglavnom kako bi moje kućište moglo biti malo, ali i da otklanjanje grešaka bude jednostavno. Obratite pažnju na skučene uslove u mojoj kutiji.:)
Prvi zahtjev je bio 5V napon napajanja mog rotacijskog davača. Od raznih ESP32 dev ploča koje sam imao u svom skladištu, samo je nekoliko napajalo pravih 5V na Vcc pin -u kada se napajaju putem USB -a. (Ostali su mjerili 4,5-4,8V, što je, u slučaju da vam je matematika loša, niže od 5V.) Ploča koju sam koristio je Wemos Lolin32.
Zatim dolaze dva signalna pina rotacijskog davača. Budući da koristim prekide, glavna briga je da iglice koje koristim ne ometaju ništa. Dokumenti ESP32 navode da se ADC2 ne može koristiti istovremeno s WiFi -om, pa to nažalost znači da ne mogu koristiti bilo koji od ADC2 GPIO pinova: 0, 2, 4, 12, 13, 14, 15, 25, 26 ili 27. Izabrao sam 16 i 17.
Profesionalni savjet: ako, nakon što sve ovo spojite, čini se da vaš koder broji unatrag, možete jednostavno zamijeniti dva dodjeljivanja pinova u config.h.
Konačno, spojite žicu uzemljenja rotacijskog davača na … valjak bubnja … uzemljenje.
Zatim se tipka za nulu/resetiranje povezuje između mase i drugog slobodnog pina (odabrao sam GPIO 18).
Dugme koje sam koristio bio je sićušni trenutni prekidač koji sam spasio od gore spomenutog računarskog miša, ali bilo koje dugme koje imate oko sebe će poslužiti. Možete ga vidjeti kako leži na malom nosaču koji sam napravio za njega preko ploče.
Konačno, OLED -u, ako već nije povezan s vašom pločom, trebaju samo četiri pina: 3V3, uzemljenje, i2c sat i i2c podaci. Na mojoj razvojnoj ploči sat i podaci su 22, odnosno 21.
Korak 5: Odštampajte delove
Za ovu sam konstrukciju dizajnirao sedam dijelova:
Remenica, koja se montira direktno na vratilo rotacijskog davača
Uležaj, koji odgovara ležaju od 608ZZ (uklonite štitnike i odmastite WD40 tako da se slobodno okreće)
Držač, na koji se montiraju dva vijka i davač - obratite pažnju na spiralnu oprugu za prazan hod
Nosač za stabilizaciju držača. Fotografija u ovom koraku prikazuje kako se držač pričvršćuje na držač
Kućište (dole) za držanje moje ESP32 dev ploče, sa prostorom za USB kabl sa strane i drugim na vrhu za konektor koji sam dodao na žice kodera. Ovaj je dizajniran da odgovara Wemos Lolin32, pa ćete možda morati malo izmijeniti ovaj dizajn kako bi odgovarao drugoj ploči
Kućište (gore) za držanje OLED ekrana, još jedna spirala za dugme nula / reset
Držač dugmeta prilagođen za mali prekidač koji sam imao, dizajniran da leži između dvije police unutar donjeg kućišta. Koristio sam lemilicu za "lijepljenje" prekidača na držač; pogledajte prethodni korak za fotografiju
Sve je dizajnirano za štampanje bez nosača. Normalni PLA u vašoj boji je sve što vam treba.
Sve to spojite, prikačite na pisač (ovdje će možda biti potrebno malo kreativnosti) i spremni ste.
Preporučuje se:
7 segmentni sat - izdanje malih štampača: 9 koraka (sa slikama)
7 -segmentni sat - izdanje malih štampača: Još jedan 7 -segmentni sat. xDA iako moram reći da ne izgleda tako ludo dok gledate moj profil Instructables. Vjerovatno će postati još iritantniji onog trenutka kada pogledate moj profil stvari sa raznovrsnosti. Pa zašto sam se uopće potrudio napraviti još jedan
DIY NANOLEAF - Nema 3D štampača: 11 koraka (sa slikama)
DIY NANOLEAF - Nema 3D pisača: Ljubitelji Hii Tech -a u ovom uputstvu Pokazat ću vam kako napraviti Arora Nanoleaf Bez upotrebe električnih alata & možete prilagoditi te ploče. Napravio sam 9 panela, ukupno 54 LED diode neo piksela. Ukupni troškovi ispod 20 USD (indijski ₹ 1500) Nanoleaf svjetlosni paneli
Krila od optičkih vlakana: 24 koraka (sa slikama)
Krila optičkih vlakana: Prošlo je dosta vremena otkad sam se upuštao u mesnati projekt, pa me je Joel iz Mrava na dinje zamolio da napravim kostim za lansiranje njegovih novih proizvoda od optičkih vlakana, i to sam rado prihvatio. Koristio sam svjetiljku njegove prethodne generacije za optička vlakna
Napravite: Ulaz na takmičenje za značku NYC sa starog GameBoy štampača: 14 koraka (sa slikama)
Napravite: Prijava za takmičenje u znački NYC -a sa starog GameBoy štampača: Zdravo svima, evo mog drugog snimka na Instructable .. budite ljubazni..Znači lokalna marka: NYC sastanak imao je takmičenje za značke za svoj drugi sastanak .. (link ovde) , suština takmičenja je u izradi nosive oznake/značke od neke vrste, od nekih materijala
Vodljiva tkanina: Napravite fleksibilna kola pomoću inkjet štampača .: 4 koraka (sa slikama)
Vodljiva tkanina: Napravite fleksibilne krugove pomoću inkjet štampača. Izuzetno fleksibilna i gotovo prozirna kola mogu se napraviti pomoću provodljivih materijala. Evo nekih od mojih eksperimenata sa provodljivim materijalima. Mogu se bojati ili crtati otporno, a zatim urezati kao standardna ploča. C