Cuprins:

DIY STEP / DIR LASER CONTROLER GALVO: 5 pași (cu imagini)
DIY STEP / DIR LASER CONTROLER GALVO: 5 pași (cu imagini)

Video: DIY STEP / DIR LASER CONTROLER GALVO: 5 pași (cu imagini)

Video: DIY STEP / DIR LASER CONTROLER GALVO: 5 pași (cu imagini)
Video: Inside the Closed Loop Laser Beam Stearing Galvanometer. 2024, Iulie
Anonim
DIY STEP / DIR LASER GALVO CONTROLLER
DIY STEP / DIR LASER GALVO CONTROLLER

Salut, în acest instructabil, vreau să vă arăt cum puteți construi propria interfață pas / dir pentru scanere laser galvo standard ILDA.

După cum s-ar putea să știți, sunt și inventatorul „DIY-SLS-3D-Printer” și al „JRLS 1000 DIY SLS-3D-PRINTER” și, în timp ce construiam aceste mașini, am început să mă gândesc la performanța acestor imprimante, dacă voi folosi un scaner Galvo în locul unui sistem de mișcare carteziană. Cu toate acestea, în aceste zile nu am avut cunoștințele de a programa un controler pentru un scaner galvo. Așa că am folosit un firmware existent cu mișcare carteziană.

Dar astăzi și după unele cercetări, am găsit un instructabil în care autorul folosește un arduino pentru a crea un spectacol DIY Laser Galvo. Am crezut că exact asta caut, așa că am comandat piesele ca în instructabilul său și am făcut câteva experimente. După câteva cercetări, am aflat că Arduino nu va funcționa atât de bine ca interfața pas / direcție, așa că l-am remixat pentru microcontrolerul STM32.

Vă rugăm să vă amintiți că acest controler este doar un prototip, dar poate fi utilizat pentru o mulțime de proiecte. De exemplu, într-o imprimantă 3D SLS DIY sau un gravor cu laser.

Caracteristicile controlerului Galvo sunt:

  • conversie de la semnale de pas / dir de 5V la standart ILDA
  • Frecvența de intrare 120kHz a (semnalelor pas / direcție)
  • Rezoluție de ieșire pe 12 biți (0, 006 ° per unghi)
  • conversia de la coordonate polare la liniare
  • compatibil cu orice controler de mișcare care va crea un semnal de direcție și pas
  • pin de aliniere central (rutină de aderare)

video cu controler laser galvo: (în curând)

Dacă îți place Instructable-ul meu, te rog să mă votezi în Concursul de Remixuri

Pasul 1: Piese de care aveți nevoie pentru controlerul Galvo

Piese electronice pentru controlerul galvo:

Cantitate Descriere Legătură Preț
1x Set galvanometru galvo ILDA 20Kpps Aliexpress 56, 51€
1x 6mm 650nm Laserdiode Aliexpress 1, 16€
niste fire - -
1x ST-Link V2 Aliexpress 1, 92

Piese electronice pentru circuit:

Iată toate piesele necesare pentru controlerul galvo. Am încercat să obțin toate piesele cât mai ieftine posibil.

Cantitate Descriere Nume pe circuit Legătură Preț
1x Microcontroler STM32 "Blue-Pill" „ALBASTRĂ-PILOVĂ” Aliexpress 1, 88€
1x MCP4822 DAC dual channel pe 12 biți MCP4822 Aliexpress 3, 00€
2x TL082 dual OpAmp IC1, IC2 Aliexpress 0, 97€
6x Rezistor 1k R1-R6 Aliexpress 0, 57€
4x 10k-potențiometru de decupare R7-R10 Aliexpress 1, 03€
niste antet pin - Aliexpress 0, 46€

Pasul 2: Teoria controlorului

Imagine
Imagine

Aici vă voi explica, cum funcționează controlerul în general. De asemenea, voi arăta câteva detalii, de exemplu, calculul unghiului drept.

1. CONTROLUL DE MOCIUNE

Controlerul de mișcare este partea în care veți crea semnalele de direcție și pas. Controlul pasului / direcției este adesea utilizat în aplicații cu motor pas cu pas, cum ar fi imprimante 3D, lasere sau freze CNC.

În plus față de semnalele de pas și direcție, este nevoie de un pin de aliniere central pentru a face ca STM32 și Motioncontroller să fie compatibile. Acest lucru se datorează faptului că galvo-urile sunt controlate în mod absolut și nu este nevoie de nicio întrerupătoare de limită.

2. STM32-microcontroler

Microcontrolerul STM32 este inima acestui controler. Acest microcontroler are mai multe sarcini de făcut. Aceste sarcini sunt:

Sarcina 1: Măsurați semnalele

Imagine
Imagine

Prima sarcină este de a măsura semnalele de intrare. În acest caz, vor fi semnale de pas și direcție. Deoarece nu vreau ca controlerul de mișcare să fie limitat de frecvența de intrare, am proiectat circuitul pentru 120kHz (testat). Pentru a obține această frecvență de intrare fără a pierde date, folosesc două temporizatoare hardware TIM2 și TIM3 pe STM32 pentru a gestiona interfața pas / direcție. În plus față de semnalele de pas și direcție există semnalul de aliniere. Această aliniere este controlată de o întrerupere externă pe STM32.

Sarcina 2: Calculați semnalele

Acum controlerul trebuie să calculeze semnalele la valoarea corectă pentru DAC. Deoarece galvo va crea un sistem de coordonate polare neliniare, este necesar un mic calcul pentru a crea o dependență liniară între pas și laserul real deplasat. Aici vă voi arăta o schiță a calculului:

