Innholdsfortegnelse:
- Trinn 1: Deler du trenger til Galvo -kontrolleren
- Trinn 2: Teorien til kontrolleren
- Trinn 3: Kretsen
- Trinn 4: Programmering av STM32
- Trinn 5: Koble alle delene mekanisk og test det
Video: DIY STEP/DIR LASER GALVO CONTROLLER: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Hei, i denne Instructable, vil jeg vise deg hvordan du kan bygge ditt eget trinn / dir -grensesnitt for ILDA standard galvo laserskannere.
Som du kanskje vet, er jeg også oppfinneren av "DIY-SLS-3D-skriveren" og "JRLS 1000 DIY SLS-3D-SKRIVEREN", og mens jeg bygde disse maskinene har jeg begynt å tukle på hvordan disse skriverne vil fungere, hvis jeg vil bruke en Galvo -skannere i stedet for et kartesisk bevegelsessystem. Men i disse dager hadde jeg ikke kunnskapen om å programmere en kontroller for en galvo -skanner. Så jeg har brukt en eksisterende fastvare med kartesisk bevegelse.
Men i dag og etter en del undersøkelser fant jeg en instruks hvor forfatteren bruker en arduino til å lage et DIY Laser Galvo -show. Jeg trodde dette var akkurat det jeg leter etter, så jeg har bestilt delene som i instruksjonene hans og gjort noen eksperimenter. Etter noen undersøkelser fant jeg ut at Arduino ikke vil fungere så godt som trinn / retning -grensesnitt, så jeg remikset det for STM32 mikrokontroller.
Husk at denne kontrolleren bare er en prototype, men kan brukes til mange prosjekter. For eksempel i en DIY SLS 3D -skriver eller en lasergraver.
Funksjonene til Galvo -kontrolleren er:
- konvertering fra 5V trinn/dir -signaler til ILDA standard
- 120 kHz inngangsfrekvens for (trinn- / retningssignaler)
- 12bit utgangsoppløsning (0, 006 ° per vinkel)
- konvertering fra polare til lineære koordinater
- kompatibel med enhver bevegelseskontroller som vil skape et trinn- og retningsignal
- senterjusteringsnål (hjemrutine)
video av laser galvo controller: (kommer snart)
Hvis du liker Instructable, kan du stemme på meg i Remix -konkurransen
Trinn 1: Deler du trenger til Galvo -kontrolleren
Elektroniske deler til galvo -kontrolleren:
Mengde | Beskrivelse | Lenke | Pris |
---|---|---|---|
1x | ILDA 20Kpps galvo galvanometersett | Aliexpress | 56, 51€ |
1x | 6 mm 650 nm laserdiode | Aliexpress | 1, 16€ |
noen | ledninger | - | - |
1x | ST-Link V2 | Aliexpress | 1, 92 |
Elektroniske deler for kretsen:
Her er alle nødvendige deler til galvo -kontrolleren. Jeg prøvde å skaffe alle deler så billig som mulig.
Mengde | Beskrivelse | Navn på krets | Lenke | Pris |
---|---|---|---|---|
1x | STM32 "Blue-Pill" mikrokontroller | "BLÅ-PILL" | Aliexpress | 1, 88€ |
1x | MCP4822 12 -bits dobbeltkanals DAC | MCP4822 | Aliexpress | 3, 00€ |
2x | TL082 dobbel OpAmp | IC1, IC2 | Aliexpress | 0, 97€ |
6x | 1k motstand | R1-R6 | Aliexpress | 0, 57€ |
4x | 10k trim-potensiometer | R7-R10 | Aliexpress | 1, 03€ |
noen | pin header | - | Aliexpress | 0, 46€ |
Trinn 2: Teorien til kontrolleren
Her vil jeg forklare deg hvordan kontrolleren fungerer generelt. Jeg vil også vise noen detaljer, for eksempel beregning av riktig vinkel.
1. BEVEGELSESKONTROLL
Bevegelseskontrolleren er delen der du skal lage trinn- og retningssignalene. Trinn/retningskontrollen brukes ofte i trinnmotorapplikasjoner som 3D-skrivere, lasere eller CNC-freser.
I tillegg til trinn- og retningssignalene er det behov for en midtjusteringsstift for å gjøre STM32 og Motioncontroller konsistent. Det er fordi galvoen er absolutt kontrollert og det ikke er behov for noen grensebrytere.
2. STM32-mikrokontroller
STM32 -mikrokontrolleren er hjertet til denne kontrolleren. Denne mikrokontrolleren har flere oppgaver å gjøre. Disse oppgavene er:
Oppgave 1: Mål signaler
Den første oppgaven er å måle inngangssignalene. I dette tilfellet vil det være trinn- og retningssignaler. Fordi jeg ikke vil at bevegelseskontrolleren skal begrenses av inngangsfrekvensen, designet jeg kretsen for 120 kHz (testet). For å oppnå denne inngangsfrekvensen uten å miste data, bruker jeg to maskinvaretimere TIM2 og TIM3 på STM32 for å administrere trinn / retning -grensesnittet. I tillegg til trinn- og retningssignalene er det justeringssignal. Denne justeringen styres av et eksternt avbrudd på STM32.
Oppgave 2: Beregn signalene
Nå må kontrolleren beregne signalene til riktig verdi for DAC. Fordi galvoen vil skape et ikke -lineært polært koordinatsystem, er det nødvendig med en liten beregning for å skape en lineær avhengighet mellom trinn og faktisk flyttet laser. Her vil jeg vise deg en skisse av beregningen:
Nå må vi finne formelen for beregningen. Fordi jeg bruker en 12bit DAC, kan jeg gi ut en spenning fra -5 - +5V i 0 - 4096 trinn. Galvoen jeg har bestilt har en total skannevinkel på 25 ° ved -5 - +5V. Så vinkelen min phi er i et område fra -12, 5 ° - +12, 5 °. Til slutt må jeg tenke på avstanden d. Jeg personlig vil ha et skannefelt på 100x100mm, så min d blir 50mm. Høyen h vil være resultatet av phi og d. h er 225, 5 mm. For å bringe avstanden d i forhold til vinkelen phi brukte jeg en liten formel, som vil bruke tangentene og konvertere vinkelen fra radianer til "DAC-verdier"
Til slutt trenger jeg bare å legge til en skjevhet på 2048, fordi skannefeltet mitt er midtjustering og alle beregningene er gjort.
Oppgave 3: Send verdier til DAC:
Fordi STM32 jeg har brukt ikke har innebygd DAC, har jeg brukt en ekstern DAC. Kommunikasjonen mellom DAC og STM32 realiseres over SPI.
3. DAC
For kretsen bruker jeg den samme 12bit DAC "MCP4822" som deltaflo. Fordi DAC er unipolar 0-4, 2V og du trenger -+5V bipolar for ILDA -standarden, må du bygge en liten krets med noen OpAmps. Jeg bruker TL082 OpAmps. Du må bygge denne forsterkerkretsen to ganger, fordi du må kontrollere to galvoer. De to OpAmps er koblet til -15 og +15V som forsyningsspenning.
4. GALVO
Den siste delen er ganske enkel. Utgangsspenningen til de to OPAmps vil bli koblet til ILDA Galvo -driverne. Og det er det, nå skal du kunne kontrollere galvoen med trinn- og retningsignaler
Trinn 3: Kretsen
For kretsen har jeg brukt en prototype PCB.
Du kan koble trinn- og retningssignalene direkte til STM32, fordi jeg har aktivert interne nedtrekksmotstander. Jeg har også brukt 5V tolerante pinner for trinn-, retning- og senterpinnene.
Du kan laste ned hele skjemaet for kretsen nedenfor:
Trinn 4: Programmering av STM32
STM32 er programmert med Attolic TrueStudio og CubeMX. TrueStudio er gratis å bruke, og du kan laste det ned her
Fordi TrueStudio ikke er så enkelt som for eksempel Arduino IDE, har jeg generert en.hex -fil, som du bare trenger å laste opp til STM32 -mikrokontrolleren.
I det følgende vil jeg forklare hvordan du laster opp filen til STM32 "BluePill":
1. Last ned "STM32 ST-LINK Utility": Du kan laste ned programvaren her
2. Installer og åpne "STM32 ST-LINK Utility":
3. Åpne nå Galvo.hex-filen i ST-Link Utility:
Etter det må du koble STM32 "BluePill" til ST-Link-V2. Når du er tilkoblet, klikker du på "Koble til traget -knappen":
Klikk til slutt på "Last ned". Nå skal STM32 blinke riktig.
I tillegg har jeg lagt ved alle kildefilene for Galvo_Controller i TrueStudio
Trinn 5: Koble alle delene mekanisk og test det
Jeg har plassert alle elektroniske deler på en 4 mm aluminiumsplate for et bedre utseende:-)
Nå vil jeg vise deg hvordan du må justere potensiometrene på kretsen sannsynligvis:
Først litt bakgrunnsinformasjon om ILDA -standarden. ILDA -standarden brukes vanligvis til lasershow, og består av et 5V og et -5v signal. Begge signalene har samme amplitude, men med endret polaritet. Så det vi må er å trimme utgangssignalet fra DAC til 5V og -5V.
Juster potensiometeret:
Det du kan se her er utgangsspenningen til denne kretsen ved et inngangsfrekvens på 100 kHz og med et konstant retningssignal. I dette bildet er alt bra. Amplituden går fra 0 til 5V og fra 0 til -5. Også spenningene er sannsynligvis justert.
Nå skal jeg vise deg hva som kan gå galt når du justerer potensiometeret:
Som du kan se nå er begge spenningene sannsynligvis ikke justert. Løsningen er å justere offset -spenningen fra OpAmp. Det gjør du ved å justere potensiometrene "R8" og "R10".
Et annet eksempel:
Som du kan se nå er spenningene sannsynligvis justert, men amplituden er ikke 5V, men 2V. Løsningen er å justere forsterkningsmotstanden fra OpAmp. Det gjør du ved å justere potensiometrene "R7" og "R9".
Anbefalt:
Atari Punk Console With a Baby 8 Step Sequencer: 7 trinn (med bilder)
Atari Punk Console With a Baby 8 Step Sequencer: Denne mellomliggende konstruksjonen er alt-i-ett Atari Punk Console og Baby 8 Step Sequencer du kan frese på Bantam Tools Desktop PCB Fresemaskin. Den består av to kretskort: det ene er et brukergrensesnitt (UI) -kort og det andre er et verktøy
ATTiny84 Basert 3A Step-Down LED Driver: 7 trinn (med bilder)
ATTiny84-basert 3A nedtrekkbar LED-driver: Hvis du vil drive 10W LEDer, kan du bruke denne 3A LED-driveren. Med 3 Cree XPL lysdioder kan du oppnå 3000 lumen
MIDI Step Interface: 12 trinn (med bilder)
MIDI Step Interface: spansk versjon her. I denne instruksjonsfilen viser vi deg hvordan du lager et lys og lydgrensesnitt som kan brukes til å spille " Simon Says " og som et MIDI -grensesnitt. Begge modusene spilles med føttene dine. Bakgrunn Prosjektet ble født fordi
Laser Box Music Laser Light Show: 18 trinn (med bilder)
Laser Box Music Laser Light Show: Jeg publiserte tidligere en Instructable som beskrev hvordan du bruker datamaskinharddisker til å lage et musikklaserlysshow. Jeg bestemte meg for å lage en kompakt versjon ved hjelp av en elektrisk boks og RC -bilmotorer. Før jeg begynner, burde jeg sannsynligvis fortelle deg den
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 trinn (med bilder)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): Jeg dratt fullstendig av ryan97128 på designet hans for Nintendo Controller MP3, versjon 2.0, og jeg hører at han fikk ideen fra den kloke Morte_Moya, så jeg kan ikke ta æren for alle deres genier. Jeg ville bare legge til bekvemmeligheten og lade opp