Pascal C03

pilotage de moteur p.a.p. de la manière la plus basique... Comment procède-t-on ? ?

Messages recommandés

Bonjour,

 

Dans le cadre d'une idée de projet de travail avec mes étudiants, j'aimerais savoir comment on peut piloter un moteur pas à pas de manière très simple.

interrupteur on off +  un potar pour ajuster la vitesse et un interrupteur pour le changement de sens ?

 

Je pense à un moteur pap qui me parait moins cher qu'un mini motoréducteur 6 ou 12 V... et comme il me faudrait plusieurs moteurs... 4 à 6 ?

 

Le tout doit être très bon marché : c'est bibi qui va devoir acheter le matériel; l'administration universitaire étant devenue kafkaiosoviétique...

 

La limite du système : je n'y connais rien pour l'instant mais je peux m'y coller

 

Merci et bonne journée

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est pas le plus simple le Pas à pas pour un truc bricolé à mon avis.

Le moteur fonctionne à partir de polarisations que tu applique sur des bobines. Et la polarisation va "aligner" le rotor avec le stator. 

Si tu ne change plus rien, le moteur ne bouge plus, il a au mieux avancé d'un pas.

Maintenant si tu change la polarité le moteur va changer de position pour se réaligner sur le nouveau pas.

C'est l'alternance de ces changements de polarisation qui fait que le moteur va tourner. La fréquence du changement a un effet immédiat sur la vitesse de rotation.

Après, tu peux être joueur et polariser plusieurs bobines en même temps, et tu te retrouve "entre deux", c'est également considéré comme une position "fixe" ou encore appelé "demi pas" (forcément tu te retrouve entre deux pas "pleins").

Avec une électronique de contrôle tu peux avoir du 1/4 de pas, du 1/8e ... du 1/256e mais on se rapproche alors d'un moteur synchrone qui présente une douceur de mouvement que le pas à pas n'aura jamais (mais moins de latitude de mouvement en vitesse entre autre). Mais attention, un moteur pas à pas maintiendra très mal ces positions là (ce ne sont pas des positions stables).

 

Tu trouvera des moteurs qui font 32 pas par tour assez généralement dans des imprimantes par exemple. Donc il faudra une alternance de 32 polarisation pour lui faire faire un tour. Ce se sent quand tu les fait tourner dans la main :) ! Il existe des moteurs avec 256 (voire plus) pas par tour.

Le mouvement va être plus "lisse" mais en contrepartie il faut de grosses fréquences pour les faire tourner vite.

Sur une monture de C8, avec un pilotage au 1/16e, j'avais une résolution meilleure que 0,6" sur le ciel (pilotage à 400Hz, AD de 359 dents) mais j'étais limité en vitesse haute. Je m'en foutais un peu, sans GOTO desserrer des freins pour me déplacer n'était pas un problème ! 

 

https://fr.wikipedia.org/wiki/Moteur_pas_à_pas explique bien la chose avec des schémas.

 

Comme tu vois, un pas à pas nécessite pas mal de choses autour de lui pour fonctionner et puis le couple du moteur est lié à l'intensité qu'on applique, et ca monte vite quand même ! Avec un oscillateur (555) et quelques bobines, c'est jouable (avec des études préliminaires) il faut voir le niveau des étudiants ? Pourquoi pas piloté à partir d'un raspberry (pour le coté numérique) et quelques transistors pour la puissance ?

 

Un moteur synchrone est plus simple quand même (mais moins rigolo) !

 

Marc

 

 

 

 

 

  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors

à mon avis il te faut un driver pour donner plus de tension au moteur et varier la vitesse avec un arduino comme dit @ALAING

c'est quoi comme moteur à part un moteur pas à pas tu peux nous donner la référence ???

cdt

Modifié par manup

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci.

 

En fait, c'est en lien avec la réalisation d'un petit véhicule en plastique imprimé 3D. Je n'ai aucun besoin de précision, il faut juste qu'il tourne... pour faire vrai...

 

Je n'ai pour l'instant aucune référence. besoin d'aucune puissance. Il faut qu'il soient très petits. les roues seront en entrainement direct.

Je pensais effectivement à un arduino...

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Je pilote avec un Arduino Nano un PAP ( à vitesse fixe et en mode wave ) pour commander un Focuser

via un interrupteur à 3 positions (Sens+, Off, Sens-)

Voici le code pour info que j'ai écrit :

 

#define OUTMASK 0x0f // D8,D9,D10,D11 = Phases Moteur
#define INMASK  0xc0 // D6,D7 = Switch Sens +/-
#define SW1 0x40 // Switch D6
#define SW2 0x80 // Switch D7
#define Tpas 1740

 

int pn, sw1, sw2;

 

void Moteur(int dir) // Cde en mode Wave
{
  pn = pn+dir;
  pn = (pn+4)%4;
  PORTB = round(abs(dir*(pow(2,pn)))); // dir = 0 -> 4 phases = off
  delayMicroseconds(Tpas);
}

 

void setup()
{
  DDRB |= OUTMASK;
  DDRD &= (~INMASK);
  PORTD |= INMASK;
}

 

void loop()
{
  sw1 = !(PIND & SW1);  // 0 = moteur off,  1 = on et sens+
  sw2 = -!(PIND & SW2); // 0 = moteur off, -1 = on et sens-
  Moteur(sw1+sw2);
}      
 

Volcryn  ;)

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 20 minutes, Volcryn a dit :

#define OUTMASK 0x0f // D8,D9,D10,D11 = Phases Moteur
#define INMASK  0xc0 // D6,D7 = Switch Sens +/-
#define SW1 0x40 // Switch D6
#define SW2 0x80 // Switch D7
#define Tpas 1740

 

int pn, sw1, sw2;

 

void Moteur(int dir) // Cde en mode Wave
{
  pn = pn+dir;
  pn = (pn+4)%4;
  PORTB = round(abs(dir*(pow(2,pn)))); // dir = 0 -> 4 phases = off
  delayMicroseconds(Tpas);
}

 

void setup()
{
  DDRB |= OUTMASK;
  DDRD &= (~INMASK);
  PORTD |= INMASK;
}

 

void loop()
{
  sw1 = !(PIND & SW1);  // 0 = moteur off,  1 = on et sens+
  sw2 = -!(PIND & SW2); // 0 = moteur off, -1 = on et sens-
  Moteur(sw1+sw2);
}      

c'est plus simple si on prend la bibliothèque accel stepper

cdt

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci !

Pour l'instant, un arduino, c'est totalement abscons. :o

Alors des pistes pour découvrir ce monde-là : des didacticiels généraux sont également bienvenues en tant que pistes à suivre! :)

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 4 minutes, manup a dit :

c'est plus simple si on prend la bibliothèque accel stepper

C'est possible  ;) j'avais pas trop envi de chercher, et je suis fidèle à une devise (celle de mon directeur du bureau d'études électronique dans lequel j'ai bossé de 1980 à 90) : en s'en fout comment ça marche,  pourvu que ça marche  ;):D

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 4 minutes, Volcryn a dit :

pourvu que ça marche  ;):D

Oui je reste d'accord tant que ça marche c'est bon

mais niveau programmation c'est plus simple de prendre AccelStepper

cdt

  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 11 minutes, Pascal C03 a dit :

Pour l'instant, un arduino, c'est totalement abscons. :o

Pascal, c'est enfantin un arduino :)

Il existe plein de docs dessus et un arduino nano ça vaut vraiment pas cher ;)

Ben ça va te faire passer du Pascal au langage C mais c'est vraiment pas compliqué xD

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 

il y a 3 minutes, manup a dit :

mais niveau programmation c'est plus simple de prendre AccelStepper

Merci pour le lien manup  ;) , je vais regarder cela de près. C'est aussi mon premier programme avec un Arduino, car l'expérience que j'ai c'est celle des micro-processeurs comme le 6502 (Rockwell), M68000 (Motorola) que j'ai utilisé dans les années 80.

Ah les années 80...nostalgie  ;)

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 7 minutes, Volcryn a dit :

C'est aussi mon premier programme avec un Arduino

J'ai débuté il y a un peu plus d'un mois ;)

c'est mon deuxième programme fait par moi-même avec arduino

c'est pour contrôler une monture ton code plus haut (je fais aussi des codes pour pouvoir créer des motorisations qui ont jamais existé comme une motorisation double axe pour la monture new polaris avec moteur de MAP)

cdt

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 11 minutes, manup a dit :

c'est pour contrôler une monture ton code plus haut

C'est pour contrôler un moteur de focuser maison (ma réponse du 17 Août 2020) ->

dont j'ai aussi réalisé une cde via un port // (ma réponse du 17/08/20) ;)

Modifié par Volcryn
orthographe
  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Et dans le cas de ce petit robot, pourquoi pas de petits servos de modélisme?

 

Avec, au choix, un système de potentiomètre (qui n'est pas un "bête" potentiomètre, mais qui existe tout fait), ou, de nouveau, un Arduino. Ca se programme très simplement (librairie "servo"), mais si tu en as plusieurs, il faudra juste gérer une alim séparée pour les moteurs et une masse commune à l'Arduino. L'alim des moteurs peut être un simple boitier de piles.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, ALAING a dit :

Pascal, c'est enfantin un arduino 

Il existe plein de docs dessus et un arduino nano ça vaut vraiment pas cher 

 

+1

Partager ce message


Lien à poster
Partager sur d’autres sites

Maintenant si c'est juste pour réduire la vitesse d'un moteur DC, il y a les modules de régulation PWM ... Attention, il y en a quand même pour 4 à 5 euros :D x volts, un potar (fourni) et basta.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 10 heures, Pascal C03 a dit :

Merci !

Pour l'instant, un arduino, c'est totalement abscons. :o

 

Super simple. Je te conseille aussi, surtout pour apprendre à des jeunes.

 

En gros tu refais une raquette DD3. un Arduino, un buffer de courant à 4 sorties à base d' ULN2003 et un moteur PAP 28BYJ-48 5V et voilà. ça peut te servir pour une roue à filtre ou autre.

 

Là c'est formateur, tu apprend commander les phases chacune à leur tour et on comprend bien comment le moteur PAP fonctionne et jusqu'à quelle vitesse, (tu peux éventuellement aborder la fréquence de résonance etc)

 

l'alternative est de prendre un driver tout fait (chez Alegro par ex) 

 

je cherche les liens et je les mets ici

  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 40 minutes, olivdeso a dit :

En gros tu refais une raquette DD3. un Arduino, un buffer de courant à 4 sorties à base d' ULN2003

 

attention, j'ai très peu d'heures pour faire la cao, l'impression 3d puis l'assemblage mécanique puis ajouter les moteurs... :S

Je vais voir pour les arduino...

 

merci par avance pour les liens

Partager ce message


Lien à poster
Partager sur d’autres sites

je mets les liens amazon et letmeknow une petite boutique bien sympa

 

tu trouvera plein de tuto sur le net, youtube et autre. Il faut juste installer l'outil de développement Arduino sur le PC, ça prends quelque minutes. C'est vraiment très simple, même si tu en connais pas. Et ensuite tu branche le arduino en USB et tu programme un exemple. Led qui clignote. Ensuite tu passes au moteur avec un tuto.

un tuto très simple en Anglais, ça te fait un résumé rapide de ce que tu peux faire avec, pour voir si ça correspond au besoin.

je pense que c'est vraiment l'idéal pour apprendre avec des étudiants actuellement. super simple et pas cher et d'actualité. c'est fait pour ça.

 

le kit 5 moteurs et 5 drivers et les câbles pour connecter au arduino

https://www.amazon.fr/ensembles-28BYJ-48-ULN2003-moteur-Arduino/dp/B08225DGDQ/ref=pd_sbs_3

 

https://letmeknow.fr/shop/en/commandes-moteurs/1575-module-controleur-moteur-uln2003-652733600905.html

il existe une version de ce moteur avec réducteur 1/16 au lieu de 1/64 (moins courant)

https://letmeknow.fr/shop/en/moteurs/1520-petit-moteur-stepper-avec-reducteur-700465391773.html

 

la datasheet du moteur. Attention c'est un moteur à réducteur 1/64 donc pas mal si tu veux tourner pas trop vite. Il est utilisé dans certaines roues à filtre par exemple. La QHY c'est du arduino compatible avec ce moteur de mémoire.

64 pas par tour au moteur x 64 avec le réducteur soit 4096 pas par tour en sortie de moteur.

 

https://www.digikey.fr/fr/datasheets/mikroelektronika/mikroelektronika-step-motor-5v-28byj48-datasheet

 

il ne manquera plus que le aduino et une alimentation 5V.

 

soit du arduino nano, très pratique. Faut juste souder les connecteurs

https://www.amazon.fr/dp/B0722YYBSS/ref=sspa_dk_detail_4

ou par 5

https://www.amazon.fr/Kuman-ATmega328P-Controller-Module-Arduino/dp/B01NCLD4A5/ref=sr_1_10

 

soit le classique arduino Uno très bien pour commencer. avantage aucune soudure à faire. Tu branches les fils fournis, en quelques minutes c'est prêt.

c'est un peu plus gros

https://www.amazon.fr/dp/B01N91PVIS/ref=sspa_dk_detail_1

https://www.amazon.fr/AZDelivery-UNO-R3-Arduino-compatible/dp/B01MDJA464/ref=sr_1_6

en lot de 5

https://www.amazon.fr/AZDelivery-UNO-compatible-Arduinom-R3/dp/B074SB6PBW/ref=sr_1_5

Modifié par olivdeso
  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai pas tout lu, donc mes excuses si cette solution a déjà été proposée, mais si tu ne veux pas t’embêter avec un Arduino (pourtant, comme le dit si bien @ALAING, l"arduino c'est rigolo) tu peux utiliser un des ces petits contrôleurs: https://www.pololu.com/category/212/tic-stepper-motor-controllers

 

Ca permet de piloter un moteur pas à  pas depuis un ordinateur, via une interface USB (mais tu peux aussi utiliser I2C pour piloter depuis un Arduino/Pi/...). J'en utilise un semblable pour des servo-moteurs et ça marche impec. Super pratique.

 

Il y a un petit logiciel avec qui permet de faire tourner le moteur et puis une librairie de fonction pour écrire ton propre programme de controlle en C/C++ ou Python, au choix :)

 

jf

  • J'aime 1
  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai mis ce fil en favori pour l'étudier à un moment plus tranquille !

Merci Olivier, en effet, cela donne envie d'essayer !

 

Merci à tous

 

Est prévu une version ultra simplifiée de Perseverance...

image.png.08ac8bf4a8b76f8b0b8234485df6b764.png

Modifié par Pascal C03

Partager ce message


Lien à poster
Partager sur d’autres sites

Sympa comme projet. Et tu dis ne pas avoir beaucoup de temps à passer sur la CAO ??? :)

Après comme dit plus haut, si tu fait rentrer de l'informatique (arduino, raspberry ou autre microcontroleur), le pas à pas devient très simple à gérer car générer et faire varier des tops d'horloge c'est à la portée de n'importe quel micro.

 

Mais tu t'éloigne de ta proposition initiale :

Le 02/02/2021 à 08:51, Pascal C03 a dit :

interrupteur on off +  un potar pour ajuster la vitesse et un interrupteur pour le changement de sens ?

 

Mais d'un autre coté, dès que tu ajoute un micro, tu est tenté de faire plein de trucs. J'ai refait une électronique pour un C8 à base de pas à pas et d'un micro motorola (remplacement d'un variateur + moteur synchrone 110V/60Hz), avec une gestion de boutons de déplacement accélérés Est/Ouest. Ok ca marche, et puis je me suis dit, pourquoi pas une table d'aide des principales étoiles visibles, et on repart pour des semaines de boulot ! Mais c'est rigolo à faire avec à la base le calcul des pas à partir des données mécaniques de la monture.

Accessoirement j'ai compris pourquoi leur roue dentée fait 359 dents et pas 360 (compare le rapport 359/360 et celui de 23h56'04" / 24h00'00"), avec un moteur synchrone c'est facile d'avoir d'entrée une très grande précision de suivi. Avec un pas à pas, faire varier une fréquence est plus simple donc on s'en fout un peu.

 

Marc

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 10 heures, patry a dit :

Et tu dis ne pas avoir beaucoup de temps à passer sur la CAO ???

 

Je n'ai pas beaucoup d'heures à mon emploi du temps pour faire travailler les étudiants "dessus".

 

20h pour la cao grand maxi et 12h pour l'assemblage de tous les composants issus d'I3D + l'aspect motorisation & contrôle

On comprend que le robot final sera genre boite à savon:ph34r:

Partager ce message


Lien à poster
Partager sur d’autres sites

Dommage que tu choisses un PAP parce que :

- un inter marche arrêt, un potard de réglage de vitesse (en conservant grosso le couple), un inverseur avant/ arrière , quelques euros seulement et temps de formation = zéro heure ...

Je ne vois qu'une solution mais avec un moteur DC :

https://www.banggood.com/fr/DC-12V-To-24V-10A-High-Power-PWM-DC-Motor-Speed-Controller-Regulate-Speed-Temperature-And-Dimming-p-1321328.html?cur_warehouse=CN&rmmds=search

Bon, je suppose que quelque chose m'échappe.

Parfois (souvent ? ) le mieux est l'ennemi du bien  :) 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant