Passionnement
Bonjour et bienvenu,

Bonjour et bienvenu sur le forum. Ici tu verra, la bonne humeur et l'entraide sont de mise.
Pas de reproche ni de prise de tête. Respect et Amitié sont de rigueur.
Pour la convivialité, nous te demandons de prendre 5mn pour te présenter a tout le monde et de renseigner ton profil le plus précisément possible.

Pour cela, ==> clique ici <== et tu créer un nouveaux sujet (une petite explication est en haut de la page).

Si tu ne fait pas de présentation, ton compte sera supprimé automatiquement après 48H.

Sans présentation, tu n'aura pas accès a la totalité du forum (qui comporte plus de 30.000 messages). Quand tu aura fait ta présentation, un modérateur ou administrateur te donnera les droits pour le forum dans sa totalité dans les 24 h.

Le Staff
Connexion

Récupérer mon mot de passe

Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Calendrier Calendrier

Rechercher
 
 

Résultats par :
 

 


Rechercher Recherche avancée

Derniers sujets
» Annonce Märklin SNCF
Aujourd'hui à 21:44 par likiki

» Changement d'adresse sur décodeur Marklin
Sam 14 Oct 2017 - 18:08 par dany-om

» La SNCF, une sacré entreprise.
Jeu 12 Oct 2017 - 1:05 par Cousin Hub

» Le train des alpes de Altaya par Aiguillage
Mar 10 Oct 2017 - 21:32 par likiki

» Littérature ferroviaire hors revues
Dim 8 Oct 2017 - 20:55 par dany-om

» La photo Mystère ........
Mar 3 Oct 2017 - 21:09 par dany-om

» Information Märklin 7286
Dim 1 Oct 2017 - 10:13 par likiki

» Clés pour le train miniature.
Dim 1 Oct 2017 - 9:20 par dany-om

» La chaine Aiguillages
Jeu 28 Sep 2017 - 18:41 par dany-om

» CS3 ... Découverte et utilisation
Mer 27 Sep 2017 - 21:22 par Vince Belgium

» Nouveaux articles sur Locoduino !
Mer 27 Sep 2017 - 20:36 par dany-om

» Pose du ballast sur voie C
Mer 27 Sep 2017 - 10:43 par Fred Glmt

» Test de décors .....
Lun 18 Sep 2017 - 14:57 par Vince Belgium

» La soudure??????
Lun 11 Sep 2017 - 19:14 par Cousin Hub

» Adieu aux automotrices postales de la SNCB
Dim 3 Sep 2017 - 13:44 par likiki

» Mini World Lyon Un projet fou ..................
Dim 3 Sep 2017 - 10:26 par dany-om

» Construction d'un pont
Sam 2 Sep 2017 - 18:45 par dany-om

» le train des Cévennes
Sam 2 Sep 2017 - 10:33 par Fred Glmt

» Petit message de Forumacitf
Mer 30 Aoû 2017 - 21:40 par Vince Belgium

» Grassinator
Dim 13 Aoû 2017 - 19:21 par dany-om


comment activer un moteur PAP directement sur un Arduino

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Ven 21 Nov 2014 - 23:49

Comment peut-on utiliser un moteur PAP unipolaire sans ajouter un driver spécifique basé sur un ULN2003A

Matériel :

-Une carte Arduino de  type MEGA2560, on peut utiliser toutes les cartes Arduino supportant du 5V.
A proscrire la carte Arduino DUE qui ne peut fonctionner que sous 3,3V, le moteur ne pourra pas tourner sans une modification du voltage d'entrée.

-Un moteur PAP unipolaire de 5V type 28BYJ-48-5, nombre de pas 64.

-5 fils électriques pour connecter aux pattes du moteur (bleu, rose, jaune, orange et rouge)

-le logiciel Arduino et le câble de transfert.

et puis c'est tout!

Schéma de montage sur Arduino MEGA 2560

sur le schéma ci dessous réalisé sur le logiciel fritzing, le moteur est un moteur unipolaire à 6 fils, le notre en comporte que 5.

sur la carte Arduino, on branche les fils dans l'ordre suivant :
le fil bleu sur la broche 28
le fil rose sur la broche 32
le fil jaune sur la broche 36
et le fil orange sur la broche 40

les broches sont de 4 en 4 pour espacer les fils sur le carte mais on peut prendre celles que l'on veut , le seul principe est de garder à l'esprit l'ordre des couleurs.

Le fil rouge correspond à la masse commune.




Programme n°1

Programme tout simple faisant tourner le moteur dans le sens horaire premièrement en version rapide (par pas entier)

le delay(3) est le minimum permettant à l'axe de fonctionner, toutes valeurs inférieures ou absence de delay empêchera le moteur de tourner.
le moteur ne possède pas beaucoup de couple contrairement au programme n°2, un simple serrement entre les doigts empêche le moteur de tourner.



 int moteur_orange = 28;
 int moteur_jaune = 32;
 int moteur_rose = 36;
 int moteur_bleu = 40;
 // Fil rouge moteur gnd
 
void setup()
{
   pinMode(moteur_orange,OUTPUT);
   pinMode(moteur_jaune,OUTPUT);
   pinMode(moteur_rose,OUTPUT);
   pinMode(moteur_bleu,OUTPUT);
}
void loop()
{
  //Moteur 
      digitalWrite(moteur_orange,1);
      digitalWrite(moteur_jaune,0);
      digitalWrite(moteur_rose,0);
      digitalWrite(moteur_bleu,0);
      delay(3);
      digitalWrite(moteur_orange,0);
      digitalWrite(moteur_jaune,1);
      digitalWrite(moteur_rose,0);
      digitalWrite(moteur_bleu,0);
      delay(3);
      digitalWrite(moteur_orange,0);
      digitalWrite(moteur_jaune,0);
      digitalWrite(moteur_rose,1);
      digitalWrite(moteur_bleu,0);
      delay(3);
      digitalWrite(moteur_orange,0);
      digitalWrite(moteur_jaune,0);
      digitalWrite(moteur_rose,0);
      digitalWrite(moteur_bleu,1);
      delay(3);
}

Programme n°2


Programme tout simple faisant tourner le moteur dans le sens horaire en version lent (par 1/2 pas)


le delay(2) est le minimum permettant à l'axe de fonctionner, toutes valeurs inférieures ou absence de delay empêchera le moteur de tourner.
Couple moteur plus puissant, la même force de serrage que sur le programme N° 1 ne peut arrêter le moteur.

Ce programme est à privilégier si l'on veut un certain couple.


 int moteur_orange = 28;
 int moteur_jaune = 32;
 int moteur_rose = 36;
 int moteur_bleu = 40;
 // Fil rouge moteur gnd
 
void setup()
{
   pinMode(moteur_orange,OUTPUT);
   pinMode(moteur_jaune,OUTPUT);
   pinMode(moteur_rose,OUTPUT);
   pinMode(moteur_bleu,OUTPUT);
}
void loop()
{
  //Moteur 
      digitalWrite(moteur_orange,1);
      digitalWrite(moteur_jaune,0);
      digitalWrite(moteur_rose,0);
      digitalWrite(moteur_bleu,0);
      delay(2);
      digitalWrite(moteur_orange,1);
      digitalWrite(moteur_jaune,1);
      digitalWrite(moteur_rose,0);
      digitalWrite(moteur_bleu,0);
      delay(2);
      digitalWrite(moteur_orange,0);
      digitalWrite(moteur_jaune,1);
      digitalWrite(moteur_rose,0);
      digitalWrite(moteur_bleu,0);
      delay(2);
      digitalWrite(moteur_orange,0);
      digitalWrite(moteur_jaune,1);
      digitalWrite(moteur_rose,1);
      digitalWrite(moteur_bleu,0);
      delay(2);
      digitalWrite(moteur_orange,0);
      digitalWrite(moteur_jaune,0);
      digitalWrite(moteur_rose,1);
      digitalWrite(moteur_bleu,0);
      delay(2);
      digitalWrite(moteur_orange,0);
      digitalWrite(moteur_jaune,0);
      digitalWrite(moteur_rose,1);
      digitalWrite(moteur_bleu,1);
      delay(2);
      digitalWrite(moteur_orange,0);
      digitalWrite(moteur_jaune,0);
      digitalWrite(moteur_rose,0);
      digitalWrite(moteur_bleu,1);
      delay(2);
      digitalWrite(moteur_orange,1);
      digitalWrite(moteur_jaune,0);
      digitalWrite(moteur_rose,0);
      digitalWrite(moteur_bleu,1);
delay(100);
}

Voila, vous savez faire tourner le moteur sans artifice supplémentaire dans le sens horaire.

Pour le sens inverse anti-horaire, commencer par le moteur-bleu et finissez avec le moteur orange (bleu, bleu-rose, rose, rose-jaune, jaune, jaune-orange, orange, orange-bleue)

Vous pouvez maintenant combiner des leds avec le moteur puis ajouter des boutons pour stopper ou démarrer le moteur.

je vous joins ci dessous un programme un peu plus complexe qui met en œuvre quelques éléments ci dessus.


Programme N°3

Fonctionnement du moteur dans le sens horaire puis sens anti-horaire avec allumage des leds selon la position.



 unsigned long pause_red = 0;
 unsigned long pause_white = 0;
 unsigned long pause_moteur = 0;
 unsigned long pause_moteur_sens = 0;
 boolean initialise = false;
 int sens_moteur_A = 1;
 int sens_moteur_B = 0;
 int animation_red =0;
 int animation_white =0;
 int animation_moteur =0;
 int animation_moteur_sens =0;
 int led_red = 21;
 int led_one = 15;
 int led_two = 17;
 int led_three = 19;
 int led_moteur = 44;
 int moteur_orange = 28;
 int moteur_jaune = 32;
 int moteur_rose = 36;
 int moteur_bleu = 40;
 // rouge gnd
 
void setup()
{
   pinMode(led_red,OUTPUT);
   pinMode(led_one,OUTPUT);
   pinMode(led_two,OUTPUT);
   pinMode(led_three,OUTPUT);
   pinMode(moteur_orange,OUTPUT);
   pinMode(moteur_jaune,OUTPUT);
   pinMode(moteur_rose,OUTPUT);
   pinMode(moteur_bleu,OUTPUT);
   pinMode(led_moteur,OUTPUT);
}
void loop() {
  if(millis() - pause_red >= 1000){
    animation_red %=2;
    switch(animation_red)
    {
        case 0:
          digitalWrite(led_red,0);
        break;
        case 1:
          digitalWrite(led_red,1);
        break;
    }
    pause_red = millis();
    animation_red++;
  }
  if(millis() - pause_white >= 500){
    animation_white %=4;
    switch(animation_white)
    {
        case 0:
          digitalWrite(led_one,1);
          digitalWrite(led_two,0);
          digitalWrite(led_three,0);
        break;
        case 1:
          digitalWrite(led_one,0);
          digitalWrite(led_two,1);
        break;
        case 2:
          digitalWrite(led_two,0);
          digitalWrite(led_three,1);
        break;
        case 3:
          digitalWrite(led_one,1);
          digitalWrite(led_two,1);
        break;
    }
    pause_white = millis();
    animation_white++;
  }
  
  //Moteur 
  switch(animation_moteur_sens)
  {
    case 0:
      digitalWrite(led_moteur,0);
      tourne(1);
    break;
    case 1:
      tourne(-1);
    break;
    case 2:
      digitalWrite(led_moteur,1);
    break;
    case 3:
      digitalWrite(led_moteur,0);
      tourne(-1);
    break;
    case 4:
      tourne(1);
    break;
    case 5:
      digitalWrite(led_moteur,1);
    break;
  }
  if(millis() - pause_moteur_sens >= 5125){//41000 = 360° donc 8.78°/s
    pause_moteur_sens = millis();
    animation_moteur_sens++;
    animation_moteur_sens %=6;
  }
}
void tourne(int sens){
  if(millis() - pause_moteur >= 2.5){
    pause_moteur = millis();
    animation_moteur %=8;
    if(sens != 1){
      switch(animation_moteur)
      {
          case 0:
            digitalWrite(moteur_orange,1);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,0);
          break;
          case 1:
            digitalWrite(moteur_orange,1);
            digitalWrite(moteur_jaune,1);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,0);
          break;
          case 2:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,1);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,0);
          break;
          case 3:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,1);
            digitalWrite(moteur_rose,1);
            digitalWrite(moteur_bleu,0);
          break;
          case 4:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,1);
            digitalWrite(moteur_bleu,0);
          break;
          case 5:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,1);
            digitalWrite(moteur_bleu,1);
          break;
          case 6:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,1);
          break;
          case 7:
            digitalWrite(moteur_orange,1);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,1);
          break;
      }
    }
    else{
      switch(animation_moteur)
      {
          case 0:
            digitalWrite(moteur_orange,1);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,0);
          break;
          case 1:
            digitalWrite(moteur_orange,1);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,1);
          break;
          case 2:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,1);
          break;
          case 3:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,1);
            digitalWrite(moteur_bleu,1);
          break;
          case 4:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,0);
            digitalWrite(moteur_rose,1);
            digitalWrite(moteur_bleu,0);
          break;
          case 5:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,1);
            digitalWrite(moteur_rose,1);
            digitalWrite(moteur_bleu,0);
          break;
          case 6:
            digitalWrite(moteur_orange,0);
            digitalWrite(moteur_jaune,1);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,0);
          break;
          case 7:
            digitalWrite(moteur_orange,1);
            digitalWrite(moteur_jaune,1);
            digitalWrite(moteur_rose,0);
            digitalWrite(moteur_bleu,0);
          break;
      }
    }
    animation_moteur++;
    }
}

