Indholdsfortegnelse:
- Trin 1: Dele, du har brug for til Galvo -controlleren
- Trin 2: The Controller theory
- Trin 3: Kredsløbet
- Trin 4: Programmering af STM32
- Trin 5: Tilslut alle delene mekanisk og test det
Video: DIY STEP/DIR LASER GALVO CONTROLLER: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Hej, i denne Instructable vil jeg vise dig, hvordan du kan bygge din egen trin / dir -grænseflade til ILDA standard galvo laserscannere.
Som du måske ved, er jeg også opfinderen af "DIY-SLS-3D-printeren" og "JRLS 1000 DIY SLS-3D-PRINTER", og mens jeg byggede disse maskiner, begyndte jeg at gruble over, hvordan disse printere vil fungere, hvis jeg vil bruge en Galvo -scannere i stedet for et kartesisk bevægelsessystem. Men i disse dage havde jeg ikke viden om at programmere en controller til en galvo -scanner. Så jeg har brugt en eksisterende firmware med kartesisk bevægelse.
Men i dag og efter lidt research fandt jeg en instruerbar, hvor forfatteren bruger en arduino til at lave et DIY Laser Galvo -show. Jeg troede, det var præcis det, jeg leder efter, så jeg har bestilt delene som i hans instruerbare og lavet nogle eksperimenter. Efter nogle undersøgelser fandt jeg ud af, at Arduino ikke vil fungere så godt som trin / retning -grænseflade, så jeg remixede det til STM32 mikrokontroller.
Husk, at denne controller bare er en prototype, men kan bruges til mange projekter. For eksempel i en DIY SLS 3D -printer eller en lasergraver.
Funktionerne i Galvo -controlleren er:
- konvertering fra 5V trin/dir -signaler til ILDA standard
- 120 kHz indgangsfrekvens for (trin- / retningssignaler)
- 12bit udgangsopløsning (0, 006 ° pr. Vinkel)
- konvertering fra polære til lineære koordinater
- kompatibel med enhver bevægelsescontroller, der skaber et trin- og retningssignal
- center alignment pin (homing routine)
video af laser galvo controller: (kommer snart)
Hvis du kan lide min Instructable, skal du stemme på mig i Remix -konkurrencen
Trin 1: Dele, du har brug for til Galvo -controlleren
Elektroniske dele til galvo -controlleren:
Antal | Beskrivelse | Link | Pris |
---|---|---|---|
1x | ILDA 20Kpps galvo galvanometersæt | Aliexpress | 56, 51€ |
1x | 6 mm 650 nm laserdiode | Aliexpress | 1, 16€ |
nogle | ledninger | - | - |
1x | ST-Link V2 | Aliexpress | 1, 92 |
Elektroniske dele til kredsløbet:
Her er alle nødvendige dele til galvo -controlleren. Jeg forsøgte at skaffe alle dele så billigt som muligt.
Antal | Beskrivelse | Navn på kredsløb | Link | Pris |
---|---|---|---|---|
1x | STM32 "Blue-Pill" mikrokontroller | "BLÅ-PILL" | Aliexpress | 1, 88€ |
1x | MCP4822 12 bit dobbelt kanal DAC | MCP4822 | Aliexpress | 3, 00€ |
2x | TL082 dobbelt OpAmp | IC1, IC2 | Aliexpress | 0, 97€ |
6x | 1k modstand | R1-R6 | Aliexpress | 0, 57€ |
4x | 10k trim-potentiometer | R7-R10 | Aliexpress | 1, 03€ |
nogle | pin header | - | Aliexpress | 0, 46€ |
Trin 2: The Controller theory
Her vil jeg forklare, hvordan controlleren fungerer generelt. Jeg vil også vise nogle detaljer, f.eks. Beregning af den rigtige vinkel.
1. MOTION-CONTROLLER
Bevægelseskontrolleren er den del, hvor du vil oprette trin- og retningssignalerne. Trin/retningskontrollen bruges ofte i trinmotorapplikationer som 3D-printere, lasere eller CNC-møller.
Ud over trin- og retningssignalerne er der behov for en centerjusteringsstift for at gøre STM32 og Motioncontroller konsistent. Det er fordi galvoen er absolut kontrolleret, og der ikke er behov for nogen endestopkontakter.
2. STM32-mikrokontroller
STM32 -mikrokontrolleren er hjertet i denne controller. Denne mikrokontroller har flere opgaver at gøre. Disse opgaver er:
Opgave 1: Mål signaler
Den første opgave er at måle indgangssignalerne. I dette tilfælde vil det være trin- og retningssignaler. Fordi jeg ikke vil have, at bevægelsescontrolleren bliver begrænset af indgangsfrekvensen, har jeg designet kredsløbet til 120 kHz (testet). For at opnå denne inputfrekvens uden at miste data bruger jeg to hardware -timere TIM2 og TIM3 på STM32 til at styre trin / retning -grænsefladen. Ud over trin- og retningssignalerne er der justeringssignalet. Denne justering styres af en ekstern afbrydelse på STM32.
Opgave 2: Beregn signalerne
Nu skal controlleren beregne signalerne til den rigtige værdi for DAC. Fordi galvoen vil skabe et ikke -lineært polært koordinatsystem, er en lille beregning nødvendig for at skabe en lineær afhængighed mellem trin og faktisk flyttet laser. Her vil jeg vise dig en skitse af beregningen:
Nu skal vi finde formlen til beregningen. Fordi jeg bruger en 12bit DAC, kan jeg afgive en spænding fra -5 - +5V i 0 - 4096 trin. Galvo jeg har ordre har en samlet scanningsvinkel på 25 ° ved -5 - +5V. Så min vinkel phi er i et område fra -12, 5 ° - +12, 5 °. Endelig skal jeg tænke på afstanden d. Jeg vil personligt have et scanningsfelt på 100x100mm, så min d vil være 50mm. Den høje h vil være resultatet af phi og d. h er 225, 5 mm. For at bringe afstanden d i forhold til vinklen phi brugte jeg en lille formel, som vil bruge tangenterne og konvertere vinklen fra radianer til "DAC-værdier"
Endelig behøver jeg kun at tilføje en bias på 2048, fordi mit scanningsfelt er centerjustering, og alle beregningerne er udført.
Opgave 3: Send værdier til DAC:
Fordi STM32 jeg har brugt ikke har nogen indbygget DAC, har jeg brugt en ekstern DAC. Kommunikationen mellem DAC og STM32 realiseres over SPI.
3. DAC
Til kredsløbet bruger jeg den samme 12bit DAC "MCP4822" som deltaflo. Fordi DAC er unipolar 0-4, 2V, og du har brug for -+5V bipolar til ILDA -standarden, skal du bygge et lille kredsløb med nogle OpAmps. Jeg bruger TL082 OpAmps. Du skal bygge dette forstærkerkredsløb to gange, fordi du skal styre to galvoer. De to OpAmps er forbundet til -15 og +15V som deres forsyningsspænding.
4. GALVO
Den sidste del er ret enkel. Udgangsspændingen for de to OPAmps tilsluttes ILDA Galvo -driverne. Og det er det, nu skulle du være i stand til at styre galvoen med trin- og retningssignaler
Trin 3: Kredsløbet
Til kredsløbet har jeg brugt en prototype PCB.
Du kan tilslutte trin- og retningssignalerne direkte til STM32, fordi jeg har aktiveret interne pull down -modstande. Jeg har også brugt 5V tolerante stifter til trin, retning og midterstifter.
Du kan downloade hele skematikken over kredsløbet herunder:
Trin 4: Programmering af STM32
STM32 er programmeret med Attolic TrueStudio og CubeMX. TrueStudio er gratis at bruge, og du kan downloade den her
Fordi TrueStudio ikke er så enkelt som f.eks. Arduino IDE, har jeg genereret en.hex -fil, som du simpelthen skal uploade til STM32 -mikrokontrolleren.
I det følgende vil jeg forklare, hvordan du uploader filen til STM32 "BluePill":
1. Download "STM32 ST-LINK Utility": Du kan downloade softwaren her
2. Installer og åbn "STM32 ST-LINK Utility":
3. Åbn nu Galvo.hex-filen i ST-Link Utility:
Derefter skal du slutte STM32 "BluePill" til ST-Link-V2. Når du er tilsluttet, skal du klikke på knappen "Opret forbindelse til traget":
Klik til sidst på "Download". Nu skal din STM32 blinke korrekt.
Derudover har jeg vedhæftet alle kildefilerne til Galvo_Controller i TrueStudio
Trin 5: Tilslut alle delene mekanisk og test det
Jeg har placeret alle de elektroniske dele på en 4 mm aluminiumsplade for et bedre udseende:-)
Nu vil jeg vise dig, hvordan du sandsynligvis skal justere potentiometrene på kredsløbet:
Først lidt baggrundsinformation om ILDA -standarden. ILDA -standarden bruges normalt til lasershows og består af et 5V og et -5v signal. Begge signaler har samme amplitude, men med ændret polaritet. Så hvad vi skal, er at trimme udgangssignalet fra DAC til 5V og -5V.
Juster potentiometeret:
Det, du kan se her, er udgangsspændingen for dette kredsløb ved en input -trinfrekvens på 100 kHz og med et konstant retningsignal. I dette billede er alt fint. Amplituden går fra 0 til 5V og fra 0 til -5. Også spændingerne er sandsynligvis justeret.
Nu vil jeg vise dig, hvad der kan gå galt, mens du justerer potentiometeret:
Som du kan se nu, er begge spændinger sandsynligvis ikke justeret. Løsningen er at justere offset -spændingen fra OpAmp. Det gør du ved at justere potentiometrene "R8" og "R10".
Et andet eksempel:
Som du kan se nu, er spændingerne sandsynligvis justeret, men amplituden er ikke 5V, men 2V. Løsningen er at justere forstærkningsmodstanden fra OpAmp. Det gør du ved at justere potentiometrene "R7" og "R9".
Anbefalede:
Atari Punk Console With a Baby 8 Step Sequencer: 7 trin (med billeder)
Atari Punk Console With a Baby 8 Step Sequencer: Denne mellemliggende build er den alt-i-en Atari Punk Console og Baby 8 Step Sequencer, du kan fræse på Bantam Tools Desktop PCB Fræsemaskine. Det består af to kredsløb: det ene er et brugergrænseflade (UI) -kort, og det andet er et hjælpeprogram
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Laser Box Music Laser Light Show: 18 trin (med billeder)
Laser Box Music Laser Light Show: Jeg har tidligere udgivet en Instructable, der beskrev, hvordan man bruger computerens harddiske til at lave et musiklaserlysshow. Jeg besluttede mig for at lave en kompakt version ved hjælp af en elboks og RC -bilmotorer. Inden jeg begynder, skal jeg nok fortælle dig den lase
Mini CNC Laser Trægraver og Laser Papirskærer .: 18 trin (med billeder)
Mini CNC lasertræsgraver og laserpapirkutter: Dette er en instruktion om, hvordan jeg lavede en Arduino -baseret laser CNC -trægraver og tyndt papirskærer ved hjælp af gamle DVD -drev, 250mW laser. Legeområdet er max 40 mm x 40 mm. Er det ikke sjovt at lave en egen maskine af gamle ting?
NES Controller Shuffle (Nintendo Controller MP3, V3.0): 5 trin (med billeder)
NES Controller Shuffle (Nintendo Controller MP3, V3.0): Jeg rippede helt ryan97128 af hans design til Nintendo Controller MP3, version 2.0, og jeg hører, at han fik ideen fra den kloge Morte_Moya, så jeg kan ikke tage æren for alt deres geni. Jeg ville bare tilføje bekvemmeligheden og genoplade