600.101 aktive Mitglieder*
2.206 Besucher online*
Kostenfrei registrieren
Einloggen Registrieren

Hilfe benötigt: CNC-Laser schaltet sich nicht ein mit Arduino

Beitrag 24.03.2025, 20:21 Uhr
M042
Level 1 = Community-Lehrling
*

Hallo zusammen,

Ich helfe meiner Schwägerin aus der Ferne bei ihrem Schulprojekt – einer CNC-Maschine mit einem Arduino, Schrittmotoren und einem blau/violetten Laser. Sie ist in Cebu, Philippinen, und ich unterstütze sie per Videoanruf, sodass ich die Hardware nicht direkt manipulieren kann.

Projektaufbau
Hardware:
Arduino Uno

CNC Shield V3

2 Nema 17 Schrittmotoren (4-polig)

2 DRV8825 Schrittmotortreiber

500mW 405NM 12V Blau-Violett-Lasermodul (einstellbarer Fokus, TTL PWM-Steuerung)

12V 10A Netzteil

Software:
LaserGRBL

Problem: Laser schaltet sich nicht über Arduino ein
Der Laser funktioniert, wenn wir die Taste darauf drücken, aber er schaltet sich nicht über den Arduino ein.

Verdrahtung:
Rotes Kabel -> 12V (CNC Shield)

Schwarzes Kabel -> GND

Gelbes Kabel -> Z+ (D11)

Weißes Kabel -> (Auch mit SpnEN getestet)

Was wir bisher versucht haben:
Anleitung aus diesem YouTube-Video befolgt:
https://www.youtube.com/watch?v=td4DWtMY7SQ...wToMechatronics
(inklusive Import der LaserGRBL-Einstellungen)

Laser funktioniert manuell: Durch Drücken der Taste auf dem Laser geht er mit voller Leistung an.

Motoren funktionieren einwandfrei und bewegen sich wie erwartet.

LaserGRBL-Einstellungen überprüft:

$30=1000

$31=0

$32=1

Verschiedene G-Code-Befehle getestet:

M3 S500, M3 S1000, M3 S100, M3 S50 → Laser schaltet sich nicht ein.

M3 + G1 X10 F1000 S255 → Motoren bewegen sich, aber der Laser bleibt aus.

Multimeter-Tests:

12V-Stromversorgung funktioniert korrekt.

SpnEN- und 5V-Signale sind vorhanden.

Kein Ausgangssignal auf D11 bei laufenden Befehlen.

Alternative Verdrahtung ausprobiert:

PWM-Kabel an 5V angeschlossen (in der Hoffnung auf ein konstantes Signal) → Keine Reaktion.

"4-Draht"-Variante getestet (Weiß auf SpnEN, Gelb auf 5V) → Keine Reaktion.

Eigener Arduino-Code getestet:
cpp
Kopieren
Bearbeiten
// Pin-Definitionen
#define LASER_PWM 11 // Laser PWM-Steuerung (D11)
#define SPINDLE_EN 12 // Spindel aktivieren (D12)
#define X_STEP 2 // X-Schrittmotor-Schritt-Pin
#define X_DIR 5 // X-Schrittmotor-Richtung
#define Y_STEP 3 // Y-Schrittmotor-Schritt-Pin
#define Y_DIR 6 // Y-Schrittmotor-Richtung
#define X_LIMIT 9 // X+ Endschalter
#define Y_LIMIT 10 // Y+ Endschalter
#define MOTOR_EN 8 // Schrittmotor aktivieren

void setup() {
pinMode(LASER_PWM, OUTPUT);
pinMode(SPINDLE_EN, OUTPUT);
pinMode(X_STEP, OUTPUT);
pinMode(X_DIR, OUTPUT);
pinMode(Y_STEP, OUTPUT);
pinMode(Y_DIR, OUTPUT);
pinMode(X_LIMIT, INPUT_PULLUP);
pinMode(Y_LIMIT, INPUT_PULLUP);
pinMode(MOTOR_EN, OUTPUT);

digitalWrite(SPINDLE_EN, HIGH); // Spindel aktivieren (falls erforderlich)
digitalWrite(MOTOR_EN, LOW); // Schrittmotoren aktivieren (LOW aktiv)
Serial.begin(115200);
Serial.println("Setup abgeschlossen");
}

void loop() {
// Laser auf 50 % Leistung einschalten
analogWrite(LASER_PWM, 127);
Serial.println("Laser EIN");
delay(1000);

// X-Achse 100 Schritte vorwärts bewegen
Serial.println("X-Achse bewegt sich");
digitalWrite(X_DIR, HIGH);
for (int i = 0; i < 100; i++) {
digitalWrite(X_STEP, HIGH);
delayMicroseconds(500);
digitalWrite(X_STEP, LOW);
delayMicroseconds(500);
}
delay(500);

// Y-Achse 100 Schritte vorwärts bewegen
Serial.println("Y-Achse bewegt sich");
digitalWrite(Y_DIR, HIGH);
for (int i = 0; i < 100; i++) {
digitalWrite(Y_STEP, HIGH);
delayMicroseconds(500);
digitalWrite(Y_STEP, LOW);
delayMicroseconds(500);
}
delay(500);

// Endschalter prüfen
if (digitalRead(X_LIMIT) == LOW) {
Serial.println("X-Endschalter erreicht!");
}
if (digitalRead(Y_LIMIT) == LOW) {
Serial.println("Y-Endschalter erreicht!");
}

// Laser ausschalten
analogWrite(LASER_PWM, 0);
Serial.println("Laser AUS");
delay(2000);
}
Analoges Signal an D11 gesendet, während die Motoren laufen → Laser bleibt aus.

Ausgangssignal von D11 gemessen (Signal vorhanden), aber der Laser reagiert nicht.

Mögliche Ursachen & Fragen:
Könnte die interne Verkabelung des Lasers fehlerhaft sein, sodass TTL/PWM-Steuerung nicht funktioniert?

Gibt es weitere Tests, um herauszufinden, ob es ein Verkabelungsproblem, ein Softwareproblem oder ein defekter Laser ist?

Das Problem ist, dass wir den Laser online bestellt haben und aufgrund der Projektfrist keine Zeit haben, auf einen Ersatz zu warten. Jede Hilfe oder Tipps zur Fehlersuche wären sehr willkommen!

Vielen Dank im Voraus!
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: