Go Down

Topic: Boitier diagnostic auto youngtimer (Read 1 time) previous topic - next topic

John_Doe34

Bonjour Serge,


Ce que je propose étant donné que vous avez tous la gentillesse de m'aider, est d'éviter de m'éparpiller et de rester sur la piste du CD4067B avec le 74HC95, ceci par souci d'efficience et éviter à terme de refaire une partie du travail.
Je file ce soir dans ma boutique préférée voir ce qu'ils ont de disponible. Si tout y est, c'est très bien, sinon je leur passerai commande.

En aparté, connaissez-vous un ouvrage sur l'électronique à la portée d'un néophyte sans que ce soit trop grand public (discours trop vulgarisé) ni trop gourou (demandant déjà des bonnes bases) ?
J'ai feuilleté le pavé "L'électronique pour les Nuls", je ne sais pas ce qu'il vaut réellement en terme de contenu.

68tjs

Réponse rapide concernant la génération du signal horloge :
Ce signal est généré à l'intérieur de la boucle for de la fonction Wiring  shiftOut() utilisée pour gérer les registres à décalages.
Ce signal, du fait de la lenteur des fonctions Wiring, est créé rudimentairement par deux lignes :
digital(x,1);
digital(x,0);

La fonction shiftOut() a été améliorée dans la dernière version de l'IDE Wiring, celle de l'IDE arduino est toujours dans l'état où elle était en 2005 au moment du fork.

aligote

Bonjour Serge,


Ce que je propose étant donné que vous avez tous la gentillesse de m'aider, est d'éviter de m'éparpiller et de rester sur la piste du CD4067B avec le 74HC95, ceci par souci d'efficience et éviter à terme de refaire une partie du travail.
.....
Avec un CD4067B on accède à 16 lignes analogiques avec une commande arduino de 4 lignes digitales et une entrée analogique arduino .
Pour 32 E/S analogiques( si c'est suffisant ..... au delà bonjour le câblage)  il faut deux CD4067B mais il doit sans doute y avoir moyen de prévoir seulement 5 lignes digitales arduino de sélection sans registre à décalage. (A expérimenter)

Serge .D

kamill

Pour 32 E/S analogiques( si c'est suffisant ..... au delà bonjour le câblage)  il faut deux CD4067B mais il doit sans doute y avoir moyen de prévoir seulement 5 lignes digitales arduino de sélection sans registre à décalage. (A expérimenter)
C'est tout a fait possible, mais si on ne veut utiliser que 5 sorties, il faut un inverseur pour inverser le signal inhibit du second par rapport au signal inhibit du premier

John_Doe34

Avec un CD4067B on accède à 16 lignes analogiques avec une commande arduino de 4 lignes digitales et une entrée analogique arduino .
Pour 32 E/S analogiques( si c'est suffisant ..... au delà bonjour le câblage)  il faut deux CD4067B mais il doit sans doute y avoir moyen de prévoir seulement 5 lignes digitales arduino de sélection sans registre à décalage. (A expérimenter)

Serge .D
Le câblage sera suffisant :
- Le premier boitier de diagnostics (prises diagnostics), j'ai compté un maximum de 21 câbles ;
- Le second boitier (pour la partie injection), 25 câbles.

aligote

#35
Oct 06, 2017, 12:48 pm Last Edit: Oct 06, 2017, 02:25 pm by aligote
C'est tout a fait possible, mais si on ne veut utiliser que 5 sorties, il faut un inverseur pour inverser le signal inhibit du second par rapport au signal inhibit du premier
C'est ce que je pense, de toutes façons il faut prévoir pour translater les niveaux logiques +5V arduino vers +15V. Sinon en première manip utiliser une ligne digitale supplémentaire.

@John_Doe34 :

A votre place je me "ferai déjà la main" en utilisant 1 puis 2 multiplexeurs 1/8 des kits avec comme support le tuto qui précède celui que j'ai déjà indiqué :

https://www.carnetdumaker.net/articles/utiliser-un-multiplexeur-analogique-cd4067b-avec-une-carte-arduino-genuino/

https://www.carnetdumaker.net/articles/utiliser-un-multiplexeur-analogique-cd4051b-avec-une-carte-arduino-genuino/


Serge .D

John_Doe34

A votre place je me "ferai déjà la main" en utilisant 1 puis 2 multiplexeurs 1/8 des kits avec comme support le tuto qui précède celui que j'ai déjà indiqué :

https://www.carnetdumaker.net/articles/utiliser-un-multiplexeur-analogique-cd4067b-avec-une-carte-arduino-genuino/

Serge .D
Oui Serge, je vais faire ainsi.
Ne maitrisant pas toutes les subtilités, je vais déjà y aller piano.
Les pièces sont commandées, les CD4067B ne sont pas sur stock, tout devrait arriver la semaine prochaine.
Ca va me laisser le temps de refaire une passe sur le tutoriel indiqué.

Ce qui est appelé les niveaux logiques, ce sont les entrées/sorties ?

aligote

#37
Oct 06, 2017, 02:47 pm Last Edit: Oct 06, 2017, 02:57 pm by aligote
Quote
author=John_Doe34 date=1507292856 link=msg=3438183]
Oui Serge, je vais faire ainsi.
Ne maitrisant pas toutes les subtilités, je vais déjà y aller piano.
Les pièces sont commandées, les CD4067B ne sont pas sur stock, tout devrait arriver la semaine prochaine.
Ca va me laisser le temps de refaire une passe sur le tutoriel indiqué.

Ce qui est appelé les niveaux logiques, ce sont les entrées/sorties ?

Revoir les tutos ... :)

Un multiplexeur analogique 1/8 (par exemple) commute des signaux analogiques (dans un sens ou dans l'autre) entre 1 voie et 8 possibilités. Si je dis signal je sous entend valeur analogique prise en compte entre 0V et le max (Max 5V ou 15V selon l'alimentation). Par ex 9V ou bien 11,2V etc.. si le multiplexeur est alimenté en 15V.
Pour sélectionner une voie parmi 8 il faut déjà donner le code binaire désignant cette voie (de 0 à 7 cela occupera 3 bits)
Ce code sera donc donné par 3 conducteurs pour le multiplexeur 1/8. Ce seront 3 sortie digitales de l'arduino.
Comme l'arduino ne sort que des niveaux de tensions 0v ou 5V pour ses sorties digitales; il faut transformer cela en niveaux de 0 ou 15V pour commander les entrées de sélection du multiplexeur s'il est alimenté en 15V. (sujet évoqué plus haut)
Les valeurs analogiques ( 1 parmi 8 ) seront dirigées vers la borne analogique commune qui ne fait que recopier la tension analogique sélectionnée. (par ex 9V)
Comme la tension ainsi dirigée vers l'arduino peut varier de 0 à 15V; il faut la diviser au moins par 3 proportionnellement pour que son image variant de 0 à 5V ne dépasse pas ce qui accepté par l'entrée analogique choisie pour l'arduino. (dans ce cas 3V qui pourrait être dirigée vers A0 ou bien A1 ...)

Serge .D

John_Doe34

Question (encore !) : est-ce que j'ai un moyen de protéger le multiplexeur dans le cas où la tension dépasserait les 15V ?
Genre ne pas modifier la tension de 0 à 15V et au-delà, bloquer la tension.

Je sais la réponse du style "Un fusible !" :)

