Aller au contenu

GO Print

Pilotage led RGB dans MKS SBASE 1.3


Neo62

Messages recommandés

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

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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? 

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 😕

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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… 😉 

Lien vers le commentaire
Partager sur d’autres sites

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?

Lien vers le commentaire
Partager sur d’autres sites

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 😉 

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 😉 

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

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
Lien vers le commentaire
Partager sur d’autres sites

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
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...