Bonjour à tous,
j'ouvre ce sujet, avant de me lancer dans ce projet.
Il s'agit d'un tableau de bord de moto, enfin juste une partie.
Je souhaite idéalement regrouper sur un même écran les infos de pression et température d'huile, température liquide de refroidissement, et quantité carburant restante.
Idéalement, avec des couleurs d'affichage variables en fonction des paramètres, mais là je pense pas avoir le niveau !
Les quatre sondes seraient réservées à cet effet, et non partagées avec des manomètres, par exemple.
Par contre, je pense utiliser des sondes automobiles, pour leur facilité de montage et leur résistance aux contraintes du véhicule.
J'utiliserai donc 4 entrées analogiques, ce sont des résistances variables.
Si j'ai une idée de l'architecture générale, je me perds dans le matériel à réunir...
Ça commence par "quel modèle d'Arduino choisir"... et ça finit presque à "quelle taille d'écran" !
Je suis ouvert à toute remarque ou suggestion, en vous remerciant par avance !
Moi, je partirais sur un ESP32, pour pouvoir ajouter des capacités de communication avec un smartphone plus tard. Pour l'écran un OLED monochrome peut afficher du texte ou du graphique (pour avoir des graphes), voire deux écrans si tu as beaucoup de choses à afficher. L'écran OLED est souvent de petite dimension mais a une meilleure lisibilité qu'un LCD.
Merci !
je note pour l'écran.
Par contre, la communication avec un smartphone, tu penses à quoi ?
Une sorte de android auto ?
Je ne pense pas mettre un écran si gros... et c'est hors de portée, techniquement !
Déjà, afficher 4 nombres, c'est un challenge, vu mes capacités en électronique et informatique...
C'est un fait largement constaté dans de nombreux sujet autour des moteurs thermiques, la tension qui alimente les sondes peux être amener à varier pas mal en fonction de la charge de la batterie et du régime du moteur.
Pour faciliter la mesure des sondes et qu'elle soit stable, tu as tout inteêt à prévoir un convertisseur de tension DC/DC stabilisé en sortie pour alimenter tes sondes, surtout si tu ne les utilise que pour ton tableau de bord.
Il serait aussi utile de connaître la plage de variation de tes sondes
Elles ont quelles valeurs et varient de combien en Ohms?
Je pensais à stocker des valeurs dans la flash de l'ESP32 pour les afficher ensuite sur une appli sur un smartphone. L'ESP32 peut héberger un serveur web (c'est très bien fait et assez facile à apprendre) donc on peut ensuite traiter les données stockées et afficher des statistiques ou un profil de conduite, ou autre chose...
Tu vas loin dans l'évolution !
J'essaye déjà de comprendre comment ça marche pour obtenir un affichage des valeurs, sans mettre le feu à la moto !
D'ailleurs, je viens de découvrir qu'il existait des sondes PWM, qui font pression et température à la fois, j'essaye de voir si ça pourrait pas simplifier le montage physique...
Concernant les résistances, si je reste sur les sondes classiques, ça varie d'une centaine d'Ohm entre le mini et le maxi.
Et malheureusement, celles que j'ai repérées n'ont pas de mise à la masse séparée.
Ceci dit, la tension est à peu près stable, hors régime de ralenti. C'est l'intensité qui varie en fonction de la consommation et de l'état de la batterie.
Benoîtement, je pensais à ça pour les alimenter par la carte, et bénéficier d'une tension constante...
Je te mets le lien de la sonde ci-dessous, c'est en anglais, je n'ai pas trouvé en français...
Je crois que j'ai pigé environ 85% du bazar, je ne suis pas un As en anglais!
C'est OK, sur la carte Arduino ou ESP, il y a une sortie 5V regulée qui pourrait alimenter ton capteur
Mais!
On ne sait pas combien consomme le capteur ?
Il ne faudrait pas mettre à genoux le régulateur 5V de le carte!
Pour le reste, de ce que j'ai compris,
-Sur une période connue, le capteur envoit 3 pulses de largeurs variables
-les info à décoder sont dans les durées de ces pulses.
-1 pulse pour le diagnostic
-1 pulse la température
-1 pulse pour la pression
Pour décoder, il suffit par exemple à chaque front montant de mesurer le temps à l'état haut de chaque pulses, et l'écart de temps entre chaque front montant.
Puisque les infos sont envoyées dans le même ordre
Diagnostique -> Température -> Pression
Mais à des temps différents
T0=0: Diagnostic
T1=0+1024us: Température
T2=0+1024us+4096us: Pression
T3=0+1024us+4096us+4096us: je recommence (Diagnostic)
Donc en mémorisant T0,1,2,... et la durée de l'état haut aprés chaque front montant, je peux extraire les infos
-DIAGNOSTIC
-TEMPÉRATURE
-PRESSION
Avec un bon code bien ficelé, moi qui ne suis pas un As du code, je dis "c'est jouable"