Neo62 Posté(e) Juin 7, 2019 Posté(e) Juin 7, 2019 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
sha Posté(e) Juin 8, 2019 Posté(e) Juin 8, 2019 (modifié) Salut , Il semblerait que les pins libres soit ceux là : 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) Juin 8, 2019 par sha
Neo62 Posté(e) Juin 8, 2019 Auteur Posté(e) Juin 8, 2019 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.
Tircown Posté(e) Juin 8, 2019 Posté(e) Juin 8, 2019 (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) Juin 8, 2019 par Tircown 1
Neo62 Posté(e) Juin 8, 2019 Auteur Posté(e) Juin 8, 2019 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?
Neo62 Posté(e) Juin 8, 2019 Auteur Posté(e) Juin 8, 2019 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.
sha Posté(e) Juin 8, 2019 Posté(e) Juin 8, 2019 D'après le wiki du Gcode , Smoothieware ne supporte pas la commande M42 https://reprap.org/wiki/G-code#M42:_Switch_I.2FO_pin (après , le wiki est peut être obsolète , ou une autre commande spécifique à smoothieware existe en parallèle) 1
Tircown Posté(e) Juin 8, 2019 Posté(e) Juin 8, 2019 Sur le site de smoothieware / liste des commande M42 n'y est pas non plus.
Neo62 Posté(e) Juin 8, 2019 Auteur Posté(e) Juin 8, 2019 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.
Neo62 Posté(e) Juin 8, 2019 Auteur Posté(e) Juin 8, 2019 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.
sha Posté(e) Juin 8, 2019 Posté(e) Juin 8, 2019 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
Neo62 Posté(e) Juin 8, 2019 Auteur Posté(e) Juin 8, 2019 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.
sha Posté(e) Juin 8, 2019 Posté(e) Juin 8, 2019 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
Neo62 Posté(e) Juin 8, 2019 Auteur Posté(e) Juin 8, 2019 Oui, j'aurais bien besoin de ce spécialiste. Merci de ta démarche en tout cas. 1
fran6p Posté(e) Juin 9, 2019 Posté(e) Juin 9, 2019 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 1
pascal_lb Posté(e) Juin 9, 2019 Posté(e) Juin 9, 2019 Il y a 10 heures, fran6p a dit : @pascal_lb 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 1
Neo62 Posté(e) Juin 9, 2019 Auteur Posté(e) Juin 9, 2019 (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) Juin 9, 2019 par Neo62
pascal_lb Posté(e) Juin 10, 2019 Posté(e) Juin 10, 2019 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…
Neo62 Posté(e) Juin 10, 2019 Auteur Posté(e) Juin 10, 2019 Ok, un grand merci . Je ferai un retour pour vous dire si ça marche ou pas.
Neo62 Posté(e) Juin 10, 2019 Auteur Posté(e) Juin 10, 2019 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?
pascal_lb Posté(e) Juin 11, 2019 Posté(e) Juin 11, 2019 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
Neo62 Posté(e) Juin 11, 2019 Auteur Posté(e) Juin 11, 2019 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.
Neo62 Posté(e) Juin 11, 2019 Auteur Posté(e) Juin 11, 2019 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.
pascal_lb Posté(e) Juin 11, 2019 Posté(e) Juin 11, 2019 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
L'ami René Posté(e) Aout 23, 2019 Posté(e) Aout 23, 2019 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 ? 1
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant