[Programmation] Arduino et graisseur/huileur de chaine de moto
Répondre à la discussion
Affichage des résultats 1 à 22 sur 22

Arduino et graisseur/huileur de chaine de moto



  1. #1
    fortglout

    Arduino et graisseur/huileur de chaine de moto


    ------

    Bonjour,

    je viens vous solliciter car je suis bloqué sur mon programme d'arduino pour un montage de graisseur/huileur pour chaine de moto.

    Donc mon montage est composé de :

    - 1 arduino nano
    - 1 mosfet
    - 1 pompe électrique péristaltique
    - 1 laser
    - 1 photorésistance ou led réceptrice IR.

    Mon problème c'est que je n'arrive pas à faire le programme pour une barrière lumineuse avec le laser et la photorésistance ou led IR réceptrice, je souhaite que l'arduino compte les coupures du faisceau et par exemple à la 50ième coupure qu'il active la pompe pompe injecter une goute d'huile pour graisser la chaine.

    Merci pour votre aide.

    -----

  2. #2
    CapFlam

    Re : Arduino et graisseur/huileur de chaine de moto

    Bonjour,

    Perso, je me pose la question ainsi:
    es-tu vraiment certain qu'il soit judicieux d'huiler constamment ta chaîne avec une huile probablement fluide,
    alors qu'il est peut être préférable de la graisser plutôt que de l'huiler,
    alors qu'il est peut être préférable d'utiliser une graisse seiche (type teflon ou autre) qui a l'aventage de ne pas coller à la terre/boue et donc d'éviter l'abrassion de la chaîne par cette dernière.

  3. #3
    webscience

    Re : Arduino et graisseur/huileur de chaine de moto

    Bonjour,

    Pour compter les impulsions, il doit existé comme pour les divers microcontrôleurs, 1 ou plusieurs broches dédier à cela, il faut l'activer et le configurer.

    Je ne fais pas de l'arduino, je travaille seulement avec des microcontrôleur Pic en ASM.

    Le principe reste le même

    1) En mets à zéro un timer, de préférence un timer en 16 bits

    2) Au moment que tu as choisi tu déclenche le timer, celui-ci va compter le nombre d'impulsion sur l'entrée de la broche prévu à cela(configuration à faire)

    3) Tu définis un nombre de tours, et au moment voulu tu actives le graissage, ainsi de suite ......

    A+

  4. #4
    nornand

    Re : Arduino et graisseur/huileur de chaine de moto

    bsr le comptage peut se faire au niveau du pignon de sortie de boite.

  5. A voir en vidéo sur Futura
  6. #5
    gienas
    Modérateur

    Re : Arduino et graisseur/huileur de chaine de moto

    Bonjour fortglout et tout le groupe

    Citation Envoyé par fortglout Voir le message
    ... Mon problème c'est que je n'arrive pas à faire le programme pour une barrière lumineuse avec le laser et la photorésistance ou led IR réceptrice ...
    À te lire, j’ai le sentiment que ton problème n’est pas le programme mais plutôt la capture de l’information.

    Le microcontrôleur, quel qu’il soit, attend des impulsions.

    Ces impulsions existent-elles déjà?

    Ensuite, pour bâtir le programme, il faut avoir la disposition du hard choisie, or nous n’en savons rien.

  7. #6
    jiherve

    Re : Arduino et graisseur/huileur de chaine de moto

    bonjour,
    déjà pour faire du comptage éliminer les photo résistances car trop lentes, il faut une photo diode ou un photo transistor et travailler dans l'infrarouge à défaut de moduler le faisceau lumineux pour s'affranchir de la lumière ambiante.
    Et comme le souligne Gienas une fois que l'on dispose d'un signal propre le reste est presque trivial.
    JR
    l'électronique c'est pas du vaudou!

  8. #7
    polo974

    Re : Arduino et graisseur/huileur de chaine de moto

    sinon, il y a les capteurs à effet hall. (dans tous ventilo de pc avec un fil jaune par exemple)
    Jusqu'ici tout va bien...

  9. #8
    fortglout85

    Re : Arduino et graisseur/huileur de chaine de moto

    Me re-voici après un gros problème de connexion de compte, j'ai réussi à faire 2 codes, 1 avec un capteur ils et un en manuelle pour gérer le temps d'injection, mais je n'arrive pas à regrouper les 2, merci pour votre aide.
    Pour le capteur ils :
    Code:
    int valeur = 0; // Variable potentiomètre
    int capteurpin = 12;
    int sensorValue;
    int lastsensorValue = LOW;
    int compteur = 0 ;
    unsigned long temps = 0;
    unsigned long duree = 500;
    
    void setup() {
      pinMode(13, OUTPUT);
      digitalWrite(13, LOW);
      Serial.begin(9600);
      temps = millis();
    }
    
    void loop() {
      // Lecture du potentiomètre pour régler la vitesse
      valeur = analogRead(A0);
    
    
      sensorValue = digitalRead(capteurpin);
      if (( sensorValue == HIGH) && (lastsensorValue == LOW)) compteur++;
      lastsensorValue = sensorValue;
      delay(1);
    
      if (millis() - temps > duree) {
        temps = millis();
        Serial.println(compteur);
        compteur = 0;
      }
    }
    Pour l'injection manuelle d'huile :
    Code:
    const int bouton1 = 7; // bleu
    const int bouton2 = 3; // gris
    const int bouton3 = 8; // bleu
    
    int red_light_pin = 6; // marron
    int green_light_pin = 4; // orange
    int blue_light_pin = 5; // vert
    const int led3 =  2; // rouge
    const int relai =  9;// jaune
    
    // Déclaration des variables :
    int etatBouton1 = 0;
    int etatBouton2 = 0;
    int etatBouton3 = 0;
    
    // le code dans cette fonction est exécuté une fois au début
    void setup() {
      // indique que la broche led est une sortie :
      pinMode(red_light_pin, OUTPUT);
      pinMode(green_light_pin, OUTPUT);
      pinMode(blue_light_pin, OUTPUT);
      pinMode(led3, OUTPUT);
      pinMode(relai, OUTPUT);
    
      // indique que la broche bouton est une entrée :
      pinMode(bouton1, INPUT);           // configure la broche en entrée
      digitalWrite(bouton1, HIGH);
      pinMode(bouton2, INPUT);           // configure la broche en entrée
      digitalWrite(bouton2, HIGH);
      pinMode(bouton3, INPUT);           // configure la broche en entrée
      digitalWrite(bouton3, HIGH);
    }
    
    // le code dans cette fonction est exécuté en boucle
    void loop() {
      // lit l'état du bouton et stocke le résultat dans etatBouton
      etatBouton1 = digitalRead(bouton1);
      etatBouton2 = digitalRead(bouton2);
      etatBouton3 = digitalRead(bouton3);
    
      // Si etatBouton est à 5V (HIGH) c'est que le bouton est appuyé
    
      if (etatBouton3 == LOW) {
        // on allume la LED
        RGB_color(0, 0, 0);
        digitalWrite(relai, HIGH);
        digitalWrite(led3, HIGH);
      }
      else if (etatBouton2 == LOW) {
        // on allume la LED
        RGB_color(0, 0, 0);
        digitalWrite(led3, LOW);
        digitalWrite(relai, LOW);
      }
      else if (etatBouton1 == LOW) {
        // on allume la LED
        RGB_color(175, 125, 50); // red
        digitalWrite(led3, LOW);
        digitalWrite(relai, LOW);
        delay (45000);
        RGB_color(175, 125, 50); // red
        digitalWrite(led3, HIGH);
        digitalWrite(relai, HIGH);
        delay (200);
      }
      else {
        // on allume la LED
        RGB_color(0, 255, 0); // verte
        digitalWrite(led3, LOW);
        digitalWrite(relai, LOW);
        delay (60000);
        RGB_color(0, 255, 0); // verte
        digitalWrite(led3, HIGH);
        digitalWrite(relai, HIGH);
        delay (200);
      }
      delay (10);
    }
    void RGB_color(int red_light_value, int green_light_value, int blue_light_value)
    {
      analogWrite(red_light_pin, red_light_value);
      analogWrite(green_light_pin, green_light_value);
      analogWrite(blue_light_pin, blue_light_value);
    }
    Dernière modification par gienas ; 13/10/2019 à 19h59. Motif: Remplacé les balises QUOTE en code

  10. #9
    fortglout85

    Re : Arduino et graisseur/huileur de chaine de moto

    Sinon pour faire plus simple, je récupère l'info vitesse avec le ILS et l'aimant sur la couronne et à partir de 10/15 km/h le programme d'injection d'huile se lance automatiquement, je varierais entre 2 durées définis par mon interrupteur à 3 positions (P1 : off, P2 : durée 1 et P3 : durée 2).
    Merci pour votre aide.

  11. #10
    fortglout85

    Re : Arduino et graisseur/huileur de chaine de moto

    Voici mon nouveau code plus qu'à essayer :

    Code:
    #include <FreqCount.h>
    
    const int bouton1 = 7; // bleu
    const int bouton2 = 3; // gris
    const int bouton3 = 8; // bleu
    
    int led1 = 6; // marron
    int led2 = 4; // orange
    int led3 = 5; // vert
    int led4 =  2; // rouge
    int relai =  9;// jaune
    
    int etatBouton1 = 0;
    int etatBouton2 = 0;
    int etatBouton3 = 0;
    
    void setup() {
      FreqCount.begin(1000);
    
      pinMode(led1, OUTPUT);
      pinMode(led2, OUTPUT);
      pinMode(led3, OUTPUT);
      pinMode(led4, OUTPUT);
      pinMode(relai, OUTPUT);
    
      pinMode(bouton1, INPUT);
      digitalWrite(bouton1, HIGH);
      pinMode(bouton2, INPUT);
      digitalWrite(bouton2, HIGH);
      pinMode(bouton3, INPUT);
      digitalWrite(bouton3, HIGH);
    }
    
    void loop() {
    
      etatBouton1 = digitalRead(bouton1);
      etatBouton2 = digitalRead(bouton2);
      etatBouton3 = digitalRead(bouton3);
    
      if (FreqCount.available()) {
        unsigned long count = FreqCount.read();
        if (count > 100)
        {
          if (etatBouton3 == LOW)
          {
            digitalWrite(led1, HIGH);
            digitalWrite(led2, LOW);
            digitalWrite(led3, LOW);
            digitalWrite(led4, HIGH);
            digitalWrite(relai, HIGH);
          }
          else if (etatBouton2 == LOW) {
            digitalWrite(led1, LOW);
            digitalWrite(led2, LOW);
            digitalWrite(led3, LOW);
            digitalWrite(led4, LOW);
            digitalWrite(relai, LOW);
          }
          else if (etatBouton1 == LOW) {
            digitalWrite(led1, HIGH);
            digitalWrite(led2, LOW);
            digitalWrite(led3, LOW);
            digitalWrite(led4, LOW);
            digitalWrite(relai, LOW);
            delay (45000);
    
            digitalWrite(led1, HIGH);
            digitalWrite(led2, LOW);
            digitalWrite(led3, LOW);
            digitalWrite(led4, HIGH);
            digitalWrite(relai, HIGH);
            delay (200);
          }
          else {
            digitalWrite(led1, LOW);
            digitalWrite(led2, HIGH);
            digitalWrite(led3, LOW);
            digitalWrite(led4, LOW);
            digitalWrite(relai, LOW);
            delay (60000);
    
            digitalWrite(led1, LOW);
            digitalWrite(led2, HIGH);
            digitalWrite(led3, LOW);
            digitalWrite(led4, HIGH);
            digitalWrite(relai, HIGH);
            delay (200);
          }
          delay (10);
        }
      }
    }
    Merci pour votre aide.

  12. #11
    goaoute

    Re : Arduino et graisseur/huileur de chaine de moto

    Même avis que "CapFlam", huiler une chaîne de moto est une idée pour le moins farfelue.Sans parler du fait qu'à haute vitesse l'huile sera éjectée et ira huiler le pneu, bonjour les dégâts...
    Bricole autre chose avec ton Arduino.
    Dernière modification par goaoute ; 17/10/2019 à 14h46.

  13. #12
    fortglout85

    Re : Arduino et graisseur/huileur de chaine de moto

    J'en suis bien conscient, il existe des modèle de huileur qui fonctionnent sans problème mais à plus de 300€, là ce n'est pas la question, je demande juste de l'aide pour le codage, merci.

  14. #13
    fortglout85

    Re : Arduino et graisseur/huileur de chaine de moto

    Voici mon nouveau code qui fonctionne très bien, par-contre j'aimerais toujours qu'il soit proportionnel avec la vitesse, pouvez-vous m'aider, merci.
    Code:
    #include <FreqCount.h>
    
    const int led = 2; // rouge
    const int led1 = 6;// marron
    const int relai =  9;// jaune
    const int BP = 3; // gris
    
    const int APPUI = 0;
    const int PAS_APPUI = 1;
    
    int ETAT_BP;
    
    void setup() {
    
      FreqCount.begin(1000);
    
      pinMode(led, OUTPUT);
      pinMode(led1, OUTPUT);
      pinMode(relai, OUTPUT);
      pinMode(BP, INPUT);
      
      digitalWrite(BP, HIGH) ;
    }
    
    void loop() {
      ETAT_BP = digitalRead(BP);
    
      if (ETAT_BP == APPUI) {
        digitalWrite(led, LOW);
        digitalWrite(led1, HIGH);
        digitalWrite(relai, HIGH);
      }
      else {
        if (FreqCount.available()) {
          unsigned long count = FreqCount.read();
          digitalWrite(led, LOW);
          digitalWrite(led1, LOW);
          digitalWrite(relai, LOW);
          if (count > 5)
          {
            digitalWrite(led, HIGH);
            digitalWrite(led1, HIGH);
            digitalWrite(relai, HIGH);
            delay (225);
            digitalWrite(led, HIGH);
            digitalWrite(led1, LOW);
            digitalWrite(relai, LOW);
            delay (45000);
          }
        }
      }
    }
    Actuellement j'ai comme fonction, purge et mise en marche en roulage pendant 0.225s et coupure pendant 45s.

  15. #14
    fortglout85

    Re : Arduino et graisseur/huileur de chaine de moto

    voici mon montage électrique, j'ai coupé l'alimentation sur la masse pour une question de facilité de branchement :
    Nom : iey0.jpg
