Auteur Sujet: Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD  (Lu 27480 fois)

Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Je créé ce sujet dans l'esprit d'un Workblog pour la fabrication de mon rhéobus PWM.
J'y laisserai des infos utiles, des photos pour donner des pistes à ceux qui souhaiteraient s'y essayer.

Au départ j'ai modifié mon rhéobus pour le transformer en rhéobus PWM : http://www.octeam.fr/forum/index.php?topic=4739.0

Puis très vite je me suis senti limité dans ce que je voulais faire et donc j'ai décidé de refaire un rhéobus complétement de zéro.

Fonctionnalités prévues :

- Gestion en PWM de 4 séries de ventilateurs avec lecture de la vitesse réelle
- Gestion en PWM 25kHz de mes deux pompes avec lecture de vitesse réelle
- Prise de 6 températures différentes ( 4 T air et 2 T liquide )
- Mise en route d'une série de ventilateurs supplémentaires ( mise en push/pull) sur mon rad de 480 en cas de chauffe
- Affichage des températures/vitesse/mode sur un écran LCD
- Mode automatique ou contrôle par PC.

Matériel prévu pour cela :

- Arduino Uno 1: pour gérer l'affichage, les ventilateurs en PWM et prises de 4 températures, et la communication avec le PC
- Arduino Uno  ( breadboard ) : pour gérer le PWM 25kHz des deux pompes et températures des 2 liquides.
- timer 555, et potentiometres digital mcp41XXX pour générer le signal PWM 25KhZ
- Plaque d'essai à bandes
- Diverses résistances et condensateurs

La première étape sera de réaliser la partie Arduino UNO 1, cœur du système.
La deuxième étape sera de mettre en route l'Arduino 2 ( c'est juste le microcontrôleur sans plaque ) de gestion des pompes avec les composants nécessaires.

PS : certains diront que mettre un deuxième atmega328P c'est du gâchis, qu'on pourrait faire la même chose avec un seul arduino et des composants mais j'ai tout ça sous la main, reste d'un autre projet.

