Aide Montage Pull-up résistance interne vs externe

Mcar
Mcar
Compagnon
Bonjour à tous,

Dans le cadre de mon projet ascenseur,
Quelle est la meilleure solution pour éviter tout problème lors de la fermeture d'un bouton poussoir avec Arduino (etat 5v / etat Ov)
un montage externe avec une résistance d 5k Ohms ou d'utiliser la résistance interne de Arduino en configuration
PinMode (x, INPUT_PULLUP)
en sachant que 15 stwitch NO seront connectés aux Pin en Input et que au moins 4 stwich peuvent être fermés en même temps ?
en fait je me demande si il y a assez de résistance interne dans l'arduino pour assurer le circuit Pullup
l'arduino utilisé et un mega 2560
évidemment la solution pullup interne avec les résistances arduino me plairait bien :mrgreen: sinon je vais devoir me confectionner un circuit imprimé externe , et là c'est pas gagné :hang:
merci pour vos réponses,
 
jpbbricole
jpbbricole
Compagnon
Bonjour Marco
évidemment la solution pullup interne avec les résistances arduino me plairait bien :mrgreen:
La pull_up de l'Arduino est entre 20 et 50Kohms.
J'essayerai avec les PULL_UP internes, tout en étant à l'affût du moindre dysfonctionnement.
Le problème n'est pas à la fermeture, mais dans les temps d'inaction, si la résistance du PULL_UP est trop élevée, le fil qui relie le BP à l'Arduino fait antenne et si le milieu est perturbé, les parasites peuvent être cause de dysfonctionnement.
Comment gères-tu tes BP, quelle bibliothèque utilises-tu?

Cordialement
jpbbricole
 
S
speedjf37
Compagnon
Quelle est la meilleure solution pour éviter tout problème lors de la fermeture d'un bouton poussoir avec Arduino (etat 5v / etat Ov)
un montage externe avec une résistance d 5k Ohms ou d'utiliser la résistance interne de Arduino en configuration
PinMode (x, INPUT_PULLUP)
en sachant que 15 stwitch NO seront connectés aux Pin en Input et que au moins 4 stwich peuvent être fermés en même temps ?
Bonjour,

Chaque entrée possède une R pull Up

Une matrice 4 x 4 pour 16 boutons serait plus simple coté câblage !

Ne pas oublier l'anti rebond (hard = condo , soft = tempo ou LIB de gestion debounce).

Sinon il y a des circuit spécialisés SPI ou I2C (ce que j'utilise ici:
https://www.usinages.com/threads/nu...els-electronic-lead-screw.120853/post-1778798 )

Cordialement JF
 
Mcar
Mcar
Compagnon
merci pour vos reponses,
avant de repondre je vous publie deux photos sur mon installation provisoire
le tableau de commande

IMG_20210814_163314.jpg

il comporte un switch rotatif à 4 positions qui correspondent aux modes de fonctionnement
Monde Auto/SemiAuto/manu/POM (prise origine)
le deuxième à 7 positions définit le niveau de l'ascenseur sélectionné (1-7) utilisé en mode semi auto
les boutons noir et blanc sont les montées baisses de l'ascenseur en mode manuel associé au potar orange pour regler la vitesse de translation.
le mode Auto aucune intervention manuelle à partir de ce tableau est possible, c'est mon logiciel de gestion des trains qui gerera
en Semi auto
le bouton vert est le bouton de validation du switch à 4 et 7 positions.
et ci dessus le branchement provisoire, je reconnais c'est le foutoire mais ça marche très bien sans interférence et aléas de fonctionnement.

IMG_20210814_163322.jpg

en plus il y a deux fins de course dont un qui sert d'origine.
et un relais pour une led verte/rouge ascenseur en fonctionnement/ à l'arret
3 entrées codes 2 ^3 pour 8 etats qui vont représenté en mode auto la position de l'ascenseur ordonné par mon logiciel de train.
et enfin 3 sorties codés 2^3pour donné à mon logiciel la position de l'ascenseur, qui sert de validation de déplacement.
un ecran I2C est connecté à arduino en plus bien sur de la gestion du moteur pap

comme dit et comme c'est là ça fonctionne.
mes résistances en pullup font 5kOhms (choisi au pif)

pour répondre dans l'ordre
à @jpbbricole
pas de gestion particulière, je teste le pin dans une boucle do while si l'état est à zero alors branchement dans le sous programme.
je n'utilise pas de bibliothèque

à @speedjf37
oui, une matrice à boutons c'est plus simple mais je veux garder cette configuration à deux switch rotatifs comme expliqué.
et puis je suis loin de maitriser l'arduino et son langage C
petit rappel, j'ai appris arduino uniquement pour réaliser ce projet :-D alors je suis nouveau dans ce domaine et ma programmation est le plus simple possible. (quelque notion d'assembleur sur mon premier ordinateur un Oric/Atmos)

en test je suis sur un uno, j'ai reçu mon mega aujourd'hui, merci amazon commandé hier:-D
également je vais me servir de ce shiel à bornier pour faciliter les connections
1628955118967.png

voilà,
qu'en pensez vous ?
 
jpbbricole
jpbbricole
Compagnon
Bonjour Marco
mes résistances en pullup font 5kOhms (choisi au pif)
La valeur n'est pas du tout critique, avec 5kOhms tu assures et c'est important, il en va de la santé de tes trains.
Ces PULL_UP servent surtout quand le circuit est ouvert pour éviter les influence externes.
pas de gestion particulière, je teste le pin dans une boucle do while si l'état est à zero alors branchement dans le sous programme.
je n'utilise pas de bibliothèque
Si ça fonctionne ainsi, pas de problème, si les rebonds éventuelles ne peuvent pas gêner, s'ils sont bien "couverts" par une petite temporisation ou une boucle do while.
qu'en pensez vous ?
Beau matériel, ça fera un super câblage et surtout tu pourras de nouveau t'assoir sur ta chaise :wink:

Cordialement
jpbbricole
 
Mcar
Mcar
Compagnon
Donc pour toi @jpbbricole il vaut mieux que je reste avec un câblage pullup externe et une résistance de 5kOhms ?
à ce stade , Arduino est alimenté avec une alimentation stabilisée de 9volts.
sur le 5vols Arduino sans aucune connexion je suis à 5,01 volts, comme montré sur la photo cablage fait je suis 4,93 volts
c'est bon ? ça va pas trop chauffer ?
 
jpbbricole
jpbbricole
Compagnon
Bonsoir Marco
il vaut mieux que je reste avec un câblage pullup externe et une résistance de 5kOhms ?
Oui.
ça va pas trop chauffer ?
Il suffit de mettre le doigt sur le régulateur 5V, si tu résistes, c'est bon!
1628957542324.png

Alimenter en 9V. c'est idéal et, au pire, tu mets des PULL_UP de 10k ce sera toujours valable.
Mais comme dit plus haut, tu peux toujours essayer avec les PULL_UP internes, tu te rendra compte rapidement si tu as un fonctionnement erratique de ton système.

Cordialement
jpbbricole
 
albatros_del_sur
albatros_del_sur
Compagnon
Bonjour
Avec les pull up internes je n’ai jamais eu de problème de parasite. Par contre sur les entrées analogiques j’ai dû utiliser des condensateurs pour éliminer les parasites qui faussent les mesures.
Édit : j’utilise Uno R3 et 2560 + 1 projet en Nano
 
Mcar
Mcar
Compagnon
Bonjour
Avec les pull up internes je n’ai jamais eu de problème de parasite. Par contre sur les entrées analogiques j’ai dû utiliser des condensateurs pour éliminer les parasites qui faussent les mesures.
Édit : j’utilise Uno R3 et 2560 + 1 projet en Nano
Merci de confirmer, je vais tester cette solution qui facilite grandement le câblage
 
K
kawah2
Compagnon
j'espère que tu ne touches pas a ces nombreuses bouteilles, avant de mettre sous tension? :lol:
c'est vraiment un ascenseur a train, ou un système pour monter les bouteilles de la cave sans se casser la gueule dans l'escalier? :lol:
 
Mcar
Mcar
Compagnon
Apres essais et tests dans tout les sens, il semble bien que les résistances internes de arduino font leur job.
pourtant mon câblage est une foret vierge avec des cable de 0.5m, mais ça marche bien.
pour faciliter mon câblage définitif et pour sécuriser le tout, je vais partir sur une solution hybride :mrgreen:
le switch rotatif qui sélectionne les modes de fonctionnement (4 fils) seront câblés avec une résistance externe ainsi que mon bouton NO de validation. les autres seront câblés avec la résistance interne. (pas important pour la securité de mon installation).
tout marche impeccable :roxxx: et la bibliothèque de gestion du pap de CNCSERV marche d'enfer :mrgreen:

j'utilise un écran lcd I2C - 20 caractères et 4 lignes.
Je voudrais utiliser les accents (alphabet Français). avez vous une bibliothèque LiquidCristal_I2C à me conseiller qui gère l'alphabet Français sans devoir se recréer les caractères ?

merci à vous tous pour vos conseils.

@kawah2 , les bouteilles sont toujours là :-D, pas le temps de les boire :mrgreen:
 
albatros_del_sur
albatros_del_sur
Compagnon
Bonsoir,
Je te recommande d'aller voir cette adresse, tout y est y compris la table de caractères de la norme HD44780. https://fr.wikipedia.org/wiki/HD44780
J'en ai utilisé un de ce Type et j'avoue ne pas avoir cherché les accents, j'étais pressé de finir et d'installer mon système de régulation l'accent n'était pas important fonctionnellement.
 
Haut