programmer un moteur cc
Répondre à la discussion
Affichage des résultats 1 à 21 sur 21

programmer un moteur cc



  1. #1
    invite39e52118

    programmer un moteur cc


    ------

    Bonjour suis nouveau dans le forum est j'ai besoin d'aide pour mon travail qu'est le suivant : représenté proportionnellement la distance capteur/objet sur un balai d'imprimante. J'avoue je ne suis pas un crack en programmation et j'ai du mal. Mon matériel principal est le suivant: un capteur ultrason HC-SR04, une carte arduino UNO, un double pont en H, 3 leds et un moteur à courant continu ( celui du chariot d'imprimante) et une alimentation de 4.8V (soit 4 batterie de 1.2V).
    J'ai commencé un programme permettant de faire allumer les leds en fonction de la distance capteur/objet :
    50cm >distance> 30cm --> la led verte s'allume
    30cm >distance> 10cm --> la led verte et orange s'allument
    10cm >distance --> toutes les leds sont allumées


    Il me reste le plus dur mdr, contrôler le moteur: il doit pouvoir tourner dans un sens puis dans l'autre (et si possible à différente vitesse)
    Exemple: si je met ma main à 25cm du capteur le chariot doit se trouver au milieu (comme la distance max qu'on n'a choisi pour le capteur est de 50 pour l'instant)
    et si je rapproche ma main du capteur le chariot se rapproche du bord.
    il faut savoir que la distance maximale que le chariot peut parcourir et de 28cm et quelque.

    J'espère que vous pourrez m'aider merci d'avance

    PS je vous mets en pièces jointes les branchement effectuer et le programme

    -----

  2. #2
    invite39e52118

    Re : programmer un moteu cc

    voici aussi une vidéo pour vous montrer mon programme

  3. #3
    lep.mickael

    Re : programmer un moteu cc

    C'est très intéressant, j'attends la ou les réponses des habitués, je ne peux donc pas vous aider, sauf peut être dire que l'on ne voit pas le lien de votre vidéo, peut être qu'il est en cours de validité.

  4. #4
    mag1

    Re : programmer un moteur cc

    Citation Envoyé par robin60 Voir le message
    Bonjour suis nouveau dans le forum est j'ai besoin d'aide pour mon travail qu'est le suivant : représenté proportionnellement la distance capteur/objet sur un balai d'imprimante. J'avoue je ne suis pas un crack en programmation et j'ai du mal. Mon matériel principal est le suivant: un capteur ultrason HC-SR04, une carte arduino UNO, un double pont en H, 3 leds et un moteur à courant continu ( celui du chariot d'imprimante) et une alimentation de 4.8V (soit 4 batterie de 1.2V).
    J'ai commencé un programme permettant de faire allumer les leds en fonction de la distance capteur/objet :
    50cm >distance> 30cm --> la led verte s'allume
    30cm >distance> 10cm --> la led verte et orange s'allument
    10cm >distance --> toutes les leds sont allumées


    Il me reste le plus dur mdr, contrôler le moteur: il doit pouvoir tourner dans un sens puis dans l'autre (et si possible à différente vitesse)
    Exemple: si je met ma main à 25cm du capteur le chariot doit se trouver au milieu (comme la distance max qu'on n'a choisi pour le capteur est de 50 pour l'instant)
    et si je rapproche ma main du capteur le chariot se rapproche du bord.
    il faut savoir que la distance maximale que le chariot peut parcourir et de 28cm et quelque.

    J'espère que vous pourrez m'aider merci d'avance

    PS je vous mets en pièces jointes les branchement effectuer et le programme
    Bonjour,

    Un moteur qui tourne dans un sens puis dans l'autre à différentes vitesses, commandé par un µC, ......ça sent le moteur PàP.

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  5. A voir en vidéo sur Futura
  6. #5
    antek

    Re : programmer un moteur cc

    Sur la presque totalité des imprimantes ce sont des moteurs à cc avec capteur de rotation.
    Les pàp sont utilisés pour déplacer la rampe de capteurs sur les scaner.

  7. #6
    PA5CAL

    Re : programmer un moteur cc

    Bonjour

    Il faudrait au minimum un élément permettant d'évaluer la position du chariot, parce qu'alimenter un moteur en aveugle ne suffit pas à le faire.

    Quand on allume le système, rien ne permet de dire où se trouve le chariot, et donc dans quelle direction se déplacer ensuite pour atteindre une position fixée. En admettant que ce point soit réglé, et même si la seule connaissance de la commande directe du moteur permettait de calculer précisément les déplacements, après plusieurs allers-retours la position réelle risque de ne plus correspondre à la position estimée, à cause de l'accumulation des erreurs, aussi faibles soient-elles.

  8. #7
    antek

    Re : programmer un moteur cc

    Au fait, c'est quoi la question ?

  9. #8
    invite39e52118

    Re : programmer un moteur cc

    bonjour
    Le principe de mon travail et de fabriquer un stoppe garage avec un balai d'imprimante (matériel que le professeur nous a fourni et qui doit être utilisé )
    Ma question, enfin l'aide dont j'ai besoin et pour créer un programme permettant de diriger un moteur (celui qui permettra au chariot de l'imprimante de bouger) en fonction de la distance capteur/objet.
    Pour débuter on a créer un programme pour l'allumage des leds :
    Code:
    int trig = 7; 
    int echo = 13; 
    long lecture_echo; 
    long cm; 
    const int led_verte1 = 8;   
    const int led_verte2 = 12;  
    const int led_rouge = 2;  
     
    void setup()  
    {
      pinMode(trig, OUTPUT); 
     */ 
      pinMode(led_verte1, OUTPUT); 
      pinMode(led_verte2, OUTPUT); 
      pinMode(led_rouge, OUTPUT); 
      digitalWrite(trig, LOW); 
      pinMode(echo, INPUT); 
      Serial.begin(9600);  
    }
    
    void loop() 
    { 
      digitalWrite(trig, HIGH); 
      delayMicroseconds(10); 
      digitalWrite(trig, LOW);  
      lecture_echo = pulseIn(echo, HIGH);
     
     cm = lecture_echo / 58; 
      Serial.print("Distance en cm : "); 
      Serial.println(cm); 
      delay(10); 
    
    if (cm>50)
    {
       digitalWrite(led_rouge, LOW); 
       digitalWrite(led_verte2, LOW); 
       digitalWrite(led_verte1, LOW); 
    }
    
    if (cm < 50 && cm >= 20)
    {
       digitalWrite(led_rouge, LOW); 
       digitalWrite(led_verte2, LOW); 
       digitalWrite(led_verte1, HIGH); 
    }
    
    if (cm < 20 && cm >= 10)
    {
       digitalWrite(led_rouge, LOW); 
       digitalWrite(led_verte2, HIGH); 
       digitalWrite(led_verte1, HIGH);
    }  
    
    if (cm < 10)
    {
       digitalWrite(led_rouge, HIGH); 
       digitalWrite(led_verte2, HIGH); 
       digitalWrite(led_verte1, HIGH); 
       
    }
    }

    Mais je coince pour le programme du moteur et oui c'est un moteur CC
    J'ai pensé à mettre un capteur de fin de course sur l'un des cotés du balai pour que lorsque le chariot le touche ( l'objet est censé etre coller au capteur ultrason ) le moteur s'arrete de tourner...

    Au fait je n'arrive pas à mettre la vidéo dans mon message comment on fait pour poster un vidéo pour que vous voyez mon avancé.
    Dernière modification par Antoane ; 15/03/2015 à 17h59. Motif: Ajout balises [/code]

  10. #9
    invite39e52118

    Re : programmer un moteur cc

    Bonjour les gars, alors voilà la vidéo
    Fichiers attachés Fichiers attachés

  11. #10
    invite39e52118

    Re : programmer un moteur cc

    et je voudrais faire varier la positon du chariot d'imprimante en fonction de la distance capteur/objet.

  12. #11
    invite39e52118

    Re : programmer un moteur cc

    ah et j'oubliais de vous joindre les photos de mon chariot d'imprimante
    Images attachées Images attachées

  13. #12
    antek

    Re : programmer un moteur cc

    Au démarrage la position du chariot est inconnue, il faut donc l'amener en origine (0 de l'axe X).
    Un détecteur sera donc placé à cet endroit.

    Il faut aussi arrêter le moteur en fin de course.
    Idem

    Ces moteurs se commandent très bien en PWM , mais il ne faut pas descendre en-dessous d'une certaine valeur de rapport cyclique (faire des test)
    Dans un premier temps, pendant le fonctionnement "normal", utilisez seulement un asservissement proportionnel

    Qu'est-ce que c'est un "stoppe garage à balai d'imprimante" ?

  14. #13
    invite39e52118

    Re : programmer un moteur cc

    Un stop garage à chariot d'imprimante c'est lorsque le chariot d'imprimante avance en fonction de la distance entre l'objet (une voiture par exemple) et le mur sur lequel sera placé le stop garage (le chariot d'imprimante). Pour cela on a illustré la distance restante en allumant des leds (verte, orange, rouge) et en associant chaque led à une distance restante précise. par exemple :
    Code:
    if (cm>54.9)
    {
       digitalWrite(led_rouge, LOW); // écriture en sortie (broche 0) d'un état BAS
       digitalWrite(led_verte2, LOW); // écriture en sortie (broche 1) d'un état BAS
       digitalWrite(led_verte1, LOW); // écriture en sortie (broche 2) d'un état HAUT 
    }
    if (cm < 54.9 && cm >= 41.175)
    {
       digitalWrite(led_rouge, LOW); // écriture en sortie (broche 0) d'un état BAS
       digitalWrite(led_verte2, LOW); // écriture en sortie (broche 1) d'un état BAS
       digitalWrite(led_verte1, LOW); // écriture en sortie (broche 2) d'un état HAUT 
    }
    
    if (cm < 41.175 && cm >= 27.45)
    {
       digitalWrite(led_rouge, LOW); // écriture en sortie (broche 2) d'un état BAS
       digitalWrite(led_verte2, LOW); // écriture en sortie (broche 3) d'un état BAS
       digitalWrite(led_verte1, HIGH); // écriture en sortie (broche 2) d'un état HAUT  
    }
    
    if (cm < 27.45 && cm >= 13.725)
    {
       digitalWrite(led_rouge, LOW); // écriture en sortie (broche 2) d'un état BAS
       digitalWrite(led_verte2, HIGH); // écriture en sortie (broche 3) d'un état BAS
       digitalWrite(led_verte1, HIGH); // écriture en sortie (broche 2) d'un état HAUT  
    }  
    
    if (cm < 13.725)
    {
       digitalWrite(led_rouge, HIGH); // écriture en sortie (broche 2) d'un état BAS
       digitalWrite(led_verte2, HIGH); // écriture en sortie (broche 3) d'un état BAS
       digitalWrite(led_verte1, HIGH); // écriture en sortie (broche 2) d'un état HAUT
       
    }
    }
    ce programme que j'ai fait fonctionne mais le problème c'est que je n'arrive pas à faire fonctionner le moteur et de faire bouger le chariot d'imprimante (que j'ai entouré en rouge cf.image) et l'axe glissant.
    Images attachées Images attachées  

  15. #14
    antek

    Re : programmer un moteur cc

    Tu commande le pont H en PWM pour la vitesse et en logique pour le sens
    Donne la doc du pont H

  16. #15
    invite39e52118

    Re : programmer un moteur cc


  17. #16
    antek

    Re : programmer un moteur cc

    Elle marche très bien cette carte (j'en ai une)
    Toutes les infos sont dans ton lien avec d'autres liens en bas de page
    Qu'est-ce que tu ne comprends pas ?
    Montre aussi ton schéma de cablage.
    Dernière modification par antek ; 18/03/2015 à 19h08.

  18. #17
    invite39e52118

    Re : programmer un moteur cc

    tenez, voici mon câblage :
    Images attachées Images attachées  

  19. #18
    invite39e52118

    Re : programmer un moteur cc

    aidez moi svp

  20. #19
    antek

    Re : programmer un moteur cc

    C'est pas un schéma
    Regarde le lien que tu as donné toi-même, essaye de comprendre d'abord
    Et pose des questions sur ce que tu n'as pas compris

  21. #20
    invite39e52118

    Re : programmer un moteur cc

    Code:
    if (cm < 20 && cm >= 10)
    {
       digitalWrite(led_rouge, LOW); 
       digitalWrite(led_verte2, HIGH); 
       digitalWrite(led_verte1, HIGH);
    }  
    
    if (cm < 10)
    {
       digitalWrite(led_rouge, HIGH); 
       digitalWrite(led_verte2, HIGH); 
       digitalWrite(led_verte1, HIGH); 
       
    }
    }
    est ce cala
    Dernière modification par Antoane ; 01/05/2015 à 17h21. Motif: Remplacement balises quote par Code

  22. #21
    invite39e52118

    Re : programmer un moteur cc

    Code:
    void loop() 
    { 
      digitalWrite(trig, HIGH); 
      delayMicroseconds(10); 
      digitalWrite(trig, LOW);  
      lecture_echo = pulseIn(echo, HIGH);
     
    cm = lecture_echo / 58; 
      Serial.print("Distance en cm : "); 
      Serial.println(cm); 
      delay(10); 
    
      if (cm>54.9)
    {
       digitalWrite(E2 , LOW);
       
    }
    
    
      if (cm < 54.9 && cm >= 48)
    {
      
       digitalWrite(E2 , HIGH);
       delay (  233.75  );
       digitalWrite(E2,LOW);
       delay(999999999);
       
    }
    
      if (cm < 48 && cm >= 41.2)
    {
     
       digitalWrite(E2 , HIGH);
       delay (  233.75  );
       digitalWrite(E2,LOW);
       delay(999999999);   
    }
    
      if (cm < 41.2 && cm >=34.3)
    {
    
        digitalWrite(E2 , HIGH);
       delay (  233.75  );
       digitalWrite(E2,LOW);
       delay(999999999);
         
    }
    
      if (cm < 34.3 && cm >= 27.5)
    {
    
            digitalWrite(E2 , HIGH);
       delay (   233.75 );
       digitalWrite(E2,LOW);
       delay(999999999);
    
    }
    
      if (cm < 27.5 && cm >= 20.6)
    {
     
             digitalWrite(E2 , HIGH);
       delay ( 233.75   );
       digitalWrite(E2,LOW);
       delay(999999999);
       
    }  
    
      if (cm < 20.6 && cm >= 13.8)
    {
    
          digitalWrite(E2 , HIGH);
       delay (   233.75 );
       digitalWrite(E2,LOW);
       delay(999999999);
    }  
      
      if (cm <13.8 && cm >= 6.9)
    {
    
            digitalWrite(E2 , HIGH);
       delay (   233.75 );
       digitalWrite(E2,LOW);
       delay(999999999);
    
    }  
      if (cm < 6.9)
    {
          digitalWrite(E2 , HIGH);
       delay (233.75);
       digitalWrite(E2,LOW);
       delay(999999999);
    }
    }
    rezczecdezcvezcvzervczczdczdze zeczecrdezcrzcdrez
    Dernière modification par Antoane ; 01/05/2015 à 17h20. Motif: Remplacement balises quote par Code

Discussions similaires

  1. mini robot voiture: programmer moteur
    Par invite731bffa6 dans le forum Électronique
    Réponses: 7
    Dernier message: 25/03/2015, 13h50
  2. programmer un moteur brushless
    Par invite1c45c69d dans le forum Électronique
    Réponses: 0
    Dernier message: 02/02/2015, 19h37
  3. Commande de moteur pas à pas à programmer
    Par inviteb1220467 dans le forum Électronique
    Réponses: 6
    Dernier message: 19/12/2014, 09h19
  4. Programmer un moteur pas a pas ( PIC+ ISIS proteus)
    Par invitefbf3fcff dans le forum Électronique
    Réponses: 5
    Dernier message: 04/03/2013, 23h55
  5. [Divers] Moteur Came bx 74 : programmer fermeture automatique ? [résolu]
    Par invite0c52e366 dans le forum Dépannage
    Réponses: 16
    Dernier message: 14/11/2010, 13h27
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...