aligote

#39
Oct 06, 2017, 03:17 pm Last Edit: Oct 06, 2017, 03:19 pm by aligote
Question (encore !) : est-ce que j'ai un moyen de protéger le multiplexeur dans le cas où la tension dépasserait les 15V ?
Genre ne pas modifier la tension de 0 à 15V et au-delà, bloquer la tension.

Je sais la réponse du style "Un fusible !" :)
Tout est possible .... (on oublie le fusible) une usine à gaz se profile pour protéger individuellement 32 entrées analogiques .....

Perso quand je veux protéger une entrée analogique j'utilise un diviseur de tension et 2 diodes par entrée .... soit 4 composants par entrée ..... donc pour 32 entrées   :smiley-confuse:

Serge .D

John_Doe34

Tout est possible .... (on oublie le fusible) une usine à gaz se profile pour protéger individuellement 32 entrées analogiques .....

Perso quand je veux protéger une entrée analogique j'utilise un diviseur de tension et 2 diodes par entrée .... soit 4 composants par entrée ..... donc pour 32 entrées   :smiley-confuse:

Serge .D
Ok, on dit que je n'ai rien demandé ;)

68tjs

#41
Oct 06, 2017, 03:56 pm Last Edit: Oct 06, 2017, 03:59 pm by 68tjs
En général oui.
Mais pour le CD4xxx qui tourne jusqu'à 18 Volts d'alim  il y a place à interprétation personnelles, note bien le s car il peut y en avoir plusieurs.
Il y a d'une part les entrées logiques de commande qui commandent les aiguillages du multiplexeur, et d'autre part les signaux qui sont multiplexés

Petit historique des évolutions des circuits logiques et des abus de langage.
La première technologie réellement disponible est la TTL  (Transistor Transistor Logic), avant il y avait la RTL la DTL etc  --> on oublie ).
Cette logique TTL est basée sur des transistors bipolaires et fonctionne sous 5V. Elle à des seuils de niveaux logiques qui nous paraissent actuellement un peu bizare (voir plus loin)
C'est du au fait que l'on n'entrait pas sur une base mais sur un émetteur.

Ensuite est apparu la logique basée sur des transistors Mos complémentaires (logique CMos) qui fonctionne sous différentes tension d'alimentation comme la fameuse série CD4xxx.

Pour remplacer la TTL est apparu la 74HCxxxx qui est du CMOS mais qui ne fonctionne que sous 5 V.
Je m'arrête ici, il existe bien d'autres versions plus ou moins abandonnés, pour plus de détail voir par exemple : http://meteosat.pessac.free.fr/Cd_elect/perso.wanadoo.fr/f6crp/elec/sc/famtec.htm

