Go Down

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

John_Doe34

Oct 04, 2017, 10:31 am Last Edit: Oct 10, 2017, 02:25 pm by John_Doe34
Bonjour à tous,


J'ai un challenge personnel de créer un boitier d'aide aux diagnostics pour un véhicule allemand des années 80-90.
Arduino serait tout désigné pour répondre à mes besoins en terme d'évolutivité, d'encombrement, de suivi de version, etc.

Pour tout dire, je débute en électronique et avant de faire une malheureusement configuration, j'aimerai m'assurer de ne pas faire d'erreur.

Voilà le contexte, j'ai 3 prises de tension à faire sur l'auto (qui est en 12V DC) :
- Sur la batterie directement ;
- Sur une prise diagnostics, de nouveau la tension de la batterie ;
- Tension de la bobine.
Cette prise de tension doit se faire simultanément : je pensais utiliser une prise analogique pour chacune d'elles.

J'ai bien compris au fil de mes lectures qu'il sera nécessaire de mettre en place un pont diviseur afin que l'Arduino puisse encaisser les tensions au-dessus de 5V.

J'ai lu aussi que l'Arduino pouvait encaisser au maximum une tension de 18-20V.
Est-ce que cette tension est pour chaque entrée analogique et dans ce cas, je dois faire 3 ponts diviseurs ou bien est-ce une limite globale et dans ce cas, comment contourner le problème ?

Merci à vous de votre aide,

John

John_Doe34

Désolé, je n'ai pas mis le topic et je ne sais pas comment éditer mon post  >:(
Avec mes excuses (ça commence bien...)

kamill

Bonjour,

En bas à droite de ton message tu as 'quick edit' ou 'more'. Tu peux éditer ton message y compris le titre.
Pour changer le titre du sujet, il faut changer le titre du premier message.

Jambe

J'ai lu aussi que l'Arduino pouvait encaisser au maximum une tension de 18-20V.

Il y a méprise, la tension max de 20V est le maximum admissible sur le régulateur de tension qui "produit" le 5 volts de la carte.

Mais ça fait beaucoup a dissiper pour le régulateur de la carte et l'intensité restante pour l'utilisation de la carte devient très faible.



 
Est-ce que cette tension est pour chaque entrée analogique
Donc non, cette tension n'est pas adapté pour chaque broche de la carte (peut importe qu'elle soit analogique ou numérique).

Pour mesurer des tensions de 12V (normalisées, en réalité, on approche les 14V), il faut effectivement utiliser un pont diviseur.
Sachant que le pont diviseur est utile seulement pour du signal, il n'est pas possible d'alimenter une carte par exemple a travers un pont diviseur


68tjs

Pour alimenter une carte à partir du 12/14V il est préférable d'utiliser un convertisseur abaisseur de tension (step-down).
Pour bénéficier d'un filtrage complémentaire de l'alim (dans un véhicule c'est préférable) il faut fixer la tension de sortie du convertisseur sur 8/9V et entrer soit la prise jack soit sur l'entrée Vin de la carte arduino --> en général les converts que l'on trouve ont un potentiomètre pour régler la tension de sortie.

aligote

Bonjour,


Quelques remarques ....
Moi, ce qui me chiffonne un peu, c'est la prise de tension sur la bobine. (s'agit-il de la tension du secondaire destinée aux bougies ? .... donc nettement plus de 10.000 volts ?)

Ensuite, pour les prises des tensions simultanées; en toutes rigueur les mesures sur les entrées analogiques ne pourraient se faire que l'une après l'autre.
Bien sûr le délai entre deux acquisitions analogiques peut-être court (moins de 1ms) .... mais est-ce assez court pour considérer que ce sera simultané ?

Serge .D

John_Doe34

Merci à tous pour vos réponses et éclaircissements (j'ai d'ailleurs modifié le sujet).

Concernant la bobine, il s'agit du primaire bien sûr.

Un délais d'1ms entre chaque prise de mesure ira plus que très bien : je peux accepter un rafraichissement de l'ordre de la seconde sans souci.

L'idée est de prendre la tension de la batterie en direct pour s'assurer que celle-ci est suffisamment bien chargée pour poursuivre les tests.
La seconde mesure de la tension de la batterie sur la prise diagnostic va me permettre de calculer le duty cycle du véhicule (et selon le résultat, annoncer un code erreur).
La 3ème mesure, celle de la bobine, rentre dans une série de tests unitaires.

Quitte à paraître un peu long à la comprenette, si j'ai bien compris, dès lors que les ponts diviseurs sont utilisés et un temps de mesure entre chaque prévu, mon projet est possible ?

Ca m'intéresse parce que j'ai un second projet pour diagnostiquer un boitier d'injection avec une série de tests unitaires : là par contre, il s'agit de prendre des mesures séquentiellement sur 25 contacts (j'ai prévu un shield Velleman KA12 pour étendre le nombre d'entrées analogiques) mais il risque d'y avoir un paquet de ponts diviseurs.

