Contrôle d'un compteur voiture

Bonjour,

Je suis actuellement sur un projet de simulation auto via le soft xsim. Pour ceux qui ne connaisse pas, c’est une soft qui renvoi des données de télémétrie par le port série.
Le but final est d’avoir un simulateur le plus complet possible avec siège dynamique tableau de bord et autre.

Je rencontre un petit problème pour ce qui est du compteur, pas au niveau de la programmation mais plutôt au niveau mécanique.
j’aimerai utiliser des micro servo (du même type que ceux fourni dans les starter kit arduino) pour faire bouger des aiguilles dans un compteur de voiture. j’aimerai utiliser ce type de moteur car ils sont simple a programmer et économique.

la gros point négatif c’est la limitation a 180° de ce type de moteur, aucun compteur de voiture n’a d’aiguille qui utilise une plage de 180°. Sauf peux être les 2cv, mais le design ne rentre pas vraiment dans mes critères XD

Donc voila ma question, existe t-il des micro servo capable de faire une rotation a 360° voir 280° ? ce qui devrait être suffisant.
Je n’ai pas envie de passer par des moteurs pas a pas car je suis limité en nombre d’ I/0, d’où l’intérêt des micro servo.
et puis investir dans des moteurs pas a pas juste pour agiter des aiguilles c’est limite…

Je sais que ma question n’est pas en rapport direct avec la arduino mais peux être que quelqu’un pourra m’aider !

Deux petites vidéos pour ceux que sa intéresse, une pour le compteur de vitesse et l’autre pour le compte tour moteur.
Désolé pour la qualité, j’ai fais ça vite fait hier soir.

Voici aussi un bout de code pour faire fonctionner le servo via xsim.

#include <Servo.h>

Servo myservo;
int DataValueT = 0;

////////////
void setup()
////////////

{ 
  Serial.begin(115200);
  myservo.attach(11);  
} 

///////////
void loop()
///////////

{
  readSerialData();           
  myservo.write(DataValueT);   
}

/////////////////////
void readSerialData()
/////////////////////

{
  byte Data[3] = {'0', '0', '0'};    
  if (Serial.available() > 2)
  {
     Data[0] = Serial.read();    
       if (Data[0] == 'T')
       {
          Data[1] = Serial.read();
          Data[2] = Serial.read();
          DataValueT = NormalizeData(Data);
       }
  }
  if (Serial.available() > 16) Serial.flush();
}

////////////////////////////    
int NormalizeData(byte x[3])
////////////////////////////
{
  int result;
    if (x[2] == 13)
    {
       x[2] = x[1];  
       x[1] = '0';  
    }
    for (int i = 1; i < 3; i++)
    {
      if (x[i] > 47 && x[i] < 58)
      {
         x[i] = x[i] - 48;
      }                       
      if (x[i] > 64 && x[i] < 71)
      {
         x[i] = x[i] - 55;               
      }
    }
       result=map((x[1] * 16 + x[2]), 160, 255, 179, 0);
       return result;
}

Pour la petite info, xsim envoi un signale de 0 a 255 en hexadécimale précédé d’une lettre pour l’identification ce qui donne une valeur du style T7F récupérée par la fonction “readSerialData”.
La fonction “NormalizeData” map simplement la valeur pour que le micro servo puisse la digérer.
Ensuite le servo est déplacé a la position voulue, mais malheureusement limité a 180° =(

Voila si quelqu’un a une idée je suis preneur !

Il y a des engrenages de démultiplication dans le servo à 180°, tu peux éventuellement le démonter et modifier sa mécanique.

Ou remplacer le bras monté sur la sortie du servo par une roue dentée et lui connecter une seconde roue dentée qui fera la multiplication qui va bien.

Ou faire un compteur avec un afficheur graphique les compteurs à aiguille sont complètement has been XD

Ou récupérer un compteur auto dans une casse il y en a qui utilisent un galvanomètre, tu pourrais l'attaquer avec une sortie PWM

Explique nous ce dont tu as besoin, on t'expliquera comment t'en passer XD

Salut @ Christian_R

Explique nous ce dont tu as besoin, on t'expliquera comment t'en passer

Tu te presentes aux élections ? :D

Lol si j'avais envie du compteur graphique je laisserai simplement l'affichage du compteur sur la TV :grin:

J'abandonne l'idée des micro servo et je vais partir sur l'idée du contrôle direct en PWM, si sa fonctionne sa m'évitera des heures de bricolage.

Je suis débutant en électronique donc pouvez-vous m'aider pour ce qui est du passage 5v PWM vers du 12v PWM ?

J'ai fait un petit plan avec un ULN2803 mais je ne suis vraiment pas sur de moi.

Si c'est n'importe quoi merci de ne pas me descendre je suis juste un noob c'est tout :stuck_out_tongue_closed_eyes:

toxibud:
Lol si j’avais envie du compteur graphique je laisserai simplement l’affichage du compteur sur la TV

C’était une blague en passant

toxibud:
J’abandonne l’idée des micro servo et je vais partir sur l’idée du contrôle direct en PWM, si sa fonctionne sa m’évitera des heures de bricolage.

Si c’est n’importe quoi merci de ne pas me descendre je suis juste un noob c’est tout :stuck_out_tongue_closed_eyes:

Je ne suis d’ailleurs pas certain que le rendu du servo aurait été satisfaisant.
Le montage proposé n’est pas ridicule et devrait fonctionner.

comme repondu au dessus si tu a un uln2803 vas y, mais il sera sous utilisé sinon + simple un bs170 cablé comme ça

Salut et merci pour vos réponses !!

Lol si j'avais envie du compteur graphique je laisserai simplement l'affichage du compteur sur la TV

C'était une blague en passant

J'avais compris y a pas de prob ;)

Je compte utiliser le compte tour, le compteur de vitesse, la jauge d'essence, la température moteur et même quelques voyant lumineux du compteur comme par exemple les clignotants ou les phares, donc je crois que le ULN ne sera pas sous utilisé.

Je dois commander du matos donc si il y a quelque chose de mieux adapté je suis preneur.

mais je pense que le VCEsat des ULN n'étant pas top il aurait mieux valu employer des MosFET

De ce que j'ai compris le VCEsat c'est la chute de tension ? dans mon cas c'est le 12v qui chuterait a 11v par exemple ? Si je prend une alimentation réglable et que je pousse a 13v alors le problème est réglé ?

toxibud:

  • je compte utiliser le compte tour, le compteur de vitesse, la jauge d’essence, la température moteur et même quelques voyant lumineux du compteur comme par exemple les clignotants ou les phares, donc je crois que le ULN ne sera pas sous utilisé.
  • De ce que j’ai compris le VCEsat c’est la chute de tension ? dans mon cas c’est le 12v qui chuterait a 11v par exemple ?
    Si je prend une alimentation réglable et que je pousse a 13v alors le problème est réglé ?
  • OK
  • Oui en gros c’est ça , à ta place j’essaierai déjà de voir le rendu avec du 12V , il sera toujours ensuite possible d’aviser si ça ne convient pas
    le resultat sera peut etre à apprecier en fonction de chaque “indicateur”
    attention neanmoins à la conso de tes indicateurs : pour de la reelle ampoule phare automobile meme basique, un ULN ne passera pas

Je parlais juste du témoin de phare présent dans le compteur, c'été un exemple je ne compte pas installer de phare sur mon simu :stuck_out_tongue_closed_eyes:

Je vais commander ce dont j'ai besoin et tester ça, en attendent j'ai toujours le châssis de mon simulateur a terminer...

Si tout va bien je posterai un petite vidéo, merci pour les infos et bonne soirée !