Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

commande accélarateur avec arduino



  1. #1
    jack79

    commande accélarateur avec arduino


    ------

    bonjour,

    novice en programmation, je souhaite commander la pompe a injection de mon moteur de bateau avec un joystick via une carte arduino uno et une motorshield.
    j'ai un programme qui , à ce jour, fait tourner un moteur pas à pas 4 fils, dans un sens et d'an l'autre, avec un joystick récuperer sur une radio commande modélisme.
    sauf que je voudrais que le moteur avance ou recule au mouvement du joystick, il doit falloir insérer une ligne de code donnant une plage de rotation et une valeur de déplacement.
    et c'est la que je bloque.

    voici mon code actuel:
    Code:
    #include <Stepper.h>
    //test motor 400
    const int stepsPerRevolution = 400; //400 pas /tr
    //initialize the stepper libriry on pins 8 through 11:
    Stepper myStepper(stepsPerRevolution, 8,11,12,13 );
    
    void setup() {
      //set the speed at 10 trm:
      myStepper.setSpeed(10);
      //initialize the serial port:
      Serial.begin(9600);
      pinMode(9,OUTPUT);
      pinMode(10,OUTPUT);
      digitalWrite(9,HIGH);
      digitalWrite(10,HIGH);
    }
    
    void loop() {
     // on lit la valeur du joystick
      int sensorReading = analogRead(A0);
      // on l'étalonne entre -50 et 50 (plus pratique qu'entre 0 et 1023)
      int motorSpeed = map(sensorReading, 0, 1023, -50, 50);
    
        
      // si le joystick n'est pas à la position zéro
      if (abs(motorSpeed) > 0){
    
             if (motorSpeed > 0){
            myStepper.step(10);  // un step en sens horaire
          } 
          else{
            myStepper.step(-10);  // un step en sans antihoraire
          }           
        }
    }
    j'ai modifié un code qui fonctionne avec un servo moteur, mais je préfererais piloter avec un moteur pas a pas
    merci d'avance pour les conseils

    -----
    Dernière modification par Antoane ; 16/07/2015 à 11h53. Motif: Ajout balises [code]

  2. Publicité
  3. #2
    Yvan_Delaserge

    Re : commande accélarateur avec arduino

    Avec ce programme, tu ne lui dis pas ce qu'il doit faire si le joystick est à la position zéro. Il faudrait une ligne
    if (motorSpeed == 0){

    myStepper.step(0);

    }

    Pour que le moteur pas-à-pas s'arrête quand le joystick est remis à zéro. Sans ça, il continuera à tourner.

    Mais je ne sais pas si ça fonctionnera, je n'ai encore jamais utilisé la stepper library.
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  4. #3
    jack79

    Re : commande accélarateur avec arduino

    bonjour,

    oui, en fait il faut une ligne de code qui donne l'amplitude total et une ligne qui donne la variation suivant la position du joystick, enfin je suppose

  5. #4
    Yvan_Delaserge

    Re : commande accélarateur avec arduino

    Peux-tu définir avec plus de précision ce que doit être le comportement du moteur pas-à-pas en fonction de la position du joystick?

    Notamment, est-ce que le joystick doit commander la position du moteur ou sa vitesse?
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    jack79

    Re : commande accélarateur avec arduino

    j'étais entrain de réfléchir au schéma dont j'ai besoin
    1- définir la course su joystick, exemple 50 à -50
    2-que le moteur tourne en suivant le déplacement du stick, dans 1 sens , si de 0 vers50, dans l'autre sens, si 0 vers-50
    et s'arrèter sur la position du joystick, ce qui permettrais de stabiliser le moteur à un certain régime
    suis je clair.

  9. #6
    jack79

    Re : commande accélarateur avec arduino

    je vois que dans le void setup, la ligne de code, dit au moteur de tourner à 10trm, c'est peut être la que ça colle pas, la commande ne doit pas être bonne, en fait mon stick joue un role d'interrupteur, avant /arrière,

  10. Publicité
  11. #7
    Seb.26

    Re : commande accélarateur avec arduino

    On parle là d'un vrai bateau ou d'un modèle réduit ?!
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  12. #8
    Yvan_Delaserge

    Re : commande accélarateur avec arduino

    Essaie comme ça:

    Code:
    #include <Stepper.h>
    //test motor 400
    const int stepsPerRevolution = 400; //400 pas /tr
    //initialize the stepper libriry on pins 8 through 11:
    Stepper myStepper(stepsPerRevolution, 8,11,12,13 );
    
    void setup() {
      //set the speed at 10 trm:
      myStepper.setSpeed(10);
      //initialize the serial port:
      Serial.begin(9600);
      pinMode(9,OUTPUT);
      pinMode(10,OUTPUT);
      digitalWrite(9,HIGH);
      digitalWrite(10,HIGH);
    }
    
    void loop() 
    {
     // on lit la valeur du joystick
      int sensorReading = analogRead(A0);
      // on l'étalonne entre -50 et 50 (plus pratique qu'entre 0 et 1023)
      int motorSpeed = map(sensorReading, 0, 1023, -50, 50);
    
      // si le joystick est a  la position zero
      if (motorSpeed == 0)
      {
      myStepper.step(0);
      }   
    
      // si le joystick n'est pas a  la position zero
      if (abs(motorSpeed) > 0)
      {
      myStepper.step(motorSpeed);  
      }
    
    
    }
    Un civet, un plat de côtes et puis, glissez-moi une petite paupiette avec.( Lino Ventura)

  13. #9
    jack79

    Re : commande accélarateur avec arduino

    un vrai , style houseboat que je construit, lg 12 m

    lien du blog : http://housaboat.canalblog.com/


    j'ai aussi une commande d'inverseur , mais avec un vérin électrique ça sera plus simple

  14. #10
    antek

    Re : commande accélarateur avec arduino

    Si j'ai compris, il s'agit d'une commande en vitesse.

    C'est dangereux ce que tu fais.
    Si une panne intervient (coupure par exemple) le moteur peut recevoir une commande "à fond la caisse" !

  15. #11
    jack79

    Re : commande accélarateur avec arduino

    bonjour,
    oui, c'est sur, mais si il n'y a pas de courant, ça ferme l'electrovanne de la pompe a injection, donc moteur coupé, d'ailleurs je pense que sur le voiture, il s'agit d'un système similaire,

  16. #12
    antek

    Re : commande accélarateur avec arduino

    Citation Envoyé par jack79 Voir le message
    bonjour,
    oui, c'est sur, mais si il n'y a pas de courant, ça ferme l'electrovanne de la pompe a injection, donc moteur coupé, d'ailleurs je pense que sur le voiture, il s'agit d'un système similaire,
    Le courant dans quoi ?

    Si la connexion entre le potar du joystick et le 0V se coupe, le signal envoyé est +Vcc.

  17. Publicité

Discussions similaires

  1. Arduino anti rebond avec arduino
    Par sari12 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/10/2014, 17h04
  2. commande d'un moteur avec ir via arduino.
    Par kaky951357 dans le forum Électronique
    Réponses: 3
    Dernier message: 17/01/2014, 20h57
  3. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24
  4. Commande d'un moteur avec un Arduino UNO + Une interface MD22
    Par nicom77 dans le forum Électronique
    Réponses: 9
    Dernier message: 30/04/2013, 07h19
  5. choix et commande moteur avec encodeur + arduino
    Par nicocco033 dans le forum Électronique
    Réponses: 0
    Dernier message: 25/11/2012, 16h23
Découvrez nos comparatifs produits sur l'informatique et les technologies.