mulderfox

bonjour,
très bien comme projet, mais j'ai un peu de mal à comprendre la valeurs ajouté que cela apporte  de tester tout ces points.

peut tu donner un exemple s'il te plait ?

car si la tension de la batterie qu'on va appeler Ubat est supérieur ou inférieur à la tension de la bobine qu'on peut appeler Ubob, qui elle même est encore différente de la tension batterie sur la prise diag, qu'on peut encore appeler Udiag, que cela veut il impliquer ?

en gros si Ubat<Ubob, ou Ubat>Ubob, ou encore que Ubat < ou > à Udiag, que veut dire ce déséquilibre ? de quelle panne  s'agit il ?   quelle pièce est à remplacer ?
"L'imagination est plus importante que le savoir."

68tjs

Quote
(j'ai prévu un shield Velleman KA12 pour étendre le nombre d'entrées analogiques) mais il risque d'y avoir un paquet de ponts diviseurs.
Question sur la vieille gamme CDxxxx que je connais mal, je ne parle pas de 74HCxxxx.

Cette gamme accepte une tension VDD jusqu'à 18V/20V elle conviendrait pour être alimentée en 14V .
Ma question est : est-ce qu'elle accepte des signaux 5V sur les accès de commande logique alors qu'elle est alimentée en 14 V et que les signaux à multiplexer font 14V ?

Parce que si c'est bon je pense à des multiplexeurs analogiques CD4067 (16 vers 1) qui ne demandent que 4 lignes de commande (c'est là qu'il faudrait du  5V ).

Pour 25 mesures il faudrait 2  CD4067 soit 8 lignes de commande. 
Pour diminuer le nombre de  lignes de commande,on peut  connecter les accès ABCD de chaque CD4067 à un registre à décalage comme le 74HC595 (8bits).
Au total il ne faudrait plus que 3 lignes (H, Data, Latch).

Il n'y aurait plus qu'un seul pont par boîtier, soit 1 pont pour 16 mesures.
La résistance à l'état passant du multiplexeur variant entre 400ohms et 1400 il faudra qu'elle soit négligeable devant celle du pont ou il faudra prévoir un étalonnage et une calibration dans le programme.

Mais cette solution est tributaire de la réponse à ma question : peut t-on commander les lignes A, B, C, D en 5V alors que le CD4067 est alimenté en 14V.



aligote

#9
Oct 04, 2017, 08:26 pm Last Edit: Oct 04, 2017, 08:29 pm by aligote
Question sur la vieille gamme CDxxxx que je connais mal, je ne parle pas de 74HCxxxx.

Cette gamme accepte une tension VDD jusqu'à 18V/20V elle conviendrait pour être alimentée en 14V .

Ma question est : est-ce qu'elle accepte des signaux 5V sur les accès de commande logique alors qu'elle est alimentée en 14 V et que les signaux à multiplexer font 14V ?.

Je ne crois pas (dommage !)
Dans ce cas prévoir des transistors pour translater les niveaux  de 5V à 14V pour les signaux de commandes

A vérifier

Serge .D

John_Doe34

[...]
peut tu donner un exemple s'il te plait ?
[...]
Bien sûr !

La voiture possède 2 prises de diagnostics (ce n'est pas de l'OBD2 comme sur nos véhicules contemporains, nous sommes sur du propriétaire) :
- 1 prise avec 9 broches sur laquelle il est possible d'obtenir :
    - Tension de la batterie ;
    - Tension de la bobine ;
    - Test de la sonde lambda (si présente) ;
    - Compte-tour moteur ;
    => A part la tension de la bobine et de la batterie, je ne connais pas encore celle des 2 autres points de mesure.
- 1 prise 8 ou 16 broches (selon année millésime) sur laquelle à l'origine un compteur d'impulsion est connecté (1 masse  + 1 des 15 autres broches, chacune reliée à un calculateur tel que l'injection, climatisation, airbag, ...). La tension de ses broches est comprise entre 0.7V et 2.5V, pas plus.

Dans tous les cas de figure, avant de lancer les interrogations sur ces prises, il y a un prérequis pour s'assurer que les tests se font selon les recommandations du constructeur : s'assurer que la tension de la batterie soit comprise entre 11 et 14V : c'est la première prise de mesure en direct sur la batterie pour s'affranchir de toute fausse mesure si je la prenais ailleurs.

Si ce prérequis est bon, alors je peux lancer les tests :
- Sur la première prise, contact mis et moteur arrêté, je mesure la tension de la batterie et celle de la sonde lambda. Avec une formule qui prend en compte ces deux tensions, j'obtiens le duty cycle (qui s'exprime en %). Selon le résultat (100% = pas de problème, 70% un soucis) ;
- Si problème alors moteur tournant, reprise de mesure des deux tensions et re-calcul du duty cycle. Selon l'abaque du constructeur, le résultat est en pas de 10 (0, 10, 20... jusqu'à 100) et selon le résultat du calcul, l'abaque me renvoie vers une piste de résolution.
=> C'est ainsi que j'ai besoin des 2 mesures simultanément (enfin, à 1 seconde prêt le résultat ne variera pas de 20%), la tension de la batterie sur cette prise de diagnostics étant juste un paramètre de la formule de calcul du duty cycle.

