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 A en C al gebruik om met 5 assen te frezen, gebruik ik de B-as voor de laser.

In Artcam  maak je eigelijk een toolpad net als voor een Lithoplane. Alleen andersom, dus zwart frees je 0.0255mm diep en wit frees je 0 mm diep
laser Arduino Software
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;
  }
}

Dan laad je het toolpad in het kladbord, en vervang je alle Z (as commando's ) in B ( as commando's)
Bovenstaand programma zit in de Arduino Due. Het leest de Step output en Dir output van de B-as.
En met deze 2 outputs wordt het PWM signaal geregeld van de laser.
Swets Hobby Homepage
Arjan Swets
Arjan Swets
Arjan Swets on LinkedIn
Swets Hobby Homepage
Arjan Swets
Arjan Swets