Toutes les étapes de la construction seront à suivre vous même en fouillant ( pour l'instant  ;) )

« Modifié: mardi 24 juin 2014 à 18:28 par Flop »
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM et bien plus !!!
« Réponse #1 le: mercredi 04 juin 2014 à 16:39 »
ETAPE 1 :

L'arduino UNO est basé sur un micro controlleur atmega328P et est composé de plusieurs type d'entrées/sorties avec différentes fonctionnalités.
Allez ici pour en apprendre plus : http://arduino.cc/en/Main/arduinoBoardUno

Franchement, l'arduino est à la portée de tout le monde, d'ailleurs c'est dans cet esprit qu'il a été conçu !!

Revenons à nos moutons :

Évaluation du nombres d'entrées/sorties nécessaire pour l'Arduino UNO 1 et choix des pins ( certaines pin ont des fonctionnalités différentes, on peut pas choisir n'importe quoi ! )

Lecture Vitesse de 4 séries de ventilateurs                    :  4 entrées                  -> Pin 2-4-7-8
Sortie de signaux PWM pour les 4 séries de ventilateurs :  4 sorties PWM           -> Pin 3-5-6-9
Lire la température avec 4 résistance CTN                     : 4 entrées analogiques -> Pin A0-A1-A2-A3
Gestion de l'écran LCD                                                : 3 sorties                   -> pin 10-11-13
Gestion de 4 boutons                                                 : 4 entrés                    -> pin A4-A5-0-1
Mise en route de la 5ème série de ventilateurs               : 1 sorties                   -> pin 12

J'ai pris presque toutes les pins dispo ! C'est pour ça que pour les pompe je prendrais un autre ATMEGA328P nu.
 
ETAPE 2 :

J'ai reçu mon écran LCD de 128X64 pixels ref : LCD12864DFR



Il a donc fallu que j'apprenne à m'en servir.
en fait c'est assez simple, plusieurs librairies arduino existent pour le gérer.
On peut, comme quasiment tous les ecran LCD de ce type, l'utiliser en mode série ou parralèle.
La différence est qu'en série on utilise très peu de fils mais c'est plus lent, j'ai choisi ce mode pour économiser en entrées/sorties et donc n'utiliser que 3 pin de l'arduino.

J'ai rapidement créé un SHIELD pour mon arduino si je me débrouille bien ce sera la plaque définitive !
Un shield c'est une plaque qui se branche sur l'arduino : ( vous pouvez regarder les pièces jointes pour voir la plaque )



Une fois tout branché, je modifie un programme de test existant : ( c'est pas net parce que j'ai laissé l'autocollant de protection sur l’écran ! )



Edit de 22H00 :

Petite Modif du soir, j'ai mis la résistance du rétro-eclairage du LCD directement sur le LCD, ça fait moins de fils entre l'écran et la plaque.

 ( La résistance sert à régler le contraste de l'écran et est à mettre en place sur l'anode du rétro éclairage, 180 ohm pour celui-ci ).

Du coup j'ai pu mettre un connecteur coudé de 5 broches pour le brancher, c'est plus propre !
J'ai aussi mis en place le connecteur molex qui alimente le LCD en 5V et le l'arduino en 12V.
Le 12V servira aussi aux ventilateurs.




05/06/2014

Je viens d'essayer de gérer complètement un ventilateur 4 fils.

Objectif :

- pouvoir imposer une vitesse au ventilateur
- Lire la vitesse réelle ( RPM )

Les ventilateurs 4 fils sont alimentés en permanence en 12V sur 2 fils ( en général noir=masse, jaune=+12V ), le troisième fil servant à lire la vitesse ( Le vert ), le quatrième à imposer la vitesse ( le bleu ).

a) imposer une vitesse :

La signal de vitesse est un signal PWM , en gros c'est un signal en dent de scie :



La norme veut que le signal soit à une fréquence de 25khz, ça veut dire que le passage de l'état haut à l'état bas doit se faire 25000 fois par seconde pour être compris par le ventilateur ( "period" sur le graph )
On gère la vitesse souhaité du ventilateur en gérant le temps que reste le signal à l'état haut ( pulse width sur le graph ).


En réalité les ventilateurs sont peu sensible à la fréquence, ce qui est sauveur dans mon cas, puisque l'arduino ne sait pas générer un signal de 25khz en PWM.
Par contre il sait parfaitement en générer de 420Hz sur toutes les sorties indiqués par le signe "~".

Pour creer le signal PWM sur l'arduino on utilise cette commande :

analogWrite(PWMPin1,valeur);

PWMPin1 = Numéro de la pin de l'arduino
Valeur = pulse width allant de 0 à 255.

Ça fonctionne tout seul sans problème.

b) Lire la vitesse du ventilateur

Le ventilateur, en tournant fait passer le signal sur le fil vert à l'état bas ( 0V ), et ce 4 fois par tour complet.
Il ne sait que faire passer à zéro, donc il faut lui mettre du +5V dessus à travers une résistance ( ça s'appelle une résistance pull-up, qui pousse vers le haut ! ) et lire si ça reste à 5V ou si ça baisse à zéro et le temps que ça mets.

voici le schéma :



Il existe une commande toute faite sur l'arduino ( je vous le dit c'est génial comme bête à 20€ ! )

duration=pulseIn(sensorPin1,LOW);

SensorPin1= pin de l'arduino où on a connecté le fil vert.
duration sera alors le temps entre deux passage à l'état bas.

c) On regroupe tout :

voici le sketch :

int sensorPin1 = 2;   
int PWMPin1 = 3;

unsigned long duration;

void setup() {
  pinMode(sensorPin1, INPUT);
  pinMode(PWMPin1, OUTPUT);

Serial.begin(9600); 
}