Imagine
Imagine

Acum trebuie să găsim formula pentru calcul. Deoarece folosesc un DAC de 12 biți, pot da o tensiune de la -5 - + 5V în 0 - 4096 pași. Comanda Galvo I have are un unghi total de scanare de 25 ° la -5 - + 5V. Deci unghiul meu phi este în intervalul de la -12, 5 ° - +12, 5 °. În cele din urmă, trebuie să mă gândesc la distanța d. Vreau personal un câmp de scanare de 100x100mm, așa că d-ul meu va fi de 50mm. Înaltul h va fi rezultatul phi și d. h este 225, 5mm. Pentru a aduce distanța d în raport cu unghiul phi, am folosit o mică formulă, care va folosi tangențele și va converti unghiul din radiani în „valori DAC”

Imagine
Imagine

În cele din urmă, trebuie doar să adaug o prejudecată de 2048, deoarece scanarea mea este alinierea centrală și toate calculele sunt terminate.

Sarcina 3: Trimiteți valori către DAC:

Deoarece STM32 pe care l-am folosit nu are construire în DAC, am folosit un DAC extern. Comunicarea dintre DAC și STM32 se realizează prin SPI.

3. DAC

Pentru circuit folosesc același DAC pe 12 biți "MCP4822" ca deltaflo. Deoarece DAC este unipolar 0-4, 2V și aveți nevoie de - + 5V bipolar pentru standardul ILDA, trebuie să construiți un circuit mic cu câteva OpAmps. Folosesc TL082 OpAmps. Trebuie să construiți acest circuit amplificator de două ori, pentru că trebuie să controlați doi galvo. Cele două OpAmp-uri sunt conectate la -15 și + 15V ca tensiune de alimentare.

Imagine
Imagine

4. GALVO

Ultima parte este destul de simplă. Tensiunea de ieșire a celor două OPAmps va fi conectată la driverele ILDA Galvo. Și atât, acum ar trebui să puteți controla galvo-urile cu semnale de direcție și pas

Pasul 3: Circuitul

Circuitul
Circuitul

Pentru circuit am folosit un prototip PCB.

Puteți conecta semnalele de pas și direcție direct la STM32, deoarece am activat rezistențe interne de tragere. De asemenea, am folosit știfturi tolerante de 5V pentru știfturile de pas, direcție și centru.

Puteți descărca schema completă a circuitului de mai jos:

Pasul 4: Programarea STM32

STM32 este programat cu Attolic TrueStudio și CubeMX. TrueStudio este gratuit și îl puteți descărca de aici

Deoarece TrueStudio nu este atât de simplu ca, de exemplu, Arduino IDE, am generat un fișier.hex, pe care trebuie pur și simplu să îl încărcați pe microcontrolerul STM32.

În cele ce urmează vă voi explica cum ați introdus fișierul în STM32 „BluePill”:

1. Descărcați „STM32 ST-LINK Utility”: Puteți descărca software-ul de aici

2. Instalați și deschideți „STM32 ST-LINK Utility”:

Imagine
Imagine

3. Acum deschideți fișierul Galvo.hex în ST-Link Utility:

Imagine
Imagine

După aceea, trebuie să conectați STM32 „BluePill” la ST-Link-V2. Odată conectat, faceți clic pe butonul „Conectați-vă la traget”:

Imagine
Imagine

În cele din urmă, faceți clic pe „Descărcați”. Acum, STM32 ar trebui să fie intermitent corect.

Imagine
Imagine

În plus, am atașat toate fișierele sursă pentru Galvo_Controller în TrueStudio

Pasul 5: Conectați toate piesele mecanic și testați-le

Conectați toate piesele mecanic și testați-le
Conectați toate piesele mecanic și testați-le
Conectați toate piesele mecanic și testați-le
Conectați toate piesele mecanic și testați-le

Am așezat toate piesele electronice pe o placă de aluminiu de 4 mm pentru un aspect mai bun:-)

Acum vă voi arăta cum trebuie să reglați potențiometrele de pe circuit probabil:

La început câteva informații de bază despre standardul ILDA. Standardul ILDA este de obicei folosit pentru spectacole cu laser și constă dintr-un semnal de 5V și -5v. Ambele semnale au aceeași amplitudine, dar cu polaritate modificată. Deci, trebuie să tăiem semnalul de ieșire de la DAC la 5V și -5V.

Reglați potențiometrul:

Imagine
Imagine

Ceea ce puteți vedea aici este tensiunea de ieșire a acestui circuit la o frecvență de pas de intrare de 100kHz și cu un semnal de direcție constantă. În această imagine totul este în regulă. Amplitudinea merge de la 0 la 5V și de la 0 la -5. De asemenea, tensiunile sunt aliniate probabil.

Acum vă voi arăta ce s-ar putea greși în timp ce reglați potențiometrul:

Imagine
Imagine

După cum puteți vedea acum, ambele tensiuni nu sunt aliniate probabil. Soluția este de a regla tensiunea offset de la OpAmp. Faceți acest lucru reglând potențiometrele „R8” și „R10”.

Alt exemplu:

Imagine
Imagine

După cum puteți vedea acum, tensiunile sunt aliniate probabil, dar amplitudinea nu este de 5V, ci de 2V. Soluția este de a regla rezistența de câștig de la OpAmp. Faceți acest lucru reglând potențiometrele „R7” și „R9”.

Recomandat: