Boitier diagnostic auto youngtimer

aligote:
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 :confused:

Serge .D

Ok, on dit que je n'ai rien demandé :wink:

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 : Les familles technologiques TTL /S/LS/CMOS/HC/HCT/BICMOS - Traité d'électricité et d'électronique pour le radioamateur - F6CRP

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 bas 0V à 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".

Bonsoir à tous,

Ce weekend j'ai fait mes devoirs :slight_smile:
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 :slight_smile:

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

John

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.

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.

J'ai un oscilloscope, un DSO138 avec un générateur de signaux XR2206.
Pour être honnête, j'avais acquis ce matériel en prévision parce que je me doutais qu'un moment ou un autre j'en aurai besoin, mais je ne me suis pas encore penché sur son fonctionnement.
Est-ce que ce petit matériel peut faire l'affaire ?
J'ai regardé pour Saleae, il y a plusieurs référence : peux-tu me dire laquelle prendre ?

C'est noté pour la terminologie (schéma de câblage versus schéma électrique).
Je m'attèle à pondre ça rapidement : Fritzing le propose mais je ne suis pas convaincu par son algorithme de routage, je trouve que le rendu s'éloigne de l'esprit. Oui, c'est un débutant qui dit ça ! :slight_smile: A la sortie, je ne comprends plus ce que je voulais faire.
En alternative, j'ai une version d'essai de Proteus qui me semble bien plus souple et sympa (c'est un avis totalement subjectif mais je me sens plus à l'aise avec).

Matériel :
Oui un oscillo fera l'affaire.
Dans le cas présent un analyseur logique apporte des fonctions de décodage des principaux protocoles de transmission et une représentation idéale des signaux : de beaux signaux bien rectangulaires.
Cette représentation "idéale" rend la recherche des erreurs plus facile.

Avoir les deux n'est pas nécessaire mais bien complémentaire.
La difficulté avec un oscillo est de savoir connecter les sondes correctement : il est très facile de détériorer "la représentation visuelle" du signal alors que celui ci est en réalité parfait.
Le plus important conseil que je donne est sur la prise de masse (encore elle !).
Avec une sonde il faut prendre le fil de reprise de masse le plus court possible et le point de masse le plus près possible du signal à mesurer. Déjà tu as un conseil pour ta réalisation pratique : ne lésine pas sur les points de masse accessibles. Pas la peine de faire une usine à gaz mais chaque fois que c'est possible rend la masse accessble.
Les sondes avec des fils de masse de 10 ou 20 cm sont une erreur grossière.

Point à savoir :
Pour pouvoir visualiser correctement un signal carré à la fréquence F il faut que le système de mesure puisse visualiser correctement 10 F. --> pour plus de détails voir un article sur les séries de Fourier.
D'où l'importance de la qualité de la prise de masse.

L'analyseur dont je parle est un clone de Saleae.
En fait il n'est plus fabriqué par Saleae qui est passé à des modèles plus performants, donc aucune prise de tête à avoir sur la morale, c'est maintenant à considérer comme du domaine public.
De mémoire c'est un micro tournant à 24 MHz et 8 prises de mesure.
C'est suffisant pour contrôler les micro avr.

Protéus :
Je pense que c'est quelques crans au dessus de fritzing.
Le hic pour moi c'est que Protéus est payant et surtout pas disponible sous Linux.
J'utilise Kicad mais c'est encore quelques crans au dessus : comme tous les logiciels puissants il demande des efforts de prise en main, on ne peut pas avoir le beurre et l'argent du beure.

Me revoilà ....

Tout d'abord quelques remarques.

J'ai jeté un coup d'œil rapide mais intéressé sur le schéma fourni et je donne mon ressenti :

  • Bravo pour le gros travail de mise en forme.... bravo pour l'investissement. Maintenant je n'utilise jamais Fritzing pour de nombreuses raisons que nous pourrions évoquer.
  • Concernant Proteus, j'en possède une ancienne version payante (de la lointaine époque ou j'étais en activité) dont j'utilise seulement épisodiquement la partie simulateur Spice (Isis) pour des pB un peu pointus sur de l'analogique.

Voila pour la forme, maintenant sur le fond.