void loop() {
  analogWrite(PWMPin1,255); // valeur allant de 0 à 255 pour faire varier la vitesse souhaité
  duration=pulseIn(sensorPin1,LOW); // lecture du temps de passage d'un état à l'autre du capteur de vitesse
  Serial.println(60000000/duration/4); // on envoit le RPM sur  la console série
}


LA SUITE ICI : http://www.octeam.fr/forum/index.php?topic=4785.msg90871#msg90871







« Modifié: lundi 09 juin 2014 à 21:25 par Flop »
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM et bien plus !!!
« Réponse #2 le: mercredi 04 juin 2014 à 16:40 »
Reserve 2
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM et bien plus !!!
« Réponse #3 le: mercredi 04 juin 2014 à 16:41 »
Reserve 3
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne TriSk3L

  • Administrateur
  • OCT Master
  • *****
  • Messages: 10833
  • Bencheur 3D
    • CPU: i7 5960x @ 4.5ghz H24
    • CG: Asus GTX 980 Ti Strix
Re : Fabrication d'un Rhéobus PWM et bien plus !!!
« Réponse #4 le: mercredi 04 juin 2014 à 16:44 »
Tu as une estimation du coût de tout ça?
i7 5960x @ 4.5ghz H24 :aikido:
Asus X99-Deluxe
G.skill Ripjaws 4 - 2666mhz Cas 15

Asus GTX 980 Ti Strix


http://www.octeam.fr/forum/index.php?topic=4753.msg90091#msg90091

Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Re : Fabrication d'un Rhéobus PWM et bien plus !!!
« Réponse #5 le: mercredi 04 juin 2014 à 17:17 »
Tu as une estimation du coût de tout ça?

Pour moi 20€, le prix de l'écran, tout le reste j'ai déjà !

Si on part de zéro :
Arduino : 20€
ATmega supplémentaire : 5€
LCD : 20€
divers composants électronique, plaques, fils : 20€

Ça doit faire environ 65€ mais avec ça on peut se faire un truc complètement personnalisé et un Rhéobus PWM ça coute bien plus chère que ça !
Ça coute surtout du temps, mais quand on aime ça, ça fait double emploi, je fais ce que j'aime et ça va servir sur mon PC.

Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM et bien plus !!!
« Réponse #6 le: mercredi 04 juin 2014 à 22:00 »
Petite Modif du soir, j'ai mis la résistance du rétro-eclairage du LCD directement sur le LCD, ça fait moins de fils entre l'écran et la plaque.

 ( La résistance sert à régler le contraste de l'écran et est à mettre en place sur l'anode du rétro éclairage, 180 ohm pour celui-ci ).

Du coup j'ai pu mettre un connecteur coudé de 5 broches pour le brancher, c'est plus propre !
J'ai aussi mis en place le connecteur molex qui alimente le LCD en 5V et le l'arduino en 12V.
Le 12V servira aussi aux ventilateurs.
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM et bien plus !!!
« Réponse #7 le: jeudi 05 juin 2014 à 17:36 »
Je viens d'essayer de gérer complètement un ventilateur 4 fils.

Objectif :

- pouvoir imposer une vitesse au ventilateur
- Lire la vitesse réelle ( RPM )

Les ventilateurs 4 fils sont alimentés en permanence en 12V sur 2 fils ( en général noir=masse, jaune=+12V ), le troisième fil servant à lire la vitesse ( Le vert ), le quatrième à imposer la vitesse ( le bleu ).

a) imposer une vitesse :

La signal de vitesse est un signal PWM , en gros c'est un signal en dent de scie :



La norme veut que le signal soit à une fréquence de 25khz, ça veut dire que le passage de l'état haut à l'état bas doit se faire 25000 fois par seconde pour être compris par le ventilateur ( "period" sur le graph )
On gère la vitesse souhaité du ventilateur en gérant le temps que reste le signal à l'état haut ( pulse width sur le graph ).


En réalité les ventilateurs sont peu sensible à la fréquence, ce qui est sauveur dans mon cas, puisque l'arduino ne sait pas générer un signal de 25khz en PWM.
Par contre il sait parfaitement en générer de 420Hz sur toutes les sorties indiqués par le signe "~".

Pour creer le signal PWM sur l'arduino on utilise cette commande :

analogWrite(PWMPin1,valeur);

PWMPin1 = Numéro de la pin de l'arduino
Valeur = pulse width allant de 0 à 255.

Ça fonctionne tout seul sans problème.

b) Lire la vitesse du ventilateur

Le ventilateur, en tournant fait passer le signal sur le fil vert à l'état bas ( 0V ), et ce 4 fois par tour complet.
Il ne sait que faire passer à zéro, donc il faut lui mettre du +5V dessus à travers une résistance ( ça s'appelle une résistance pull-up, qui pousse vers le haut ! ) et lire si ça reste à 5V ou si ça baisse à zéro et le temps que ça mets.

voici le schéma :



Il existe une commande toute faite sur l'arduino ( je vous le dit c'est génial comme bête à 20€ ! )

duration=pulseIn(sensorPin1,LOW);

SensorPin1= pin de l'arduino où on a connecté le fil vert.
duration sera alors le temps entre deux passage à l'état bas.

c) On regroupe tout :

voici le sketch :

int sensorPin1 = 2;   
int PWMPin1 = 3;

unsigned long duration;

void setup() {
  pinMode(sensorPin1, INPUT);
  pinMode(PWMPin1, OUTPUT);

Serial.begin(9600); 
}

void loop() {
  analogWrite(PWMPin1,255); // valeur allant de 0 à 255 pour faire varier la vitesse souhaité
  duration=pulseIn(sensorPin1,LOW); // lecture du temps de passage d'un état à l'autre du capteur de vitesse
  Serial.println(60000000/duration/4); // on envoit le RPM sur  la console série
}
« Modifié: jeudi 05 juin 2014 à 17:44 par Flop »
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #8 le: vendredi 06 juin 2014 à 17:50 »
Je viens de coder ma barre de progression, si il y a des connaisseurs qui sont dispo et qui peuvent m'aider à faire mieux, je ne demande que ça !

void BarGraph(int x,int y, int hauteur, int largeur, int remplissage ) // remplissage= pourcentage
  {
  int x2;
  u8g.setColorIndex(1);
  u8g.drawBox(x,y,largeur,hauteur);  // dessine un rectangle noir
  u8g.setColorIndex(0);  // blanc
  switch (remplissage) // on dessine un rectangle blanc à l'interieur
    {
    case 100:  //100% donc pas de rectangle blanc
      break;
    case 0: // 0%
      u8g.drawBox(x+1,y+1,largeur-2,hauteur-2);
      break;
    default:
      x2=x+largeur*remplissage/100; // rectangle sur la portion restante
      u8g.drawBox(x2,y+1,largeur-x2+3,hauteur-2);
    }
 
  }

Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #9 le: vendredi 06 juin 2014 à 19:08 »
J'ai constaté que lorsqu'on impose une vitesse avec un signal PWM sur un ventilateur, le résultat est très différent selon les ventilateurs ( marque, modèle ).

Par exemple , entre des Noctua ou des Akasa, pour un même signal PWM, on obtient pas la même vitesse, le minimum et le maximum de vitesse sont différents et le signal PWM nécessaire aussi.

il m'est donc apparu nécessaire de pouvoir calibrer les ventilateurs.

Voici ce que j'ai codé pour l'arduino afin de réaliser cette calibration.
Le but : stocker le duty cycle PWM nécessaire pour obtenir 5 niveaux de vitesses sur le ventilateur.

