Chargement...


Le Forum référence de l'Aprilia RS 125



Sonde de t° miniature maison

Tout ce qui concerne les soucis moteur
Répondre
Hors ligne
Avatar du membre
JambonBeurreMo
nouveau membre
nouveau membre
Messages : 50
Enregistré le : 16 avr. 2016 00:14

Sonde de t° miniature maison

Message par JambonBeurreMo »

Salut les gars,

Bon je pose pas mal de questions, et je n'apporte pas grand chose! Alors voici ma petite contribution à l'effort de guerre.

Si comme moi, vous avez tout viré le tableau de bord d'origine, et que vous souhaitez conserver l'affichage de la t° moteur de la façon la plus minimaliste possible, voici ma solution.

L'idée, c'est d'avoir une LED RGB (qui peut faire plusieurs couleurs) de diamètre 5mm et qui change de couleurs en fonction de la t° moteur:

Moins de 40° => Bleu clignotant
40 à 50° => Bleu
50 à 60°=> Orange
60 à 70° => Vert
70 à 80° => Violet
80 à 90° => Rouge
plus de 90° => Rouge clignotant

Voila de quoi avoir un visu pas mal précis de ce qui se passe dans le moulin pour un minimum d’encombrement sur le tableau de bord.

Pour capter la t° on va utiliser la sonde d'origine. Il s'agit d'une thermistance qui change de résistance en fonction de la t°
Et pour gérer la LED RGB en fonction de la t° moteur, on va utiliser un micro contrôleur Arduino (MEGA pour les tests puis Nano ensuite pour la version définive)

voici le matos:
- Arduino nano (copie chinoise qui marche très bien): Lien vers la NANO
- la LED RGD à cathode commune (- commun) : Lien vers une LED RGB

-Bon du fil en 0,2mm², ça je vous laisse trouver :)

- Des résistances 270 Ohm pour la LED au nombre de 3 => pareil, sur ebay ou n'importe quel magasin d’électronique
- une resistance 450 Ohm pour le pont de tension qui convertira la Résistance de la sonde en une tension mesurable par l'arduino (on detaillera) (et non pas 10kOhm comme sur le shémas)



Le shémas de branchement est le suivant:
image manquante

Il s'agit ensuite de faire le programme. Et la donnée importante, c'est de connaitre la résistance de la sonde à chaque palier de t° qui nous intéresse.
Avec un thermomètre de labo une casserole sur le feu et un multimètre, j'ai effectué le relevé:
image manquante

Maintenant, il faut convertir cette resistance en tension, car l'arduino ne peut mesurer que des tensions.
On va donc faire passer mettre la sonde sous tension (5V dispo sur l'arduino) et monter un pont de tension avec une résistance de 450 Ohm (à la place de la 10kOhm sur le shémas)

Pour l'arduino, une tension de 5V mesurée correspond au code 1023, et une tension de 0V au code 0. lke reste étant proportionel, on calcule facilement le code qui correspond à chaque palier:
image manquante

Reste ensuite à préparer le code. je ne vais pas rentrer dans le détail, mais en gros, on fait un balayage des pallier avec des conditions (si, sinon) et lorqu'on arrive au palier qui correspond à la t° du moteur, on s’arrête et on envois une couleur à la LED RGB: (plus de détail à la demande)

CODE:
int pinR = 9; // PWM 9
int pinG = 10; // PWM 10
int pinB = 11; // PWM 11

const int Vpin = A0; // Analogique pin A0
int Vin;
float tension;

//

void setup() {
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(Vpin, INPUT);

Serial.begin(9600);
}

void loop() {

Vin = analogRead(Vpin);

// si t° est en dessous de 40°

if (Vin>741)
// LED clignotante Bleu
{
analogWrite(pinR, 0);
analogWrite(pinG, 0);
analogWrite(pinB, 255);
delay(200);
analogWrite(pinR, 0);
analogWrite(pinG, 0);
analogWrite(pinB, 0);
delay(200);
}

// sinon, si t° est comprise entre 40 et 50°
else if (Vin>655)

// LED bleu constant pendant 1 seconde puis relancer boucle
{
analogWrite(pinR, 0);
analogWrite(pinG, 0);
analogWrite(pinB, 255);
delay(100);
}

// sinon, si t° est comprise entre 50 et 60°
else if (Vin>567)

// LED Orange constant pendant 1 seconde puis relancer boucle
{
analogWrite(pinR, 255);
analogWrite(pinG, 15);
analogWrite(pinB, 0);
delay(100);
}

// sinon, si t° est comprise entre 60 et 70°
else if (Vin>475)

// LED Verte constant pendant 1 seconde puis relancer boucle
{
analogWrite(pinR, 0);
analogWrite(pinG, 150);
analogWrite(pinB, 0);
delay(100);
}

// sinon, si t° est comprise entre 70 et 80°
else if (Vin>401)

// LED Violet constant pendant 1 seconde puis relancer boucle
{
analogWrite(pinR, 255);
analogWrite(pinG, 0);
analogWrite(pinB, 255);
delay(100);
}

// sinon, si t° est comprise entre 80 et 90°
else if (Vin>326)

// LED Rouge constant pendant 1 seconde puis relancer boucle
{
analogWrite(pinR, 255);
analogWrite(pinG, 0);
analogWrite(pinB, 0);
delay(100);
}
// sinon, si t° est supperieure à 90°
else if (Vin>0)
// LED clignotante Rouge
{
analogWrite(pinR, 255);
analogWrite(pinG, 0);
analogWrite(pinB, 0);
delay(200);
analogWrite(pinR, 0);
analogWrite(pinG, 0);
analogWrite(pinB, 0);
delay(200);
}
}

FIN DU CODE.

Petite Vidéo de démo:


Hors ligne
Avatar du membre
b0b_ChoK
nouveau membre
nouveau membre
Messages : 54
Enregistré le : 27 nov. 2018 11:21

Re: Sonde de t° miniature maison

Message par b0b_ChoK »

Ouah c'est exactement ce que je cherche !!! :amen:

Est ce que tu as encore les schéma de cablage, car je les image ne s'affiche plus ???

Hors ligne
Avatar du membre
player
nouveau membre
nouveau membre
Messages : 91
Enregistré le : 07 mai 2019 17:48

Re: Sonde de t° miniature maison

Message par player »

Pourquoi ne pas prendre un truc dans ce genre directement ?

https://www.maxiscoot.com/thermometre-d ... ore=mxs_fr

je ne sais pas si la sonde fournie s'adapte mais on peu trouver d'autre pas de vis.

Hors ligne
Avatar du membre
b0b_ChoK
nouveau membre
nouveau membre
Messages : 54
Enregistré le : 27 nov. 2018 11:21

Re: Sonde de t° miniature maison

Message par b0b_ChoK »

Le plaisir de faire soit même ! J'ai déjà tout les composants.

Répondre