comment limiter le couple d'un moteur électroniquement?

Bonjour a tous, je me suis encore lancé dans un projet robotique farfelu mais je me heurte a un problème.

j'ai un moteur donné pour 70 kg.cm de couple, d’après mes calculs le bras robotisé qu'il motorise n'as besoin que de 30 kg.cm et la transmission se fait par câble soit une transmission de type bowden a travers deux gaines de frein de vélo.

Le but étant d'en reprendre le fonctionnement d'un servomoteur c'est a dire une carte arduino qui contrôle le moteur en fonction d'une position donnée, un moteur 12v avec sa transmission commandé par un ESC pour moteur brossé, et un potentiomètre sur l'axe à commander. Le tout alimenté par une batterie lipo 3S

En fonctionnement normal ça va, la commande est donné à l'arduino, le moteur fait bougé l'axe jusqu'à sa position et tout le monde est content. Le problème intervient au moment ou un obstacle freine l'axe avant sa destination, le moteur force et quelque chose fini par casser, généralement la gaine ou la poulie du moteur.

je dois gérer 6 de ces actionneurs à la fois sur une carte uno + un shield de connectiques dont un adc en i2c ( je suis limité en place) et je ne sais pas trop comment faire pour limiter le couple à quelque chose de raisonnable (je précise que je ne peux pas toucher à la mécanique car c'est déjà assez complexe comme ça)

Quelqu'un aurait-il une idée? ou quelques pistes ?

Merci d'avance

L’ESC permet peut-être de le faire.
Autrement, pour limiter le couple, il faut limiter le courant.
Et pour cela il faut commencer par mesurer le courant et ensuite modifier la commande envoyée à l’ESC pour arrêter le moteur

Je ne suis pas un pro des moteurs, je suis sûr que vous aurez d'autres réponses plus pertinentes mais pour ouvrir le bal, je me lance:

Le couple est influencé par le courant moyen consommé. L'acceleration, elle, est contrôlée par le couple, la masse à mettre en mouvement + la friction.

Si le moteur peut tirer autant de courant qu'il le souhaite, le couple ira au max (vous grillerez le système s'il ne peut pas tourner et qu'il n'a pas de protection)

=> il faut limiter la puissance max donnée au moteur. Certains Drivers ont un potentiomètre limiteur de courant. En le réglant vous règlerez la puissance max envoyée au moteur et donc son couple mais les ESC n'en ont pas à ma connaissance.

Le problème intervient au moment ou un obstacle freine l'axe avant sa destination, le moteur force et quelque chose fini par casser, généralement la gaine ou la poulie du moteur

il faut détecter cette situation. Avec un capteur de courant consommé, vous pourriez éventuellement contrôler la valeur moyenne de ce qui est fourni en faisant du PWM sur l'alimentation. Cela aura alors un impact sur l'accélération puisque le couple baissera. peut-être un moindre mal ?

En fait pour être plus précis (je ne le dis que maintenant pour éviter de surcharger le premier message)
L’ESC en question est un ESC BHELI KINGKONG 12A (normalement brushless) flashé pour fonctionner avec moteur brossé et en effet il ne dispose pas de contrôle de couple

je me suis orienté la dessus car les contrôleurs moteur sont souvent très encombrant et cher contrairement a ces petits machins. Le moteur quand à lui est un Moteur à vis 12V 16tr/min

Ce moteur dispose bien d'un courant max de 6A environ et est, pour le moment, branché sur une alimentation 12 20A non réglable en courant et je suppose qu'il en sera ainsi une fois sur batterie

mesurer le courant ça doit pouvoir se faire, il faudrait que je rajoute un adc + 1 capteur de courant par moteurs mais le signal de L'ESC étant une PWM, Cela ne va-t-il pas poser problème au moment de la mesure pour avoir quelque chose de correct et proportionnel?

De plus, la carte utilise un PID qui s'occupe de faire varier la sortie, donc l'ESC travail en "analogique" et pas de manière "tout ou rien" du coup je me demande si cela ne pourrait pas créer des erreur car si mes souvenirs sont bon, le courant demandé par le moteur est plus fort quand la tension est plus faible et pourrait créer des "fausses alertes"

Ensuite une fois cette info reçu je ne sais pas trop quoi faire avec... dans l'idéal il faudrait que le moteur se bloque mais puisse repartir si le blocage disparaît.

En tout cas je vous remercie d'essayer de m'aider a résoudre mon problème :slight_smile:

mesurer le courant ça doit pouvoir se faire, il faudrait que je rajoute un adc + 1 capteur de courant par moteurs mais le signal de L'ESC étant une PWM, Cela ne va-t-il pas poser problème au moment de la mesure pour avoir quelque chose de correct et proportionnel?

Non , en évaluant le courant moyen sur un intervalle de temps bien choisi.

il va falloir que je fasse plus de tests sur cette piste

est-il possible de vérifier la présence du blocage par la suite?

parce que j'ai peur que si je demande à l'ESC d’arrêter le moteur, il n'y ait plus de courant et donc sécuriser le système mais qu'au moment de vérifier que le blocage a disparu soit il envoie trop de courant et casse tout ou que le courant étant encore trop important pour mettre le système en mouvement soit vu comme un blocage

je sais commander et faire tourner des moteurs par contre mes connaissances sur ce sujet s’arrêtent là du coup je suis un peux perdu