Si j'ai bien vu, malgré mon coup d'œil rapide :

  • Deux registres à décalages sont utilisés et le proto est alimenté qu'une seule alim 5V issue de l'arduino Uno
  • Il reste disponibles sur la carte Uno 3 E/S digitale (10,11,12) et 3 E/S analogiques (A3,A4,A5)

Dans les posts précédent, j'avais évoqué la possibilité de supprimer tout registre à décalage à condition de réserver 5 lignes de commandes digitales, l'avantage de l'emploi de registre à décalage consistant à utiliser une commande séquentielle (commande par une horloge) et de diminuer le nombre de lignes de commandes digitales......

J'ai l'impression ici que les registres sont commandés à partir de 6 lignes (2,3,4 et 8,9,10) donc sans aller plus loin j'en vois mal l'intérêt.

Je pensais qu'il était possible de tout gérer cela avec de la seule logique combinatoire sans utiliser de circuits de logique séquentielle (cas de registres à décalage activés par des signaux d'horloge) , plus piégeuse pour la mise au point.

Maintenant quand personnellement je suis sur un projet; dans un premier temps j'imagine une structure globale mais ensuite très vite pour la mise au point je vérifie une par une soigneusement les fonctions secondaires avant de les regrouper dans un ensemble pour ne pas courir le risque de commencer par une "usine à gaz difficile à mettre au point.

Voila, encore bravo pour le travail déjà entrepris et bon courage pour la suite.

Serge .D

J'ai refait mon devoir :slight_smile:

Ci-dessous le schéma électrique fait avec Frizting (j'ai oublié l'autoroutage et ai fait les connexions manuellement).

Concernant l'analyseur logique, cet article ferait-il l'affaire : Dispositif Analyseur logique USB câble USB debug 24MHz 8 Canaux 24MHz pour ARM TE363 ?

@La modération : verrait-elle d'un mauvais œil que je modifie l'intitulé de cette file de discussion ? D'une question précise nous sommes passés à une vision plus globale :wink:

J'ai utilisé 2 registres à décalage, sans doute enthousiasmé par cette découverte :slight_smile:
Et sans doute pas encore tout bien compris à leur sujet.

Au fil de mes lectures, j'ai lu qu'il était possible de l'utiliser pour y connecter un LCD : je me suis dit que cela pouvais m'intéresser dans la mesure où j'avais l'économie du nombre d'E/S utilisées nativement et directement sur l'Arduino par l'écran en déportant un maximum sur le 74HC595.

Ceci dans l'optique d'une évolutivité possible et ne pas me retrouver coincé (même si je sais que les contraintes d'une évolution dépendront fortement des capacités et limites de l'Arduino).

Le second 74HC595 est pour piloter les deux CD4067B.
Est-ce qu'un seul 74HC595 suffirait ?

Pour l'instant je suis en phase de conception, tout est possible, détricoter la conception actuelle pour l'optimiser n'est pas un problème en soit bien entendu.

John_Doe34:
Concernant l'analyseur logique, cet article ferait-il l'affaire : Dispositif Analyseur logique USB câble USB debug 24MHz 8 Canaux 24MHz pour ARM TE363 ?

C'est à celui là que je pensais.

John_Doe34:
@La modération : verrait-elle d'un mauvais œil que je modifie l'intitulé de cette file de discussion ? D'une question précise nous sommes passés à une vision plus globale :wink:

Non seulement personne n'y verra d'inconvénient mais au contraire c'est ce qu'il faut faire et c'est ce qui est demandé dans le message épinglé "Bienvenue sur le forum de la communauté francophone".

Pour modifier le titre il faut le modifier dans le premier message de ce fil de discussion.

La multiplication des registres à décalage permet de multiplier les sorties mais n'est pas sans conséquence sur la complexité du mot logique à leur envoyer.
Si les registres sont chaînés c'est la totalité du mot qui est à reconstituer à chaque envoi.
Donc pas trop d'enthousiasme :grin:
Commence par gérer un registre pour voir ce que cela implique.

Bonjour

Concernant l'analyseur logique, cet article ferait-il l'affaire : Dispositif Analyseur logique USB câble USB debug 24MHz 8 Canaux 24MHz pour ARM TE363 ?