Ce qu'il faut retenir :
- CD4xxx alim jusqu'à 18V et niveau logique comme l'alim
- 74HCxxxx alim 5V uniquement et niveau logique 5V  --> attention à leur sujet tu pourra lire "niveau  TTL" pour parler de niveau 0V/5V, c'est un abus de langage car le niveaux logiques TTL sont différents des  niveaux logiques HC.
Et pour compliquer encore plus il existe une version 74HCT qui correspond bien aux vrais niveaux logiques TTL.

Comparaison niveaux logiques TTL et cmos série 74HC

    TTL  74HC
Niveau bas0V à 1,4V  0V à 0,8V  
Niveau haut  2,4V à 5V 3,5V à 5V

Ce n'est pas simple mais c'est la conséquence de la montée en vitesse des circuits logiques, quand une techno ne peut plus progresser il faut bien passer à autre chose et essayer tant que faire se peut de rester compatible avec les anciennes technos..

Protection des entrées de circuits intégrés :
Pour éviter l'usine à gaz que craint Aligote il y a la solution d'évaluer les risques, et d'en prendre.
1) Un CI ne revient pas cher, si tu les achètes par paquet de 10 ou 20 par correspondance.
2) les supports j'aime pas parce qu'ils sont sources de mauvais contacts, mais dans ton cas ils sont nécessaires.
3) on peut espérer avec de bonne probabilité que le premier circuit dans la chaîne prendra tout dans la poire et protégera les autres.

Personnellement je prendrais le risque de ne rien mettre parce que vu le nombre de connexions à protéger le câblage deviendra vite pénible.

La seule chose que je ferais c'est d'utiliser un convertisseur de tension pour alimenter le CD4xxxx en 18V (donc à partir du 12C il faut un step-up).
Cela aurait deux avantages : avoir une alimentation plus propre pour les circuits intégrés et aussi éviter (autant que faire se peut) que les niveaux en entrée du CD4xxx dépassent la tension d'alimentation ce que les circuits CMOS n'aime pas.

Mais pour la phase de test et de mise au point tu peux t'en dispenser.

Il y a quand même beaucoup de boulot à fournir pour réaliser ce projet.
Essaye de toujours avancer par petit pas : une chose nouvelle à la fois.
Dis toi bien qu'il te faudra deux réalisations : une pour les tests et la mise au point, qui à la fin de la mise au point sera dans un tel état de délabrement qu'il sera préférable de réaliser une deuxième  pour la "production de mesure".

John_Doe34

Bonsoir à tous,

Ce weekend j'ai fait mes devoirs :)
J'ai lu pas mal de choses sur le 74HC595N et CD4067B.
Dire que j'ai tout compris serait bien prétentieux mais je pense avoir saisi l'essentiel.

J'en ai donc profité pour faire le schéma de la platine d'essai sous Fritzing, que je vous soumet plus ci-après.
Tous les câbles gris sont ceux prévus à terme, le temps de recevoir les composants : je mettrai les bonnes couleurs dès que j'aurai fait physiquement le câblage.
A noter que la LED présente est là pour indiquer un dysfonctionnement/erreur et invite l'opérateur à naviguer dans les différents écrans pour la lecture de cette erreur.
La sonde de température est un essai, elle n'apparaîtra plus sur le prototype final.

C'est sans doute trop demandé mais si quelqu'un pouvait m'assurer qu'il n'y a pas d'erreur avec le câblage entre le 74HC595N et les deux CD4067B, je lui en serai reconnaissant.

Attention, ça pique les yeux :)

Merci à tous en tout cas pour vos différentes informations,

John

68tjs

Je vais faire le difficile : ce n'est pas un schéma électrique mais un schéma de câblage même si je reconnais qu'il est très propre et que cela nous change des torchons qu'on nous présente parfois.

Fritzing marche sur la tête mais on en parlera une autre fois.
En attendant fritzing peut construire le vrai schéma électrique à partir du schéma de câblage.
L'option se trouve dans le menu mais ne me demande pas où je n'utilise pas fritzing.

Alors, stp, extrait nous ce vrai schéma électrique car dans un schéma électrique  le nom des pins défini leur fonction et pour vérifier un schéma comme le tiens c'est quand même plus simple et plus c'est simple moins il y a de risque d'erreur.

68tjs

La vue de ton montage me fait penser à la future mise au point.
Je pense que tu as montré que tu as les pieds sur terre et que tu ne te fais pas d'illusion il va y avoir des erreurs dans la programmation en ce qui concerne les signaux de commande.

Pour la mise au point il y a l'oscilloscope  mais c'est cher.
Il y a bien plus abordable et par certains cotés plus puissant : l'analyseur logique.

Sur Ebay tu peux trouver un clone de Saleae entre 8 et 10€. Le logiciel de gestion peut se télécharger gratuitement sur le site de Saleae.
Je pense qu'il serait bien utile.

Go Up