Aller au contenu

Messages recommandés

Posté(e)

Bonsoir, je sÚche sur un problÚme particulier. J'ai cherché la solution dans le forum mais je n'ai rien trouvé de probant. Je possÚde une Tevo Little Monster équipée de la carte MKS SBase V1.3  Je cherche à piloter des led RGB via cette carte pour par exemple, afficher une couleur en fonction de l'état de l'impression ( exemple: rouge au chauffage de la buse,  blanc en cours d'impression, vert lorsque la piÚce est imprimée, etc...

J'utiliserai le Gcode afin de programmer tout ça. Mais je bute sur les pins à utiliser et la configuration du firmware. Il me semble que je dois utiliser les pins 37, 17 et 23 mais je ne suis pas sûr. L'idéal serait d'utiliser des pins PWM afin de nuancer les couleurs.

Alors, ma question: avez-vous une idée des pins que je dois utiliser et des modifications à faire dans le firmware?

Merci d'avance.

Joseph

Posté(e) (modifié)

Salut ,

Il semblerait que les pins libres soit ceux lĂ  :

FKHLO4VIP737JD2.LARGE.jpg

intéressant avec un écran TFT pour récupérer le EXP2 , sinon on dirait qu'il va en manquer un .Dans le pire des cas , il est possible d'utiliser des pins numériques , à la différence prÚs que ce seront les résistances qui détermineront la couleur de led et non pas la tension envoyée par le pin PWM . 3 pins qui commanderont chacun une couleur et qu'il faudra activer/désactiver pour déterminer la couleur à afficher .

allumer le blanc et le vert sera trĂšs facile avec simplement un code dans l'entĂȘte pour le blanc et un code pour allumer vert/Ă©teindre blanc en fin de Gcode , par contre le rouge ça doit ĂȘtre chaud , il faudrait trouver la routine qui gĂšre la chauffe pour y insĂ©rer l'ordre d'allumer rouge/Ă©teindre blanc ...et lĂ  , c'est au dessus de mes compĂ©tences^^

Modifié (le) par sha
Posté(e)

Bonjour,  merci pour cette réponse précise qui me donne déjà pas mal d'éléments. J'essaie ça et je ferai un retour par la suite. Merci encore.

Posté(e) (modifié)

Tu peux utiliser des leds en WS2812 (neopixels). Tu n'a besoin que d'une seule broche PWM. En revanche il faudra prĂ©voir une alimentation 5V autre que celle de la carte car c'est trop gourmand mais un simple stepdown 12/24V vers 5V suffira (sauf si tu fais tout le tour de l'imprimante avec). Les neopixels existent sous plein de forme diffĂ©rentes: lien. Les copies chinoises sont vraiment beaucoup moins cher 😉

Ce que tu cherches à faire est disponible tel quel dans Marlin2; voir sections NEOPIXEL_LED dans Configuration.h. Les couleurs sont déjà définies par contre: bleu à violet pour la chauffe du bed, violet à rouge pour la hotend, blanc pendant l'impression, vert lorsque c'est terminé.

Modifié (le) par Tircown
  • Merci ! 1
Posté(e)

Bon, j'ai essayé les pins libre mais rien ne se passe. J'utilise Pronterface pour rentrer les Gcode mais aucun changement de couleur. 

J'entre le code suivant par exemple pour le vert:  M42 P25 S255 mais ça ne marche pas. Le code est-il bon? Ne faut-il pas faire de modif dans le fichier config.txt? 

Posté(e)
il y a 14 minutes, Tircown a dit :

Tu peux utiliser des leds en WS2812 (neopixels). Tu n'a besoin que d'une seule broche PWM. En revanche il faudra prĂ©voir une alimentation 5V autre que celle de la carte car c'est trop gourmand mais un simple stepdown 12/24V vers 5V suffira (sauf si tu fais tout le tour de l'imprimante avec). Les neopixels existent sous plein de forme diffĂ©rentes: lien. Les copies chinoises sont vraiment beaucoup moins cher 😉

Ce que tu cherches à faire est disponible tel quel dans Marlin2; voir sections NEOPIXEL_LED dans Configuration.h. Les couleurs sont déjà définies par contre: bleu à violet pour la chauffe du bed, violet à rouge pour la hotend, blanc pendant l'impression, vert lorsque c'est terminé.

Merci Tircown mais le problĂšme est que la Tevo Little Monster n'utilise pas le Marlin mais Smoothieware et il faut aller dans le fichier config.txt sur la microSD pour la modification mais je ne vois pas quelle modification faire. Mais je garderai ta proposition pour mes autres machines qui utilisent le Marlin. Merci.

Posté(e)

Sur le site de smoothieware / liste des commande M42 n'y est pas non plus.

Posté(e)

