Forum: Mikrocontroller und Digitale Elektronik Laser Modulation für Photoengraver


von Manuel G. (ajatuksia)


Lesenswert?

Hallo, nach dem ich die Suche genutzt habe und nicht auf meine Antworten 
gekommen bin möchte ich nun hier meine Frage Posten.

Gegeben ist:

eine CNC mit 5 Achssteuerung mit 5V ausgang für Step/Dir
ein 2,2 W Laser mit Treiber TTL 5Volt max 1KHZ PWM

Frage:

Auf der Seite http://www.picengrave.com/Laser%20Setups.pdf im Kapitel 
"Electronic Control Method" ist eine Schaltung beschrieben die so wie 
ich es mir  übersetzen konnte das Step, Dir Signal auswertet und 
entsprechend den Laser schaltet bzw moduliert. Nun kann ein Arduino 
diese Schaltung evtl "Emulieren"??? Wenn ja wäre dies sehr Interessant.
Wie kann man das am besten umsetzen?

Gruß

Aja

von Qualm & Stink (Gast)


Lesenswert?

Mein Tip ... das Ziel ist etwas weit weg. Lass es sein. Das wird so 
nichts. Da fehlen zuviele Grundlagen.

von Manuel G. (ajatuksia)


Lesenswert?

Hallo Qualm & Stink,

Welche Grundlagen fehlen denn?

von hp-freund (Gast)


Lesenswert?

Manuel Böttger schrieb:
> eine CNC mit 5 Achssteuerung mit 5V ausgang für Step/Dir
> ein 2,2 W Laser mit Treiber TTL 5Volt max 1KHZ PWM

Steht eigentlich schon alles da:

ein UP/DOWN Zähler der seine 8bit in ein PWM Register übergibt.

von Manuel G. (ajatuksia)


Lesenswert?

Danke hp-freund, Wie kann ich mir das genau vorstellen?
step 100 impulese und Dir für 3V Linkslauf = 100% Laser leistung
und umgekehrt Step 100 impulese und Dir für 5V Rechtslauf = 0% Laser 
leistung?

von Wolfgang (Gast)


Lesenswert?

Manuel Böttger schrieb:
> Danke hp-freund, Wie kann ich mir das genau vorstellen?

Die Ansteuerung von der Z-Achse wird mißbraucht, um statt der 
Werkzeughöhe eine Steuerspannung für die Laserintensität zu liefern. 
That's all.

von hp-freund (Gast)


Lesenswert?

Genau.
Aber 1kHz PWM ist recht wenig und macht die "Höhenachse" träge.

von Wolfgang (Gast)


Lesenswert?

hp-freund schrieb:
> Aber 1kHz PWM ist recht wenig und macht die "Höhenachse" träge.

Wieso PWM. Die Z-Position wird direkt als Analogwert ausgegeben. Da muss 
Mach3 mal zeigen, wie schnell es den Z-Trieb fahren kann.
Und die Schnittgeschwindigkeit geht auch noch in die Schwärzung ein.

von hp-freund (Gast)


Lesenswert?

ist gegeben:

Manuel Böttger schrieb:
> ein 2,2 W Laser mit Treiber TTL 5Volt max 1KHZ PWM

von Wolfgang (Gast)


Lesenswert?

hp-freund schrieb:
> ist gegeben:
>
> Manuel Böttger schrieb:
>> ein 2,2 W Laser mit Treiber TTL 5Volt max 1KHZ PWM

Wenn der Laser nicht mit einer Analogspannung gesteuert werden kann, ist 
die direkte Steuerung über einen DAC wohl der falsche Ansatz.

Wenn man bei 1kHz auf eine Auflösung von idealerweise 256 Graustufen 
kommen will, muß bei digitaler Generierung die Basisfrequenz zur 
Erzeugung der PWM bei 256 kHz liegen.

Man kann das ganze natürlich auch analog lösen und einen 
Sägezahngenerator mit 1kHz laufen lassen. Das Sägezahnsignal wird von 
einem Komparator mit dem Analogsignal aus dem Z-Achsen DAC verglichen, 
so dass man direkt ein 1kHz PWM Signal erhält.

von Manuel G. (ajatuksia)


Lesenswert?

Das heist auf Deutsch das ich bei Mach3 die Motordaten im Tunig-Menü so 
Steil wie möglich einstellen muss... oder?

Wenn ich das Arduino nutze um den Laser zu "Pulsen" sollte doch dann so 
wie ich es verstanden habe gelten ist Dir auf "Z-" Soll er die 
Step-Impulse hochzählen (Laserleistung erhöhen)  da das mehr kontrast 
gibt und bei Dir für Z+ die Step-Impulse runterzählen (Laserleistung 
verringen) um weniger Kontrast zu geben.

Alles was zwischen Z-Richtung + oder - muss als Wert gehalten werden ... 
Richtig?

von hp-freund (Gast)


Lesenswert?

Ja. So stelle ich mir das auch vor.
Vielleicht muss die Achse auch garnicht so "schnell" sein.
Wenn Mach3 M62-M65 Befehle unterstützt, könnte man die PWM-Laserleistung 
stehen lassen und zusätzlich den Laser digital Ein/Aus schalten.

von Manuel G. (ajatuksia)


Lesenswert?

Wäre ne Idee nur dIe leistung zu regeln find ich genialer..... allein 
wegen Kontrastwerten

von Manuel G. (ajatuksia)


Lesenswert?

Guten Morgen liebe Gemeinde nun habe ich mal etwas programmiert, ich 
hoffe es ist nicht all zu viel Quatsch bei:

Es geht um die PWM für den Laser.... Für Anregungen und Korrekturen bin 
ich jederzeit offen.
1
int dirpin = A0;      //input dir Z+ und Z-
2
int steppin = A1;     //input step Z+ und Z-
3
int laserpin = 13;    // Laserausgang PWM
4
int dirpinValue = 0;  // Die Variable, in die der gelesene Wert von dirpin gespeichert wird
5
int steppinValue = 0; // Die Variable, in die der gelesene Wert von steppin gespeichert wird
6
int counterValue = 0; // Die Variable, in die der gelesene Wert von counter gespeichert wird
7
8
9
void setup() 
10
{
11
  // wählt laserPin als OUTPUT:
12
  pinMode(laserpin, OUTPUT);  
13
}
14
15
void loop() 
16
{
17
  // lese wert von dirpin:
18
  dirpinValue = analogRead(dirpin);
19
   // lese wert von steppin:
20
  steppinValue = analogRead(steppin);
21
  
22
  // bedingung für dirpin Z+
23
  if(dirpin==255)
24
  {
25
      if(steppin==255)
26
    {
27
      counterValue = counterValue1++; //erhöht counter um 1
28
    }
29
30
  }
31
  
32
    // bedingung für dirpin Z-
33
  if(dirpin==100)
34
  {
35
      if(steppin==255)
36
    {
37
      counterValue = counterValue1--; //senkt counter um 1
38
    }
39
40
  }
41
42
  // laserpin ein:
43
  digitalWrite(laserpin, HIGH);  :
44
  delay(counterValue); 
45
         
46
  // laserpin pause:        
47
  digitalWrite(laserpin, LOW);   
48
  delay(counterValue);                  
49
}

: Bearbeitet durch User
von Walter Tarpan (Gast)


Lesenswert?

Nicht vergessen: Mit dem verbleibenden Auge nicht in den Strahl blicken!

von Manuel G. (ajatuksia)


Lesenswert?

Ich hab noch mal nachgemessen für dir kommen 5V an Richtung Z+ für 
Richtung Z- 0V

aber jetzt kommts komische, Step hat immer 5V egal was ist
Mach3 sendet Step pulse zwischen 1-5 mikrosekunden was zu hoch für das 
Arduino.

Zitat von http://arduino.cc/de/Reference/AnalogRead

"Der Microcontroller benötigt circa 100 Mikrosekunden um einen anlogen 
Input zu lesen"

kann man den Arduino nicht ein wenig "Veräppeln"?

: Bearbeitet durch User
von Mach3Gast (Gast)


Lesenswert?

Dieses Board sollte den Zweck erfüllen.
"PicConvert (DAC+PWM) Converter Board"
Es wandelt eine Achsposition (aufgrund der Stepper Steuerung DIR und 
Steps) in ein PWM Ausgangssignal um.

Für jemanden, dem die Eigenentwicklung nicht genügend Freude macht, oder 
dem der Preis die Zeitersparnis wert ist, scheinbar eine ganz gute 
Lösung.

https://jtechphotonics.com/?product=dacpwm-converter-board

von Johannes S. (Gast)


Lesenswert?

Ist denn schon Halloween?

von Mach3Gast (Gast)


Lesenswert?

Eine weitere Alternative ist hier zu finden:
Converter Step/Dir to RC PWM
     https://www.thingiverse.com/thing:1978305
Der Autor bietet im File Download auch die Sourcecodes an.

von Michael W. (miks)


Lesenswert?

Mach3Gast schrieb:
> Dieses Board sollte den Zweck erfüllen.
> "PicConvert (DAC+PWM) Converter Board"
> Es wandelt eine Achsposition (aufgrund der Stepper Steuerung DIR und
> Steps) in ein PWM Ausgangssignal um.
>
> Für jemanden, dem die Eigenentwicklung nicht genügend Freude macht, oder
> dem der Preis die Zeitersparnis wert ist, scheinbar eine ganz gute
> Lösung.
>
> https://jtechphotonics.com/?product=dacpwm-converter-board

Mädeltzz - das war vor über 7 (in Worten: sieben)! Jahren! Der Drops ist 
wohl schon gelutscht...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.