Turinys:
- 1 žingsnis: „Galvo“valdiklio dalys
- 2 žingsnis: valdiklio teorija
- 3 žingsnis: grandinė
- 4 žingsnis: STM32 programavimas
- 5 žingsnis: Prijunkite visas dalis mechaniškai ir išbandykite
Video: „Pasidaryk pats“/DIR LASER GALVO CONTROLLER: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Sveiki, šioje instrukcijoje noriu parodyti, kaip galite sukurti savo žingsnio / režimo sąsają standartiniams ILDA galvo lazeriniams skaitytuvams.
Kaip jūs tikriausiai žinote, aš taip pat esu „pasidaryk pats“SLS-3D spausdintuvo ir „JRLS 1000 DIY SLS-3D-PRINTER“išradėjas, o kurdamas šias mašinas pradėjau domėtis, kaip šie spausdintuvai veiks, jei vietoj dekarto judėjimo sistemos naudosiu „Galvo“skaitytuvus. Tačiau šiais laikais aš neturėjau žinių, kaip užprogramuoti „Galvo“skaitytuvo valdiklį. Taigi aš panaudojau esamą programinę įrangą su dekartiniu judesiu.
Tačiau šiandien ir po tam tikrų tyrimų radau pamokymą, kuriame autorius naudoja „arduino“kurdamas „pasidaryk pats“lazerio „Galvo“šou. Maniau, kad tai yra būtent tai, ko aš ieškau, todėl užsakiau dalis, kaip nurodyta jo instrukcijoje, ir padariau keletą eksperimentų. Po kelių tyrimų sužinojau, kad „Arduino“neveiks taip gerai, kaip žingsnio / krypties sąsaja, todėl sumaišiau jį su STM32 mikrovaldikliu.
Atminkite, kad šis valdiklis yra tik prototipas, tačiau tinkamas daugeliui projektų. Pavyzdžiui, „pasidaryk pats“SLS 3D spausdintuve arba lazeriniame graviravime.
Galvo valdiklio savybės yra šios:
- konvertavimas iš 5 V pakopų/nukreipimo signalų į ILDA standartą
- 120 kHz įvesties dažnis (žingsnio / krypties signalai)
- 12 bitų išvesties skiriamoji geba (0, 006 ° kampu)
- konvertavimas iš polinių į linijines koordinates
- suderinamas su bet kokiu judesio valdikliu, kuris sukurs žingsnio ir krypties signalą
- centrinis išlyginimo kaištis (nustatymo rutina)
vaizdo įrašas apie lazerinį galvo valdiklį: (netrukus)
Jei jums patinka mano „Instructable“, balsuokite už mane „Remix“konkurse
1 žingsnis: „Galvo“valdiklio dalys
„Galvo“valdiklio elektroninės dalys:
Kiekis | apibūdinimas | Nuoroda | Kaina |
---|---|---|---|
1x | ILDA 20Kpps galvo galvanometro rinkinys | „Aliexpress“ | 56, 51€ |
1x | 6 mm 650 nm lazerinis diodas | „Aliexpress“ | 1, 16€ |
kai kurie | laidai | - | - |
1x | ST-Link V2 | „Aliexpress“ | 1, 92 |
Elektroninės grandinės dalys:
Čia yra visos reikalingos „Galvo“valdiklio dalys. Stengiausi visas dalis įsigyti kuo pigiau.
Kiekis | apibūdinimas | Pavadinimas grandinėje | Nuoroda | Kaina |
---|---|---|---|---|
1x | STM32 „Blue-Pill“mikrovaldiklis | "MĖLYNA PILVELĖ" | „Aliexpress“ | 1, 88€ |
1x | MCP4822 12 bitų dviejų kanalų DAC | MCP4822 | „Aliexpress“ | 3, 00€ |
2x | TL082 dvigubas „OpAmp“ | IC1, IC2 | „Aliexpress“ | 0, 97€ |
6x | 1k rezistorius | R1-R6 | „Aliexpress“ | 0, 57€ |
4 kartus | 10k apdailos potenciometras | R7-R10 | „Aliexpress“ | 1, 03€ |
kai kurie | kaiščio antraštė | - | „Aliexpress“ | 0, 46€ |
2 žingsnis: valdiklio teorija
Čia paaiškinsiu, kaip valdiklis veikia apskritai. Taip pat parodysiu kai kurias detales, pavyzdžiui, skaičiuojant teisingą kampą.
1. JUDIMŲ KONTROLIERIS
Judėjimo valdiklis yra ta dalis, kurioje sukursite žingsnio ir krypties signalus. Žingsnio/krypties valdymas dažnai naudojamas žingsninio variklio programose, tokiose kaip 3D spausdintuvai, lazeriai ar CNC frezavimo staklės.
Be žingsnio ir krypties signalų, norint, kad STM32 ir „Motioncontroller“sutiktų, reikia centrinio paskirstymo kaiščio. Taip yra todėl, kad galvos yra visiškai valdomos ir nereikia jokių galinių jungiklių.
2. STM32-mikrovaldiklis
STM32 mikrovaldiklis yra šio valdiklio širdis. Šis mikrovaldiklis turi atlikti keletą užduočių. Šios užduotys yra:
1 užduotis: išmatuoti signalus
Pirmoji užduotis - išmatuoti įvesties signalus. Šiuo atveju tai bus žingsnio ir krypties signalai. Kadangi nenoriu, kad judesio valdiklį ribotų įvesties dažnis, aš sukūriau 120 kHz grandinę (išbandyta). Norint pasiekti šį įvesties dažnį neprarandant duomenų, aš naudoju du aparatūros laikmačius TIM2 ir TIM3, esančius STM32, kad valdyčiau žingsnio / krypties sąsają. Be žingsnio ir krypties signalų, yra pasukimo signalas. Šį derinimą valdo išorinis STM32 pertraukimas.
2 užduotis: apskaičiuokite signalus
Dabar valdiklis turi apskaičiuoti signalus iki tinkamos DAC vertės. Kadangi „Galvo“sukurs netiesinę polinių koordinačių sistemą, reikia atlikti nedidelį skaičiavimą, kad būtų sukurta tiesinė priklausomybė tarp žingsnio ir tikrojo judančio lazerio. Čia parodysiu skaičiavimo eskizą:
Dabar turime rasti skaičiavimo formulę. Kadangi naudoju 12 bitų DAC, aš galiu išduoti įtampą nuo -5 - +5V 0 - 4096 žingsniais. „Galvo I have order“bendras nuskaitymo kampas yra 25 ° esant -5 - +5V. Taigi mano kampas phi yra nuo -12, 5 ° - +12, 5 °. Galiausiai turiu pagalvoti apie atstumą d. Aš asmeniškai noriu 100x100 mm nuskaitymo lauko, todėl mano d bus 50 mm. Didelis h bus phi ir d rezultatas. h yra 225,5 mm. Norėdami nustatyti atstumą d, palyginti su kampu phi, aš naudoju nedidelę formulę, kuri naudos liestines ir kampą iš radianų pavers į „DAC reikšmes“
Galiausiai man tereikia pridėti 2048 šališkumą, nes mano nuskaitymo laukas yra išlyginimas centre ir visi skaičiavimai atlikti.
3 užduotis: Siųsti vertes į DAC:
Kadangi mano naudojamas STM32 neturi integruoto DAC, aš naudoju išorinį DAC. Ryšys tarp DAC ir STM32 realizuojamas per SPI.
3. DAC
Grandinei aš naudoju tą patį 12 bitų DAC "MCP4822" kaip "deltaflo". Kadangi DAC yra vienpolis 0-4, 2V ir jums reikia -+5V bipolinio ILDA standarto, turite sukurti nedidelę grandinę su kai kuriais „OpAmps“. Aš naudoju „TL082 OpAmps“. Šį stiprintuvo grandinę turite sukurti du kartus, nes turite valdyti dvi galvos. Abu „OpAmps“maitinimo įtampa yra prijungta prie –15 ir +15 V įtampos.
4. GALVO
Paskutinė dalis yra gana paprasta. Dviejų OPAmps išėjimo įtampa bus prijungta prie „ILDA Galvo“tvarkyklių. Ir viskas, dabar jūs turėtumėte sugebėti valdyti galvos judesius ir krypties signalus
3 žingsnis: grandinė
Grandinei naudojau PCB prototipą.
Žingsnio ir krypties signalus galite tiesiogiai prijungti prie STM32, nes aš suaktyvinau vidinius nusileidimo rezistorius. Aš taip pat naudojau 5 V tolerantiškus kaiščius žingsniams, kryptims ir centrams.
Žemiau galite atsisiųsti visą grandinės schemą:
4 žingsnis: STM32 programavimas
STM32 yra programuojamas naudojant „Attolic TrueStudio“ir „CubeMX“. „TrueStudio“galima nemokamai naudotis ir ją galite atsisiųsti čia
Kadangi „TrueStudio“nėra toks paprastas, kaip, pavyzdžiui, „Arduino IDE“, aš sukūriau.hex failą, kurį tiesiog reikia įkelti į STM32 mikrovaldiklį.
Toliau paaiškinsiu, kaip atnaujinote failą į STM32 „BluePill“:
1. Atsisiųskite „STM32 ST-LINK Utility“: Programinę įrangą galite atsisiųsti čia
2. Įdiekite ir atidarykite „STM32 ST-LINK Utility“:
3. Dabar atidarykite „Galvo.hex“failą „ST-Link Utility“:
Po to turite prijungti STM32 „BluePill“prie ST-Link-V2. Prisijungę spustelėkite mygtuką „Prisijungti prie traget“:
Galiausiai spustelėkite „Atsisiųsti“. Dabar jūsų STM32 turėtų mirksėti teisingai.
Be to, „TrueStudio“pridėjau visus „Galvo_Controller“šaltinio failus
5 žingsnis: Prijunkite visas dalis mechaniškai ir išbandykite
Visas elektronines dalis sudėjau ant 4 mm aliuminio plokštės, kad geriau atrodytų:-)
Dabar aš jums parodysiu, kaip jums reikia sureguliuoti grandinės potenciometrus:
Iš pradžių šiek tiek informacijos apie ILDA standartą. ILDA standartas paprastai naudojamas lazerio šou, jį sudaro 5 V ir -5 V signalas. Abiejų signalų amplitudė yra ta pati, tačiau jų poliškumas yra kitoks. Taigi, mes turime sumažinti išvesties signalą iš DAC iki 5V ir -5V.
Sureguliuokite potenciometrą:
Čia galite pamatyti šios grandinės išėjimo įtampą esant įėjimo žingsnio dažniui 100 kHz ir esant pastoviam krypties signalui. Šioje nuotraukoje viskas gerai. Amplitudė svyruoja nuo 0 iki 5 V ir nuo 0 iki -5. Taip pat tikriausiai įtampa yra suderinta.
Dabar aš jums parodysiu, kas gali būti negerai reguliuojant potenciometrą:
Kaip matote dabar, abi įtampos tikriausiai nėra suderintos. Sprendimas yra reguliuoti poslinkio įtampą iš „OpAmp“. Tai galite padaryti sureguliuodami potenciometrus „R8“ir „R10“.
Kitas pavyzdys:
Kaip matote, dabar įtampa yra suderinta, tačiau amplitudė yra ne 5V, o 2V. Sprendimas yra sureguliuoti stiprinimo rezistorių iš „OpAmp“. Tai galite padaryti sureguliuodami potenciometrus „R7“ir „R9“.
Rekomenduojamas:
„Pasidaryk pats“makro objektyvas su AF (kitoks nei visi kiti „pasidaryk pats“makro objektyvai): 4 žingsniai (su nuotraukomis)
„Pasidaryk pats“makro objektyvas su AF (kitoks nei visi kiti „pasidaryk pats“makro objektyvai): mačiau daug žmonių, gaminančių makro objektyvus su standartiniu rinkiniu (paprastai 18–55 mm). Dauguma jų yra objektyvas, tiesiog prilipęs prie fotoaparato atgal arba nuimtas priekinis elementas. Abi šios galimybės turi neigiamų pusių. Objektyvui pritvirtinti
Varžtas - „pasidaryk pats“belaidis įkrovimo naktinis laikrodis (6 žingsniai): 6 žingsniai (su nuotraukomis)
Varžtas - „Pasidaryk pats“belaidis įkrovimo naktinis laikrodis (6 žingsniai): Indukcinis įkrovimas (taip pat žinomas kaip belaidis įkrovimas arba belaidis įkrovimas) yra belaidžio energijos perdavimo tipas. Jis naudoja elektromagnetinę indukciją tiekti elektros energiją nešiojamiesiems įrenginiams. Dažniausia programa yra „Qi“belaidžio įkrovimo st
Sukurkite mini „pasidaryk pats“hidroponines sistemas ir pasidaryk pats „Hydroponic Herb Garden“su „WiFi“įspėjimais: 18 žingsnių
Sukurkite mini „pasidaryk pats“hidroponines sistemas ir pasidaryk pats „Hydroponic Herb Garden“su „Wi -Fi“įspėjimais: šioje pamokoje parodysime, kaip sukurti #DIY #hidroponikos sistemą. Ši „pasidaryk pats“hidroponinė sistema laistys pagal pasirinktą hidroponinį laistymo ciklą, 2 minutes įjungus ir 4 minutes išjungus. Jis taip pat stebės rezervuaro vandens lygį. Ši sistema
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis - „Arduino PS2“žaidimų valdiklis - Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino“žaidimų pultą: 7 žingsniai
„Arduino“pagrindu sukurtas „pasidaryk pats“žaidimų valdiklis | „Arduino PS2“žaidimų valdiklis | Žaidimas „Tekken“naudojant „pasidaryk pats“„Arduino Gamepad“: Sveiki, vaikinai, žaisti žaidimus visada smagu, tačiau žaisti su savo „pasidaryk pats“žaidimo valdikliu yra smagiau. Taigi, mes padarysime žaidimų valdiklį naudodami „arduino pro micro“šioje instrukcijoje
Atnaujinkite „pasidaryk pats“laistymo puodą su „WiFi“į „pasidaryk pats“judesio aptikimo signalizacijos signalą 17 žingsnių
Atnaujinkite „pasidaryk pats“laistymo puodą su „WiFi“į „pasidaryk pats“judesio aptikimo signalizatorių sėjamoji: Šiame straipsnyje mes parodysime, kaip patobulintą savaiminio laistymo puodą su „WiFi“atnaujinti į „pasidaryk pats“laistymo puodą su „WiFi“ir judesio aptikimo signalizacija. Jei neskaitėte straipsnio apie tai, kaip sukurti „pasidaryk pats“laistymo puodą su „WiFi“, galite baigti