Affichages : 248
Taille : 32,1 Ko
    Dernière modification par Antoane ; 19/11/2019 à 21h43. Motif: Rapatriement de la PJ

  16. #15
    GTRJux

    Re : Arduino et graisseur/huileur de chaine de moto

    @CapFlam et goaoute : j'huile mes chaines moto depuis plus de 5 ans maintenant et 80 000 km avec 3 motos différentes. 1 roadster hornet 600, 1 sportive R1 1000cc, 1 trail Transalp 600.
    La différence entre un graissage et un huilage est l'entretien de la chaine, je trouve que l'huile s'enlève mieux que la graisse. Pour le nettoyage c'est plus facile. Il y a moins d'amas de graisse et de poussière dans le carter de pignon de sortie de boite avec de l'huile.
    Par contre, il faut huiler plus souvent car comme le dit goaoute, l'huile s'en va, et ce pas forcément à haute vitesse. Mais il faut se rassurer, la quantité d'huile appliquée n'est pas suffisante pour se déposer sur le pneu et créer une glisse.

    Bon courage à Fortglout85 pour son "scottoiler" maison.
    Dernière modification par GTRJux ; 19/11/2019 à 23h20.

  17. #16
    fortglout85

    Re : Arduino et graisseur/huileur de chaine de moto

    Merci pour ce soutiens GTRjux, actuellement je suis rendu à environ 2000 kms effectué depuis ce montage, j'en ai pas sur le pneu juste un peu sur la jante, mon temps d'injection est de 1 gouttes toutes les minutes, je vais peut-être augmenter un peu mais ça fonctionne déjà bien.

  18. #17
    goaoute

    Re : Arduino et graisseur/huileur de chaine de moto

    Et l'huile qui disparaît, elle va où ?
    Si tout le monde roulait en moto avec ce système, les routes seraient de belles patinoires.

  19. #18
    zebular

    Re : Arduino et graisseur/huileur de chaine de moto

    Bonne remarque,là ou les constructeurs songent à récupérer les résidus de plaquettes de freins avec des aspirateurs intégrés(rédemption après de longues années a répandre de l'amiante partout?)

  20. #19
    fortglout85

    Re : Arduino et graisseur/huileur de chaine de moto

    Les plaquettes n'ont plus d'amiante mais en ce qui concerne mon huile, c'est de l'huile bio-dégradable de marque repère.
    En ce qui concerne les voitures et beaucoup de française se sont des belles passoire avec le moteur qui pisse l'huile de tout les côté, ça fait plus de 20 que je fais de la mécanique vl et bah c'est loin d'être étanche.

  21. #20
    zebular

    Re : Arduino et graisseur/huileur de chaine de moto

    Citation Envoyé par fortglout85 Voir le message
    Les plaquettes n'ont plus d'amiante mais en ce qui concerne mon huile, c'est de l'huile bio-dégradable de marque repère.
    En ce qui concerne les voitures et beaucoup de française se sont des belles passoire avec le moteur qui pisse l'huile de tout les côté, ça fait plus de 20 que je fais de la mécanique vl et bah c'est loin d'être étanche.
    Logiquement un bloc qui perd de l'huile est signalé au CT,mais pas nécessaire à sa validation.C'est dommage mais ainsi va le monde. je vais ainsi.ma fortune est limité.

  22. #21
    goaoute

    Re : Arduino et graisseur/huileur de chaine de moto

    Citation Envoyé par zebular Voir le message
    Logiquement un bloc qui perd de l'huile est signalé au CT,mais pas nécessaire à sa validation.C'est dommage mais ainsi va le monde. je vais ainsi.ma fortune est limité.
    Et les milliards de tonnes de l'usure des pneus, je présume qu'elle montent dans l'atmosphère par le principe de la diffusion des particules parfaites.

  23. #22
    gienas
    Modérateur

    Re : Arduino et graisseur/huileur de chaine de moto

    Bonsoir à tous

    Merci de rester dans le sujet, qui doit se concentrer exclusivement sur l'électronique

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/04/2017, 17h20
  2. Réponses: 4
    Dernier message: 18/02/2016, 12h13
  3. Chaine de naissance et mort : chaine de Markov
    Par invite67614aac dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 22/09/2009, 21h40
Découvrez nos comparatifs produits sur l'informatique et les technologies.