Taal:
Ik gebruik een Arduino Due om het PWM signaal te maken, om de Laser aan te sturen .

Dit heb je alleen nodig als je ook foto's wil gaan branden. Dit is allemaal wel wat moeilijker en het resultaat is ook heel erg afhankelijk van het materiaal waar je het op doet.

Ik gebruik de step/dir outputs van een vrije as om de PWM naar de laser te sturen. Omdat ik B en C assen al gebruik om met 5 assen te frezen, gebruik ik de A-as voor de laser.

In Artcam maak je eigenlijk een toolpad net als voor een Lithoplane. Alleen andersom, dus zwart frees je 0.0255mm diep en wit frees je 0 mm diep
Dan laad je het toolpad in het tekst editor (notepad), en vervang je alle Z (as commando's ) in A ( as commando's)

int PWM_Out = 64; int CounterValue = 1; int StepPin = 7; int DirPin = 8; int Mode = 3; int OnOff = 2; int Laser = 9; void setup() {  pinMode(DirPin, INPUT_PULLUP);  pinMode(StepPin, INPUT_PULLUP);  pinMode(Mode, INPUT_PULLUP);  pinMode(OnOff, INPUT_PULLUP);  analogWriteResolution(8);  pinMode(Laser, OUTPUT);  attachInterrupt(digitalPinToInterrupt(StepPin), Count, RISING);  attachInterrupt(digitalPinToInterrupt(DirPin), ChangeDir, CHANGE); } void loop() {  if (digitalRead(Mode) == HIGH)  {    if (digitalRead(OnOff) == HIGH)    {      PWM_Out = 254;    }    else    {      PWM_Out = 0;    }  }  analogWrite(Laser, PWM_Out); } void Count() {  PWM_Out = PWM_Out + CounterValue;  if (PWM_Out > 254)  {    PWM_Out = 254;  }  if (PWM_Out < 0)  {    PWM_Out = 0;  } } void ChangeDir() {  CounterValue = 1;  if (digitalRead(DirPin))  {    CounterValue = -1;  } }

Bovenstaand programma zit in de Arduino Due. Het leest de Step en Dir output van de A-as van Mach3.
En met deze 2 outputs wordt het PWM signaal geregeld naar de laser.

Onder, een demo van de Arduino software. Eerste deel, als input mode (button Mach 3 "Laser Mode") hoog is (aan/uit mode) en input OnOff is hoog, gaat de PWM laser output naar 254 (Max Laser power). En als OnOff input weer laag is, dan gaat de PWM Laser output naar 0 (Laser uit). (eerste 15 seconde van het filmpje). De input OnOff, is een output van Mach3. Deze Output wordt hoog/laag gezet door het M10/M11 commando in de G-Code.

Als de input Mode (button Mach 3 "Laser Mode") laag is (Step/Dir Mode) dan, als de DirPin input laag is, en er verschijnt een puls op de StepPin, telt de PWM Laser output er 1 op. Dus de Laser gaat 1 stapje feller branden.

Is de DirPin input hoog is, en er verschijnt een puls op de StepPin, telt de PWM Laser output er 1 af. Dus de Laser gaat 1 stapje flauwer branden.

De Step/Dir pin zitten aangesloten op de vrije A-as outputs van de Mach3 besturing. Dus als in het toolpad de z-as neer gestuurd word ( die je later vervang in notepad van Z-as naar A-as) zal de Arduino de laser PWM regelen, waarbij 0.0255 mm diep de laser het felst branden, en bij 0 mm uit is.

Verder gebruik ik uit Mach3 nog 2 outputs, eentje waarmee ik via een Mach3 VB programmaatje de mode kan kiezen, en eentje die ik laag/hoog zet met de M10/M11 commando voor de OnOff mode.

Als je eventueel wil weten hoe je in Mach 3 de knoppen moet maken, moet je me maar even een mailtje sturen.
---