Turinys:
- Prekės
- 1 veiksmas: pasirinkite sukamąjį kodavimo įrenginį
- 2 veiksmas: pridėkite skriemulį ir tuščiąja eiga
- 3 žingsnis: kodavimas
- 4 žingsnis: laidų prijungimas
- 5 žingsnis: išspausdinkite dalis
Video: Išmanusis 3D spausdintuvo gijų skaitiklis: 5 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Kam nerimauti skaičiuojant siūlus? Keletas priežasčių:
Sėkmingiems spaudiniams reikia tinkamai sukalibruoto ekstruderio: kai gcode liepia ekstruderiui perkelti kaitinamąjį siūlą 2 mm, jis turi judėti tiksliai 2 mm. Blogų dalykų nutinka, jei tai per daug išspaudžia arba per mažai išspaudžia. Gerai sukalibruotas skaitiklis gali išlaikyti ekstruderį sąžiningą
Pjaustytuvai apytiksliai apskaičiuoja, kiek bendram siūlui prireiks (tiek ilgio, tiek svorio), ir norėčiau patikrinti šias vertes
Matuojant gijų judėjimą taip pat praneškite man, kada prasidėjo spausdinimas ir kada jis sustojo
Man reikėjo kažko, kas padengtų erdvę, kurią pašalino negražus milžiniškas logotipas mano spausdintuvo priekyje
Šaunu
Mane įkvėpė šis nurodymas, kuris pakeitė seną PS/2 pelę kaip 3D spausdintuvo gijų skaitiklį. Tai ne tik pridėjo naudingą funkciją 3D spausdintuvui, bet ir pakeitė seną įrenginį, kuris kitu atveju būtų atsidūręs sąvartyne. Tačiau šis projektas buvo sukurtas aplink pelės PS/2 sąsają, kuri atrodė be reikalo sudėtinga. Taigi aš tai įvertinau kaip galimybę sužinoti apie vienintelį esminį komponentą: sukamąjį kodavimo įrenginį.
Prekės
Rotacinis kodavimo įrenginys
ESP32 pagrįsta kūrimo lenta
I2C OLED ekranas (dviejų spalvų įrenginys atrodo ypač šauniai)
Mažas momentinis mygtukas
608ZZ guolis nuriebalintas
Du sandarinimo žiedai iš techninės įrangos parduotuvės (~ 33 mm ID x ~ 1,5 mm profilio skersmuo - žr. Komentarus)
Du 2,5 mm savisriegiai varžtai korpusui
Du 4 mm varžtai, veržlės ir poveržlės laikikliui pritvirtinti prie spausdintuvo
Laidų krūva
3D spausdintuvas ir kai kurie siūlai
1 veiksmas: pasirinkite sukamąjį kodavimo įrenginį
Sukamieji kodavimo įrenginiai sukimosi judesį paverčia elektriniais impulsais. Visos senosios mokyklos pelės jas naudojo ritininio rutulio judėjimui matuoti, o šiuolaikiškesnės (ha ha) optinės pelės vis tiek naudojo slinkties ratuką, kurį aš turėjau ir naudojau pradiniams eksperimentams. Deja, mano nepateikė jokių akivaizdžių tvirtinimo taškų, o jo skiriamoji geba buvo prasta.
Jei verta tai daryti, verta persistengti. Taigi aš nusipirkau didelį, draugišką, 360 impulsų per apsisukimą kodavimo įrenginį ir sukūriau savo projektą. Aš pasirinkau „Signswise“papildomą optinį sukamąjį kodavimo įrenginį, tipo LPD3806-360BM-G5-24C. Bet bet koks tinkamas kodavimo įrenginys tai padarys.
2 veiksmas: pridėkite skriemulį ir tuščiąja eiga
Linijinis kaitinamojo siūlo judėjimas skriemuliu virsta sukamuoju kodavimo judesiu. Kaitinamąjį siūlą prieš skriemulį laiko tuščiosios eigos vožtuvas.
Skriemulys turi du griovelius, kurių kiekvienas turi ištemptą sandarinimo žiedą, todėl neslysta, Tuščiosios eigos vožtuvas turi vieną v formos griovelį, kad kaitinimo siūlas būtų centre su kodavimo skriemuliu. Jis stovi ant 608ZZ guolio, kurį aš uždėjau, ir jis sumontuotas ant spiralinės spyruoklės, atspausdintos tiesiai pagrindiniame mano projekto korpuse. (STL failai pridedami žemiau.)
Tam reikėjo bandymų ir klaidų, kad išsispręstume, tačiau mano dizainas turėtų atitikti įvairius kampus ir ritės spindulius, kad siūlas galėtų atsiskleisti nuo bet kurios ritės dalies iki pat spausdinimo pradžios. O atspausdinta spyruoklė leidžia lengvai įstumti ar išimti kaitinamąjį siūlą keičiant ritinius.
3 žingsnis: kodavimas
Norint tik skaičiuoti gijas, tiks bet kuri dev plokštė su dviem skaitmeniniais įėjimais. Mano pasirinktas kodavimo įrenginys turi keturis kaiščius: Vcc, įžemintą ir du kodavimo kaiščius. Čia yra tikrai gražus užrašas, paaiškinantis, kaip veikia sukamieji kodavimo įrenginiai ir kaip juos sujungti su „Arduino“. (Taip pat: šis straipsnis apie 3 kontaktų kodavimo įrenginius.)
Pagrindinis skaičiavimas yra paprastas: du įėjimai - nustatyti taip, kad jie būtų pakelti viduje, kad nereikėtų lituoti išorinių rezistorių prie Vcc - ir vienas pertraukimas. Aš taip pat pridėjau nulinio/atstatymo mygtuką, reikalaujantį dar vieno įvesties ir pertraukimo:
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)) {pozicija += 1; } else {pozicija -= 1; }} void IRAM_ATTR zeroButtonPressed () {// tvarkyti nulį ir nustatyti iš naujo}
Bet aš norėjau ne tik kvailo skaitiklio. Turėdamas ESP32 (arba ESP8266) ir jame įmontuotą „WiFi“, aš iš tikrųjų galiu ką nors padaryti su savo renkamais duomenimis. Naudodamas paprastą skirtojo laiko kodą (paaiškinta žemiau), galiu nustatyti, kada prasideda ir baigiasi spausdinimas, ir išsiųsti tuos įvykius kaip pranešimus į savo telefoną. Ateityje galiu pridėti išsekimo jutiklį ir pranešti sau (ir pristabdyti spausdintuvą), kai man reikia dėmesio.
Visas kodas yra „Github“.
Keletas pastabų apie kodą:
Norėdami tai pritaikyti prie savo konstrukcijos, jums reikia tik skiriamosios gebos (kodavimo priemonė PRPR) - impulsais per apsisukimą, kuri paprastai yra dvigubai didesnė už nurodytą specifikaciją, ir skriemulio spindulys (wheelRadius). Šios vertės, taip pat „wifi“SSID ir slaptažodis bei konkretūs kaiščiai, prijungti prie mygtuko, kodavimo įrenginio ir OLED ekrano, yra konfigūruojami
Nulinis mygtukas taip pat veikia kaip atstatymas - laikykite nuspaudę, kad iš naujo paleistumėte plokštę, o tai naudinga derinant
Nutraukimai yra galingi - kartais per stiprūs. Vieną kartą paspaudus mygtuką „nulis“, funkcija „zeroButtonPressed“() gali būti iškviesta 10–20 kartų, todėl pridėjau šiek tiek atmetimo logikos. Mano optiniam koduotojui to neprireikė, bet YMMV
Nors pertraukikliai rūpinasi įėjimais asinchroniškai, ciklo () rutina tvarko buhalteriją. „EncoderState“- „enum“, kuris gali būti tiekiamas, įtraukiamas arba sustabdomas, atnaujinamas keičiant kodavimo įrenginio padėtį. Laiko skirtumai nustato, kada spausdintuvas pradėjo ir baigė spausdinti. Tačiau sudėtingiausia yra tai, kad 3D spausdintuvai dažnai pradeda ir sustabdo judėjimą, todėl geriausiai pavyko apibrėžti „spausdinimo užbaigimo“įvykį, kuris nepertraukiamai sustabdomas mažiausiai 5 sekundes. Bet koks judesys suaktyvina antrą laikmatį, kuris apibrėžia „spausdinimo pradžią“tik tuo atveju, jei per 15 sekundžių neįvyksta nė vienas įvykis „spausdinimas baigtas“. Praktiškai tai veikia plaukiant
Taigi pagrindinės kilpos () kodas gali veikti neapkrautas, atmetimo kodas veikia RTOS užduočių cikle. Panašiai ir „http“užklausos išsiųsti pranešimus yra sinchroniškos ir todėl yra pagrįstos. Taigi animacija vyksta sklandžiai ir skaičiavimas nesustoja
Mano pavyzdyje yra daugybė papildomų kodų, skirtų (A) užmegzti ir palaikyti tinklo ryšį naudojant „WiFi“ir „mDNS“, (B) gauti laiką iš NTC serverio, kad galėčiau žymėti savo pradžios ir pabaigos pranešimus ir rodyti nešvarų laikrodį mano OLED ir (C) tvarko OTA atnaujinimus, kad man nereikėtų fiziškai prijungti plokštės prie „Mac“, kad galėčiau atnaujinti kodą. Šiuo metu viskas yra viename monolitiniame C ++ faile, tik todėl, kad neskyriau laiko jį geriau organizuoti
Aš naudoju nuostabią (ir nemokamą) „Prowl iOS“programą, norėdamas siųsti tiesioginius pranešimus į savo telefoną naudodamas tik HTTP gavimo metodus
Norėdami sukurti kodą ir atnaujinti plokštę, aš naudoju įspūdingą „PlatformIO“, veikiantį „Visual Studio Code“, abu nemokamai
Savo projektui panaudojau šias bibliotekas: „Oliver“u8g2, „Paulis Stoffregen“, „elapsedMillis“ir „Markus Sattler“„HTTPClient“, kuris pateikiamas kartu su „Espressif ESP32“platforma. Visa kita pateikiama kartu su „Arduino“biblioteka arba „ESP32“platforma „PlatformIO“
Galiausiai sukūriau šešis paprastus pagrindinio skriemulio bitų žemėlapius skirtingais kampais, kad galėčiau parodyti tvarkingą mažą besisukančio rato animaciją ant OLED už prekystalio. Jis juda tinkama kryptimi su koduotuvu, nors ir daug greičiau, kad būtų pasiektas dramatiškesnis efektas
4 žingsnis: laidų prijungimas
Aš tai suprojektavau taip, kad laidai būtų labai paprasti, daugiausia todėl mano korpusas gali būti mažas, bet taip pat derinimas būtų tiesioginis. Atkreipkite dėmesį į ankštas sąlygas mano mažoje dėžutėje.:)
Pirmasis reikalavimas buvo mano rotacinio kodavimo įrenginio 5 V maitinimo įtampa. Iš įvairių ESP32 kūrėjų plokščių, kurias turėjau savo saugykloje, tik kelios tiekė tikrą 5 V įtampą prie „Vcc“kaiščio, kai maitinama iš USB. (Kiti matavo 4,5–4,8 V, o tuo atveju, jei jūsų matematika yra bloga, yra mažesnė nei 5 V.) Mano naudojama lenta buvo „Wemos Lolin32“.
Tada eikite į du sukamuosius kodavimo signalo kaiščius. Kadangi naudoju pertraukas, pagrindinis rūpestis yra tas, kad mano naudojami kaiščiai niekam netrukdo. ESP32 dokumentuose nurodyta, kad ADC2 negalima naudoti tuo pačiu metu kaip „WiFi“, todėl, deja, reiškia, kad negaliu naudoti nė vieno ADC2 GPIO kaiščio: 0, 2, 4, 12, 13, 14, 15, 25, 26 arba 27. Aš pasirinkau 16 ir 17.
Patarimas profesionalams: jei, visa tai sujungus, jūsų kodavimo įrenginys skaičiuoja atgal, galite tiesiog sukeisti du kaiščio priskyrimus konfigūracijoje h.
Galiausiai prijunkite sukamojo kodavimo įžeminimo laidą prie … būgno ritinėlio … įžeminimo kaiščio.
Tada nulinis/atstatymo mygtukas prijungiamas tarp žemės ir kito laisvo kaiščio (aš pasirinkau GPIO 18).
Mygtukas, kurį naudojau, buvo nedidelis momentinis jungiklis, kurį išgelbėjau nuo minėtos kompiuterio pelės, tačiau bet koks mygtukas, kurį turite, bus tinkamas. Galite pamatyti, kad jis ilsisi mažame laikiklyje, kurį padariau tiesiai virš lentos.
Galiausiai, jei OLED dar nėra prijungtas prie jūsų plokštės, jam reikia tik keturių kontaktų: 3V3, įžeminimo, „i2c“laikrodžio ir „i2c“duomenų. Mano kūrėjų lentoje laikrodis ir duomenys yra atitinkamai 22 ir 21.
5 žingsnis: išspausdinkite dalis
Šiai konstrukcijai sukūriau septynias dalis:
Skriemulys, kuris tvirtinamas tiesiai ant sukamojo kodavimo veleno
Tvirtiklis, kuris telpa virš 608ZZ guolio (nuimkite apvalkalus ir nuriebalinkite WD40, kad jis laisvai suktųsi)
Laikiklis, ant kurio sumontuoti du ratukai ir kodavimo įrenginys - atkreipkite dėmesį į spyruoklinę laisvos eigos spyruoklę
Kronšteinas laikikliui stabilizuoti. Šio veiksmo nuotraukoje parodyta, kaip laikiklis pritvirtinamas prie laikiklio
Korpusas (apačioje), skirtas laikyti mano ESP32 dev plokštę, su vieta USB kabeliui šone ir kita viršuje jungčiai, kurią pridėjau prie kodavimo laidų. Šis yra pritaikytas „Wemos Lolin32“, todėl gali tekti šiek tiek pakeisti šį dizainą, kad tilptų kita plokštė
Korpusas (viršuje), skirtas laikyti OLED ekraną, dar viena spiralė, skirta nulinio / atstatymo mygtukui
Mygtuko laikiklis, pritaikytas mažam jungikliui, kurį turėjau, skirtas pailsėti tarp dviejų lentynų apatinio korpuso viduje. Aš lituokliu „priklijavau“jungiklį prie laikiklio; žr. ankstesnį nuotraukos žingsnį
Viskas skirta spausdinti be atramų. Viskas, ko jums reikia, yra įprasta pasirinktos spalvos PLA.
Sujunkite viską, prijunkite prie spausdintuvo (čia gali prireikti šiek tiek kūrybiškumo), ir viskas gerai.
Rekomenduojamas:
SLA 3D spausdintuvo rūgštimi išgraviruotos plokštės: 7 žingsniai (su paveikslėliais)
SLA 3D spausdintuvo rūgštimi išgraviruotos plokštės: Remix..remix .. Na, man reikia ATtiny mikroschemų kūrimo plokštės. Aš neturiu CNC, kad galėčiau pjauti PCB, aš nežinau „Kicad“ir nenoriu užsisakyti plokščių. Bet aš turiu dervos spausdintuvą … ir rūgštį, ir aš žinau „SketchUp“. Ir patinka daryti daiktus. Kas atsitiko
MOSTER FET - Dual 500Amp 40 voltų MOSFET 3d spausdintuvo šildomos lovos tvarkyklės: 7 žingsniai (su paveikslėliais)
MOSTER FET - Dvigubas 500Amp 40 voltų MOSFET 3d spausdintuvo šildomas lovos tvarkyklės: Jūs tikriausiai spustelėjote šią mąstančią šventąją karvę, 500 AMPS !!!!!. Tiesą sakant, mano sukurta MOSFET plokštė negalės saugiai atlikti 500 amperų. Tai gali trumpam, prieš pat susijaudinus užsidegti. Tai nebuvo sukurta kaip protingas
Daiktu internetu pagrįstas išmanusis sodininkystė ir išmanusis žemės ūkis naudojant ESP32: 7 žingsniai
Daiktu internetu pagrįstas išmanusis sodininkystė ir išmanusis žemės ūkis naudojant ESP32: pasaulis keičiasi kaip laikas ir žemės ūkis. Šiais laikais žmonės integruoja elektroniką visose srityse, o žemės ūkis nėra išimtis. Šis elektronikos sujungimas žemės ūkyje padeda ūkininkams ir žmonėms, kurie tvarko sodus. Tai
Kaip lengvai pridėti bet kokio tipo šviesos diodus prie savo 3D spausdintuvo: 8 žingsniai (su paveikslėliais)
Kaip lengvai pridėti bet kokio tipo šviesos diodus prie savo 3D spausdintuvo: ar turite keletą atsarginių šviesos diodų, kurie rūsyje renka dulkes? Ar pavargote nuo to, kad nematote, ką spausdina jūsų spausdintuvas? Na, nesidairykite toliau, šis „Instructable“išmokys jus, kaip pridėti LED šviesos juostą ant spausdintuvo viršaus prie
Išmanusis elektros skaitiklis: 3 žingsniai
Išmanusis elektros skaitiklis: beveik visi skaitmeniniai elektros skaitikliai (išmanūs ar ne) turi lemputę, kuri mirksi kiekvieną kartą, kai naudojamas tam tikras energijos kiekis - dažnai vieną kartą per kiekvieną vatvalandę (paprastai pažymėta kaip 1000 imp/kWh). aptikti tai naudojant paprastą šviesą