Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général en BASIC et PASCAL !

Modérateur : Gérard

PIC8bits - Mikrobasic - Généralités
Tango88
Membre
Membre
Messages : 13
Enregistré en : décembre 2020

#1 Message par Tango88 » mer. 23 déc. 2020 21:48

Bonjour,
Lorsque certains PORTs d'un PIC ne sont pas utilisés (pattes en l'air), quelle est la meilleure configuration à leur appliquer afin de ne pas perturber le déroulement du programme :
- IN ou OUT
- PULL-UP/PULL-DOWN tirées à Vdd ou Vss (PORTB a déjà des PULL-UP internes)
- ou rien du tout.
Merci.
Tango 88.

PIC8bits - Mikrobasic - Généralités
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#2 Message par Jérémy » mer. 23 déc. 2020 21:58

Bonsoir et bienvenue,

il est préférable de mettre les broches en entrée. En sortie il y a un risque court circuit(mauvaise soudure, copeaux de métal tournevis etc...). En entrée non utilisée on peut assurer un état avec une résistance de tirage. Bien que pas obligatoire car si le programme ne prend pas en compte cette entrée, elles restent préférables. ou les pull up interne misent par software.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

PIC8bits - Mikrobasic - Généralités
PEDRO
Amateur
Amateur
Messages : 127
Enregistré en : septembre 2015
Localisation : P.A.C.A

#3 Message par PEDRO » jeu. 24 déc. 2020 12:33

Bonjour tout le monde,

je fais faire une réponse opposée à celle de Jeremy : je mets systématiquement toutes les I/O non utilisées en sortie.

Attention, je ne prétend pas avoir raison, c'est juste que j'ai toujours entendu dire qu'il ne fallait jamais laisser une I/O en l'air, j'en avais donc déduit que si un pin était en entrée sans résistance de pul-up ou pull-down, vu la haute impédance dune entrée, il pouvait se produire un pic de tension sur celle-ci, par induction ou décharge électrostatique, et ce pic de tension pouvait remonter dans le coeur de la bete.

Je pense néanmoins que cela est moins vrai avec des Pics modernes, car ils semblent disposer de toute une série de protections sur les entrées.
Il se pourrait (j'emploie le conditionnel), que cette idée soit un vestige de l'époque des circuits logiques C-MOS et TTL, sur lesquels, et je l'ai vécu, si on laissait des entrées en l'air, on obtenait un fonctionnement anarchique.

Mon choix de mettre les pins non utilisés en sortie est lié au fait que dans ce cas, l'impédance sur la sortie est relativement faible, donc moins de risque d'obtenir un pic de tension.
Je pense néanmoins que mettre les I/O en entrée, mais avec une une résistance de tirage pas trop élevée reste une excellente solution, que je n'emploie pas pour gagner de la place.


Je vais terminer avec une petite anecdote :
il y a très très longtemps, j'étais tout jeune et commençais à bidouiller en électronique, j'ai eu l'occasion de pouvoir discuter avec un fabricant français de centrales d'alarme, qui m'avait expliqué que sur leurs premières centrales, dont le déclenchement se faisait par l'ouverture d'une boucle, ils avaient de temps à autre des déclenchements intempestifs, d'ailleurs, à cette époque, les alarmes n'étaient pas connues pour etre d'une fiabilité absolue.
Ce fabricant m'avait expliqué qu'ils avaient réussi à améliorer la fiabilité en ajoutant des leds sur les entrées, lesquelles entrées étaient directement cablées sur les entrées de circuits C-MOS, et ce afin de créer une consommation "assez importante" de courant pour limiter les phénomènes d'induction directe sur les entrées.

J'espère que d'autres membres pourront fournir plus d'infos sur le sujet, car c'est un point qui m'intéresse et qui peut etre à l'origine d'un grand nombre de problèmes

PIC8bits - Mikrobasic - Généralités
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#4 Message par Jérémy » jeu. 24 déc. 2020 12:46

Salut PEDRO et salut à tous,

Je ne peux pas te laisser dire cela sans intervenir.

Nous sommes d'accord sur un point, une entrée ne doit JAMAIS être laisser en l'air . Tout du moins quand on veut faire les choses proprement. Si l'entrée en question n'est pas utilisée, le risque est très faible d'avoir des déboires en la laissant en l'air.
Mettre un résistance de tirage, permet de "fixer" l'état de la broche. Mais si dans votre programme on se moque de l'état de celle ci, alors ca ne dérange pas plus que ca.
Les broches sont protégées par des diodes de clamping.

Mettre une broche en sortie engendre la possibilité de court-circuit lors des manipulations ou autres erreur logiciel, et consomme plus. Je déconseille fortement de mettre les broches en sortie.

Attendons d'autre avis !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

PIC8bits - Mikrobasic - Généralités
PEDRO
Amateur
Amateur
Messages : 127
Enregistré en : septembre 2015
Localisation : P.A.C.A

#5 Message par PEDRO » jeu. 24 déc. 2020 17:19

Salut Jeremy et à tous les autres,

Jérémy a écrit :Source du message Je ne peux pas te laisser dire cela sans intervenir.


Tu as raison, ne te laisse pas faire :bravo:


Jérémy a écrit :Source du message Mettre une broche en sortie ... consomme plus

Bon, Jeremy, je ne peux pas te laisser dire ça sans intervenir. humour!!


Cette affirmation m'a paru bizarre mais pour etre tout à fait honnete, je n'avais aucune idée sur le fait que ce soit vrai ou faux, j'ai donc décidé de faire chaufer la bete de course et de faire un essai.

J'ai pris un 12F1822, 8MHz sur oscillo interne, ADC désactivé, comparateur désactivé.
Comme la conso n'est pas constante, j'ai lancé une moyenne sur 300 mesures

PortA en sortie (sauf A3) => 874 µA
A0 et A3 en entrées => 915 µA
PortA en entrée => 1008 µA

Suite à ces mesures, j'ai refait 2 autres tests, PortA en entrée, mais en activant ou en désactivant toutes les pull-up.
Le résultat est étrange : j'ai 90 µA de plus en conso avec les pull-up désactivées, j'ai bien dit désactivées !

Joyeux noel !

exit

PIC8bits - Mikrobasic - Généralités
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 953
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#6 Message par venom » jeu. 24 déc. 2020 19:58

Merci de ton retour Pedro.






@++
Mon site web
Mon discord : venom#4888

PIC8bits - Mikrobasic - Généralités
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#7 Message par Temps-x » ven. 25 déc. 2020 02:36

Bonjours Tango88, Jérémy, PEDRO, venom, et tout le forum,

Tango88 a écrit :Source du message Lorsque certains PORTs d'un PIC ne sont pas utilisés (pattes en l'air), quelle est la meilleure configuration à leur appliquer afin de ne pas perturber le déroulement du programme