le descriptif est étonnant : "pour ARM TE363 ??"

L'appareil ressemble comme deux gouttes d'eau à l'analyseur logique 24 MHz 8 bits compatible Saleae qui va bien !!
Le premier commentaire mentionne la compatibilité avec le logiciel 'logic", très certainement le Logic de Salea téléchargeable içi pour Linux, Mac ou Windows.

Voir la démo vidéo de marscaper dans le sous-forum Tutoriels et Cours

Sujet "Tension max sur prise analogique" changé par "Boitier diagnostic auto youngtimer"

John_Doe34:
J'ai utilisé 2 registres à décalage, sans doute enthousiasmé par cette découverte :slight_smile:
................
Au fil de mes lectures, j'ai lu qu'il était possible de l'utiliser pour y connecter un LCD : je me suis dit que cela pouvais m'intéresser dans la mesure où j'avais l'économie du nombre d'E/S utilisées nativement et directement sur l'Arduino par l'écran en déportant un maximum sur le 74HC595.
..................

Le second 74HC595 est pour piloter les deux CD4067B.
Est-ce qu'un seul 74HC595 suffirait ?

Pour l'instant je suis en phase de conception, tout est possible, détricoter la conception actuelle pour l'optimiser n'est pas un problème en soit bien entendu.

Bon, le coup d'œil que j'ai indiqué rapide l'était trop .... Et fritzing ne m'avait pas aidé.

Si je résume le gain de connectique :

  • L'afficheur est en mode 4 bits de données + RST + Enable cela fait 6 conducteurs pour la commande, avec ce nouveau schéma et le registre à décalage on en est à 4 .... bénéfice 2 liaisons.
    Perso j'utilise beaucoup les afficheurs "mode texte" économiques 2 lignes ou 4 lignes en mode 4 bits de données donc avec aussi 6 conducteurs de commande. Si je dois économiser les conducteurs de commande, je prend le même type d'afficheur mais en liaison I2C encore moins exigeant au prix d'un délai d'affichage un peu plus long.
  • Le multiplexeur et son registre de commande nécessite 3 commandes digitales, pour une commande directe il en faudrait 5. Donc la aussi bénéfice 2 liaisons.

Maintenant en regardant la fiche technique du CD4067 j'ai trouvé ce qu'ils envisagent pour le chainage direct de deux multiplexeurs. Mais ils proposent seulement un 1/16 chainé avec un 1/8 ce qui ne fait que 24 E/S analogiques .... donc à réfléchir; peut-on chainer deux 1/16 ou bien y aurait-il des problèmes ?
Cela tombe bien, il me semble que sur vos Kits il y a des 1/8 sur support.

Capture.JPG

Et aussi, sans vouloir faire diversion, avec une carte Nano on récupère deux conducteurs de commande.

Globalement, je serais assez d'accord avec 68tjs ; commencer par gérer un registre.

Serge .D

aligote:
Maintenant en regardant la fiche technique du CD4067 j'ai trouvé ce qu'ils envisagent pour le chainage direct de deux multiplexeurs. Mais ils proposent seulement un 1/16 chainé avec un 1/8 ce qui ne fait que 24 E/S analogiques .... donc à réfléchir; peut-on chainer deux 1/16 ou bien y aurait-il des problèmes ?

C'est juste un exemple.
On peut sans problème remplacer le CD4051 par un CD4067

al1fch:
Bonjour le descriptif est étonnant : "pour ARM TE363 ??"

Tout à fait mais il ne faut s'étonner de rien.
C'est "un peu juste" (humour !) pour un ARM 80 ou 200 MHz d'horloge, c'est pour cela que Saleae a abandonné ce modèle.
Mais pour un avr c'est bon.
Il existe des modèles plus rapide mais pas au même prix.

Je viens de regarder le tutoriel de marscaper : je vais creuser le sujet à tête reposée et mieux concentré, j'ai écouté et regardé d'une oreille distraite pour mieux comprendre non pas l'utilité mais l'utilisation.
Au passage, j'ai passé commande de l'analyseur logique.

Je vais de ce pas retravailler les schémas électrique et de câblage en ne gardant qu'un 74HC595.

