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

  1. #21
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 57
    Points : 93
    Points
    93

    Par défaut

    Bonjour Reloader
    Citation Envoyé par Reloader Voir le message
    mais comme je l'ai dit le couple du 28byj48 est finalement trop juste.
    C'est étonnant, le Nema17 a aussi des problèmes, c'est peut-être ton interface?

    Le 28byj48 a un réducteur et a 4096 pas par tour et un couple assez conséquent. J'ai essayé avec l'interface le plus courant pour ce type de moteur
    Nom : 28BYJ-48-5V-12V-4-Phase-DC-Gear-Stepper-Motor-ULN2003-Driver-Board-for-Arduino-Compatible.jpg
Affichages : 47
Taille : 12,3 Ko
    A base d'ULN2003 qui est un IC très courant.

    Avec ce programme:
    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
    // Source:
    // https://coeleveld.com/arduino-stepper-uln2003a/
    #include <Stepper.h>
     
    // Number of steps per revolution of INTERNAL motor in 4-step mode
    #define STEPS_PER_MOTOR_REVOLUTION 32
     
    // Number of steps per revolution of OUTPUT SHAFT (= gear reduction; 2048 steps)
    #define STEPS_PER_OUTPUT_REVOLUTION 32 * 64
     
    // Declare 'small_stepper' variable
    Stepper small_stepper(STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
     
    // Declare 'Steps2Take' variable
    int  Steps2Take;
     
    void setup()
    {
    	// Nothing  (Stepper Library sets pins as outputs)
    }
     
    void loop()
    {
    	small_stepper.setSpeed(5);   // SLOWLY Show the 4 step sequence
    	Steps2Take  =  20;  // Rotate CW
    	small_stepper.step(Steps2Take);
    	delay(2000);
     
    	Steps2Take  =  STEPS_PER_OUTPUT_REVOLUTION / 2;  // Rotate CW 1/2 turn
    	small_stepper.setSpeed(500);
    	small_stepper.step(Steps2Take);
    	delay(1000);
     
    	Steps2Take  =  - STEPS_PER_OUTPUT_REVOLUTION / 2;  // Rotate CCW 1/2 turn
    	small_stepper.setSpeed(1000);  // 2000 a good max speed??
    	small_stepper.step(Steps2Take);
    	delay(2000);
    }
    Trouvé ici, ça fonctionne impeccable.

    Bonne journée
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  2. #22
    Nouveau Candidat au Club
    Homme Profil pro
    Bidouilleur di dimanche!
    Inscrit en
    octobre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Bidouilleur di dimanche!

    Informations forums :
    Inscription : octobre 2018
    Messages : 15
    Points : 1
    Points
    1

    Par défaut

    Je me branche à chaque fois sur les pin 13 12 11 10, je ne vois pas trop le problème, niveau alim j'ai essayer avec la sortie 5v du L298, aucune différence. C'est aussi avec un uln2003 pour le 28byj48. En fait le problème du 28byj48 est surtout la vitesse, au delà de 10tr/min ça devient chaud... par contre niveau budget ça correspond à la philosophie de mon projet que j'ai baptisé "Radin loader".

    Ton histoire de 4096 pas par tour m'a turlupiner puisque j'en était à 2048... ça m'a fait renouer avec la librairie accelstepper pour avoir le mode demi-pas donc un peu plus de couple.
    Ça pourrai aller mais par contre il semble que j'ai un point dur à passer dans la rotation de mon multiplicateur (pignon de 40dts sur pignon de 15dts), parfois ça tourne parfois ça bloque, j'ai du mal à trouver le point dur, peut être pas assez de jeu, je vais refaire une plaque arrière. J'ai aussi l'impression d'avoir une dent amochée... à creuser...

    Le nema17 fonctionne à 50tr/min pas plus avec mon code maison, mais c'est assez saccadé comparé à ceux de mon imprimante 3D, je ne comprend pas...

  3. #23
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 57
    Points : 93
    Points
    93

    Par défaut

    Salut Reloader
    Citation Envoyé par Reloader Voir le message
    Ton histoire de 4096 pas par tour m'a turlupiner puisque j'en était à 2048... ça m'a fait renouer avec la librairie accelstepper pour avoir le mode demi-pas donc un peu plus de couple.
    Je suis confus , en effet c'est bien 2048 pas, pour le mien aussi, j'ai lu une doc quidisait 64*64!

    Citation Envoyé par Reloader Voir le message
    Je me branche à chaque fois sur les pin 13 12 11 10, je ne vois pas trop le problème...,
    Avec Stepper.h, as-tu remarqué qu'il fallait croiser la paire du milieu?

    Stepper small_stepper(STEPS_PER_MOTOR_REVOLUTION, 13, 11, 12, 10);

    A+
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  4. #24
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 57
    Points : 93
    Points
    93

    Par défaut

    Re salut

    Idem avec Accelstepper.h

    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
    #include <AccelStepper.h>
     
    // Define a stepper and the pins it will use
    AccelStepper stepper(4, 13, 11, 12, 10); // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
     
    void setup()
    {
    	// Change these to suit your stepper if you want
    	stepper.setMaxSpeed(500);
    	stepper.setAcceleration(500);
    	stepper.moveTo(2048);
    }
     
    void loop()
    {
    	// If at the end of travel go to the other end
    	if (stepper.distanceToGo() == 0)
    	stepper.moveTo(-stepper.currentPosition());
     
    	stepper.run();
    }
    PS: Il est préférable de ne pas utiliser la sortie D13, elle est, en général, dédiée à la LED onboard.

    Bonne après-midi
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  5. #25
    Nouveau Candidat au Club
    Homme Profil pro
    Bidouilleur di dimanche!
    Inscrit en
    octobre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Bidouilleur di dimanche!

    Informations forums :
    Inscription : octobre 2018
    Messages : 15
    Points : 1
    Points
    1

    Par défaut

    Tu m'a donc mis sur une piste par accident!

    Car en effet le 28byj48 peut bien avoir 4096 pas (le double de 2048) via le mode demi pas.
    Ou un truc du genre, ce que j'ai fait... et effectivement il me faut 4096 impulsion par tour maintenant.

    Oui comme je te l'avais dit, j'ai trouvé le croisement des broches par tatonement, si tu inverse 10 et 11 tu change le sens de rotation.

    Effectivement D13 à la LED onboard, en quoi est-ce un problème? J'ignorais cela!

    [EDIT] Pour avoir ré-imprimé un 40 dents, c'est certainement le pignon qui est voilé et cause des blocages, ça s'annonce compliqué... à suivre.

  6. #26
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 57
    Points : 93
    Points
    93

    Par défaut

    Bonjour Reloader
    Citation Envoyé par Reloader Voir le message
    Effectivement D13 à la LED onboard, en quoi est-ce un problème? J'ignorais cela!
    Je pense que dans ton cas, cela n'a pas beaucoup d'influence

    Nom : UnoLedD13.jpg
Affichages : 43
Taille : 41,9 Ko

    Mais il faut le savoir, au début j'ai cru que c'était la cause de tes ennuis!

    J'ai débuté l'étude d'une balance électronique (pour le sport)
    Nom : Balance100gr.png
Affichages : 43
Taille : 228,1 Ko

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  7. #27
    Nouveau Candidat au Club
    Homme Profil pro
    Bidouilleur di dimanche!
    Inscrit en
    octobre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Bidouilleur di dimanche!

    Informations forums :
    Inscription : octobre 2018
    Messages : 15
    Points : 1
    Points
    1

    Par défaut

    J'ai régler son compte au 28byj48 et désormais c'est fonctionnel.
    En somme je pourrais considérer la partie électronique (software comme hardware) terminée.

    Par contre le 28byj48 tourne à maximum 12tr/min ce qui donne après ma sumultiplication 32tr/min, ça reste faible, 60 aurait été bien...

    D'ou mon intérêt pour le NEMA17 (17HS4401)... Mais je n'arrive toujours pas à obtenir une rotation rapide et sans saccade. J'ai réussi à monter à environ 80tr/min avec ce code:
    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
    pinMode(13, OUTPUT);
      pinMode(12, OUTPUT);
      pinMode(11, OUTPUT);
      pinMode(10, OUTPUT);
     
      for (int i=0; i <= untour*2; i++){
       int delais=1;
       int delaisoff=1;
       digitalWrite(13, HIGH);
       delay(delais);
       digitalWrite(13, LOW);
       delay(delaisoff);
       digitalWrite(11, HIGH);
       delay(delais);
       digitalWrite(11, LOW);
       delay(delaisoff);
        digitalWrite(12, HIGH);
       delay(delais);
       digitalWrite(12, LOW);
       delay(delaisoff);
        digitalWrite(10, HIGH);
       delay(delais);
       digitalWrite(10, LOW);
       delay(delaisoff);}
    Autrement dit, c'est vraiment de la bidouille mais la vitesse est admissible, le couple honnête, mais saccades...
    Avec les librairie stepper et accelstepper je n'arrive à rien de concluant!

    J'ai démonté le moteur, rien de spécial de découvert.
    Les 4 sorties du L298N semblent bien recevoir de la tension (suffisamment? Intensité?)

    Serait-il possible que mon moteur (chinoiserie) ai un bobinage défaillant?
    C'est comme si seulement 3 pas sur 4 étaient éxécutés, sachant que c'est un bipolaire...

    [Note pour les autres]
    La librairie accelstepper laisse un bobinage alimenté (une diode de l'ULN2003 reste allumée), cela semble être la cause d'une dérive de la mesure de poids (problème résolu avec des digitalWrite(XX, LOW); à la fin de la fonction du moteur.

  8. #28
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 57
    Points : 93
    Points
    93

    Par défaut

    Bonjour Reloader
    Citation Envoyé par Reloader Voir le message
    La librairie accelstepper laisse un bobinage alimenté (une diode de l'ULN2003 reste allumée), cela semble être la cause d'une dérive de la mesure de poids (problème résolu avec des digitalWrite(XX, LOW); à la fin de la fonction du moteur.
    Assez curieux, tu as un problème de sous-dimensionnement de l'alimentation. Expliques comment tu alimentes le tout, Arduino, moteur pas à pas.

    Citation Envoyé par Reloader Voir le message
    une diode de l'ULN2003 reste allumée
    Pour le driver du MPAP, je te conseille "de passer à la vitesse supérieur" et de prendre le A4988 qui rend la chose plus aisée.
    C'est avec lui que tu vas régler le courant du MPAP, il s'alimente en 5V. pour la logique et depuis 8V. pour le MPAP, il ne nécessite que 2 signaux de commande DIR et STEP et s'utilise, aussi, avec AccelStepper

    AccelStepper mystepper(1, pinStep, pinDirection);

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  9. #29
    Nouveau Candidat au Club
    Homme Profil pro
    Bidouilleur di dimanche!
    Inscrit en
    octobre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Bidouilleur di dimanche!

    Informations forums :
    Inscription : octobre 2018
    Messages : 15
    Points : 1
    Points
    1

    Par défaut

    Bonjour,

    Alimentation par le port USB du PC et rien d'autre.
    Mon projet portant le nom de Radin loader je suis réticent à l'achat de nouveau composants .

    Voilà le premier proto fonctionnel :



    Evidemment niveau look et ergonnomie, on est loin du compte, le reste c'est du design et de l'impression 3D, on approche du but.

    Pour les ombres au tableau :
    - La vitesse de rotation du 28BYJ48 est faible (mais il est pas cher, et ça s'apelle radin loader), le temps de chargement est long (cela dit on peut faire autre chose entre temps), possible d'y remédier en augmentant la pente du tube mais perte de précision probable.
    - Je me pose des questions sur la fiabilité et la répétabilité de la pesée (pas encore testé).

  10. #30
    Membre régulier Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatique
    Inscrit en
    février 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2013
    Messages : 57
    Points : 93
    Points
    93

    Par défaut

    Citation Envoyé par Reloader Voir le message
    Alimentation par le port USB du PC et rien d'autre.
    Il faut voire là la raison de tes divers ennuis avec les MPAP et celui évoqué dans le post #27 ([Note pour les autres])
    Un port USB sur PC garanti 500mA.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  11. #31
    Nouveau Candidat au Club
    Homme Profil pro
    Bidouilleur di dimanche!
    Inscrit en
    octobre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Bidouilleur di dimanche!

    Informations forums :
    Inscription : octobre 2018
    Messages : 15
    Points : 1
    Points
    1

    Par défaut

    Non je ne le pense pas, avec un chargeur USB 1000mA c'est pareil. D'ailleurs je pense que l'arduino en lui même ne peut pas délivrer une telle intensité, je devrais peut-être alimenter l'ULN2003 sans passer par la carte arduino... mais au final même via l'arduino ça marche quand même et c'est simple.

    Mon souci n'était en fait pas le moteur PAP en lui même, le montage faisait qu'il y avait un léger balourd dans le grand pignon dents, à chaque tour il remontait et la tolérance étant trop faible les 2 pignons forçaient l'un contre l'autre. A la main ça faisait un point dur, trop dur pour le PAP. Un coup de dremel et c'était réglé!
    Je n'ai pas trouvé la cause du balourd, en augmentant l'entraxe des pignons et avec des tolérances larges pour l'axe, ça marche.

    Actuellement je bosse sur un code pour stocker 4 mémoires de poids cible dans l'EEPROM.
    Concernant le débit de l'égreneur là aussi j'ai mon idée, les tests sont pour bientôt...

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/05/2017, 15h59
  2. Réponses: 3
    Dernier message: 25/11/2008, 16h52
  3. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 09h19
  4. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 17h35

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