J'ai jamais réfléchi à cette question, car je sais ce que je fais quand j'écris un programme, mais ça reste une question très intéressante

Et oui...on peut très bien imaginer les heures passés à chercher une erreur suite à des déclenchements d’interruption parce qu'on à laissé des pins en l'air.

:roll: Je crois si il y a pas utilisation, qu'il est préférable de mettre les pins non utilisé en entrée.

Après, faut t'il activer les résistances de tirage ?

Activé les résistance de tirage ne protège plus le microcontrôleur contre un éventuel court circuit sur la bonne +

La solution et en fonction du programme serait de souder des résistances de 10k par patte en l'air, sur la borne + ou -

Mais la meilleur chose, c' est de savoir ce qu'on fait, et de bien lire la documentation, ou :sifflotte: de prendre contact avec le forum de Fantas-Pic ou l'on pourras trouver des personnes pouvant orienter la façon d'écrire le programme. :-D


==>Joyeux Noël

==> A+
Modifié en dernier par Temps-x le ven. 25 déc. 2020 15:58, modifié 5 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

PIC8bits - Mikrobasic - Généralités
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#8 Message par paulfjujo » ven. 25 déc. 2020 11:16

bonjour à tous,


le probleme des entrees laissées en l'air , est surtout présent lorsqu'on test sur des breadboards (planche à Pain!)
et avec la capacité parasite entre 2 pins / colonnes adjacentes ...
mettez une sortie PWM, à coté d'une entree UART ou une pin interrupt .. bonjour les effets indesirables.

Ne pas oublier que par defaut, certaines pins sur les nouveaux MCU, sont plutot en ANALOGIQUE qu' en entrée , à la mise sous tension ..
il faut en principe une commande TRISx pour les conditionner en sortie.
Lorsqu'on regarde sur la datasheet les differents cheminements menant à l' ENTREE finale du MCU
il y a de quoi se preoccupper, sans parler du PPS (aiguillage Peripherie et PINS)

L'usage de pull-up ou pull-down permet de fixer un niveau logique ( sensé etre connu)
a noter que bien souvent , les pull up internes du MCU de trop grande valeurs, sont peu ou pas efficaces.

si sur le circuit imprimé les pins libres du MCU sont isolées, pas d'effet antenne, risque minima.
Apres il faut voir dans quelles conditions EMC le montage final doit etre exposé.


Bonne fête à tous, et meilleurs voeux de santé !
Aide toi, le ciel ou FantasPic t'aidera

PIC8bits - Mikrobasic - Généralités
Tango88
Membre
Membre
Messages : 13
Enregistré en : décembre 2020

#9 Message par Tango88 » sam. 26 déc. 2020 22:27

Bonsoir à tous et merci pour vos réponses,
Au vu de tout ce qui a été dit, je vais faire des essais mais je pense que je vais opter pour forcer les PINs non utilisées en entrée (TRIS?.? = 1) avec une résistance de 10 k tirée au ground (0 V) PULL-DOWN, tout en désactivant les PUL-UP internes (s'il y en a) dans l'initialisation en début de programme. C'est sans doute le mieux au niveau sécurité en positionnant ces résistances au plus prêt du PIC. Moins de risque de courants parasites.
Mon projet assez simple est l'automatisation de l'éclairage de mon garage avec temporisation suivant la position du rideau ouvert/fermé (fins de course) et gestion jour/nuit (photo transistor) sur un comparateur du PIC16F628A.
Encore merci à vous. A+. Bye ! idea !
Tango88.


Retourner vers « Langage BASIC & PASCAL »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 29 invités