Concernant la seconde prise de diagnostics, comme je le disais, l'interrogation se fait via un compteur d'impulsions : après interrogation, selon le nombre d'impulsions sur le calculateur questionné, l'abaque indique une piste de résolution. Avec possibilité bien sûr de supprimer le code erreur.

Est-ce que j'étais suffisamment clair ? Pour moi, ça l'est étant dedans depuis un bon moment, j'espère avoir expliqué au mieux.

68tjs

@Ailigote
Des transistors discrets j'y avais pensé mais cela fera encore plus de composants à câbler que les ponts.
En restant dans le registre des transistors il y a les réseaux de transistors de la série ULNxxxxx.
Il existe des versions où les résistances de base sont intégrées à la puce.


aligote

#12
Oct 05, 2017, 12:43 pm Last Edit: Oct 05, 2017, 01:12 pm by aligote
@Ailigote
Des transistors discrets j'y avais pensé mais cela fera encore plus de composants à câbler que les ponts.
En restant dans le registre des transistors il y a les réseaux de transistors de la série ULNxxxxx.
Il existe des versions où les résistances de base sont intégrées à la puce.


Oui bien sur, peut-être aussi penser aux réseaux de résistances pour les diviseurs de tension. (les résistances du diviseur possèdent une borne commune)

Il y a aussi cela qui me chagrine un peu :

La résistance à l'état passant du multiplexeur variant entre 400ohms et 1400 il faudra qu'elle soit négligeable devant celle du pont ou il faudra prévoir un étalonnage et une calibration dans le programme.

Pour l'étalonnage et la calibration (il y a beaucoup d'entrées) peut-être envisager une séquence dans le programme qui réalise un étalonnage automatique quand toutes les entrées analogiques sont reliées à la même tension (12V par ex)

Serge .D

John_Doe34

#13
Oct 05, 2017, 01:16 pm Last Edit: Oct 05, 2017, 06:50 pm by John_Doe34
C'est intéressant parce que nait une expression de besoin (je souhaite un auto de diagnostics pour tels et tels mesures) et sa réalisation (je suis comme une poule devant un cure-dent...)
Pour l'instant, mes documentations (et vous ne rigolez pas) sont le hors-série Hardware PC paru en début d'année qui traitait d'Arduino et de Raspberry et "Arduino pour les Nuls, 2ème édition".
Comme il fallait bien commencer par quelque chose, j'ai fait au plus abordable.
De ce que j'ai maquetté : l'utilisation d'un LCD avec affichage commandé par 6 boutons (Gauche / Droite / Haut / Bas / OK / BACK) connectés sur une entrée analogique, un capteur de température et un voltmètre.
J'ai codé (= bricolé) il y a fort longtemps en C.

Je vous raconte mon apprentissage pour vous donner une idée de mon niveau.

J'avoue humblement être un peu perdu dans vos réponses (c'est là que je constate ma limite dans la compréhension dans cette discipline, il va me falloir m'(auto-)éduquer un peu pour être à l'aise).

De ce que j'ai compris, il y aurait donc une possibilité de diminuer le nombre de composants en "mutualisant" l'ensemble des entrées sur un seul composant, c'est ça ?

Est évoqué aussi l'étalonnage et la calibration : ce sont deux points que je n'avais pas appréhendé.
Ca veut dire, quelque soit la méthode de mesure, il faudra les prévoir.
La question du profane : ça se gère comment ?

J'ai oublié de préciser : il s'agit pour moi dans ce projet de me challenger personnellement. Il n'y a pas une idée d'industrialiser la solution ensuite ou d'en faire un business. Pas de notion de coûts non plus, l'objectif étant d'y arriver, donc s'il faut y mettre les moyens...

aligote

Je viens de regarder la datasheet duCD4067 (Multiplexeur analogique 4/16)

- résistance passante inférieure à 240 Ohms mais pour 25°C et Vdd=15V (cela tombe bien)
- commutation de 16 entrées

Pour John_Doe34 un tutoriel permettant de débuter.

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

.... Reste à modifier le tuto prévu pour 5V avec un VDD de 15V et des amplificateurs de signaux logiques de commandes


Serge .D

 

Go Up