Aller au contenu

GO Print

Modification de la fonction des entrées/sorties sur marlin


Messages recommandés

Dans les grandes lignes, ça ressemble bien à ça.

 

Tu positionnes ta buse
Tu déclenches la pompe avec M42
(peut-être qu'un délais sera requis ici pour attendre que la pompe change d'état)
Tu scrutes avec M226 que la pompe ait annoncé la fin (ça reste en pause sur cette ligne tant que la condition est pas remplie)

et rebelotte pour la position suivante.

Lien vers le commentaire
Partager sur d’autres sites

Merci bien et dernier point sur la carte toutes les pins sont déjà défini dans le firmware cependant il y en a plein non utilisé. Est-ce dérangeant le fait que celle-ci soit défini ?

Pour le sens pompe vers carte je pense qu'il n'y a pas de problème car d'après ce que j'ai compris la commande n'intervient pas dans le firmware mais dans le sens carte vers pompe il ne risque pas d'avoir un problème si je me connecte sur la pin de ventilo ou alors de moteur z ?

Lien vers le commentaire
Partager sur d’autres sites

Le contact sec du relais permet de garantir l'isolation galvanique entre deux équipements. Coté contact, quelque soit le courant, la tension ou la polarité, ça n'influence pas sur la bobine.

L'optocoupleur lui permet aussi une séparation galvanique dans certains cas, mais il réalise aussi bien souvent l'adaptation de courant. Une broche de microprocesseur tel que ceux qui équipent les cartes que nous utilisons ne peut fournir que quelques malheureux milli-ampères.


Pour coller un relais, il faut bien souvent un courant très supérieur. L'optocoupleur remplit ce rôle.

Son avantage par rapport à un transistor classique qui pourrait faire la même chose, c'est qu'en cas de problème sur la charge pilotée par l'optocoupleur, c'est ce dernier qui sera détruit, sans incidence sur le microcontroleur, alors qu'avec un transistor, des fois ça ne remonte pas jusqu’à la broche de contrôle, mais des fois si 😄

 

Une autre petite chose à savoir  : quand on alimente une bobine (comme un relais), en gros la physique fait qu'une partie de l’énergie est stockée sous forme de magnétisme.
Et cette énergie est restituée dès que l'on cesse d'alimenter la bobine : la tension, en plus d'être inverse, peut monter très largement au dessus de la tension utilisée pour alimenter la bobine. C'est d'ailleurs le principe de l'allumage qui crée une étincelle dans les moteurs essence.
Dans ce cas là, l'optocoupleur encaisse ce courant de retour pour ne pas qu'il se propage au reste du circuit.

 

D'ailleurs, dans ton cas, ça serait pertinent d'avoir un peu plus d'infos techniques sur la pompe, car c'est un peu 'vulgaire' d'employer un relais si les entrées/sortie de la pompe sont déjà dotées d'optocoupleurs.
Un bon indice : si il suffit de moins de 50mA pour piloter le pompe, c'est peu probable que ce soit vraiment un relais dedans.
Si la sortie est limitée à 100mA, idem, ça serait potentiellement un optocoupleur qui donne l'état de la pompe.

 

P.S. : du coup le temps que je rédige tout ça, vous êtes passés à autre chose 😛  Je file pour le moment 😉

Lien vers le commentaire
Partager sur d’autres sites

@.AleX. merci pour se cours vraiment très intéressant franchement ça me servira beaucoup ! J'aimerai savoir si cela est dérangeant de mettre un relai et optocoupleur même si la pompe en a déjà ? Car pour être honnête je n'ai pas de doc vraiment technique sur la pompe car le fournisseur ne veut pas forcément qu'on y touche. 

 

@jmarie3D merci pour la vidéo je regarde cela tout de suite

Lien vers le commentaire
Partager sur d’autres sites

Je vois que tu es entre de bonnes mains pour tout l'aspect électronique. Content de te voir revenir vers nous, en plus avec du concret.

C'est un peu tard mais en restant avec Marlin et dans la série des MKS 8bits, tu aurais trouvé facilement tes pins libres sur la MKS Gen V1.4. Et ce n'est rien d'autre qu'un arduino + Ramps aplati.

Comment fais-tu pour viser l'ouverture des tubes à remplir? La position est connue d'avance? système de rack?

Modifié (le) par Tircown
Lien vers le commentaire
Partager sur d’autres sites

Effectivement je suis entre de bonnes mains ^^ Oui ça prend forme je vois la fin arriver.

Je ne comprends pas c'est pas le firmware qui defini la fonction des pins ?? 🤔 Qu'est-ce qui est différent avec la version 1.4 ??

Oui c'est ça j'utilise des racks et ensuite je fais une cale pour caler le racks et connaitre toutes les distances ensuite je fais simplement des g1 x..

Lien vers le commentaire
Partager sur d’autres sites

MKS Gen V1.4  != MKS Base v1.5.

La première est un peu plus grande et a beaucoup de pins accessibles. Je précise V1.4 car il existe aussi la MKS GEN L avec un peu moins de pins disponibles mais qui suffirait aussi.

Les pins ont des propriétés définies par le microcontrôleur, en l’occurrence un ATmega2560 (lien pinout). Leur utilisation en entrée/sortie est défini par le firmware effectivement. Marlin est certe pratique pour gérer les déplacements, lire du GCODE mais il inclus aussi beaucoup de choses pour gérer la chauffe et notamment des aspects sécurité. Je ne suis même pas certain que les pins des thermistances/cartouches soient détournables sans que ça ne bloque.

Pour te brancher, il y a la solution de @Janpolanton avec le bornier du ventilateur ou les endstop Z (Z+, Z-) qu'en théorie tu n'utilises pas.

Lien vers le commentaire
Partager sur d’autres sites

@Janpolanton tu peux utiliser Z+ en output sans problème. Il faut modifier le fichier Marlin/pins_RAMPS.h dont la MKS BASE v1.5 hérite et libérer en assignant -1 à:
#define Z_MAX_PIN          19

19 est alors utilisables pour M42. Ça fonctionnerait aussi avec Z_MIN_PIN (pin 18) mais je trouve plus judicieux de le garder tel quel pour M226 et bénéficier de son pullup logiciel (actif par défaut pour Z- et inactif pour Z+, cf Marlin/Configuration.h).

Pour les éventuelles mises à jour ultérieures du firmware sur la carte, il faudra penser que les entrées/sorties ont été bidouillées et reproduire la manipulation. C'est ce qu'évoquait @.AleX.. Le plus simple c'est de ne pas mettre à jour quand ça marche et que ça n'apporte rien😛.

Référence:

  • J'aime 1
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Donc voilà pour être sûr je vous récapitule ce que je compte faire.. Donc voici le schéma :

Donc pour la distribution, je compte acheter ce module, https://www.amazon.fr/Carte-module-relais-Arduino-RaspberryUmtmedia®/dp/B076DD7C4Y/ref=sr_1_1?ie=UTF8&qid=1542629529&sr=8-1&keywords=Arduino+12v+Relay, que je compte connecter entre la pompe et la pin du ventilo ou z+ (si z+ modification dans le firmware), ensuite pour le contrôle selon le sens de montage nc ou no si dans le gcode je donne comme valeur M42 = 0 ou M42 = 255 alors on aura ou non distribution

 

Ensuite pour ce qui est de l'attente lors de la distribution je me débrouille pour faire en sorte que la pompe envoie un signal binaire et dans mon gcode si m226 = 1 mon programme attend et ensuite lorsqu'il sera de retour à 0 je continue mon programme (pas besoin d'achat pour cette partie)

 

Est-ce que j'ai bien compris tout vos cours ? 😛

 

46429134_2179146829068891_6586152878912569344_n.jpg

Lien vers le commentaire
Partager sur d’autres sites

Je ne vois pas trop quoi préciser dans mon précédent post. Tout y est, y compris le nom du fichier et la ligne à modifier ainsi que la valeur à mettre.

Si tu branches sur print-fan il faudra utiliser M106 S255 pour activer/désactiver et M106 S0 pour l'inverse. Sur Z+ et après modification du firmware, l'équivalent est M42 P19 S1 et M42 P19 S0. Selon ton choix le bout de code pour pomper pourrait être:

M42 P19 S1 ;activation de la pompe sur Z+
M226 P18 ;GCODE en pause jusqu.a changement d.etat de Z-
M42 P19 S0 ;desactivation de la pompe

Pour le schéma, attend la confirmation de quelqu'un de plus compétent que moi en électronique.

Lien vers le commentaire
Partager sur d’autres sites

J'ai donc bien reçu mon relais, je vais pouvoir commencer les tests pour la distribution, par contre pour la mise en pause du programme au niveau des branchements je me demande vraiment si je dois mettre un relais aussi, d'après ce que j'ai compris, il y a deux cas possibles :

1. La pompe est capable de créer un contact sec et donc là pas besoin de relais et juste des fils suffiront comme sur le schéma 

2. La pompe envoie un signal d'une valeur :

                                                                               * Soit le signal est trop élevé pour la carte est donc pas besoin de relais

                                                                               * Soit le signal est supporté par la carte est donc juste des fils suffiront

Est-ce que je dis des conneries ? Merci beaucoup pour votre aide.

Melvin

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je reviens vers vous car j'ai fais les premiers test, j'ai voulu allumer une petite ampoule dans un premier temps, j'ai donc connecté mon relais à la carte arduino en mettant

gnd -> gnd

vcc -> 5V

in -> D19

J'ai ensuite bien changé dans le firmware le :

#define Z_MAX_PIN          19

en 

#define Z_MAX_PIN          -1

j'ai téléversé, j'ai connecté la carte à l'ordi via le câble usb, j'ai alimenté la carte et lorsque j'allume la carte le voyant du relais est rouge donc je suppose ouvert. Lorsque dans pronterface je tape la commande "M42 P19 S1" le voyant vert s'allume (le rouge reste allumé) je suppose donc que le relais est fermé, cependant lorsque je connecte mes deux câbles sur le plot et le culot de la petite ampoule rien ne fonctionne. J'ai donc voulu vérifié avec un multimètre mais je n'ai aucun valeur 0 mV et 0 mA. De plus je ne peux pas rechanger l'état du relais, lorsque je fais "M42 P19 S0" rien ne se passe. 

J'ai besoin de vous ! Merci d'avance pour vos réponses.

Melvin

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...