Gcode pour pin aux
June 09, 2014 01:59AM
Bonjour
Voilà je recherche comment faire pour envoyer une commande
Sous slicr pour mettre à 1 ou 0
Un pin de de la carte ramps
Merci
Re: Gcode pour pin aux
June 09, 2014 12:51PM
Bonsoir

Intéressant comme idée...

M42 - Change pin status via gcode

The syntax for the M42 command is: M42 S(value to be written to pin) P (pin number) e.g. To set digital pin 30 high, you would use M42 S1 P30

Mettre à 1 (niveau haut) la pin 30 --> M42 S1 P30

The MARLIN firmware will not enable you to change the status / write values to any of the pins in use for things such as the heaters, thermistors, end stops etc. The command will let you send values other than 0 and 1 to any pins which can output analogue values. (0-255)

[forums.reprap.org]

Sous SLic3R tu peux intégrer du GCode sous --> PrintSetings --> Custom Gcode (Start, End, changement de couche, changement d'outil)...



Pour aller plus loin le post processing : [forums.reprap.org]

A tester... Tiens nous au courant stp.

A+


« Le progrès ne vaut que s'il est partagé par tous. » : Aristote
Site WEB pour retrouver plus vite des sujets que j'ai traité
Ma chaîne
Re: Gcode pour pin aux
June 09, 2014 02:07PM
Stl
J avais vu la commande m42
Mais j ai tout essayer et je ne suis pas arriver
A commuter un niveau o ou 1
Sur les sortie aux
Bon je vais continuer
Léonie
Re: Gcode pour pin aux
June 09, 2014 02:09PM
Bonsoir

Quelle broche ??? N° ??

Je vais tester par curiosité....

A+


« Le progrès ne vaut que s'il est partagé par tous. » : Aristote
Site WEB pour retrouver plus vite des sujets que j'ai traité
Ma chaîne
Re: Gcode pour pin aux
June 09, 2014 02:47PM
Stl
N importe quel tu veut
Sur port auxiliaire
Léonine
Re: Gcode pour pin aux
June 09, 2014 03:35PM
Bonsoir

ça fonctionne mais c'est étrange les sorties sont gérées en PWM.. S1 la led est faiblement allumée et à 255 elle est plein pot...



Sous Slic3R :


Lorsque tu génères ton GCode :

; generated by Slic3r 1.0.1 on 2014-06-09 at 21:18:39

; layer_height = 0.3
; perimeters = 3
; top_solid_layers = 3
; bottom_solid_layers = 3
; fill_density = 0.3
; perimeter_speed = 30
; infill_speed = 60
; travel_speed = 60
; nozzle_diameter = 0.4
; filament_diameter = 1.75
; extrusion_multiplier = 1
; perimeters extrusion width = 0.40mm
; infill extrusion width = 0.42mm
; solid infill extrusion width = 0.42mm
; top infill extrusion width = 0.42mm
; support material extrusion width = 0.40mm
; first layer extrusion width = 0.78mm

G21 ; set units to millimeters
M107
M190 S50 ; wait for bed temperature to be reached
M104 S220 ; set temperature
G28 ; home all axes
M42 S255 P44 ;Sortie D44 à 1

Dès que la température est atteinte (lit et extrudeur) le Custom GCode est ajouté.

Donc la sortie est à ON.

J'avais testé avec M42 S1 P44 mais la LED que j'avais intégré ne s'allumait que faiblement.

A+


« Le progrès ne vaut que s'il est partagé par tous. » : Aristote
Site WEB pour retrouver plus vite des sujets que j'ai traité
Ma chaîne
Re: Gcode pour pin aux
June 09, 2014 03:55PM
Slt
Bien super j venais de lire un tuto
Concernant les paramètres effectivement
Il faut mettre 0 ou 255 donc pompe
Merci
C est super
Leonnie
Re: Gcode pour pin aux
June 09, 2014 03:56PM
Pas pompe mais PWM
Léonine
Re: Gcode pour pin aux
June 10, 2014 06:28AM
Slt, j'ai trouvé ça sur le forum M42 pour la commande, et cela MOSSFET . Je pense que cela peut aider....
Re: Gcode pour pin aux
June 10, 2014 07:25AM
Hello
c'est un peu normal - la sortie D44 c'est un PWM - dans le code Marlin quel que ce soit le type de pin (excepté les pins sensibles comme pour les moteur, fans, etc... qui sont protégées)
il effectue successivement digitalWrite ensuite un analogWrite - donc si la pin est un PWG, mettre une valeur = 1 ne vas pas donner grand chose.
SI on veut juste détecter un niveau 0 ou 1 (5v) il est nécessaire de prendre une pin qui n'est pas un pwm...
A+ Didier

case 42: //M42 -Change pin status via gcode
      if (code_seen('S'))
      {
        int pin_status = code_value();
        int pin_number = LED_PIN;
        if (code_seen('P') && pin_status >= 0 && pin_status <= 255)
          pin_number = code_value();
        for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(int)); i++)
        {
          if (sensitive_pins == pin_number)
          {
            pin_number = -1;
            break;
          }
        }
      #if defined(FAN_PIN) && FAN_PIN > -1
        if (pin_number == FAN_PIN)
          fanSpeed = pin_status;
      #endif
        if (pin_number > -1)
        {
          pinMode(pin_number, OUTPUT);
          digitalWrite(pin_number, pin_status);
          analogWrite(pin_number, pin_status);
        }
      }
     break;



Quote
Strofe
ça fonctionne mais c'est étrange les sorties sont gérées en PWM.. S1 la led est faiblement allumée et à 255 elle est plein pot...
Re: Gcode pour pin aux
June 10, 2014 04:25PM
Bonsoir

Merci didierh

Effectivement --> Arduino Mega2560 --> PWM: 2 à 13 et 44 à 46

A++++++


« Le progrès ne vaut que s'il est partagé par tous. » : Aristote
Site WEB pour retrouver plus vite des sujets que j'ai traité
Ma chaîne
Sorry, only registered users may post in this forum.

Click here to login