Bonjour, oui en effet, j'ai trouvé la liste des gcode compatibles avec Smoothieware et le M42 n'y est pas, ni le M150... Du coup, je ne vois pas quel code prendre. Je continue à chercher et je ferai un retour.

Posté(e)

Bon ben, je ne trouve pas. C'est désespérant. Une autre solution serait de mettre du Marlin sur la Little Monster mais je ne sais pas si c'est possible et franchement, j'ai pas trop envie de m'y risquer.

Posté(e)

Je vois bien la commande M106 , elle sert a moduler la vitesse de ventilation , mais elle est peut ĂȘtre addressable(?!?) sur un pin particulier ( ou alors il faut le dĂ©clarer avant d'envoyer la commande )

M106 P XX S 255

Posté(e)

Je viens d'essayer le M106 mais je réussis juste à démarrer le ventilateur et je ne vois pas comment on doit faire pour le réadresser, si on peut le faire du moins.

Posté(e)

Je sais qu'il y a un modo qui est aussi spĂ©cialisĂ© dans smoothieware , mais je ne me souviens plus qui c'est^^ , ça fait que je ne sais pas qui sonner pour le faire venir nous donner son avis 😕

Posté(e)

Oui, j'aurais bien besoin de ce spécialiste. Merci de ta démarche en tout cas.

  • J'aime 1
Posté(e)
Il y a 19 heures, sha a dit :

Je sais qu'il y a un modo qui est aussi spécialisé dans smoothieware , mais je ne me souviens plus qui c'est^^ 

@pascal_lb 😉

  • J'aime 1
Posté(e)
Il y a 10 heures, fran6p a dit :

oui on me sonne 😄 

Le ‎08‎/‎06‎/‎2019 at 16:47, Neo62 a dit :

Une autre solution serait de mettre du Marlin

effectivement si il y a plus de possibilité dans marlin 2 il ne faut pas hésiter voir pour l'installation :

 

Le ‎08‎/‎06‎/‎2019 at 17:00, Neo62 a dit :

je ne vois pas comment on doit faire pour le réadresser

alors je connais bien smoothieware mais je ne me suis jamais penché sur ce genre de modif pour des leds

par contre je pense que tu peux modifier ce code pour pouvoir faire fonctionner tes leds... au moins les allumer 😉 avec un GCODE

#switch.misc.enable                          true             # Enable this module
#switch.misc.input_on_command                M42              # Command that will turn this switch on
#switch.misc.input_off_command               M43              # Command that will turn this switch off
#switch.misc.output_pin                      2.4              # Pin this module controls

cette ligne pour juste du on/off
#switch.misc.output_type                     digital          # Digital means this is just an on or off pin

cette ligne pour du PWS
switch.misc.output_type                       pwm              # PWM output settable with S parameter in the input_on_comand

toutes les infos sur cette page http://smoothieware.org/switch

Je pense que tu peux également t'inspirer de ce code qui normalement pilote un servo

switch.servo.enable                         true             # Enable this module
switch.servo.input_on_command               M280             # M280 S7.5 would be midway
switch.servo.input_off_command              M281             # Same as M280 S0 0% duty cycle, effectively off
switch.servo.output_pin                     1.23             # Must be a PWM capable pin
switch.servo.output_type                    hwpwm            # H/W pwm output settable with S parameter in the input_on_comand
switch.servo.pwm_period_ms                  20               # set period to 20ms (50Hz) default is 50Hz

  • J'aime 1
Posté(e) (modifié)

Merci pour cette réponse intéressante. En fait, je dois créer un nouveau module switch du style " switch.led" et m'inspirer du code indiqué sur la page du smoothieware pour réaffecter ce module switch à mes leds. 

L'intĂ©rĂȘt est de pouvoir nuancer  avec une commande du style M42 PXX S0-255. Ta piste est vraiment trĂšs intĂ©ressante. Merci!

Modifié (le) par Neo62
Posté(e)
Il y a 11 heures, Neo62 a dit :

je dois créer un nouveau module switch du style " switch.led"

c'est tout à fait ça
 😉 

Posté(e)

Ok, un grand merci . Je ferai un retour pour vous dire si ça marche ou pas. 😉

Posté(e)

Bonjour à tous, je vous fais un retour car je suis sur la bonne voie. J'ai suivi la piste de Pascal et j'ai donc créé un module switch pour chaque couleur R, G et B. Voici le code rajouté:

 

switch.ledR.enable                            true             # Enable this module
switch.ledR.input_on_command                  M98            # Command that will turn this switch on
switch.ledR.input_off_command                 M99           # Command that will turn this switch off
switch.ledR.output_pin                        2.13             # Pin this module controls
switch.ledR.output_type                       pwm              # PWM output settable with S parameter in theinput_on_comand
switch.ledR.startup_value				  255
#switch.ledR.max_pwm                          255              # Set max pwm for the pin default is 255

switch.ledG.enable                            true             # Enable this module
switch.ledG.input_on_command                  M100            # Command that will turn this switch on
switch.ledG.input_off_command                 M101            # Command that will turn this switch off
switch.ledG.output_pin                        3.25             # Pin this module controls
switch.ledG.output_type                       pwm              # PWM output settable with S parameter in theinput_on_comand
switch.ledG.startup_value				  255
#switch.ledG.max_pwm                          255              # Set max pwm for the pin default is 255


switch.ledB.enable                            true             # Enable this module
switch.ledB.input_on_command                  M102           # Command that will turn this switch on
switch.ledB.input_off_command                 M103           # Command that will turn this switch off
switch.ledB.output_pin                        3.26             # Pin this module controls
switch.ledB.output_type                       pwm              # PWM output settable with S parameter in theinput_on_comand
switch.ledB.startup_value				  255
#switch.ledB.max_pwm                          255              # Set max pwm for the pin default is 255

Je me suis basĂ© sur le module fan dĂ©jĂ  créé dans le fichier config et qui utilise la commande M42 qui ne serait pas compatible avec Smoothieware mais qui marche quand mĂȘme. Je me suis dit que je pourrais donc utiliser des commandes "non reconnues". J"ai donc choisi les commandes M98 et M99 pour ouvrir et fermer le switch du rouge, M100 et M101 pour le vert et M102 et M103 pour le bleu. RĂ©sultat: ça  fonctionne presque bien mais il y a un mais. Quand j'allume mon imprimante, j'obtiens une couleur rouge de base alors que normalement ça devrait ĂȘtre Ă©teint. Le fait qu'il y a du rouge de base, fausse mes mĂ©langes. Par exemple quand je fais:

M98 S0 M100 S255 M102 S0, j'obtiens du vert et quand je fais M98 S0 M100 S0 M102 S255, j'obtiens du pourpre au lieu d'avoir du bleu. Il y a donc un net progrĂšs m car ça rĂ©agit mais les mĂ©langes sont pas encore top. Il y a sĂ»rement un problĂšme au niveau du code car le branchement , en principe, est correct. Une idĂ©e, peut-ĂȘtre?

Posté(e)
Il y a 17 heures, Neo62 a dit :

Une idĂ©e, peut-ĂȘtre?

ça ne vient pas de la ligne :

switch.ledR.startup_value

qui est Ă  255, si tu la mets Ă  0 ta led devrait ĂȘtre Ă©teinte...

peut ĂȘtre jouer Ă©galement avec la ligne :

switch.ledR.default_on_value           184                         Default on setting value of the switch if the Output_type is swpwm or hwpwm. It is also the value the hwpwm or swpwm is set to when startup_state is true

lĂ  j'y vais au pif car je n'ai jamais testĂ© ça 😉 

Posté(e)

J'ai essayé en mettant la valeur de départ à 0 mais ça reste désespérément rouge à l'allumage. Par contre, j'arrive à avoir des mélanges intéressants: le vert sans aucun problÚme mais quand je veux du bleu en faisant M102 S255, j'obtiens du pourpre. J'arrive à avoir du blanc, du jaune également mais je suis certain que le problÚme se pose au niveau de la pin 2.13 qui correspond au rouge. Je ne vois pas.

Posté(e)

VoilĂ , problĂšme rĂ©solu: le problĂšme venait bien de la pin 2.13 puisque je me suis tout simplement trompĂ© de connecteur
 Il s'agissait du connecteur E1- Epsilon et je l'avais confondu avec le connecteur E1 moteur pour un deuxiĂšme extrudeur. Ca marche impeccablement maintenant. Merci Ă  tous et surtout Ă  Pascal qui m'a mis sur la bonne voie. 😉

free pins pwm capable MKS Sbase.jpg

Posté(e)
il y a une heure, Neo62 a dit :

Merci Ă  tous et surtout Ă  Pascal qui m'a mis sur la bonne voie.

de rien c'est avec plaisir 😉 

  • 2 months later...
Posté(e)

Bonjour chers amis,

À l'allumage de l'imprimante, de la lumiùre blanche pour bien voir et nettoyer le plateau chauffant et l'encoller correctement avant l'impression...

Un petit tuto avec photos du cĂąblage, des rĂ©fĂ©rences d'achat pour les piĂšces et la partie du code source a ajouter et oĂč ajouter le code, etc.

Plise, plise, plise, ...

Cordialement,

P.S. : Y un truc pour reprendre une impression aprĂšs une microcoupure de courant ou aprĂšs une pause d'impression sur les Little Monster ?

  • Confus 1

Créer un compte ou se connecter pour commenter

Vous devez ĂȘtre membre afin de pouvoir dĂ©poser un commentaire

Créer un compte

CrĂ©ez un compte sur notre communautĂ©. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • CrĂ©er...