IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Besoin d'aide pour un projet de détection de passage avec Laser KY-008 et capteur LDR


Sujet :

Arduino

  1. #121
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Citation Envoyé par Jay M Voir le message
    A priori j’utilise accelStepper normalement. Pouvez vous me mettre une vidéo avec le son de ce que ça fait ?
    je ne retrouve pas ces variables de accelstepper dans votre code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    const float DEGRES_PAR_PAS[4] = {0.9, 0.9, 0.9, 0.9};  // Angle par pas 
    const int MICRO_PAS[4] = {2, 2, 2, 2}; // Réglage du micro-pas pour le driver  
    float rotation_moteur[4] = {360, 360, 360, 360}; // Rotation souhaitée en degrés  
    int vitesse_moteur[4] = {2000, 2000, 2000, 2000}; // Vitesse maximale en pas/seconde  
    int acceleration_moteur[4] = {1500, 1500, 1500, 1500}; // Accélération en pas/seconde²

  2. #122
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    voici également une video du déplacement avec mon code d'origine avec Accelstepper.
    Merci d'avance
    Fichiers attachés Fichiers attachés

  3. #123
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3 075
    Par défaut
    Citation Envoyé par jojodu71 Voir le message
    je ne retrouve pas ces variables de accelstepper dans votre code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    const float DEGRES_PAR_PAS[4] = {0.9, 0.9, 0.9, 0.9};  // Angle par pas 
    const int MICRO_PAS[4] = {2, 2, 2, 2}; // Réglage du micro-pas pour le driver  
    float rotation_moteur[4] = {360, 360, 360, 360}; // Rotation souhaitée en degrés  
    int vitesse_moteur[4] = {2000, 2000, 2000, 2000}; // Vitesse maximale en pas/seconde  
    int acceleration_moteur[4] = {1500, 1500, 1500, 1500}; // Accélération en pas/seconde²
    Votre code n'utilise pas DEGRES_PAR_PAS, MICRO_PAS ni rotation_moteur donc ce n'est pas cela.

    Vous utilisez vitesse_moteur et acceleration_moteur par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        moteurs[i].setMaxSpeed(vitesse_moteur[i]); // Vitesse max pour chaque moteur
        moteurs[i].setAcceleration(acceleration_moteur[i]); // Accélération pour chaque
    comme vous avez les même pour chaque moteur j'ai simplifié, j'ai mis deux variables globales
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    const float VITESSE_MAX = 500;
    const float ACCELERATION = 100;
    et pour chaque moteur je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      moteur.setMaxSpeed(VITESSE_MAX);
      moteur.setAcceleration(ACCELERATION);
    donc c'est pareil...

    je vais jeter un oeil de plus près au reste du code. Sur wokwi ça fonctionne bien...

  4. #124
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3 075
    Par défaut
    pouvez vous mettre

    la roue codeuse sur 2 et dans Globals.h

    const float VITESSE_MAX = 500;
    const float ACCELERATION = 100;


    et faire la vidéo pour 1 point et pour 3 points ?




    sinon le moteur fait il le même bruit lors du homing ? (retour au départ des escargots)




    sinon dans votre ancien code quand je regarde le nombre de pas à effectuer vous aviez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      valeur1 = -nombrePas * 2; // Valeur pour les trous bleus
      valeur2 = -nombrePas * 4; // Valeur pour les trous jaunes
      valeur3 = -nombrePas * 6; // Valeur pour les trous rouges
    et pour le déplacement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
        for (int i = 0; i < 4; i++) {
          // Vérifiez si le moteur est déjà en mouvement
          if (!enMouvement[i]) {
            // Déterminer le mouvement à effectuer
            if (digitalRead(capteursAvancer1[i]) == LOW) {
              Serial.print("Moteur ");
              Serial.print(i + 1);
              Serial.println(" avance de valeur1.");
              moteurs[i].move(valeur1); // Déplacer le moteur
              enMouvement[i] = true; // Indique que le moteur est en mouvement
              digitalWrite(ENABLE_PIN[i], HIGH); // Activer le moteur
            } else if (digitalRead(capteursAvancer2[i]) == LOW) {
              Serial.print("Moteur ");
              Serial.print(i + 1);
              Serial.println(" avance de valeur2.");
              moteurs[i].move(valeur2); // Déplacer le moteur
              enMouvement[i] = true; // Indique que le moteur est en mouvement
              digitalWrite(ENABLE_PIN[i], HIGH); // Activer le moteur
            } else if (digitalRead(capteursAvancer3[i]) == LOW) {
              Serial.print("Moteur ");
              Serial.print(i + 1);
              Serial.println(" avance de valeur3.");
              moteurs[i].move(valeur3); // Déplacer le moteur
              enMouvement[i] = true; // Indique que le moteur est en mouvement
              digitalWrite(ENABLE_PIN[i], HIGH); // Activer le moteur
            }
          }
    donc si le moteur n'était pas en mouvement et que vous mettez la boule dans le trou à 3 points, vous enregistrez directement qu'il faut faire valeur3 pas mais ensuite la boule descend dans la goulotte, passe par les autres détecteurs mais comme vous ne testez l'accumulation des points que si if (!enMouvement[i]) vous n'êtes pas en mouvement, les points des 2 autres capteurs ne sont pas pris en compte. (donc vos goulottes ne servaient à rien).

    => votre code demande d'un coup 600 pas et ignore votre système de goulottes alors que le mien va demander 200 pas, puis quand il voit passer la boule devant le second capteur rejoute 200 pas à la distance à parcourir, puis encore 200 pas lors du déclenchement du dernier capteur.

    Je me demande si cela n'affecte pas le mouvement, je vais creuser un peu.





    EDIT: je pense que c'est une cause du bruit, si on marque 3 points je demande 200 pas, le moteur se met en mouvement pour 1 pas (avec accélération / décélération) puis la boule passe dans la seconde goulotte et je rajoute 200 pas de plus à faire et AccelStepper recalcule en fonction de la vitesse actuelle et de la nouvelle cible l'accélération / décélération. Comme 200 pas c'est court, il se peut que lorsque l'on reçoit le rajout des autres points on soit déjà dans la phase de décélération (surtout si vous avez une grande vitesse et accélération) et donc on va raccélérer puis ralentir et la troisième goulotte rentre en jeu et on recommence...

    Une question sur la règle du jeu : si l'escargot est en mouvement, l'utilisateur n'a plus le droit de lancer de balle tant qu'il ne s'est pas arrêté ? (votre code ignore les points marqués pendant le mouvement, mon code cumule les points et continue le mouvement puisque vous avez les goulottes)

    autre question : ai-je mal compris vos histoire de goulottes ?



    merci

  5. #125
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Désolé j’étais absent de la maison tout le week-end, je n’ai pas eu le temps de me pencher sur le projet. Je regarde tout cela demain soir et je vous redis. Cordialement

  6. #126
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Citation Envoyé par Jay M Voir le message

    autre question : ai-je mal compris vos histoire de goulottes ?
    Bonjour, pour répondre à votre question, j'ai essayé au départ de schématiser le fonctionnement de mon projet en simplifiant le principe avec des goulottes pour faire avancer les chariots. Je pense que vous avez parfaitement compris le principe des goulottes qui se déverses les une dans les autres. En revanche, vous avez effectivement raison, que si mathématiquement, 1+1+1 font 3 il y deux types d'approches pour la gestion des points. Soit comme je vous l'avez demandé (et ma demande était peut être trop simpliste, mais qui était pour comprendre le principe) chaque goulotte vaut 1 point, et comme elles se déversent les une dans les autres, les points se cumul (1+1+1 =>3 ou 1+1=>2). Soit (comme Chat GPT a écrit mon code de départ) on attribue une valeur de point différente à chacune des goulottes (3 ou 2 ou 1)et on fait abstraction des autres valeurs dès qu'il y a une d'activé.
    Si le longueur de déplacement est identique dans les deux cas, la gestion des déplacements est sans doute différente. Si on prend le cas des 3 points, avec votre code, on accélère, puis on décélère 3 fois ce qui provoque certainement les à-coups. Avec un déplacement de 3 points directement, il y a une seule accélération et une décélération donc le déplacement est plus fluide.

    Citation Envoyé par Jay M Voir le message
    Une question sur la règle du jeu : si l'escargot est en mouvement, l'utilisateur n'a plus le droit de lancer de balle tant qu'il ne s'est pas arrêté ? (votre code ignore les points marqués pendant le mouvement, mon code cumule les points et continue le mouvement puisque vous avez les goulottes)
    L'idée, est que le déplacement de l'escargot , même à 3 points soit terminé avant que le joueur n'ait eu le temps de relancé la boule. Il est vrai que si les joueur est rapide et adroit, il peut arrivé à marquer deux points en un temps très cout et que le déplacement ne soit pas terminé. C'est pour cela que j'avais joué sur l'inclinaison des pistes de jeu pour éviter aux balles de descendre trop vite et laisser le temps à l'escargot de se déplacer. Dans l'Ideal, il faudrait que tous les points se cumulent pour être sur de ne pas en louper, mais c'est surement complexe à gérer.

    Merci d'avance et désolé si je n'avais pas suffisamment était clair au départ, mais je pense que Chat GPT avait produit une gestion différente de ce à quoi je pensé, mais qui était surement mieux au final.
    je ferais les essais demandés avec la roue codeuse ce soir et je vous retient au courant
    A ce soir

  7. #127
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3 075
    Par défaut
    pas de souci, j'ai préparé en attendant une nouvelle version dont le fonctionnement se rapproche de ce que vous aviez dans votre ancien code :

    - on calcule directement le nombre de pas en fonction de la couleur de trou déclenché
    - on ignore pendant que le moteur est en mouvement ou du moins pendant un certain temps (variable dureeMinEntrePoints) tout nouveau déclenchement ce qui fait qu'on ne peut pas jeter de nouvelle boule dans le jeu pendant ce temps là

    ==> ça devrait permettre de ne plus avoir d'à coups sur l'accélération et ralentissement et se rapprocher du mode de fonctionnement que vous aviez

    Escargot11.zip


    si ça vous convient pas la peine de faire tous les tests demandé dans le post précédent.

  8. #128
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Citation Envoyé par Jay M Voir le message
    pas de souci, j'ai préparé en attendant une nouvelle version dont le fonctionnement se rapproche de ce que vous aviez dans votre ancien code :

    - on calcule directement le nombre de pas en fonction de la couleur de trou déclenché
    - on ignore pendant que le moteur est en mouvement ou du moins pendant un certain temps (variable dureeMinEntrePoints) tout nouveau déclenchement ce qui fait qu'on ne peut pas jeter de nouvelle boule dans le jeu pendant ce temps là.
    Merci énormément d’avoir pris le temps de tout refaire. Par contre, il s’agit avant tout d’un jeu de rapidité, donc si certains joueurs vont plus vite que le déplacement de leur escargot et que des points ne sont pas validés, je pense qu’il va y avoir des frustrés 😂.
    Je vous dirai si cela est possible en fonction de la vitesse, mais en exagérant, si la roue codeuse est à 9 , et que la balle tombe dans le trou bleu le plus bas, je pense qu’il n’y aura pas plus de 3 secondes entre les deux points .
    Encore merci

  9. #129
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3 075
    Par défaut
    Citation Envoyé par jojodu71 Voir le message
    je pense qu’il va y avoir des frustrés 😂.
    Le code tel qu'il est continue d'accumuler les points même si le moteur est en route, l'idée était d'éviter les à coups provoqués par trop d'accélérations / décélérations.

    On pourra toujours adapter un peu les paramètres, là j'ai mis 5 secondes entre 2 détections pour la prise en compte des points. On pourrait imaginer 3 secondes ou 2 secondes.. L'important c'est que on ne compte pas plus de points que de nécessaire, donc le temps min que l'on pourrait mettre c'est le temps que mets une balle qui a enregistré les 3 points du rouge, à passer devant les 2 autres capteurs parce qu'on ne veut pas recompter des points (puisque j'ai déjà pris en compte 3 points au moment de la première détection) ==> en gros on veut éviter les déclenchements par la même balle lorsqu'elle descend le long des goulottes.

  10. #130
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Citation Envoyé par Jay M Voir le message
    en gros on veut éviter les déclenchements par la même balle lorsqu'elle descend le long des goulottes.
    En inclinant un peu plus les pistes , les balles descendront plus vite et en 3 secondes, on aura largement le temps de passer devant les 3 capteurs.

  11. #131
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3 075
    Par défaut
    Citation Envoyé par jojodu71 Voir le message
    En inclinant un peu plus les pistes , les balles descendront plus vite et en 3 secondes, on aura largement le temps de passer devant les 3 capteurs.
    OK - il faudra régler sans doute aussi la vitesse et l'accélération pour que l'escargot ait quasiment fini d'avancer quand la balle redevient dispo.

    La doc d'AccelStepper dit qu'au dessus d'une vitesse de 1000 pas par seconde sur AVR, on n'est pas sûr de tenir cette vitesse - donc pas la peine de mettre 5000 non plus.

  12. #132
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Je viens de faire des essais avec la version 11. J’ai augmenté la vitesse et l’accélération et le comportement reste très saccadé et bruyant à l’aller. Plus j’augmente ces valeurs et moins c’est pire. Si je monte à 1000 et au delà, j’ai l’impression que ça varie encore ! Au retour idem, le retour rapide ne se fait plus aussi vite et fluide qu’avant sauf lorsqu’il y a plus qu’un moteur qui tourne où la c’est nickel.
    J’ai mis le temps entre deux capteurs à trois secondes. Et là c’est impeccable, il ne peut pas y avoir deux points en même temps et ça laisse suffisamment de temps pour rajouter des points pour les personnes les plus rapide. Concernant les animations et pour tout le reste tout est parfait. Il ne reste plus que cette histoire de déplacement de moteur. Est-ce une histoire de réglage des micro pas ? Ou des degrés par pas ? Car lorsque je règle ma vitesse à 2000 et mon accélération à 1500 comme mon code d’origine, je ne retrouve pas la même fluidité.
    J’ai également essayé de faire varier la valeur de la roue codeuse car je ne trouve pas que la différence entre un point et trois points soit significative. J’ai même augmenté la roue sur neuf et là encore il n’y a pas une grosse différence que quand elle est réglée sur deux. Par contre j’ai l’impression que ça joue un petit peu sur la vitesse. J’arrive à cour d’idée. Si vous avez d’autres idées, je suis preneur.
    Merci d’avance.

  13. #133
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3 075
    Par défaut
    Citation Envoyé par jojodu71 Voir le message
    Est-ce une histoire de réglage des micro pas ? Ou des degrés par pas ?
    En général un moteur pas à pas réglé en micro-pas produit moins de bruit et des vibrations plus faibles. Le micro-pas divise chaque pas complet en plusieurs pas intermédiaires, ce qui permet au moteur de se déplacer plus doucement et de réduire les à-coups mécaniques qui génèrent du bruit. Cependant, le niveau de bruit dépend aussi de la fréquence de pas, du courant appliqué, du type de moteur et de la mécanique associée




    On va essayer autre chose temporairement pour voir ce qu'il en est sans tout le mécanisme du jeu, uniquement sur la première piste.

    Pouvez vous charger ce code ?

    un appui sur RAZ doit remmener le moteur à la position de départ
    un appui sur commencer fait avancer de 600 pas

    Quel bruit fait le moteur dans les 2 cas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    #include <AccelStepper.h>
    #include <Toggle.h>
     
    const uint8_t pinCommencer = 44;
    Toggle boutonCommencer(pinCommencer);
     
    const uint8_t pinRaz = A5;
    Toggle boutonRaz(pinRaz);
     
    const uint8_t pinDir = 45;
    const uint8_t pinStep = 46;
    const uint8_t pinEnable = A0;
    const uint8_t pinFdcArrivee = 35;
    const uint8_t pinFdcDepart = 36;
     
    AccelStepper moteur(AccelStepper::DRIVER, pinStep, pinDir);
     
    void setup() {
      pinMode(pinEnable, OUTPUT);
      digitalWrite(pinEnable, LOW);
     
      boutonCommencer.begin(pinCommencer);
      boutonRaz.begin(pinRaz);
     
      pinMode(pinFdcArrivee, INPUT_PULLUP);
      pinMode(pinFdcDepart, INPUT_PULLUP);
     
      moteur.setMaxSpeed(500);
      moteur.setAcceleration(100);
      moteur.setCurrentPosition(0);
    }
     
    void loop() {
      boutonCommencer.poll();
      if (boutonCommencer.onPress() && digitalRead(pinFdcArrivee) != LOW) {
        digitalWrite(pinEnable, HIGH);
        moteur.move(-600);
      }
     
      boutonRaz.poll();
      if (boutonRaz.onPress() && digitalRead(pinFdcDepart) != LOW) {
        digitalWrite(pinEnable, HIGH);
        moteur.move(100000); // retour vers zéro
      }
     
      // arrêt automatique si on atteint une fin de course
      if (digitalRead(pinFdcArrivee) == LOW && moteur.distanceToGo() < 0) {
        digitalWrite(pinEnable, LOW);
      }
     
      if (digitalRead(pinFdcDepart) == LOW && moteur.distanceToGo() > 0) {
        digitalWrite(pinEnable, LOW);
        moteur.setCurrentPosition(0);
      }
     
      if (digitalRead(pinEnable) == HIGH) {
        moteur.run();
      }
    }

  14. #134
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    j'ai fait l'essai sans rien changer, les déplacements grognaient à l'acceleration et à la deceleration.
    j'ai mis les parametres comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      moteur.setMaxSpeed(2000);
      moteur.setAcceleration(1500);
      moteur.setCurrentPosition(0);
    les déplacements sont fluides et le moteur fait 1 tour et demi
    pour le retour en arrière, cest comme en avant, par contre la vitesse n'est pas forcément très rapide sur une grande longueur

  15. #135
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Je viens de refaire un essai avec des valeurs extrêmes 5000 pour la vitesse et 3000 pour l’accélération et la, c’est pas mal du tout aussi bien en avant qu’au retour. Comme quoi, des valeurs plus élevées que 1000 agissent sur le comportement du moteur. Concernant l’accélération plus la valeur augmente plus la rampe d’accélération se fait rapidement. C’est pour ça que plus j’augmente les valeurs plus le moteur atteint sa vitesse de déplacement rapidement et moi il grogne. Cela vous paraît étrange ?

  16. #136
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    J’ai appronfondi l’essai en remettant ces même paramètres sur la version 11 de votre code, et là encore, les moteurs grognent et le déplacement n’est pas aussi fluide à l’aller qu’avec le code d’essai. Au retour c’est pas mal.
    Voilà ce que je peux vous dire. Si vous voulez que je fasse d’autres essais, n’hésitez pas. encore merci pour tout.

  17. #137
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    3 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3 075
    Par défaut
    pour faire 5000 pas par secondes, il faudrait que run() soit appelé 5000 fois par seconde.

    Dans le simple code (qui ne fait pas grand chose) que je vous ai donné, run est sans doute appelée entre 2000 et 3000 fois par seconde.

    ==> monter à 5000 n'a pas d'intérêt surtout quand vous aurez 4 moteurs qui vont bouger en même temps et tout le reste à surveiller et animer

    Le code que j'ai posté est vraiment simple, on fait 600 pas quand on appuie sur le bouton. Si ça fait du bruit, il faut regarder de plus près les drivers

    vous pouvez me rappeler le modèle exact du driver, son alimentation et ses réglages ?

  18. #138
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Ok je comprends et cela ne me dérange pas que l’on regarde côté Hard, mais comment expliquez-vous que si je charge mon code d’origine les moteurs fonctionne parfaitement ?

  19. #139
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Petite question d’ordre général sur le site, comment fait-on pour charger des photos directement avec un iPhone car à chaque fois je suis obligé de me les renvoyer par mail pour les ouvrir avec l’ordinateur, les compresser pour pouvoir les envoyer. C’est un peu lourd comme manip. Merci

  20. #140
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2026
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2026
    Messages : 110
    Par défaut
    Citation Envoyé par Jay M Voir le message
    vous pouvez me rappeler le modèle exact du driver, son alimentation et ses réglages ?
    Voici les photos du driver TB6600 reglé sur 101110 (de 1 à 6)
    En revanche, je pense que je vous avez dis une bêtise, l'alimentation est une 24v 10A et non 15A
    Voila pour la partie hard, mais comme je vous l'ai dis, ils fonctionnent très bien avec certains codes, donc je pense plus à un paramétrage ou une programmation.
    merci d'avance
    Images attachées Images attachées   

Discussions similaires

  1. Besoin d'aide pour un projet graphique de concentration
    Par chacha2007 dans le forum LabVIEW
    Réponses: 0
    Dernier message: 21/11/2007, 21h18
  2. besoin d'aide pour un projet en C
    Par chahine59 dans le forum C
    Réponses: 8
    Dernier message: 06/01/2007, 00h23
  3. Besoin d'aide pour un projet en vb6
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/01/2006, 06h25
  4. Besoin d'aide pour un projet
    Par ZiMo dans le forum Linux
    Réponses: 9
    Dernier message: 24/10/2005, 01h28
  5. Besoin d'aide pour un projet de jeu en ligne
    Par FLEO dans le forum Projets
    Réponses: 1
    Dernier message: 21/10/2005, 09h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo