Innholdsfortegnelse:

DIY STEP/DIR LASER GALVO CONTROLLER: 5 trinn (med bilder)
DIY STEP/DIR LASER GALVO CONTROLLER: 5 trinn (med bilder)

Video: DIY STEP/DIR LASER GALVO CONTROLLER: 5 trinn (med bilder)

Video: DIY STEP/DIR LASER GALVO CONTROLLER: 5 trinn (med bilder)
Video: Building a DIY portable Laser Engraver 2024, November
Anonim
DIY STEP/DIR LASER GALVO CONTROLLER
DIY STEP/DIR LASER GALVO CONTROLLER

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

Bilde
Bilde

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

Bilde
Bilde

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:

Bilde
Bilde

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"

Bilde
Bilde

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.

Bilde
Bilde

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

Kretsen
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":

Bilde
Bilde

3. Åpne nå Galvo.hex-filen i ST-Link Utility:

Bilde
Bilde

Etter det må du koble STM32 "BluePill" til ST-Link-V2. Når du er tilkoblet, klikker du på "Koble til traget -knappen":

Bilde
Bilde

Klikk til slutt på "Last ned". Nå skal STM32 blinke riktig.

Bilde
Bilde

I tillegg har jeg lagt ved alle kildefilene for Galvo_Controller i TrueStudio

Trinn 5: Koble alle delene mekanisk og test det

Koble alle delene mekanisk og test det
Koble alle delene mekanisk og test det
Koble alle delene mekanisk og test det
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:

Bilde
Bilde

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:

Bilde
Bilde

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:

Bilde
Bilde

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: