Taal:

 

Program in the Arduino Due. Ik gebruik een Arduino Due om het PWM signaal te maken. 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 kladbord, 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 output en Dir output van de A-as.
En met deze 2 outputs wordt het PWM signaal geregeld van de laser.