Créations d'un compteur ( dashboard) de moto

bonjour,
Après plusieurs jours a chercher un produit qui me plairais je suis venu a la conclusion que les produits etaient trop gros trop chere ( en particulier car importation ).

je me suis decidé a creer mon propre dashboard et ai commencé a creer un programme arduino pour faire un prototype.
Malheureusement je me heurte a plusieurs problèmes:
-toutes mes entrées sont en 12v ( clignotants, neutre, highbeam, capteur de vitesse et de rpm) je ne sais si des modules existe ou si je dois me faire des "regulateurs" .
-si j'utilise un module gps pour eviter les 12v du signal de vitesse je devrais avoir plusieurs port tx,rx....

pour faire plus simple mon dashboard ( produit finis ) aurait :

  • compte tour ( mesure de freqeunce de 0 a 118hz)
  • vitesse ( mesure de frequence de 0 a environ 2600Hz )
  • voyants diverses ( neutre, pression d,huile, clignotants, plein phare )
  • shiftlight ( valeur gerer par l'ecran?)
  • odo ( information donné dans le nextion puis gerer par le programme)
  • trip ( un boutton reset sur l'ecran)
  • un indicateur de rapport engagé ( calcul de rapport km/h rpm)
  • horloge ( gerer par le nextion)

Mes questions sont
quel arduino serait le plus adapté pour faire tourné autant de chose?
comment passé de 12v a 5v sans modifié le signal de vitesse de et rpm?
a terme serait il possible de creer un pcb avec des attyni par exemple?

Des optocoupleurs devraient permettre de régler cela et apporter une isolation galvanique

Prenez un arduino avec plusieurs ports séries matériels ce sera plus robuste et plus simple a développer. Plutôt un ESP32 qu’un ATTiny.

1 Like

Des optocoupleurs devraient permettre de régler cela et apporter une isolation galvanique

merci pour votre réponse. j'ai pu voir que l'octocoupleur prends le signal et la masse puis reprends une masse sur l'arduino aussi sachant que je dois avoir 7 ou 8 entrée est-ce que je peux faire une masse "commune" ? ou chaque entrée doit avoir une masse qui lui est propre? le compte tour par exemple c'est un seul fil dédié qui sort du module d'allumage dont la masse ce fait en le fixant au moteur.
Je suis désolé je n'ai plus aucun souvenir de mes cours d'electrotech du lycée :sweat_smile:

Prenez un arduino avec plusieurs ports séries matériels ce sera plus robuste et plus simple a développer. Plutôt un ESP32 qu’un ATTiny.
pour le arduino partir sur un mega ou un due qui semble finalement supporter le 12v et donc plus besoin d'octocoupleur :thinking:

Non, un Mega ou un due ne supporte pas 12V, sur c'est entrée sortie, il accepte par contre 12V sur la prise d'alimentation.

1 Like


Peut-on m’expliquer ce que cela veut dire alors

Tu aurais pu le mettre sous forme de tableau, que l'on aurait pu copier/coller :slight_smile:

Operating Voltage, tension utiliser par le µC
Input Voltage(Recommanded) plage de tension d'alimentation de la carte recommandé
Input Voltage(limit) plage de tension a respecter pour que la carte fonctionne, en dehors de ces limites, soit la carte ne marche pas, voir il peut y avoir déterioration.

Il doit y avoir des tutoriels sur le NET qui te donnera toutes les autres caractéristiques.

1 Like

Merci :pray:
désolé j’ai fait au plus simple pour moi :sweat_smile:.
Si ça peut-être utile a d’autre que moi j’ai trouvé ce document

Je ne sais pas si il y a un endroit ou le mettre dans le forum

un peu de lecture
http://jlcoss.free.fr/DOCUMENTS/OPTO.pdf

on trouve des cartes toutes faites qui prennent des signaux 12V d'un côté et les ressortent en 5V de l'autre - par exemple premier hit sur amazon (je ne connais pas cette carte, juste une recherche google).

il existe des puces Optocoupler à 8 entrées à 12V par exemple, j'imagine que tout les systèmes de la moto partagent la même masse, donc vous utilisez celle là pour l'entrée côté "LED" et de l'autre vous avez votre arduino et son alimentation 5V (possiblement dérivée de la batterie - en essayant d'avoir un truc stabilisé et sans parasites).

1 Like

Effectivement j’ai vue des cartes 8 entrée 12v et sortie 5v. Pour la masse oui c’est une masse chassis. j’ai un connecteur avec toutes mes entrées une alimentation permanente( mémoire pour l’odo ) une après contacte (pour l’alimentation de le mega ) et enfin une masse.

J’aurais dernière question rapport a la carte et au programme est-ce que je peux faire tourner deux lectures de fréquences vitesse et rpm en plus du reste du programme sans que l’arduino soit trop sollicité ou une fréquence pour les rpm et un gps pour la vitesse serait moins lourds à supporter. Je présume qu’il y a des façons d’optimiser les codes mon seul code pour le rpm prends deja 10-15% il me semble de la carte après compilation

ça va dépendre comment c'est programmé. à quel rythme aurez vous des impulsions rpm ?
le GPS envoie ses données généralement à 1Hz (les meilleurs à 10Hz) donc ce n'est pas très important et si vous avez un port série hardware c'est bufferisé en matériel donc un peu de retard de temps en temps n'est pas grave.

pareil pour l'affichage pour le nextion, il faut un port série matériel pour profiter du buffering et sans trop solliciter le processeur principal pour l'émission ou réception des octets

1 Like

Les capteurs envoient en permanence une fois démarrer je penses que ça va plus être au niveau du programme que je dois gerer, avec eventuellemnt un delay. j'ai choisis un arduino mega qui a plusieurs port serie et aussi plusieurs port qui gere le freqMeasure donc de ce coté la je devrais etre tranquille. j'attends de tout recevoir afin de faire des tests.

ils envoient quoi ? une information numérique ou vous avez un front lors d'un tour de roue ou similaire ?

ils envoient une information une qui est au minimum de 16hz ( correspond au ralenti moteur) une fois démarré pour les rpm et la vitesses c'est un capteur hall ( 12v, signal, masse ) qui envoie une fréquence en fonction du nombres de tour de l'arbre de vitesse ( 380hz pour 30km/h ). les compteur d'origine on l'aiguille qui "fonctionne" sans traitement réel des données seulement a l'aide de composant simple.

hello
pour le ralenti: 16 hertz *60 = 960 tr/mn :+1:

pour 30 km/h :thinking: 380 hertz ==>380*60 =22800 tr/mn :scream:

Un circuit RC pourrait donner une tension proportionnelle à la fréquence sans doute ou alors une interruption à chaque tour…

La doc technique me donne des valeurs pour la vitesse et les rpm, un ralenti a 1000trs c’est 16,67hz si on veut être un peu précis, ce sont deux choses complètement différentes ils n’y a aucun lien entre la fréquence de la vitesse et celle des rpm

Ça monte jusqu’à combien de Hz?

Je l’ai ecrit en haut environ 2600hz pour 200-220 km/h ce qui ne risque pas d’arriver sauf sur un banc de puissance

Ah j’avais raté cela

2600 Hz ça mettrait effectivement pas mal la pression sur les interruptions si on veut que le reste du code tourne tranquillement

Une solution qui transforme la fréquence en tension variable serait plus simple - un filtre RC peut être - je laisse les pros du hardware vous donner une opinion

J’ai enfin reçu toutes les pièces et bonne nouvelle l’octocoupleur change la fréquence donc je vais devoir changer mon fusil d’ épaule quand au gps qui n’a envoyé qu’une ligne au moniteur serie celle ci était je pense inexploitable car je n’ai vue que des carrés.