Pour envoyer mes impulsions PWM au module laser, j'utilise la commande M106 Px Sy de Teacup.

J'ai défini ma broche de commande du laser en tant que ventilateur dans Teacup, et cette broche envoie un signal PWM.

La section "heaters" dans ma configuration se présente comme ceci :

[code]

//DEFINE_HEATER(extruder, PD3,   0) //DEFINE_HEATER(bed,      PB4,   0) DEFINE_HEATER(fan,        PB3, 1) // DEFINE_HEATER(chamber,  PIND7, 1) // DEFINE_HEATER(motor,    PIND6, 1)

[/code]

J'ai désactivé l'extrudeur et le lit chauffant, inutiles pour ce que je fais. La broche PB3 correspond à la broche 11 de l'arduino uno.

Revenons à notre commande M106 Px Sy, qui prend deux paramètres:

  • P : l'index de la sortie dans la section "heaters", pour moi c'est 0 (je n'ai qu'une sortie heater)
  • S : la puissance du signal PWM, de 0 à 255

Lors des premiers tests avec une simple LED, j'ai réalisé que les commandes M106 n'étaient pas synchronisées avec les mouvements. En fait elles ne sont pas mises dans le buffer de commandes, mais directement exécutées. Alors Pour remédier à ça, il faut ajouter dans notre fichier de config :

[code]

define ENFORCE_ORDER

[/code]

Autre souci que j'ai eu: la commande M106 faisait planter Repetier-host (il arrêtait spontanément d'envoyer les commandes).

Je suis passé sur Pronterface, et là, plus de problème! Des fois, faut pas chercher...

Article précédent Article suivant