Serge, le schéma que tu as mis en pièce jointe est celui qui m'a inspiré pour faire la cascade des deux CD4067B. Normalement, sauf étourderie, je devrais être bon (mais je revérifierai).

Pour l'écran, j'ai en .. hum... 5... :

  • 2 x 1602 issus chacun de leur kit ;
  • 1 x 2004 ;
  • 1 x 128x64 ;
  • 1 x tactile 240x320.

Vu le nombre d'informations qui sera affiché, j'ai acquis les 3 autres par commodité.
Or le 2004 n'est pas graphique.
Le tactile consomme un nombre impressionnant d'E/S (ah tiens, je n'ai pas regardé si un CD4067B pourrait me dépanner...)
De toutes façons, le tactile à l'usage était une vraie fausse bonne idée : quand on mécanique, les doigts restent rarement propres et les écrans tactiles n'apprécient guère. On fait par s'acharner en espérant une réponse du device.
Alors qu'avec un LCD et des boutons, même s'il y a des poussières et des fluides, je peux tropicaliser les boutons poussoirs.
Je me suis rabattu en dernier choix sur le GLCD 128x64 qui est graphique et consomme autant qu'un LCD classique.

Je conçois qu'à la lecture de mon post, je me suis beaucoup dispersé sur le choix du matériel.
Ca fait parti de l'apprentissage :wink:

John_Doe34:
.................
Serge, le schéma que tu as mis en pièce jointe est celui qui m'a inspiré pour faire la cascade des deux CD4067B. Normalement, sauf étourderie, je devrais être bon (mais je revérifierai).
..................

A partir du schéma de chainage proposé dans la datasheet, pour moi la cascade des deux CD4067B commandée directement par 5 lignes de la carte uno s'obtient en ajoutant juste la ligne D au deuxième multiplexeur si c'est un 1/16.

Serge .D

Serge, il me semblait que la ligne D, comme les A, B et C, de ce que j'ai compris, permettent d'adresser les différentes E/S. Pourquoi ne câbler que celle-ci ?

Je me suis replongé ces derniers soirs dans le datasheet et les tutos et ai revu mon câblage des deux CD4067B, il y avait quelques erreurs (notamment les masses).
Il y a la broche INH dont je ne sais quoi faire : sur les schémas qui suivent, je les ai mise à la masse de manière arbitraire. Erreur?

Remarque : une sonde de température DS18B20 est venue se rajouter : il me faut pouvoir contrôler la température du liquide de refroidissement.
Selon, les tests peuvent être faussés (moteur arrêté, la température doit être aux alentours de 20°C, moteur chaud à 80°C environ).

Ci-après différentes versions :

  • 2 x 74HC595 + 2 x CD4067B ;
  • 1 x 74HC595 + 2 CD4067B avec GLCD sur Arduino.

Là où j'ai encore des doutes -comme c'est ma toute première fois-, ce sont les câblages des CD4067B avec le 74HC595, et ce dernier avec l'Arduino. Un œil expert serait le bienvenu ! :slight_smile:

John_Doe34:
Serge, il me semblait que la ligne D, comme les A, B et C, de ce que j'ai compris, permettent d'adresser les différentes E/S. Pourquoi ne câbler que celle-ci ?
..............

pour moi la cascade des deux CD4067B commandée directement par 5 lignes de la carte uno s'obtient en ajoutant juste la ligne D au deuxième multiplexeur si c'est un 1/16.

Je voulais dire (je ne pensais pas ma formulation ambiguë) prendre le schéma proposé et ajouter la ligne D .... et ne pas oublier une inversion entre le INH du premier 1/16 et celui du second.
Cette inversion permet de sélectionner le premier 1/16 ( adresses basses) séparément de la sélection du 2eme :

  • Adresses de 0 à 15, sélection du 1er (0 à 0x0F)
  • Adresses de 16 à 31, sélection du 2eme (0x10 à 0x1F)

De ce fait, pour le logiciel, les sélections des entrées Analogiques pourraient se faire très simplement recopiant en une seule instruction dans un port (par ex le port D qui possède 5 sorties) le n° de l'entrée. (de 0 à 31 en décimal)

Serge .D