[Programmation] Code Arduino pour téléphérique avec fins de course
Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 70

Code Arduino pour téléphérique avec fins de course



  1. #1
    Nico43240

    Code Arduino pour téléphérique avec fins de course


    ------

    Bonjour à tous,

    je suis à la recherche d'une aide précieuse pour finaliser un petit projet perso: un mini télécabine dans mon jardin pour la période de Noël.
    Pour ce qui est du dimensionnement et de la mécanique, aucun soucis de ce côté là.
    Là où je bloque c'est dans le pilotage de mon moteur 12V avec Arduino et contrôleur L298N. Ne connaissant absolument rien à la programmation de ces appareils j'ai pas mal navigué sur le net et cela est possible pour moi de faire tourner le moteur dans un sens puis dans un autre avec une tempo. Mais pour un meilleur fonctionnement de mon installation je souhaiterais installer des capteurs fins de course en haut et en bas qui lorsqu'ils son activés stoppe le moteur quelques secondes puis inverse son sens de rotation et ainsi de suite.
    Quelqu'un pourrait il m'aider dans cette affaire? type de fins de courses? Code arduino?
    Merci à vous

    Nicolas, un grand enfant de 42 ans...

    -----

  2. #2
    Seb.26

    Re : Code Arduino pour téléphérique avec fins de course

    pas de soucis, poste ton code actuel
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    Nico43240

    Re : Code Arduino pour téléphérique avec fins de course

    Inspiré d'un code trouvé sur le net:

    Code:
    // Association des entrées du L298N, aux sorties utilisées sur notre Arduino Uno //
    //*******************************************************************************//
    #define borneENA        10      // On associe la borne "ENA" du L298N à la pin D10 de l'arduino
    #define borneIN1        9       // On associe la borne "IN1" du L298N à la pin D9 de l'arduino
    #define borneIN2        8       // On associe la borne "IN2" du L298N à la pin D8 de l'arduino
    
    
    //*******//
    // SETUP //
    //*******//
    void setup() {
      
      // Configuration de toutes les pins de l'Arduino en "sortie" 
      pinMode(borneENA, OUTPUT);
      pinMode(borneIN1, OUTPUT);
      pinMode(borneIN2, OUTPUT);
    }
    
    //**************************//
    // Boucle principale : LOOP //
    //**************************//
    void loop() {
    
      // Configuration du L298N en "marche avant", pour le moteur connecté au pont A. 
      digitalWrite(borneIN1, HIGH);                 // L'entrée IN1 doit être au niveau haut
      digitalWrite(borneIN2, LOW);                  // L'entrée IN2 doit être au niveau bas
    
      // Et on lance le moteur (branché sur le pont A du L298N)
      lancerRotationMoteurPontA();
    
      // Puis on configure le L298N en "marche arrière", pour le moteur câblé sur le pont A. 
      digitalWrite(borneIN1, LOW);                  // L'entrée IN1 doit être au niveau bas
      digitalWrite(borneIN2, HIGH);                 // L'entrée IN2 doit être au niveau haut
    
      // Et on relance le moteur (branché sur le pont A du L298N)
      lancerRotationMoteurPontA();
      
      // Puis... boucle en continu
    }
    
    
    //************************************************************************************//
    // Fonction : lancerRotationMoteurPontA()                                             //
    // But :      Active l'alimentation du moteur branché sur le pont A                   //
    //            pendant 30 secondes, puis le met à l'arrêt (10 secondes)          //
    //************************************************************************************//
    void lancerRotationMoteurPontA() {
      digitalWrite(borneENA, HIGH);       // Active l'alimentation du moteur 1
      delay(30000);                        // et attend 30 secondes
      
      digitalWrite(borneENA, LOW);        // Désactive l'alimentation du moteur 1
      delay(10000);                        // et attend 10 seconde
    }
    Dernière modification par gienas ; 19/09/2025 à 09h00. Motif: Ajouté les balises code obligatoires pour les programmes

  4. #4
    Seb.26

    Re : Code Arduino pour téléphérique avec fins de course

    Alors, pour commencer tu dois ajouter les 2 entrées (fin de course)

    on va rester cohérent et donc ajouter 2 #define en tête de script :
    Code:
    #define FdC1        ???
    #define FdC2        ???
    tu replaces ??? par le n° de pin que tu veux

    ensuite on initialise les pins en entrée (donc dans le setup() )
    Code:
    void setup() {
    ...
      // Configuration de toutes les pins de l'Arduino en "entrée" avec pullup (voir sur le net du pourquoi une pullup)
      pinMode(FdC1, INPUT_PULLUP);
      pinMode(FdC2, INPUT_PULLUP);
    }
    pour le hardware, tu mets ton switch entre le GND et la pin du arduino.

    ensuite dans la boucle :

    Code:
    void loop() {
    
      // Configuration du L298N en "marche avant", pour le moteur connecté au pont A. 
      digitalWrite(borneIN1, HIGH);                 // L'entrée IN1 doit être au niveau haut
      digitalWrite(borneIN2, LOW);                  // L'entrée IN2 doit être au niveau bas
    
      // Et on lance le moteur (branché sur le pont A du L298N)
      digitalWrite(borneENA, HIGH);       // Active l'alimentation du moteur 1
    
      // On attend le FdC1
      while(digitalRead(FdC1));
      
      digitalWrite(borneENA, LOW);        // Désactive l'alimentation du moteur 1
      delay(10000);     
    
      // Puis on configure le L298N en "marche arrière", pour le moteur câblé sur le pont A. 
      digitalWrite(borneIN1, LOW);                  // L'entrée IN1 doit être au niveau bas
      digitalWrite(borneIN2, HIGH);                 // L'entrée IN2 doit être au niveau haut
    
      // Et on lance le moteur (branché sur le pont A du L298N)
      digitalWrite(borneENA, HIGH);       // Active l'alimentation du moteur 1
    
      // On attend le FdC2
      while(digitalRead(FdC2));
      
      digitalWrite(borneENA, LOW);        // Désactive l'alimentation du moteur 1
      delay(10000);     
      
      // Puis... boucle en continu
    }
    ça devrait te donner une bonne base.

    NB: j'ai pas compilé ni testé ce code...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

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

    Re : Code Arduino pour téléphérique avec fins de course

    Merci beaucoup pour ces infos!!!!
    Si je peux abuser encore de vos compétences savez vous si des FDC de ce type pourrait convenir:

    6e59a8ff-facd-49c2-8779-1febab4c123b.webp

    Encore merci à vous

    Nicolas

  7. #6
    Janpolanton

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour,
    C'est quoi cette extension webp qui oblige à télécharger un fichier, ce dont je me suis bien gardé...

  8. #7
    Nico43240

    Re : Code Arduino pour téléphérique avec fins de course

    au format jpg:

    Nom : 6e59a8ff-facd-49c2-8779-1febab4c123b.jpg
Affichages : 349
Taille : 118,2 Ko

    désolé, je suis allé un peu vite

  9. #8
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour

    Je proposerai un démarrage et arrêt progressifs au passage des fin de course,
    ça éviterai à la cabine de s'arrêter et démarrer brutalement.
    au lieu de:
    Code:
     
      digitalWrite(borneENA, HIGH);       // Active l'alimentation du moteur 1
    effectuer démarrage progressif:
    Code:
    for (int pwm = 0; pwm <= 255; pwm++) {
       analogWrite(borneENA, pwm);
       delay(2);  // soit 2x255mS pour l'accélération
    }
    idem pour l'arrêt progressif:
    Code:
    for (int pwm = 255; pwm >= 0; pwm--) {
       analogWrite(borneENA, pwm);
       delay(2);  // soit 2x255mS pour le ralentissement
    }
    à prendre en compte que le moteur sera arrêté complètement 500mS APRÈS le Fdc
    Pascal

  10. #9
    Gyrocompas

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour,
    C'est quoi cette extension webp
    Il s'agit d'une image qui arrive avec son code html d'affichage.
    Elle ne peut être traitée directement par une application graphique, en cliquant dessus, l'interface web sélectionnée s'active, la copie devient alors possible.

  11. #10
    Janpolanton

    Re : Code Arduino pour téléphérique avec fins de course

    Merci pour l'explication.
    Dans le doute, je me suis abstenu, on est jamais trop prudent.

  12. #11
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Il existe plein de sortes de fin de course, roulette, languette, etc.
    il faut choisir suivant le type de cale (fixée au cable) qui va l'actionner, et la force qu'il va falloir lui appliquer.

    pour celui-ci il faut appliquer une force de 60g: https://www.gotronic.fr/art-microrupteur-ms12l-4327.htm
    pour celui-ci, 280g: https://www.gotronic.fr/art-microrupteur-ms12r-71.htm
    Dernière modification par Pascal071 ; 19/09/2025 à 15h19.
    Pascal

  13. #12
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour

    je viens de tester ce code:
    - au reset, si la cabine n'est pas en haut -> montée après accélération (variable speed)
    - fin de course HAUT -> ralentissement (variable speed)
    - arrêt pendant durée (variable pause)
    - inversion sens descente
    - descente après accélération (variable speed)
    - fin de course BAS -> ralentissement (variable speed)
    - arrêt pendant durée (variable pause)
    - inversion sens montée
    - montée après accélération (variable speed)
    .....
    Code:
    /* essai telepherique 21-09-2025
    pin 6: fin de course Haut
    pin 7: fin de course Bas
    pin 8: marche avant-montée (IN1 d'un L298)
    pin 9: marche arriere-descente (IN2 d'un L298)
    pin 10: enable moteur (ENA d'un L298)
    */
    
    #define fdcH 6 // entrée fin de cource Haut 0v actif
    #define fdcB 7 // entrée Fin de course Bas 0v actif
    #define out1 8 // sortie sens 1 moteur (avant)
    #define out2 9 // sortie sens 2 moteur (arrière)
    #define ena 10 // sortie Enable moteur (PWM) 5v actif
    
    // vitesse acceleration, ralentissement
    // 0=pas de delai, 1=255mS, 4=1sec
    int speed = 3;
    
    // temps de pause arret en mS 
    int pause = 3000;
    
    void setup() {
      pinMode(fdcH, INPUT_PULLUP); // rappel au +5v
      pinMode(fdcB, INPUT_PULLUP);
      pinMode(out1, OUTPUT);  
      pinMode(out2, OUTPUT);
      pinMode(ena, OUTPUT);
    }
    
    void loop() {
      if (digitalRead(fdcH)) {  // si en bas ou en cours de trajet (apres reset)
        // "marche avant"
        digitalWrite(out1, HIGH);  // entrée IN1 L298 niveau haut
        digitalWrite(out2, LOW);   // entrée IN2 L298 niveau bas
        // demarrage progressif du moteur
        for (int pwm = 0; pwm <= 255; pwm++) {
           analogWrite(ena, pwm);
           delay(speed);  // x255mS pour l'accélération
        }
        while(digitalRead(fdcH)); // On attend fdcH a 0
        // arret progressif du moteur en HAut
        for (int pwm = 255; pwm >= 0; pwm--) {
          analogWrite(ena, pwm);
          delay(speed);  // x255mS ralentissement
        }
        delay(pause);  // delai arret en Haut (en mS)
     }
      // "marche arrière"
      digitalWrite(out1, LOW); // entrée IN1 L298 niveau bas
      digitalWrite(out2, HIGH); // entrée IN2 L298 niveau haut
      // demarrage progressif du moteur
      for (int pwm = 0; pwm <= 255; pwm++) {
        analogWrite(ena, pwm);
        delay(speed);  // x255mS accélération
      }
      while(digitalRead(fdcB)); // On attend fdcB a 0
      // arret progressif du moteur en Bas
      for (int pwm = 255; pwm >= 0; pwm--) {
        analogWrite(ena, pwm);
        delay(speed);  // x255mS pour le ralentissement
      }
      delay(pause);  // delai arret en Bas (en mS)    
    
    }
    Dernière modification par Pascal071 ; 21/09/2025 à 15h11.
    Pascal

  14. #13
    Seb.26

    Re : Code Arduino pour téléphérique avec fins de course

    pour moi, la partie "après reset" devrait être dans le Setup() qui est exécuté 1 seule fois après un reset ...
    ( je suis pas sûr !! )
    ( j'avais lu de travers -> c'est ok )
    Dernière modification par Seb.26 ; 22/09/2025 à 14h56.
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  15. #14
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    bonjour

    c'est vrai que le 1er if ne sert qu'une fois puisqu'à la fin de loop on est en bas..
    mais c'est plus simple
    Il y a toujours n possibilités de codage, on pourrait aussi créer 2 sous programmes "descente" et "montée",
    loop serait plus courte
    Pascal

  16. #15
    Nico43240

    Re : Code Arduino pour téléphérique avec fins de course

    Bonsoir,

    merci beaucoup pour votre aide, je débute mais c'est pas évident pour moi...
    J'ai testé votre programme mais je n'avais pas encore de moteur 12v sous la main alors j'ai testé avec un de 5V et une alim 5V du coup au lieu de 12V: il ne s'est rien passé...
    Je me demandais si le 12V était une tension de pilotage minimum?

  17. #16
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Bonsoir

    j'ai testé le code avec des Leds au lieu du L298 que je n'ai pas, donc facile, tout en 5v.

    concernant le L298:
    le Vss (pin9) doit être connecté au +5v Arduino.
    le Vs (pin4) doit être connecté à 7,5v MINIMUM (Vss+2,5v) et 45v max.
    le Gnd (pin8) doit être commun aux alimentations et 0v Arduino

    pour les commandes,
    Arduino pin 8: marche avant-montée (IN1-pin5 d'un L298)
    Arduino pin 9: marche arrière-descente (IN2-pin7 d'un L298)
    Arduino pin 10: enable moteur (ENA-pin6 d'un L298)

    Le plus simple est d'alimenter l'Arduino en +12v (max!) par sa prise Jack
    et le Vs L298 (pin4) par ce 12v.
    attention au moteur utilisé, 12v 2Amp max !
    Prévoir 0,1µF entre VSS (5v) et Gnd du L298
    Prévoir 0,1µF entre VS (12v) et Gnd du L298

    Pour un moteur < 12v, pour les essais tu peux diminuer le voltage avec une ampoule 12v en série par exemple, ou une résistance de puissance,
    pour calculer il faudrait connaitre tension et courant de ton moteur.
    Dernière modification par Pascal071 ; 22/09/2025 à 23h07.
    Pascal

  18. #17
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    re
    le même code avec les fonctions séparées:
    Code:
    /* essai telepherique 22-09-2025
    broches Arduino:
    pin 6: fin de course Haut
    pin 7: fin de course Bas
    pin 8: marche avant-montée (IN1A d'un L298)
    pin 9: marche arriere-descente (IN2A d'un L298)
    pin 10: enable moteur (ENA d'un L298)
    */
    //-----------------------------------
    #define fdcH 6 // entrée fin de cource Haut 0v actif
    #define fdcB 7 // entrée Fin de course Bas 0v actif
    #define out1 8 // sortie sens 1 moteur (avant)
    #define out2 9 // sortie sens 2 moteur (arrière)
    #define ena 10 // sortie Enable moteur (PWM) 5v actif
    int speed = 3; // vitesse acceleration, ralentissement 1=255mS 4=1sec
    // si speed est à 0, arret net moteur sur fins de course
    int pause = 3000; // temps de pause arret en mS 
    //-----------------------------------
    void setup() {
      pinMode(fdcH, INPUT_PULLUP); // rappel au +5v
      pinMode(fdcB, INPUT_PULLUP);
      pinMode(out1, OUTPUT);  
      pinMode(out2, OUTPUT);
      pinMode(ena, OUTPUT);
    }
    //-----------------------------------
    void loop() { // boucle sans fin
      if (digitalRead(fdcH)) {  // si en bas ou en cours de trajet
        Montee();
        delay(pause);  // delai arret en Haut (en mS)
      }
      Descente();
      delay(pause);  // delai arret en Bas (en mS)
    }
    //-----------------------------------
    void Montee() {
      // montee, marche avant, sens1
      digitalWrite(out1, HIGH);  // sens1 niveau haut
      digitalWrite(out2, LOW);   // sens2 niveau bas
      Accelere();
      while(digitalRead(fdcH)); // On attend fdcH a 0
      Ralentit(); // arret progressif du moteur en Haut
    }
    //-----------------------------------
    void Descente() {
     // descente, marche arrière, sens2
      digitalWrite(out1, LOW); // sens1 niveau bas
      digitalWrite(out2, HIGH); // sens2 niveau haut
      Accelere();
      while(digitalRead(fdcB)); // On attend fdcB a 0
      Ralentit(); // arret progressif du moteur en Bas
    //-----------------------------------
    void Accelere() {
      // demarrage progressif du moteur
      for (int pwm = 0; pwm <= 255; pwm++) {
        analogWrite(ena, pwm);
        delay(speed);
      }
    }
    //-----------------------------------
    void Ralentit() {
    // arret progressif du moteur en Bas
      for (int pwm = 255; pwm >= 0; pwm--) {
        analogWrite(ena, pwm);
        delay(speed);
      }
    }
    Dernière modification par Pascal071 ; 23/09/2025 à 00h32.
    Pascal

  19. #18
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    erreur de commentaire à la fin (fonction ralentit):
    // arret progressif du moteur en Bas
    Code:
    // arret progressif du moteur
    Pascal

  20. #19
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour

    Petit aléas du système avec ralentissement:

    le fin de course Haut doit rester actif après ralentissement,
    si le fdcH est dépassé, la cabine repart vers le haut et crac !

    Pour palier à ce pb, on peut mémoriser le passage aux fins de course,
    mais à ce moment je ne vois pas comment faire au reset, on ne sait pas si la cabine est au milieu du parcours ou en haut, fdcH dépassé..

    Ou bien un fdcH actif sur une (grande) longueur, mécaniquement facile.
    Pascal

  21. #20
    antek

    Re : Code Arduino pour téléphérique avec fins de course

    Un premier fin de course informatif pour le µC (opto à fourche)
    Un deuxième bloquant par coupure alimentation moteur, mais on ne devrait jamais y arriver (juste par sécurité).
    L'électronique c'est comme le violon. Soit on joue juste, soit on joue tzigane . . .

  22. #21
    mag1

    Re : Code Arduino pour téléphérique avec fins de course

    Citation Envoyé par Pascal071 Voir le message
    Petit aléas du système avec ralentissement:
    le fin de course Haut doit rester actif après ralentissement,
    si le fdcH est dépassé, la cabine repart vers le haut et crac !
    Bonjour à tous,
    La même question a été posée par le même auteur sur un autre forum. J'ai formulé une réponse, reproduite sur cette page, pilotée par un picaxe 08M2.
    Je ne sais pas si cette réponse a été vue. (Passez outre les éventuels avertissement de certains anti-virus)
    https://www.wifeo.com/m_editeur.php?...e=telepherique
    Le demandeur repose ici la question avec un arduino, ok, pourquoi pas...
    Toutefois, il y a peut être des idées à reprendre dans ma solution, ou pas...à vous de voir..
    MM
    Dernière modification par mag1 ; 23/09/2025 à 14h32.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  23. #22
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour Mag1

    le lien ne passe pas.. http://electromag1.wifeo.com/telepherique.php
    Nico43240 a dû voir ce post

    oui, cette discussion est commencée avec un Arduino, plus simple à programmer, simple câble USB.
    le fonctionnement est à peu près le même, mais dans mon code il faut que le fcH reste actif après ralentissement.

    aimants et ILS sont aussi une bonne solution.
    Pascal

  24. #23
    mag1

    Re : Code Arduino pour téléphérique avec fins de course

    Citation Envoyé par Pascal071 Voir le message
    le lien ne passe pas.. http://electromag1.wifeo.com/telepherique.php
    Nico43240
    .
    Je viens de vérifier, c'est bon, mais c'est en http et pas https et bloqué par certains antivirus,
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  25. #24
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    ton lien en #21 pointait sur l'éditeur..
    Pascal

  26. #25
    mag1

    Re : Code Arduino pour téléphérique avec fins de course

    Citation Envoyé par Pascal071 Voir le message
    ton lien en #21 pointait sur l'éditeur..
    Ah oui, merci, je reposte le lien.
    http://electromag1.wifeo.com/telepherique.php
    En fait, il y a deux options:
    Avec un seul aimant, la décentration va de 100% à 0 sur une durée de 4s env.
    Avec deux aimants, le premier provoque une décélération jusqu'à 10%, le second provoque l’arrêt complet .
    Ce n'est pas seulement le programme, un arduino fera la même chose , sinon mieux, mais plutôt l'ensemble de la réalisation : courroie, moteur, pignons,etc
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  27. #26
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    je re-poste le code, dans le post il manquait un } à la fin de la fonction Descente
    typique des erreurs de syntaxe en C

    Code:
    /* essai telepherique 22-09-2025
    broches Arduino:
    pin 6: fin de course Haut
    pin 7: fin de course Bas
    pin 8: marche avant-montée (IN1A d'un L298)
    pin 9: marche arriere-descente (IN2A d'un L298)
    pin 10: enable moteur (ENA d'un L298)
    */
    //-----------------------------------
    #define fdcH 6 // entrée fin de cource Haut 0v actif
    #define fdcB 7 // entrée Fin de course Bas 0v actif
    #define out1 8 // sortie sens 1 moteur (avant)
    #define out2 9 // sortie sens 2 moteur (arrière)
    #define ena 10 // sortie Enable moteur (PWM) 5v actif
    int speed = 3; // vitesse acceleration, ralentissement 1=255mS 4=1sec
    // si speed est à 0, arret net moteur sur fins de course
    int pause = 3000; // temps de pause arret en mS 
    //-----------------------------------
    void setup() {
      pinMode(fdcH, INPUT_PULLUP); // rappel au +5v
      pinMode(fdcB, INPUT_PULLUP);
      pinMode(out1, OUTPUT);  
      pinMode(out2, OUTPUT);
      pinMode(ena, OUTPUT);
    }
    //-----------------------------------
    void loop() { // boucle sans fin
      if (digitalRead(fdcH)) {  // si en bas ou en cours de trajet
        Montee();
        delay(pause);  // delai arret en Haut (en mS)
      }
      Descente();
      delay(pause);  // delai arret en Bas (en mS)
    }
    //-----------------------------------
    void Montee() {
      // montee, marche avant, sens1
      digitalWrite(out1, HIGH);  // sens1 niveau haut
      digitalWrite(out2, LOW);   // sens2 niveau bas
      Accelere();
      while(digitalRead(fdcH)); // On attend fdcH a 0
      Ralentit(); // arret progressif du moteur en Haut
    }
    //-----------------------------------
    void Descente() {
     // descente, marche arrière, sens2
      digitalWrite(out1, LOW); // sens1 niveau bas
      digitalWrite(out2, HIGH); // sens2 niveau haut
      Accelere();
      while(digitalRead(fdcB)); // On attend fdcB a 0
      Ralentit(); // arret progressif du moteur en Bas
    }
    //-----------------------------------
    void Accelere() {
      // demarrage progressif du moteur
      for (int pwm = 0; pwm <= 255; pwm++) {
        analogWrite(ena, pwm);
        delay(speed); 
      }
    }
    //-----------------------------------
    void Ralentit() {
     // arret progressif du moteur 
      for (int pwm = 255; pwm >= 0; pwm--) {
        analogWrite(ena, pwm);
        delay(speed); 
      }
    }
    Je répète: il faut donc que FcH reste actif à la fin du ralentissement en Haut.
    une languette sur le Fdc plus longue...
    Pascal

  28. #27
    Nico43240

    Re : Code Arduino pour téléphérique avec fins de course

    Merci,
    en simulation cela semble bien fonctionner
    j'ai bien noter la problématique des fdc sur lesquels je serai vigilent à l'installation.
    Je n'ai pas pu tester encore en réel faute de moteur à disposition.
    J'ai des moteurs 12v DC qui proviennent de perceuse mais je ne sais pas si avec ces moteurs et votre code je pourrais abaisser leur vitesse de rotation?
    Typiquement au vu de mon installation mécanique il me faudrait environ 100tr/min...

  29. #28
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Bonjour

    Les visseuses tournent entre 200 et 800 t/mn sur le mandrin.
    par contre, le L298 ne sera pas capable de fournir le courant demandé (2A max.)
    de plus, il faudra inhiber le variateur de la perceuse, qui ne va pas aimer le PWM en sortie du L298.

    Il faut avoir une idée du couple demandé, 5m c'est long, il va falloir tendre fort le câble, et donc charger le moteur..

    On peut intégrer au code une variation de vitesse, avec potentiomètre, si tu le souhaites.

    Mais il faut trouver un moteur 12v capable de faire tourner tout ça, et qui ne consomme pas plus de 2A en charge.

    ou bien remplacer le L298 par un relais pour l'inversion et un bon Mos-Fet 20Amp pour la commande.
    Dernière modification par Pascal071 ; 24/09/2025 à 12h14.
    Pascal

  30. #29
    Nico43240

    Re : Code Arduino pour téléphérique avec fins de course

    Pour la partie mécanique j'ai préparé un axe qui entraine le câble monté sur 2 roulements du type ci-dessous en espérant soulager un peu l'ensemble.
    Nom : roulement.jpg
Affichages : 203
Taille : 96,0 Ko

    Je n'ai pas encore terminé l'ensemble mécanique et je me rend pas trop compte de la force nécessaire pour entrainer l'ensemble.
    Pour ce qui est de la solution avec relais je suis ouvert à toute proposition mais je manque un peu de compétence, j'apprends petit à petit...

    merci pour tout en tout cas

  31. #30
    Pascal071

    Re : Code Arduino pour téléphérique avec fins de course

    Proposition de schéma avec relais et commande moteur plus puissante:
    les diodes sont des 1N4002 à 4007
    Q2 est à choisir pour supporter le courant moteur, et accepter 5v pour commuter
    Le relais est collé en sens 1 (montée)
    Images attachées Images attachées  
    Dernière modification par Pascal071 ; 24/09/2025 à 15h53.
    Pascal

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. [Programmation] Code HTML avec un ESP8266 - rafraichir une page Web - Arduino
    Par invitec54b6ea5 dans le forum Électronique
    Réponses: 0
    Dernier message: 21/05/2018, 15h53
  2. un code simple sur arduino avec un capteur d'inclinaison (MMA8452Q)
    Par invited0fdf23d dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 22/03/2016, 19h54
  3. code ascii en caractere avec arduino
    Par inviteefc7c139 dans le forum Électronique
    Réponses: 2
    Dernier message: 24/08/2015, 19h28
  4. Arduino: code pour un moteur DC !
    Par invitebbc909eb dans le forum Électronique
    Réponses: 12
    Dernier message: 04/08/2014, 22h39
  5. code barrière IR + écran LCD avec arduino
    Par invite5ce17c95 dans le forum Électronique
    Réponses: 9
    Dernier message: 14/03/2014, 08h17
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...