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 :

Arduino + Moteur pas à pas + stepper + Horloge


Sujet :

Arduino

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Arduino + Moteur pas à pas + stepper + Horloge
    Bonjour, je suis complement débutant dans tout ce domaine et tout ce que je peux lire pour l'instant est du charabia pour moi... Je suis complètement à bout et donc je viens vous demander de l'aide!
    J'essaye de faire tourner un moteur selon le cycle suivant:
    - tourne 120 secondes à vitesse 10 sec par rotation
    - pause 528 secondes
    - tourne 120 secondes dans l'autre sens à la meme vitesse
    - pause 528 secondes
    -> recommence en continue.

    l'objectif de tout ca est de fabriquer un remontoir de montre !

    Je dispose d'un Arduino Uno, d'un moteur Nema 17, d'un stepper TB6600, et j'aimerais intégrer une horloge DS1302 pour suivre le temps et pouvoir fonctionner pour une durée "illimitée"...

    J'ai essayer de le faire seul mais je n'arrive à rien...
    Pourriez vous m'aider pour le code et pour les branchements ?

    Merci beaucoup d'avance !!!

  2. #2
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 327
    Points : 4 144
    Points
    4 144
    Par défaut Questions
    Bonjour,

    A quoi servirait une horloge pour un temps illimité ?

    Moteur pas à pas pour remonter une montre ? Un moteur classique avec réducteur commandé par un simple pont et PWM semblerait plus en adéquation. C'est un exercice ?

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    - le remontoir serait branché de façon continue donc l'arduino va fonctionner pendant plusieurs mois / années sans interruptions... d'ou l'intérêt d'un module quartz pour avoir plus de precision dans le temps.
    - j'utilise un moteur pas à pas car j'ai besoin de pas mal de couple (faire tourne 6 montres avec courroie et poulies avec un seul moteur). j'en ai discuté avec beaucoup de personnes assez doués dans tout ca et il semblerait que le pas à pas soit le plus adapté. En effet, je dois pouvoir lui faire faire plusieurs tours d'affilé et dans les 2 sens donc pas de cerveau moteur envisageable...

    merci

  4. #4
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 327
    Points : 4 144
    Points
    4 144
    Par défaut Adéquation
    Bonjour,

    Un moteur avec réducteur a, de facto, beaucoup de couple mais tourne lentement ce qui correspond bien au besoin. Cela n'a rien à voir avec un servo-moteur.

    Si j'ai bien compris, c'est pour maintenir actives des montres qui se remontent normalement par les mouvements du poigné. Mouvements très peu réguliers. Il s'ensuit que la recherche d'une très grande régularité ne semble pas nécessaire au bon fonctionnement d'où ma question sur le besoin d'une horloge.

    Il en serait autrement si les montres devaient avoir des cycles de recharge, par exemple seulement une fois par jour (en fait 4 à 6 heures la nuit) pour être pleinement disponibles le matin.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    tout d'abord, merci pour votre intérêt

    En effet, le cycle de recharge doit etre assez précis pour ne pas user le mécanisme de la montre... concrètement, le cycle doit etre le suivant:
    - tourne 120 secondes à vitesse 10 sec par rotation
    - pause 528 secondes
    - tourne 120 secondes dans l'autre sens à la meme vitesse
    - pause 528 secondes
    -> recommence en continue.

    ce cycle se répète toute la journée et sans fin...

    l'intérêt est double car avec le moteur pas à pas, je peux terminer chaque étape du cycle à une position précise ce qui permet en facade d'avoir les montre droites et c'est plus joli !

  6. #6
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 327
    Points : 4 144
    Points
    4 144
    Par défaut Un moteur vous manque...
    Bonjour,

    Pour un beau positionnement des montres, pourquoi pas un moteur pas à pas mais dans ce cas il faut remplacer les poulies par des engrenages car toute courroie lisse a des glissements faibles mais cumulatifs et de plus non homogènes.

    Par ailleurs, il faut prévoir un arrêt durant le retrait d'une montre car un forçage fera perdre des pas au moteur donc les références d'alignement. Cela illustre qu'un système incrémental ne peut garantir seul des postions absolues (prévoir une possibilité de réalignement manuel ou avec un capteur de position de référence).

    Ceci étant je n'ai toujours pas compris l'intérêt d'une horloge temps réel. Que la recharge d'une montre tourne pendant 120,001 s et ne s'arrête que 527,998 s au lieu de 120 s et 528 s ne changera pas grand chose. Sauf si la boite doit afficher l'heure pour pouvoir remettre les montres à l'heure. Mais alors il faudrait sans doute prévoir un asservissement du module afin qu'il devienne une référence fiable.

    Bonne chance
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    En effet la courroie ne peut être lisse. Je me suis tourné vers une courroie denté type GT2 avec un tendeur entre chaque montre pour avoir quelque chose de régulier.
    J'ai "créer" un systems pour pouvoir retirer en facade les montres sans forcer sur la rotation (mais toujours mieux de le faire à l'arrêt en effet).

    Pour l'horloge, j'ai compris en échangeant avec plusieurs personnes que au bout de plusieurs semaines ou mois, la précision de l'arduino serait extrêmement relative à cause de sa durée de fonctionnement et que prendre le temps sur un module externe permettait de pallier à ce problème... l'autre solution pourrait être de forcer l'arduino à "reboot" à la fin de chaque cycle pour ne reprendre de zero. Mais je ne suis pas forcement à l'aise avec cette idée (peut etre à tort).

    Quoi qu'il en soit, comment puis-je articuler mon code selon vous ?

    Merci beaucoup !

  8. #8
    Expert confirmé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 327
    Points : 4 144
    Points
    4 144
    Par défaut
    Bonjour,

    La précision de l'Arduino ne va pas changer. Il va juste accumuler du retards ou de l'avance. Donc les cycles vont se décaler progressivement.

    Mais cela ne semble pas important puisqu'il y a déjà un décalage intrinsèque aux valeurs choisies. En effet, les temps choisis pour un cycle complet, 528+120+528+120 soit 1296 s, ne tombent pas juste sur une journée (66 cycles+2/3), il faut donc 3 jours pour retrouver le même phasage. Or 2/3 de cycle représente 432 s par jour soit plus de 7 minutes. Le décalage journalier de l'Arduino sera, au pire, de l'ordre de la seconde par jour (sauf erreur de programmation ).

    Le découpage n'a rien de révolutionnaire.

    Une fonction de commande moteur non bloquante (pas ou peu de delay() ) différente selon l'usage ou non des micro-pas. Un seul argument entre -1, 0, +1. Soit son appel par la boucle principale est suffisamment fréquent (délais plus courts que la durée d'un pas (ce qui devrait être assez aisé) soit l'appel s'opère via une interruption sur timer (dans ce cas l'argument devient une variable globale volatile).

    Une boucle principale classique qui pourrait, outre l'appel (ou non) de la fonction de contrôle du moteur, gérer :
    • Un bouton qui permette d'activer/désactiver le moteur ne serait ce que pour recaler les positions et considérer qu'elles sont nominales à la réactivation. Si le couple de maintien du moteur est élevé, il faut soit prévoir des commandes Up/Down pour faire du pas à pas manuel soit avoir la possibilité de découpler le moteur des plots qui supportent les montres (en relâchant fortement la tension des courroies par exemple).
    • La possibilité de modifier les paramètres des cycles via la liaison série (mais cela implique de gérer le stockage afin que les nouveaux paramètres soient pérennes.
    • Une led deux couleurs utile pour indiquer le bon fonctionnement même de loin (vert : rotation 1, rouge : rotation 2, orange : pause normale, éteinte : aie !).

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/01/2021, 12h40
  2. Réponses: 0
    Dernier message: 17/07/2018, 11h42
  3. Réponses: 3
    Dernier message: 12/12/2017, 14h51
  4. L293D Arduino : moteur bruyant et pas de mouvement
    Par MarvinM dans le forum Arduino
    Réponses: 3
    Dernier message: 16/02/2017, 12h29
  5. Moteur pas à pas arduino
    Par pascalice dans le forum Arduino
    Réponses: 2
    Dernier message: 02/03/2014, 21h17

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