void Calibrage_Ventilateur(int NrFan)
  {
  float maxi=0;
  float mini=0;
  int pas=0;

  // recherche du maximum et minimum de RPM pour ce ventilateur 

  analogWrite(FAN1[PWMPin],255);  // signal PWM au plus haut
  delay(10000); // attente 5 secondes pour stabilisation
  maxi=25000000.0/pulseIn(sensorPin1,LOW); // enregistre le RPM max
  analogWrite(FAN1[PWMPin],0); // signal PWM au plus bas
  delay(10000); // attente 5 secondes pour stabilisation
  mini=25000000.0/pulseIn(sensorPin1,LOW); //enregistre le RPM min


  //recherche des 5 niveaux de PWM necessaire pour les 5 niveaux de vitesse
 
  int vitesse=0;
  pas=(maxi-mini)/5;
  lecture=mini; 
  for (int i=1;i<5;i++) // on recherche 5 niveau de vitesse
    {
    while ( lecture <(mini+i*pas) )  // on augmente la vitesse tant qu'on atteint pas le RPM désiré
      {   
      analogWrite(FAN1[PWMPin],vitesse);
      delay(10000); // attente stab
      lecture=25000000.0/pulseIn(sensorPin1,LOW);
      vitesse=vitesse+10;
      }
    FAN1_PWM=vitesse;  // on stocke la valeur du PWM pour le RPM désiré
    }
  }


LA SUITE ICI : http://www.octeam.fr/forum/index.php?topic=4785.msg90896#msg90896
« Modifié: lundi 09 juin 2014 à 21:26 par Flop »
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Atomx

  • OCT Membre
  • *
  • Messages: 20
    • CPU: Intel: 3570k+3770k/AMD Fx3150
    • CG: Nvidia: Evga 780TI-Gyga7704gb/Saph CFX7970 VX3gb
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #10 le: samedi 07 juin 2014 à 00:40 »
énorme !!! et bien expliqué... pour le néophyte que je suis pour ne pas dire la quiche xD  :thumbsup:
Config1: Corsair Obsidian 900D-MSI Mpower z77-3770k-Dominator 1600 cl9-gtx780Ti(bientot sli)-SSD evo pro 840-Corsair 1200AX...en cour de Mod et finition.
Le tous est refroidis par 2x480x54mm plus 1x360x54mm, alimenté par 2 D5

Config2: Obsidian 250D-I5 3570K-XMS3 1600-HD 7970 ghz 3 ghz-Corsair 750HX..
En cour de montage...

3 Iiyama Prolite GB2488HSU-B1 144hz, en mode Portrait

Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #11 le: samedi 07 juin 2014 à 08:33 »
Merci.

Cette nuit j'ai eu une idée d'optimisation ( oui ça m'arrive de me réveiller la nuit en ayant une idée quand je suis sur un projet  ;) )
Je comptai utiliser un deuxième arduino nu pour gérer la partie pompe parce que je n'avais plus de sorties dispo.

En fait il est beaucoup plus logique d'utiliser le deuxième pour gérer la partie interaction ( écran + bouton ), et de gérer les pompes sur le premier arduino.

Il y a pleins d'avantages :

- le deuxième ne faisant quasiment rien, je peux repasser mon écran en parralèle -> plus rapide
- partie interaction géré par un seul et même micro-contrôleur
- partie gestion ventilateur/pompe géré par un seul et même micro-contrôleur grâce aux pins libérées du fait que je n'ai plus l'écran et le boutons dessus.
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne TriSk3L

  • Administrateur
  • OCT Master
  • *****
  • Messages: 10833
  • Bencheur 3D
    • CPU: i7 5960x @ 4.5ghz H24
    • CG: Asus GTX 980 Ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #12 le: samedi 07 juin 2014 à 09:56 »
Je vais bien prendre le temps de tout lire parce que ça a l'air complexe pour le dur de la feuille que je suis.  ;D

Je vais sûrement comprendre des choses mais a la fin, quand tu auras fini j'epinglerai. Enfin si ça fonctionne!  :P
i7 5960x @ 4.5ghz H24 :aikido:
Asus X99-Deluxe
G.skill Ripjaws 4 - 2666mhz Cas 15

Asus GTX 980 Ti Strix


http://www.octeam.fr/forum/index.php?topic=4753.msg90091#msg90091

Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #13 le: dimanche 08 juin 2014 à 21:05 »
Hier et aujourd'hui, j'ai bossé sur l'arduino "nu" qui gère l'écran.

Finalement gérer l'écran en parallèle c'est galère, ça devient super sensible aux parasites, et du coup ça marche mal.
Je suis donc revenu sur un branchement en SPI ( série ), ça ça marche et sans prises de têtes.

Du coup, il me reste plein de pins dispo. Je me suis dit que je devais en faire quelque chose.
En allant flaner dans mon tas d'electronique, j'ai retrouvé une façade d'un vieux autoradio avec une molette pour le volume qui fait bouton poussoir en même temps...
Ni une ni deux, c'est implémenté dessus.




J'en profite pour vous montrer ce que j'appelle l'arduino "nu", c'est en fait le micro-controlleur Atmega328 sans rien d'autre :


Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne Flop

  • Global Moderator
  • OCT Master
  • *****
  • Auteur du sujet
  • Messages: 1925
    • CPU: i7-4930K
    • CG: SLI - Asus Gtx980 ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #14 le: lundi 09 juin 2014 à 21:21 »
Alors alors, aujourd'hui j'avais pas trop le temps, je me suis donc attaqué au boutons.
Au départ je ne pensais pas en mettre mais comme j'ai plus de pin disponible que prévu au départ, j'en ai rajouté.
J'ai un peu cherché comment faire mais finalement, en fouillant dans mon garage, ( on en trouve des trucs dans mon garage, hein ! ), j'ai trouvé une vieille télécommande noire qui va me servir !

Je ne récupère que la partie façade et la plaque en plastique mou, la partie arrière électronique est impossible à gérer, on peut rien souder dessus !
Je garde ça, et je couperai à la dremel pour garder que ce qui est dans le cadre rouge :



Donc j'ai refait une plaque arrière en soudant des boutons récupéré sur une vieille façade d'autoradio ( encore trouvé au garage  ;D ).



Le tout branché ( les fils et connecteurs sont temporaires, je reçois cette semaine de quoi faire de beaux connecteurs )



Comment ça marche ? Comment on lit un bouton avec un arduino ?

C'est finalement assez simple, sur une patte du bouton on met du +5V qu'on branche à une entrée de l'arduino.
L'autre patte du bouton est branché à la masse (0V).
Si on touche à rien l'arduino voit 5V sur sa patte, si on appuie sur le bouton, l'entrée de l'arduino se retrouve en contact direct avec le 0V, l'arduino lit donc 0V.
Une résistance dite de pull-up est utilisé pour avoir du 5V sur le bouton, ceci pour éviter que quand on appuie sur le bouton, le +5V soit directement en contact avec le 0V et provoque donc un court-circuit.

Petit schéma ( le Vcc=+5V, le GND=0V) :



Mais L'arduino possède une résistance de pull up en interne, il suffit de l'activer, ce qui fait que l'on a besoin d'aucun composant !
Je vous le dit et redit, cette petite bête est exceptionnelle et facile d'accès !

petit skecth :

void setup()
{
pinMode(4,INPUT);  // on va lire l'état du bouton qui est branché sur la pin 4 de l'arduino
digitalWrite(4,HIGH); // activation de la résistance pull up interne
}
void loop()
{
if (digitalRead(4)==HIGH)  // si on lit 5V
       {Bouton pas appuyé} // c'est que le bouton n'est pas appuyé
       else
       {Bouton appuyé}; // sinon c'est qu'il est appuyé
}

« Modifié: mardi 10 juin 2014 à 00:51 par Flop »
Asus RIVBE - 4930K@4.375Ghz-1.376V H24 - 32Go G.Skill 2666
- CPU + PCH : rad de 360*60 + mcp35x
- SLI : rad de 480*60 + mcp35x
- CaseLabs STH10

Mes tests un peu barrés : http://www.octeam.fr/forum/index.php?topic=4679.msg87482#msg87482
Watercooling à -10°C avec de l'eau, du sel, c'est le test Nr 9 !!!

Rhéobus PWM Home Made : http://www.octeam.fr/forum/index.php?topic=4785.0



Hors ligne TriSk3L

  • Administrateur
  • OCT Master
  • *****
  • Messages: 10833
  • Bencheur 3D
    • CPU: i7 5960x @ 4.5ghz H24
    • CG: Asus GTX 980 Ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #15 le: mardi 10 juin 2014 à 08:06 »
Super boulot, intégration de pas mal de composants de la vie de tous les jours, la prochaine fois tu dépouilles ta machine à laver?  :P

En tout cas, bien que ce soit bien schématisé et expliquer, faut un minimum de connaissance... :-\
i7 5960x @ 4.5ghz H24 :aikido:
Asus X99-Deluxe
G.skill Ripjaws 4 - 2666mhz Cas 15

Asus GTX 980 Ti Strix


http://www.octeam.fr/forum/index.php?topic=4753.msg90091#msg90091

Hors ligne chrisnvdia

  • Global Moderator
  • OCT Master
  • *****
  • Messages: 1285
    • CPU: i5 2500K
    • CG: HD 6850
    • sos pc .org
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #16 le: mardi 10 juin 2014 à 12:04 »
Bin sa va ton garage c'est mieux que chez casto on trouve de tout  ;D

En tout cas bon boulot mais un peut dur pour un néophyte quoi que avec tes images et explications sa devrait le faire  ;)