Ce programme peut par exemple animer un pont transbordeur avec quelques modifications et ajouts de contacteurs de fin de courses au cas ou le moteur saute des pas.

Passage d'une loco ou d'un wagon de la voie A à la voie B sans retournement de matériel.

exemple ci dessous :



Dernière édition par Cousin Hub le Sam 22 Nov 2014 - 11:45, édité 1 fois
avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par likiki le Sam 22 Nov 2014 - 11:22

Merci Hubert, vue comme cela, ça parait tout de suite plus facile.

Very Happy
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10946
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Sam 22 Nov 2014 - 12:27

une vidéo du montage fonctionnant avec le programme 2
le delay() entre chaque état du pas est de 2 milliseconde, nous ne pouvons descendre en dessous pour faire fonctionner le moteur

En conséquence chaque pas du moteur prend 8 états avec 2millisecondes par état soit 16 millisecondes par pas entier.

le programme n°1 ne prend que 4 états avec 3 millisecondes par état donc un total de 12 milliseconde par pas entier.
La différence n'est pas grande.



Dernière édition par Cousin Hub le Sam 22 Nov 2014 - 12:57, édité 1 fois
avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Sam 22 Nov 2014 - 15:01

une vidéo du montage fonctionnant avec le programme 1


Le delai entre chaque état du pas est de 3 millisecondes, une valeur inférieure ne fera pas fonctionner le moteur




avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par likiki le Sam 22 Nov 2014 - 15:07


Superbes vidéos.

avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10946
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Invité le Sam 22 Nov 2014 - 16:36




Super intéressant pour un pont tournant et pour un futur petit réseau Hoe .
Le chemin va être encore très long pour le voir naître. Plus j'avance dans le projet et plus je me pause de questions notamment avec les nombreuses applications de l'Arduino et de la mise en œuvre des applications possibles.

Encore
avatar
Invité
Invité


Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Gwadavel le Sam 22 Nov 2014 - 23:49

Hubert, on en a un peut discuté, mais on ne peut pas conseiller ça à des débutants, c'est le meilleur moyen pour cramer son microcontrôleur.

Il faut mieux passer par un ULN2003A pour isoler les sorties du microcontrôleur et les entrées du moteur.

Il existe de petits modules avec un ULN2003A qui ne coute que 2€.
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Dim 23 Nov 2014 - 0:22

mais je ne m'adresse pas a des débutants, nous ne sommes pas sur le sous forum des jeunes padawan.

Tu as entièrement raison de préconiser l'utilisation des ULN2003A.

je fais cela pour montrer que l'on peut faire sans. Chacun prendra en fonction de ses connaissances.

lol!
avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Lun 24 Nov 2014 - 11:26

Petite modification concernant le montage sur Arduino.

En fait, le cable rouge (GND) en provenance du moteur n'est pas obligatoire non plus.

Lors du fonctionnement avec le pont transbordeur il à été deconnecté par erreur et cela n'a pas modifié le fonctionnement du moteur, je l'ai supprimé totalement et effectivement la programmation ne tient pas compte de l'utilisation du cinquième câble du moteur.

A voir son interet sur le driver équipé de l'UNL2003A
avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Invité le Lun 26 Jan 2015 - 23:05

Bonsoir,

Dans le schéma ou se trouve les inter ?
Au début du post tu parles d'un 28BYJ-48 et le montage montre un autre moteur !!

