Pilotage fin de 3 moteurs électriques avec poulies

Bonjour
je cherche à faire une animation d'un objet articulé par 3 fils chacun fixé à un moteur electrique; donc 3 moteurs et si possible avec une seule carte arduino.
Chaque moteur devra par une poulie monter ou descendre de manière fluide autours de 100gr avec une précision de 2mm par exemple.
La vitesse devra être pilotable, comme l'angle de rotation, et le sens (monter/descente).
Je cherche également un silence (si placer l'ensemble d'un coffret absorbant suffit, c'est parfait)

  • Me conseillez vous des moteur 1) pas à pas ou 2) servomoteur ou 3) brushless
  • Une Arduino Uno suffit t-elle pour gerer les 3 moteurs ?
  • Quelle shield me conseillez vous ?
  • Puis je envisager non pas d'utiliser 3 moteurs mais à terme autours de 10 sur les mêmes bases (shield+Arduino)

Excellente journée à tous.

Pour bien comprendre les moteurs (et pour bien débuter avec l’arduino), c’est bien de lire Le mouvement grâce aux moteurs - les tutos d’eskimon. (commencez par la partie Le moteur à courant continu)

Ma recommendation suivant ce que vous expliquez:

1 => pas à pas (pour pilotage fin de la vitesse et «angle»/position)

2 => oui pour 3, non pour 10.

3 => regardez du côté des drivers pololu en fonction de votre besoin de puissance et microsteps (un A4988 devrait sans doute suffire). pour 3 ou 4 moteurs il existe des “CNC shield” (qui servent d’habitude pour les CNC - existe en différentes versions). il y a aussi chez Sparkfun EasyDriver ou et Big Easy Driver et adafruit a aussi des solutions et explications comme le Synthetos gShield (grblShield) V5 pour 3 axes et autres DRV8833 et bien d’autres chinoiseries équivalentes

4 => pour 10 moteurs cf réponse 2 —> probablement pas avec un UNO. Faudra un MEGA ou un Teensy et autant de drivers que de moteurs

Dans tous les cas utilisez la librairie accelStepper Et dimensionnez / soignez bien la partie alimentation des moteurs

Pour le bruit, pas de magie, ce sont des moteurs.. donc ça fait un peu de bruit, à voir en les enfermant dans un coffret

Bonjour;

En tout respect. Je me permet un avis contraire à J-M-L.

J’opterais pour des moteurs à courant continu équipé d’encodeur et d’un réducteur de rapport tours.
Réducteur a définir suivant la vitesse d’exécution.

Pourquoi:
-Avantage
La gestion de la vitesse est très souple et précise.
Il permet le contrôle et le maintient du couple constant à charge variable.
Couple de travail élevé.
Ne fait que très peu de bruit fonctionnel.
Ne chauffe pas ou très peux.

-Inconvénients.
L’exploitation de l’encodeur demande une certaine expérience du principe interruptions. Mais facilement intégrable avec un peu de travail.
Entrée exploitable en interruption limité pour un seul moteur. (gros point noir a ton système)

Si ton système fonctionne à “l’équilibre” (contre poids) aucune énergie pour le maintient de position.

Par contre l’utilisation de réducteurs permettra un ajustement de la capacité moteur en vitesse et couple et par friction de “maintenir” la position statique. (Couple inverse à la charge = le bloque dans une certaine limite de charge)

Je te recommande de réaliser une étude calculé des vitesse de mouvements et charges.
Suivant tes plans de montage et des pièces utilisées défini la charge nominale (couple) que chaque moteur doit supporter. C’est à dire la masse et couple de la mécanique qu’il entraine. Cela sans la charge qu’il doit entrainer si il doit y en avoir une.

Exemple: un ascenseur. Sa charge nominale est sa cage d’ascenseur (avec contre poids). le moteur doit supporter cette charge. Sa charge maximum est la somme de la charge nominale est la charge additionnel variable suivant le nombre de personnes a bord.

A tu fait un plan détaillé avec calcul des couples utiles (suivant diamètres poulies)?
Peut tu définir les vitesse d’exécutions des mouvement ?

Cela afin de déterminer au mieux les moteurs et ou les réducteurs utiles.
Cela t’évitera d’acheter un moteur de deux chevaux pour équiper un camion (et ou au risque de le faire sur chauffer.)
Je te conseil de travailler sur la partie mécanique de ton montage projet et d’ensuite définir le moteur.

Beaucoup font l’inverse et se trouve dans des situations délicates de fonctionnement et d’investissement hasardeux !!

A plus.

Bonjour - pas la peine de vous excuser :slight_smile: - je n’ai pas la science infuse et tous les avis sont bons à prendre - surtout en plus avec une belle argumentation construite comme la vôtre.

J’avais mis de côté cette solution à cause de la complexité de codage, le Besoin initial de 3 moteurs alors que sur UNO on a la gestion simple uniquement de 2 interruptions (hors pin change) et pour le besoin de monter à 10 ensuite.

Mais c’est effectivement à explorer pour les autres avantages que vous listez

Merci de ton ouverture d'esprit J-M-L.
:wink:

Effectivement le problème est le nombre de moteurs à venir.

M'est venu cette question à ce sujet => Comment est il possible de piloter plusieurs moteurs avec encodeur sur une base UNO.
Comme tu proposais des moteurs PàP avec gestion CNC serait il possible de réaliser un pilotage de moteur avec encodeur avec ce mode de pilotage?

Je ne connais pas cette technique de pilotage. Je ferais des recherches sur le CNC et une adaptation possible.

A plus..

manumanu:
M'est venu cette question à ce sujet => Comment est il possible de piloter plusieurs moteurs avec encodeur sur une base UNO.

il y a bcp de librairies concernant la gestion des encodeurs - documenté sur le forum en anglais soit par interruption directe, soit en utilisant un timer ou du polling... ensuite si le moteur doit tourner vite, ça met la pression sur le reste du programme...

Je n'utilise pas de librairie pour les encodeurs = ralenti programme par saut de fichiers.
Une simple comparaison d'état des voie A et B dans une exécution d'interruption.

Je viens de trouver mon "OS" à mâcher pour cette année !! piloter deux moteurs avec encodeur sur une base UNO. A définir si mouvements combiné ou séquentiel possible.
Le problème étant une seule voie de traitement codeur pour deux moteur.

A plus.

Il y avait de mémoire une solution postée sur le blog de DFRobot pour cela - faudrait chercher

Une librairie bien fichue ne ralentit pas le code - ça fait la même chose que vous sans qu’on ait à réfléchir (pour les bonnes librairies)

Bonjour à tous,
merci pour m'avoir répondu et apporter votre expérience à mon projet.
Au regard de vos réponse; je doit apporter des précisions.

Mon projet est de simuler dans un premier temps sur 3 points le mouvement d'une aile d'oiseau; le point centrale étant le corps de l'oiseau, son centre de gravité.

Je ne pense pas à des contre poids, qui me semblent t-il; alourdiraient l'esthétique de mon projet, juste des filins ou fil de Nylon, en aller simple (ie pas de boucle)
De plus, pour une simulation réaliste, la vitesse des moteurs ne devra pas être linéaire, ni l'accélération.

  • D'un point de vue mathématiques la simulation est la correspondance sur les moteurs m'intéressent.
  • D'un point de vue électroniques; ai je compris que vous m'orienté plutôt vers un moteur a courant continu avec encodeur et réducteur ? j'au trouvé ce tuto ( Utilisation des encodeurs moteurs CC avec Arduino ) : pour gerer 3 moteurs indépendemment cela semble délicat ? Quels sont les avantages/inconvenient entre servo/moteur & moteur/encodeur/reducteur ?
  • D'un point de vue physique; je peux, je pense calculer les couples, à votre sens ils seront utiles pour choisir la technologie

Enfin j'ai trouvé ce shield pour R3 uno, ( How to Control Servo Motor Up To 16 with Arduino Uno R3 - YouTube ) qui semble accepter et controler jusqu'à 16 servos; qu'elle est du coup votre avis ?

Très bonne journée

Merci c'est un peu plus claire.
Vu ton application sous cette angle..

Pourquoi un moteur en point central ? Si il est maintenu fixe le résultat est le même!
Pourquoi des poulies au plafond alors qu'un entrainement direct serais plus utile?

Dans ce cas les servomoteurs seront plus approprié, plus simple d'utilisation et moins chers!!!

Bonjour
merci pour ta prompt réponse.
Pour l'entrainement direct, tu veux dire genre une bobine sur l'axe du moteur pour enrouler le cable/filin ?
Ni a t-il de risque de "mélanges" de cable/filin "merdouille", "noeud" à terme après plusieurs monté/descente ?

Et donc de ton point de vue les servo moteurs sont la technologie la mieux adaptée ? Je ne connais que ceux en modélisme; ceux sont les mêmes auxquelles tu penses ?$
et que penses tu du shield 16 servos : How to Control Servo Motor Up To 16 with Arduino Uno R3 - YouTube

J'ai aussi une question: Au même top horloge, en même temps peux ton déplacer plusieurs servo-moteurs ? Je veux dire Sous arduino dans un passage dans la fonction "loop" peut on animer plusieurs servo-moteur ?

Bien cordialement.

Je pense plutôt à une tringlerie qui activerais les ailes.

Oui si cela suffisent à actionner la mécanique.

Réalise déjà le plan de ton montage et fait les calcul utiles avant de t’avancer sur le “shield 16 moteurs”.

A plus !