@ TriSk3L

Ou bien le lave vaisselle  :P

Hors ligne TriSk3L

  • Administrateur
  • OCT Master
  • *****
  • Messages: 10833
  • Bencheur 3D
    • CPU: i7 5960x @ 4.5ghz H24
    • CG: Asus GTX 980 Ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #17 le: mardi 10 juin 2014 à 12:30 »
Oh ben lave-vaisselle, sèche-cheveux, couple ongle, de tout quoi, c'est le mcgyver d'OCteam!!!!  8)
i7 5960x @ 4.5ghz H24 :aikido:
Asus X99-Deluxe
G.skill Ripjaws 4 - 2666mhz Cas 15

Asus GTX 980 Ti Strix


http://www.octeam.fr/forum/index.php?topic=4753.msg90091#msg90091

Hors ligne chrisnvdia

  • Global Moderator
  • OCT Master
  • *****
  • Messages: 1285
    • CPU: i5 2500K
    • CG: HD 6850
    • sos pc .org
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #18 le: mardi 10 juin 2014 à 12:57 »
Je vois ça bientôt il va nous faire un truc du genre

Ou bien comme ceci http://www.overclock.net/t/1452575/build-log-lambo-car-pc
« Modifié: mardi 10 juin 2014 à 13:00 par chrisnvdia »

Hors ligne TriSk3L

  • Administrateur
  • OCT Master
  • *****
  • Messages: 10833
  • Bencheur 3D
    • CPU: i7 5960x @ 4.5ghz H24
    • CG: Asus GTX 980 Ti Strix
Re : Fabrication d'un Rhéobus PWM, ventilateurs, pompes, affichage LCD
« Réponse #19 le: mardi 10 juin 2014 à 13:05 »
Oh le truc! il en est capable en plus!
i7 5960x @ 4.5ghz H24 :aikido:
Asus X99-Deluxe
G.skill Ripjaws 4 - 2666mhz Cas 15

Asus GTX 980 Ti Strix


http://www.octeam.fr/forum/index.php?topic=4753.msg90091#msg90091