Je cherche à réaliser une plaque tournante avec un 28BYJ...et une carte Uno ...
avec des déplacement "simples" une impulsion sur un poussoir et hop à gauche une autre impulsion
sur un second poussoir et hop à droite Very Happy
En fait je n'ai besoin que de déplacement 1/4 ou 1/2 tour

J'essaie de faire les cours Arduino de "mon-club-elec" mais au fur et à mesure que j'avance je commence à pédaler dans la semoule

Si tu avais une p'tite idée à me glisser ....

Alain
avatar
Invité
Invité


Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Invité le Mar 27 Jan 2015 - 1:00

Alain37 a écrit:Bonsoir,

Dans le schéma ou se trouve les inter ?
Au début du post tu parles d'un 28BYJ-48 et le montage montre un autre moteur !!

Je cherche à réaliser une plaque tournante avec un 28BYJ...et une carte Uno ...
avec des déplacement "simples" une impulsion sur un poussoir et hop à gauche une autre impulsion
sur un second poussoir et hop à droite Very Happy
En fait je n'ai besoin que de déplacement 1/4 ou 1/2 tour

J'essaie de faire les cours Arduino de "mon-club-elec" mais au fur et à mesure que j'avance je commence à pédaler dans la semoule

Si tu avais une p'tite idée à me glisser ....

Alain

Hello Alain Very Happy

Ainsi tu commences à pédaler dans la semoule ?????

Qu est ce que je dois dire moi ?? Sans doute que je pédale dans la mar....de québécoise en calisse 

Moi je vais recommencer a mon rythme les cours donnés par le grand Sachem Bouffeur....mais je sais qu il vaut mieux pas brûler les étapes et aller trop vite....à moins que d avoir de bonnes connaissances...ce qui n est pas mon cas...de toutes façons j ai tout mon temps...minimum de 15 mois pour monter mon projet Heidelberg,,,arduino viendra contrôler ce réseau avec Itrain dont je tout reconfigurer et apprendre de nouveau.... j en ai oublié des bouttes...a propos Cousin Hub...tu vais encore ? :hahaha:ca fa8isait longtemps que je ne t avais vu sur le forum
avatar
Invité
Invité


Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Mar 27 Jan 2015 - 11:32

Alain37 a écrit:Bonsoir,

Dans le schéma ou se trouve les inter ?
Au début du post tu parles d'un 28BYJ-48 et le montage montre un autre moteur !!

Je cherche à réaliser une plaque tournante avec un 28BYJ...et une carte Uno ...
avec des déplacement "simples" une impulsion sur un poussoir et hop à gauche une autre impulsion
sur un second poussoir et hop à droite Very Happy
En fait je n'ai besoin que de déplacement 1/4 ou 1/2 tour

J'essaie de faire les cours Arduino de "mon-club-elec" mais au fur et à mesure que j'avance je commence à pédaler dans la semoule

Si tu avais une p'tite idée à me glisser ....

Alain

Non, le moteur que je présente dans la vidéo est bien de la référence indiqué en 5V, j'ai fais une vidéo sur un pont transbordeur que j'ai testé avec ce moteur.

Je crois que cela correspond à ton projet, sur ce forum à l'adresse suivante: http://passionnement.forumactif.org/t975-pont-transbordeur-et-arduinomaquette#22794

avec deux contact de fin de course bien placés ou pas puisque j'ai simulé une butée par une simple punaise aiguille.

Depuis j'ai travaillé sur la coupure du programme par deux contact de fin de course et des détecteurs à effet hall pour savoir si le pont transbordeur est occupé ou pas.

Reste encore du boulot pour intégrer la signalisaiton à l'entrée et à la sortie

si cela te conviens, n"hésites pas, je t'aiderai à finaliser ton projet.

Cousin hub
avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par likiki le Mar 27 Jan 2015 - 15:42

Sujet bien expliqué d'ailleurs. king
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10946
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Invité le Mar 27 Jan 2015 - 17:35

Re..

J'avais bien lu le sujet !! Et j'ai bien regardé le programme ,Je vois bien un switch dans le programme
mais le FdC (fin de course) physiquement dans la partie câblage ,il se trouve ou ?
Coupe-t-il le +5v ou une phase moteur

Ou alors ,ce qui serait le mieux c'est de tout faire avec le programme  :
Une détermination du zéro de départ, ensuite on compte le nombre de pas et en théorie il arrive à la
position demandée ...mais il y a toujours un poussoir ou un inter quelque part dans le câblage pour le faire
aller vers une autre position !!!! Question Question Question Question

Ce soir je vais faire un tour du côté du "Fun Lab" à Tours ,je vais essayé de glisser ma question s'il y a
un individu qui veut bien perdre du temps .... Embarassed Embarassed

Parce qu'en même temps je vais faire une impression 3D d'une première plaque tournante 

Ø 60mm et le centre pour s'emmancher sur l'axe du 28BYJ

Déjà merci de répondre
Et puis je vous informe de ce que j'aurais pu glaner comme réponse

Alain
A+
avatar
Invité
Invité


Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par likiki le Mar 27 Jan 2015 - 18:08

Hubert n'a pas mis de switch en fin de course.
Sur son montage, le pont bloque sur une des butées (punaise) et le moteur se retrouve bloqué, pendant ce temps là, le programme poursuit bêtement ses instructions jusqu'à la fin et change automatiquement de sens.

Pour un pont tournant, il faut bien entendu soit :

1) mettre des switch de position ou tout autre artifice (LED infra par exemple)

2) savoir exactement le nombre de pas nécessaire pour aller d'une position a une autre, avec le risque, que le pont ne réagisse pas de la même façon selon le poids posé dessus.

3) un mélange des points 1 & 2 (ce que je préconiserais)

king
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10946
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Invité le Mar 27 Jan 2015 - 18:29

Un détail :



mes 17 plaques tournantes sont presque toutes dans ce style Smile
avatar
Invité
Invité


Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par likiki le Mar 27 Jan 2015 - 19:32

Des plaques tournantes 1/4 de tour.

Sacré chantier.

Very Happy
avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10946
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par lherve54 le Mar 27 Jan 2015 - 20:54

bonsoir

il y a un article sur le L Revue de ce mois  ci a prpos de la commande par arduino de moteur a courant continu ou ceux pas a pas
avatar
lherve54
Petit posteur
Petit posteur

Localisation : pont saint vincent
Messages : 567
Age : 54
Emploi/loisirs : / Train miniature

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Mar 27 Jan 2015 - 21:08

le meilleur moyen de faire du quart de tour en étant sur et certain d'être à la bonne place n'existe pas car chaque procédé a son lot de pour et contre.

le meilleur pour le moment avec le moins de négatif est le fonctionnement par servo moteur 360 °.
tu donnes l'angle et le servo s'y met tout seul.

Code:


monservo.write(0); // met le servo à 0°
monservo.write(90); // met le servo à 90° horaire
monservo.write(180); // met le servo à 180° horaire

monservo.writeMicroseconds(1000); // tourne le servo sur une durée de 1000 microsecondes ce qui donne un angle quelconque à calculer.

c'est plus difficile avec des angles de 7.33° donc nous utiliserons des moteurs PAP de 64 pas comme pour une rotonde.

un peu comme cet exemple en multi tour, bien que pour toi un 180° suffit


avec un couple de 3.2 kg/cm, il peut donc entrainer un poids de 3.2 kg sur un bras de 1cm du centre de rotation.
Avec un bras de 10 cm , il ne pourra entrainer que 320g.

un gars superbe que j'aime bien, car il est très pédagogue et il se donne à fond dans ses expériences:

Tu trouveras ce que tu veux savoir sur le servo 360°.

http://eskimon.fr/287-arduino-602-un-moteur-qui-de-la-tete-le-servo-moteur
avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par likiki le Mar 27 Jan 2015 - 21:17

Application très intéressante.

avatar
likiki
Administrateur
Administrateur

Localisation : Saintry Sur Seine
Humeur : De tout coeur avec les victimes des attentats en France.
Messages : 10946
Age : 50
Emploi/loisirs : Gérant de son BET Ascenseurs

http://Webacappelliens.fr

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Gwadavel le Mer 28 Jan 2015 - 11:13

Bonjour,

Alain, je ne vois pas où est la difficulté pour tes plaques à 1/4 de tour, un simple moteur et 2 interrupteurs suffisent, tes plaquent n'ont pas besoin de faire un tour en entier ?

Comme tu as, la chance, d'avoir accès à un FabLab dans ton plan pour les plaques tu prévois un ergot qui viendra appuyer sur un interrupteur pour arrêter le moteur.
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Invité le Mer 28 Jan 2015 - 12:43

Bonjour Gwadavel,

Pour les moteurs "classiques" c'est-à-dire à courant continu ,j'y ai bien pensé mais il y a l'inertie à prendre en compte !!!!! Et je pense que cela peut devenir em......ant quand le moteur à décidé de faire autre chose que tu veux qu'il fasse !!!

Je réfléchi aussi à des commandes manuelles ....je n'ai pas encore abandonné l'idée Question

Pour le "Fun Lab" ,effectivement c'est très bien, depuis le temps que je cherchais .J'avais vu un reportage à la télévision et le principe est super.
Et momentanément nous sommes installés chez les compagnons du devoir, jusqu'à ce qu'on nous trouve  un local plus grand.
Nous disposons d'imprimantes 3D,fraiseuse 2D,découpe laser et une découpe "fil chaud" pour le polystyrène .

Hier il y a eu un petit cours sur le bus "I2C" pour Arduino.

J'en ai profité pour apprendre qu'il y a sur la carte Arduino Uno une seule entrée pour un inter ou un poussoir (borne 2 & 3) , par contre sur la carte Atmega 2560 il y en a 3 (borne 2/3,18/19,20/21)

Je continue mes apprentissage avec le dossier "Pdf" mon club elec..... je les refais plusieurs fois pour que ça rentre, je dois avoir une fuite quelque part ...... drunken

Bon A+ cet après-midi je vais au club

Alain
avatar
Invité
Invité


Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Gwadavel le Mer 28 Jan 2015 - 13:09

J'en ai profité pour apprendre qu'il y a sur la carte Arduino Uno une seule entrée pour un inter ou un poussoir (borne 2 & 3) , par contre sur la carte Atmega 2560 il y en a 3 (borne 2/3,18/19,20/21)

affraid affraid 

La il doit y avoir un problème de compréhension Smile
A mon avis tu parles des interruptions.

Ouvre un sujet dans ton monde, car la on est en train de pourrir le sujet de cousin Hub.
avatar
Gwadavel
Petit posteur
Petit posteur

Localisation : Antony (92)
Messages : 107
Emploi/loisirs : Administrateur Réseaux/Modélisme Moto Arduino

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Mer 28 Jan 2015 - 15:20

merci Eric sinon je fais me facher
avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Cousin Hub le Mer 28 Jan 2015 - 16:23

Alain37 a écrit:Bonjour Gwadavel,

Pour les moteurs "classiques" c'est-à-dire à courant continu ,j'y ai bien pensé mais il y a l'inertie à prendre en compte !!!!! Et je pense que cela peut devenir em......ant quand le moteur à décidé de faire autre chose que tu veux qu'il fasse !!!

Bonjour Alain,

Avec les servomoteurs, ce qui est génial c'est que l'accéleration est constante et le freinage progressif, tu peux avoir un démarrage lent puis stabilité pendant la phase de rotation et freinage progressif jusqu'à la position finale.

De plus vu les dimensions du servomoteur, tu le met directement sous la plaque tournante et pour les manipulations techniques, tu ne touches pas au décor mais seulement tu souleves la plaque.

Avec un peu de composant complémentaire pour régulé à 5V, tu peux même alimenter à partir de la voie et gagner du cablage.

Franchement, moi je dis que tu devrais essayé. avec la bibliothèque (librairie) servo.h, c'est un jeu d'enfant surtout pour le nombre que tu as à faire.
Du côté maintenance les servos sont costauds et ne consomment que lorsque l'on s'en sert.
tu auras plus de facilité à retirer un servo qu'un moteur PaP.
Bonjour la galère pour tomber pile poil sur les rails avec un PAP sans ajouter des composants style contact et calage pour le bon alignement.

Mais c'est toi qui voit, moi je ne peux que te conseiller et la décision t'appartient.
Cousin Hub
avatar
Cousin Hub
Administrateur
Administrateur

Localisation : partout ou la liberté est en danger.
Humeur : une pensée pour ceux qui comme moi défendent les valeurs de la France au prix de leur propre vie.
Messages : 2790
Age : 55
Emploi/loisirs : train, modelisme, arduino, robotique

Revenir en haut Aller en bas

Re: comment activer un moteur PAP directement sur un Arduino

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum