Quelle est la nette différence entre les moteurs pas à pas, CC et servo pour les utiliser avec Raspberry Pi?


Réponse 1:

Par «servomoteur», vous voulez dire un servo DC ou un servo AC. Le terme signifiait généralement DC lorsque j'étais là-bas, mais je suppose que vous vouliez dire servo AC.

Tout d'abord, pas à pas. Ils veulent généralement que le contrôleur inverse la polarité sur leurs fils pour se déplacer d'une étape, de sorte que le contrôleur doit simplement calculer le nombre d'étapes nécessaires pour atteindre la position cible et soumettre autant d'impulsions au moteur ou aux amplificateurs dans l'ordre correct pour la direction de rotation que vous voulez. Il y a 4 enroulements et 5 fils, un enroulement commun et A, B, C, D. Pour aller de l'avant, A et B obtiennent le pouvoir, C et D aucun, puis B et C le pouvoir, les 2 autres aucun. Puis C et puissance, les 2 autres aucune. Puis puissance D et A, les 2 autres aucune. {Continuer depuis le début}. Pour faire marche arrière, A et D sont alimentés, les 2 autres aucun. Puis D et C, C et B, B et A, etc. Le contrôleur doit garder une trace de l'endroit où il s'est arrêté et calculer sa première étape comme étant logique à partir de là pour la direction requise. La puissance de la dernière étape du mouvement précédent doit être maintenue jusqu'au prochain mouvement, comme un frein en quelque sorte. Le contrôleur doit faire une fréquence d'impulsion en rampe comme accélération et décélération en fonction de la quantité de charge. Vous devez également fournir une réinitialisation du système, en faisant généralement revenir le système à une position zéro prédéfinie et en remettant à zéro le compteur d'impulsions. Vous devez également fournir une entrée numérique autorisant la réinitialisation, par exemple, tous les outils ont été retirés en toute sécurité, etc. Et une sortie numérique demandant l'autorisation de réinitialiser si nécessaire, et éventuellement des commentaires de l'opérateur.

Les servos CC auront normalement un codeur d'arbre en quadrature de précision que le contrôleur surveille pour les informations de position. L'encodeur renvoie des impulsions sur 4 fils dans une séquence similaire à la séquence de contrôle d'un stepper, voir ci-dessus. Le contrôleur compte les impulsions dans chaque direction pour déterminer la position, en maintenant un décompte + + d'impulsions pour déterminer la position actuelle. Le moteur est normalement un moteur shunt où le courant de champ faible est contrôlé par une paire d'amplificateurs, avant ou arrière, et avec un contacteur actionné par le contrôleur pour fournir le courant d'induit, et souvent un deuxième contacteur actionnant un frein mécanique. Les systèmes vraiment sophistiqués peuvent également utiliser un amplificateur analogique (générateur contrôlé?) Pour contrôler le courant d'induit du moteur. Votre contrôleur doit lire l'encodeur, stocker les données de position actuelle et calculer les actions requises, piloter les relais d'induit et de frein et fournir des signaux analogiques aux amplificateurs de champ avant et arrière et éventuellement à l'amplificateur d'induit du moteur selon les besoins, en gardant à l'esprit taux d'accélération / décélération autorisés, une logique de réinitialisation sur l'encodeur, etc.

Les servos CA sont très similaires au CC, mais ont des exigences de contrôle du moteur plus simples, normalement une liaison de données numériques indiquant au moteur d'entraînement quelle direction, vitesse, taux d'accélération et peut-être frein / maintien CC sont nécessaires. Les formats de données et les commandes seront disponibles dans la documentation de l'entraînement du moteur.


Réponse 2:

Un moteur à courant continu n'a aucune connaissance de la position ou du contrôle précis, vous le branchez et il tourne juste.

Un moteur pas à pas n'a aucune connaissance de la position, mais vous pouvez le contrôler avec précision en le faisant bouger d'un petit pas à chaque fois que vous appliquez de l'énergie au bobinage.

Un servomoteur (à ne pas confondre avec un servomoteur amateur), connaît sa position (via un codeur) et peut donc être contrôlé avec précision.

Voici un peu plus de détails sur chacun….

Un moteur à courant continu ordinaire tourne automatiquement dès qu'il est branché au courant. La vitesse et le couple dont il est capable dépendront de la tension et du courant de la puissance fournie ainsi que du moteur lui-même, et rien ne donne d'indication sur la position du moteur. Généralement, il est soit «allumé» dès que vous le branchez en fournissant de l'énergie (et en tournant à un taux fixe, à moins que vous n'impulsiez votre alimentation), ou il est déconnecté et donc éteint.

Un moteur pas à pas offre un moyen précis de contrôler la position du moteur, mais le moteur lui-même n'a pas de moyen de mesurer cette position. Ainsi, lorsque vous appliquez et libérez de la puissance à un enroulement (il a généralement plusieurs fils qui permettent une alimentation séparée pour chaque enroulement), il tourne dans un petit incrément de quelques degrés. Pensez-y comme fermer les yeux et dire à quelqu'un de faire un pas. En moyenne, vous savez jusqu'où est une étape, mais vous ne savez pas qu'ils l'ont franchie parce qu'ils ont peut-être essayé de faire un pas et ont trébuché ou se sont heurtés à un mur, vous ne savez tout simplement pas s'ils ont réussi ou non ( il n'y a pas de rétroaction sur la position). Vous pouvez l'appeler contrôle de «boucle ouverte» car vous n'obtenez pas de rétroaction sur ce qui s'est passé. C'est donc comme un moteur pas à pas, lorsque vous appliquez brièvement de la puissance à un enroulement, il fait un effort pour tourner, mais vous n'êtes pas sûr que cela se soit réellement produit (peut-être que la charge était trop grande ou que votre timing était trop rapide, ou vous ne l'avez pas fait) t fournir suffisamment de puissance).

Le servomoteur ressemble beaucoup à votre moteur à courant continu, sauf qu'il dispose d'informations très précises sur sa position qui le rendent facile à contrôler. En fait, pour transformer un moteur à courant continu en servomoteur, il vous suffit de mettre un codeur sur l'arbre et maintenant vous avez des informations précises sur la position de l'arbre qui facilite le contrôle de la vitesse et de la direction (via PWM). Les encodeurs peuvent être très précis (à une fraction de degré près), c'est donc ce qui vous permet d'envoyer des signaux de contrôle qui positionnent et déplacent le moteur comme vous le souhaitez. Il s'agit d'un contrôle en «boucle fermée», car vous obtenez toujours des commentaires sur l'impact de vos contrôles.

Ainsi, n'importe lequel de ces moteurs pourrait être contrôlé par un Raspberry Pi. En général, chacune de ces trois options utilisera plus de puissance / courant que votre Raspberry Pi ne produira directement, donc à la place, vous pouvez utiliser votre Pi pour générer les signaux de contrôle, puis amplifier la puissance envoyée à votre moteur (généralement avec un contrôleur de moteur puisque c'est le plus simple). Mais dans certains cas, vous pouvez contrôler votre moteur en ayant vos relais de contrôle Pi ou Transistors / Mosfets afin de faire la commutation requise (google «pont H») et également surveiller les valeurs d'un encodeur si vous en avez un.


Réponse 3:

Un moteur à courant continu n'a aucune connaissance de la position ou du contrôle précis, vous le branchez et il tourne juste.

Un moteur pas à pas n'a aucune connaissance de la position, mais vous pouvez le contrôler avec précision en le faisant bouger d'un petit pas à chaque fois que vous appliquez de l'énergie au bobinage.

Un servomoteur (à ne pas confondre avec un servomoteur amateur), connaît sa position (via un codeur) et peut donc être contrôlé avec précision.

Voici un peu plus de détails sur chacun….

Un moteur à courant continu ordinaire tourne automatiquement dès qu'il est branché au courant. La vitesse et le couple dont il est capable dépendront de la tension et du courant de la puissance fournie ainsi que du moteur lui-même, et rien ne donne d'indication sur la position du moteur. Généralement, il est soit «allumé» dès que vous le branchez en fournissant de l'énergie (et en tournant à un taux fixe, à moins que vous n'impulsiez votre alimentation), ou il est déconnecté et donc éteint.

Un moteur pas à pas offre un moyen précis de contrôler la position du moteur, mais le moteur lui-même n'a pas de moyen de mesurer cette position. Ainsi, lorsque vous appliquez et libérez de la puissance à un enroulement (il a généralement plusieurs fils qui permettent une alimentation séparée pour chaque enroulement), il tourne dans un petit incrément de quelques degrés. Pensez-y comme fermer les yeux et dire à quelqu'un de faire un pas. En moyenne, vous savez jusqu'où est une étape, mais vous ne savez pas qu'ils l'ont franchie parce qu'ils ont peut-être essayé de faire un pas et ont trébuché ou se sont heurtés à un mur, vous ne savez tout simplement pas s'ils ont réussi ou non ( il n'y a pas de rétroaction sur la position). Vous pouvez l'appeler contrôle de «boucle ouverte» car vous n'obtenez pas de rétroaction sur ce qui s'est passé. C'est donc comme un moteur pas à pas, lorsque vous appliquez brièvement de la puissance à un enroulement, il fait un effort pour tourner, mais vous n'êtes pas sûr que cela se soit réellement produit (peut-être que la charge était trop grande ou que votre timing était trop rapide, ou vous ne l'avez pas fait) t fournir suffisamment de puissance).

Le servomoteur ressemble beaucoup à votre moteur à courant continu, sauf qu'il dispose d'informations très précises sur sa position qui le rendent facile à contrôler. En fait, pour transformer un moteur à courant continu en servomoteur, il vous suffit de mettre un codeur sur l'arbre et maintenant vous avez des informations précises sur la position de l'arbre qui facilite le contrôle de la vitesse et de la direction (via PWM). Les encodeurs peuvent être très précis (à une fraction de degré près), c'est donc ce qui vous permet d'envoyer des signaux de contrôle qui positionnent et déplacent le moteur comme vous le souhaitez. Il s'agit d'un contrôle en «boucle fermée», car vous obtenez toujours des commentaires sur l'impact de vos contrôles.

Ainsi, n'importe lequel de ces moteurs pourrait être contrôlé par un Raspberry Pi. En général, chacune de ces trois options utilisera plus de puissance / courant que votre Raspberry Pi ne produira directement, donc à la place, vous pouvez utiliser votre Pi pour générer les signaux de contrôle, puis amplifier la puissance envoyée à votre moteur (généralement avec un contrôleur de moteur puisque c'est le plus simple). Mais dans certains cas, vous pouvez contrôler votre moteur en ayant vos relais de contrôle Pi ou Transistors / Mosfets afin de faire la commutation requise (google «pont H») et également surveiller les valeurs d'un encodeur si vous en avez un.