Inhaltsverzeichnis:

DIY STEP / DIR LASER GALVO CONTROLLER - Gunook
DIY STEP / DIR LASER GALVO CONTROLLER - Gunook

Video: DIY STEP / DIR LASER GALVO CONTROLLER - Gunook

Video: DIY STEP / DIR LASER GALVO CONTROLLER - Gunook
Video: Step/Dir to DAC for Galvo Driver 2024, Juli
Anonim
DIY STEP/DIR LASER GALVO CONTROLLER
DIY STEP/DIR LASER GALVO CONTROLLER

Hi, In diesem Instructable möchte ich Ihnen zeigen, wie Sie Ihre eigene Schritt- / Dir-Schnittstelle für ILDA-Standard-Galvo-Laserscanner bauen können.

Wie Sie vielleicht wissen, bin ich auch der Erfinder des "DIY-SLS-3D-Printers" und des "JRLS 1000 DIY SLS-3D-PRINTER" und während ich diese Maschinen baute, habe ich angefangen, daran zu tüfteln, wie diese Drucker funktionieren werden. wenn ich statt eines kartesischen Bewegungssystems einen Galvo-Scanner verwende. Allerdings hatte ich in diesen Tagen nicht das Wissen, einen Controller für einen Galvo-Scanner zu programmieren. Ich habe also eine vorhandene Firmware mit kartesischer Bewegung verwendet.

Aber heute und nach einiger Recherche fand ich ein anweisbares, wo der Autor ein Arduino verwendet, um eine DIY Laser Galvo Show zu erstellen. Ich dachte, das ist genau das, wonach ich suche, also habe ich die Teile wie in seiner Anleitung bestellt und einige Experimente gemacht. Nach einigen Recherchen fand ich heraus, dass das Arduino als Step / Direction-Interface nicht so gut funktioniert, also habe ich es für den STM32-Mikrocontroller neu gemischt.

Bitte denken Sie daran, dass dieser Controller nur ein Prototyp ist, aber für viele Projekte verwendbar ist. Zum Beispiel in einem DIY SLS 3D-Drucker oder einem Lasergravierer.

Die Funktionen des Galvo-Controllers sind:

  • Umwandlung von 5V Step/Dir Signalen auf ILDA Standart
  • 120kHz Eingangsfrequenz von (Schritt-/Richtungssignale)
  • 12bit Ausgabeauflösung (0, 006° pro Winkel)
  • Umrechnung von Polar- in Linearkoordinaten
  • kompatibel mit jedem Motion Controller, der ein Schritt- und Richtungssignal erzeugt
  • Zentrierstift (Homing-Routine)

Video des Laser-Galvo-Controllers: (demnächst)

Wenn Sie mein Instructable mögen, stimmen Sie bitte für mich im Remix Contest

Schritt 1: Teile, die Sie für den Galvo-Controller benötigen

Elektronische Teile für den Galvo-Controller:

Menge Beschreibung Verknüpfung Preis
1x ILDA 20Kpps Galvo-Galvanometer-Set Aliexpress 56, 51€
1x 6mm 650nm Laserdiode Aliexpress 1, 16€
etwas Drähte - -
1x ST-Link V2 Aliexpress 1, 92

Elektronische Teile für die Schaltung:

Hier sind alle benötigten Teile für den Galvo-Controller. Ich habe versucht, alle Teile so günstig wie möglich zu beschaffen.

Menge Beschreibung Name auf der Schaltung Verknüpfung Preis
1x STM32 "Blue-Pill" Mikrocontroller "BLAUE PILLE" Aliexpress 1, 88€
1x MCP4822 12-Bit-Dual-Channel-DAC MCP4822 Aliexpress 3, 00€
2x TL082 Dual-OpAmp IC1, IC2 Aliexpress 0, 97€
6x 1k Widerstand R1-R6 Aliexpress 0, 57€
4x 10k Trim-Potentiometer R7-R10 Aliexpress 1, 03€
etwas Stiftleiste - Aliexpress 0, 46€

Schritt 2: Die Theorie des Controllers

Bild
Bild

Hier erkläre ich Ihnen, wie der Controller im Allgemeinen funktioniert. Ich werde auch einige Details zeigen, zum Beispiel die Berechnung des rechten Winkels.

1. BEWEGUNGS-CONTROLLER

Der Motion Controller ist der Teil, in dem Sie die Schritt- und Richtungssignale erstellen. Die Schritt-/Richtungssteuerung wird häufig in Schrittmotoranwendungen wie 3D-Druckern, Lasern oder CNC-Fräsen verwendet.

Zusätzlich zu den Schritt- und Richtungssignalen ist ein zentraler Ausrichtungsstift erforderlich, um den STM32 und den Motioncontroller konsistent zu machen. Das liegt daran, dass die Galvos absolut kontrolliert werden und keine Endschalter erforderlich sind.

2. STM32-Mikrocontroller

Der STM32-Mikrocontroller ist das Herzstück dieses Controllers. Dieser Mikrocontroller hat mehrere Aufgaben. Diese Aufgaben sind:

Aufgabe 1: Signale messen

Bild
Bild

Die erste Aufgabe besteht darin, die Eingangssignale zu messen. In diesem Fall handelt es sich um Schritt- und Richtungssignale. Da ich nicht möchte, dass der Motion-Controller durch die Eingangsfrequenz begrenzt wird, habe ich die Schaltung für 120kHz ausgelegt (getestet). Um diese Eingangsfrequenz ohne Datenverlust zu erreichen, verwende ich zwei Hardware-Timer TIM2 und TIM3 auf dem STM32, um die Schritt- / Richtungsschnittstelle zu verwalten. Neben den Schritt- und Richtungssignalen gibt es das Ausrichtungssignal. Diese Ausrichtung wird durch einen externen Interrupt auf dem STM32 gesteuert.

Aufgabe 2: Berechnen Sie die Signale

Jetzt muss der Controller die Signale auf den richtigen Wert für den DAC berechnen. Da das Galvo ein nichtlineares Polarkoordinatensystem erzeugt, ist eine kleine Berechnung erforderlich, um eine lineare Abhängigkeit zwischen Schritt und tatsächlich bewegtem Laser zu erzeugen. Hier zeige ich Ihnen eine Skizze der Berechnung:

Bild
Bild

Jetzt müssen wir die Formel für die Berechnung finden. Da ich einen 12bit DAC verwende, kann ich eine Spannung von -5 - +5V in 0 - 4096 Schritten ausgeben. Das von mir bestellte Galvo hat einen Gesamtscanwinkel von 25° bei -5 - +5V. Mein Winkel phi liegt also in einem Bereich von -12, 5° - +12, 5°. Zum Schluss muss ich noch über den Abstand d nachdenken. Ich persönlich möchte ein Scanfeld von 100x100mm, also wird mein d 50mm betragen. Das hohe h wird das Ergebnis von phi und d sein. h ist 225,5 mm. Um den Abstand d in Relation zum Winkel phi zu bringen, habe ich eine kleine Formel verwendet, die die Tangenten verwendet und den Winkel vom Bogenmaß in "DAC-Werte" umwandelt

Bild
Bild

Schließlich muss ich nur noch einen Bias von 2048 hinzufügen, da mein Scanfeld zentriert ausgerichtet ist und alle Berechnungen abgeschlossen sind.

Aufgabe 3: Werte an den DAC senden:

Da der von mir verwendete STM32 keinen eingebauten DAC hat, habe ich einen externen DAC verwendet. Die Kommunikation zwischen DAC und STM32 erfolgt über SPI.

3. DAC

Für die Schaltung verwende ich den gleichen 12bit DAC "MCP4822" wie deltaflo. Da der DAC unipolar 0-4, 2V ist und Sie für den ILDA-Standard -+5V bipolar benötigen, müssen Sie eine kleine Schaltung mit einigen OpAmps aufbauen. Ich verwende TL082 OpAmps. Sie müssen diese Verstärkerschaltung zweimal aufbauen, da Sie zwei Galvos ansteuern müssen. Die beiden OpAmps sind mit -15 und +15 V als Versorgungsspannung verbunden.

Bild
Bild

4. GALVO

Der letzte Teil ist ziemlich einfach. Die Ausgangsspannung der beiden OPAmps wird an die ILDA Galvo-Treiber angeschlossen. Und das war's, jetzt sollten Sie die Galvos mit Schritt- und Richtungssignalen steuern können

Schritt 3: Die Schaltung

Die Rennbahn
Die Rennbahn

Für die Schaltung habe ich eine Prototyp-Leiterplatte verwendet.

Sie können die Schritt- und Richtungssignale direkt an den STM32 anschließen, da ich interne Pulldown-Widerstände aktiviert habe. Außerdem habe ich 5V-tolerante Pins für die Schritt-, Richtungs- und Mittelpins verwendet.

Den vollständigen Schaltplan der Schaltung können Sie unten herunterladen:

Schritt 4: Programmieren des STM32

Der STM32 ist mit Attolic TrueStudio und CubeMX programmiert. TrueStudio kann kostenlos verwendet werden und Sie können es hier herunterladen

Da TrueStudio nicht so einfach ist wie beispielsweise die Arduino IDE, habe ich eine.hex-Datei generiert, die Sie einfach auf den STM32-Mikrocontroller hochladen müssen.

Im Folgenden erkläre ich, wie Sie die Datei auf den STM32 "BluePill" hochladen:

1. Laden Sie "STM32 ST-LINK Utility" herunter: Sie können die Software hier herunterladen

2. Installieren und öffnen Sie "STM32 ST-LINK Utility":

Bild
Bild

3. Öffnen Sie nun die Datei Galvo.hex im ST-Link-Dienstprogramm:

Bild
Bild

Danach müssen Sie das STM32 "BluePill" mit dem ST-Link-V2 verbinden. Sobald die Verbindung hergestellt ist, klicken Sie auf die Schaltfläche "Mit traget verbinden":

Bild
Bild

Klicken Sie abschließend auf „Herunterladen“. Jetzt sollte Ihr STM32 korrekt geflasht sein.

Bild
Bild

Außerdem habe ich alle Quelldateien für den Galvo_Controller in TrueStudio angehängt

Schritt 5: Verbinden Sie alle Teile mechanisch und testen Sie es

Verbinden Sie alle Teile mechanisch und testen Sie es
Verbinden Sie alle Teile mechanisch und testen Sie es
Verbinden Sie alle Teile mechanisch und testen Sie es
Verbinden Sie alle Teile mechanisch und testen Sie es

Ich habe alle elektronischen Teile zur besseren Optik auf eine 4mm Aluminiumplatte gelegt:-)

Jetzt zeige ich Ihnen, wie Sie die Potentiometer auf der Schaltung wahrscheinlich einstellen müssen:

Zunächst einige Hintergrundinformationen zum ILDA-Standard. Der ILDA-Standard wird normalerweise für Lasershows verwendet und besteht aus einem 5V- und einem -5V-Signal. Beide Signale haben die gleiche Amplitude, jedoch mit geänderter Polarität. Was wir also tun müssen, ist das Ausgangssignal des DAC auf 5V und -5V zu trimmen.

Stellen Sie das Potentiometer ein:

Bild
Bild

Was Sie hier sehen können, ist die Ausgangsspannung dieser Schaltung bei einer Eingangsschrittfrequenz von 100kHz und einem konstanten Richtungssignal. Auf diesem Bild ist alles in Ordnung. Die Amplitude geht von 0 bis 5V und von 0 bis -5. Auch die Spannungen stimmen wohl überein.

Jetzt zeige ich Ihnen, was beim Einstellen des Potentiometers schief gehen kann:

Bild
Bild

Wie Sie jetzt sehen können, sind wahrscheinlich beide Spannungen nicht ausgerichtet. Die Lösung besteht darin, die Offsetspannung vom OpAmp anzupassen. Sie tun dies, indem Sie die Potentiometer "R8" und "R10" einstellen.

Ein anderes Beispiel:

Bild
Bild

Wie Sie jetzt sehen können, sind die Spannungen wahrscheinlich ausgerichtet, aber die Amplitude beträgt nicht 5V sondern 2V. Die Lösung besteht darin, den Verstärkungswiderstand vom OpAmp anzupassen. Dies tun Sie, indem Sie die Potentiometer "R7" und "R9" einstellen.

Empfohlen: