Broche Brushless avec Mach3 ?

  • Auteur de la discussion marcelou_bidou
  • Date de début
M

marcelou_bidou

Apprenti
Bonjour à tous,

premier point, je suis une b**e (pas une bête hein...) en électronique.

Situation actuelle:
J'utilise un moteur Brushless de modélisme RC comme moteur de broche. C'est assez simple à faire et cela ne revient pas très cher.
J'utilise ce qu'on appelle un "servo tester" pour démarrer et régler la vitesse du moteur. C'est un dispositif sur lequel est implanté un potentiomètre qui, je crois, doit "hacher" une fréquence entre 1 et 2ms sur une période de 20Hz (si j'ai bien compris).
J'utilise Mach3 comme logiciel de commande et j'ai vu qu'il y a une fonction PWM dans ce logiciel, donc là, je me dis: TWINGO ! Je vais brancher le "servo tester" direct au cul du PC et lui envoyer des pulses avec Mach3, comme ça je contrôle le démarrage, l'arrêt et la vitesse de rotation directement avec Mach3. En gros je remplace le potar par Mach3.

C'est là que commence les recherches... Et je ne trouve aucun sujet qui parle de ça...
Je me dis donc que ça doit être impossible, je cherche autre chose et je tombe sur une solution toute faite, mais j'aime bien faire les choses donc je continue à chercher et une voix me dit : "Demande sur Usinages.com".

Donc voilà, je demande: Est-ce que quelqu'un peut me dire si il est utopique de penser qu'on peut utiliser le PWM généré par Mach3 et l'envoyer dans un "servo tester" afin de gérer un ESC qui contrôle un Brushless ??
Ou y a t-il des modifications simples à réaliser dans le "servo tester" (genre modifier un composant, rajouter un composant et j'en passe) pour qu'il accepte le PWM Mach3?

Complètement paumé je suis!

Merci d'avance pour votre aide ! :prayer:

-----------------------------------------------

Alors, avec beaucoup de retard, voici le résumé du “comment qu’on fait” pour contrôler une broche construite à base de moteur brushless RC depuis Mach3.
Tout d’abord, comment ça marche ?

Le principe est très simple. Le contrôleur ESC doit disposer d’un BEC 5V.
Le servo tester envoie une commande en fréquence au contrôleur afin de régler la fréquence de rotation du moteur. Pour le petit détail inutile mais intéressant, le servo tester envoie des pulsations de 1 à 2ms sur une période de 20ms au contrôleur. A 1ms, le moteur ne bouge pas, à 2ms le moteur tourne à fond. Donc tout ce qui est compris entre 1 et 2ms règle la fréquence de rotation du moteur entre 0 tr/min et le max.
Le réglage de la fréquence de rotation se fait par le biais d’un potentiomètre et ça c’est hyper chiant (ça oblige à rester à côté de la machine pour démarrer et arrêter la broche… C’est sympa au début, mais ça devient vite lourd.

Maintenant l’astuce : Mach3 est capable de générer un signal PWM et en plus le port parallèle de votre PC est alimenté en 5V. Résultat, un PWM de 0 à 5 V (pile poil la tension de fonctionnement du servo tester !) Par contre un PWM c'est une tension "hachée" qu'il nous faudra lisser pour avoir une tension continue (ou presque).
Il suffira donc de remplacer le potentiomètre par une sortie de la breakout board commandée par le PWM de Mach3 qui sera filtré et lissé par un petit montage électronique très très simple.

Pour cela il vous faut :
  • Une broche avec un moteur Brushless RC (pour mon cas un C5045 890KV alimenté en 24V)
  • Un contrôleur ESC avec BEC (convertisseur de tension DC en TRI je crois…)
  • Un testeur de servo (ou ‘servo tester’ en english)
  • Un p’tit condensateur chimique (valeur que nous allons déterminer)
  • Une p’tite résistance pour charger le p’tit condo
  • Une sortie libre sur votre Breakout Board (carte interface entre Mach3 et la machine)
  • Et bien sûr Mach3

Première étape, on désosse le ‘servo tester’ :
  • Retirer le « capot » pour accéder à la carte électronique
  • On repère les signaux au niveau du potentiomètre :
    Trois bornes : une masse, un signal et une alimentation
  • Ensuite on dessoude le potar du circuit électronique
  • On soude sur le ‘pin’ de masse et le ‘pin’ de signal deux fils 0.22mm² (ça doit être suffisant) d’environ 20cm de long histoire d’avoir du rabe au cas zou

Deuxième étape, on construit un filtre passe bas (RC, pour Résitance / Condensateur)
Grâce aux membres, une valeur a été déterminée pour la résistance et le condensateur.
R = 5,7 KOhm et C = 33µF (vous trouverez l’explication dans le sujet)

On prend son fer à souder, un peu d’étain un condensateur, une résistance, deux fils et deux morceaux de gaine thermo rétractable.
On construit le petit filtre suivant :

filtre-passe-bas-1eme-ordre.svg.png


Avec à gauche la sortie libre de la breakout (Vin étant le signal PWM généré par Mach3.
Et à droite, Vout qui est le même signal mais lissé par le filtre (donc une tension presque linéaire). C’est cette tension lissée qui servira de potentiomètre du servo tester.

Voici un croquis de la solution complète.
2013_11_24_11_23.jpg

Si vous avez des questions n’hésitez pas à demander!

Ce montage a été testé et ça fonctionne vraiment bien et ça coute un condo et une résistance (que j'ai personnellement récupéré sur une vieille carte électronique d'un écran CRT cassé qui trainait dans l'atelier)
 
S

stanloc

Compagnon
Bonjour,
Je ne connais pas Mach3 et j'ai une idée de la manière dont les servomoteurs en modélisme sont commandés.
Il faut donc savoir qu'est ce qui est envisagé de faire normalement avec la sortie PWM de mach3. Toutefois le PWM veut dire modulation par largeur d'impulsions. la commande servo est aussi une modulation par largeur d'impulsions. Mais encore faut-il que la fréquence de répétition des deux soit la même et là j'ai un gros doute. Ensuite il faut que la plage de variation de la largeur d'impulsions soit la même sur les deux et là encore j'ai un gros doute. Dernier point il faut que la hauteur (amplitude) des impulsions que fournit mach3 soit acceptable par le servotesteur. Beaucoup de vérifications à faire. Est ce que les docs suffiront pour cela ou faut-il faire des mesures à l'oscillo ????
Stan
 
M

marcelou_bidou

Apprenti
Bonjour et merci de ton intérêt.

Pour ce qui est de Mach3 et d'après la documentation, le PWM fonctionne comme une sortie 0-10V.
En gros une commande 0% donne 0V en sortie, 50% donne 5V et 100% donne 10V.

Je pense qu'il faut utiliser et transformer ce signal compris entre 0V et 10V pour obtenir un signal de 1ms (0%) à 2ms (100%) répété toutes les 50ms (signal de 20Hz). Et là, je sais pas... :mrgreen:
En gros il faudrait (si j'ai bien compris) que pour:
- 0V ==> signal de 1ms toutes les 50ms
- 10V ==> signal de 2ms toutes les 50ms
- 3V ==> 1.3ms toutes les 50ms

J'ai vu des trucs sur des composants électroniques NE555 (appelés timers il me semble) mais je n'y connais tellement rien...
Je pense que c'est possible puisque j'ai trouvé un site canadien qui vend une solution PnP qui se branche sur le port DB25 entre le PC de commande et le câble de la BoB. Ce petit appareil dispose d'une prise Futaba (je crois) sur lequel il faut brancher le contrôleur ESC. Ça vaut 40€ livré environ, mais même si ça n'est pas trop cher (encore que), j'aime bien faire les choses avec mes mains!

Encore merci pour ton intérêt et si tu as d'autres questions auxquelles je pourrai répondre, n'hésites pas!
 
N

nopxor

Compagnon
Bonjour,

Il est possible d'interfacer un microprocesseur, genre Arduino, entre la sortie PWM de commande de vitesse de broche du port // et l'entrée du variateur RC. Il existe une bibliotheque Arduino (servo RC) qui facilitera beaucoup le codage du programme.
Sinon cela existe tout fait : http://www.logicnc.com/rcnc.html
 
Dernière édition par un modérateur:
M

marcelou_bidou

Apprenti
Merci.
Quand je parlais de solution canadienne, je pensais justement à LOGICNC et son module RCNC.
Excuse mon incompétence, mais je ne connais pas Arduino... Je m'en vais faire quelques recherches!
Est-ce facile d'utilisation ? Accessible en termes de tarif ?

Edit:
Après quelques recherches rapides, Arduino semble intéressant pour quelqu'un qui souhaite développer des bidules électronique. Je ne sais pas si ça vaut le coup d'acheter ce genre de plateforme super modulable pour la ranger à demeure dans un boitier PC et ne plus y avoir accès.

Peut-être y a t-il moyen de produire le signal recherché sans passer par Arduino?
Genre deux trois composants à souder et roule ma poule? En plus, ça me permettrait d'usiner un PCB avec ma CNC héhé !
Quand je vois la taille de l'Arduino et celle du RCNC, je me dis que le RCNC doit être très simple non?

Encore merci de ton aide !
 
N

nopxor

Compagnon
marcelou_bidou a dit:
Pour ce qui est de Mach3 et d'après la documentation, le PWM fonctionne comme une sortie 0-10V.

Ne s'agit-il pas plutôt d'une sortie PWM 0-5V car la DB25 ne sort que du 0-5V ?
 
M

marcelou_bidou

Apprenti
C'est possible...

Voici ce que dit le manuel Mach3 (in English):

As an alternative to Step and Direction control, Mach3 will output a pulse width modulated
signal whose duty cycle is the percentage of full speed that you require. You could, for
example, convert the duty cycle of the signal to a voltage ( PWM signal on for 0% of time
gives 0 volts 50% gives 5 volts and 100% gives 10 volts) and use this to control an
induction motor with a variable frequency inverter drive. Alternatively the PWM signal
could be used to trigger a triac in a simple DC speed controller.
 
M

marcelou_bidou

Apprenti
Yes.
Voici le schéma associé à cette solution:

EscConverter%2520Scheme.png


Apparemment il faut "programmer" le PIC12F629. Il doit falloir avoir un dispositif pour ça?
Je m'ne vais chercher des informations!

Grand merci pour la piste, ça me plaît ça!
 
N

nopxor

Compagnon
Au besoin je peux te dépanner car j'ai un programmateur de PIC.
 
J

JB

Apprenti
Bonjour
je suis actuellement entrain de travailler justement sur ce problème:
Je pilote la cn avec linux cnc mais c'est pareil avec mach3.
La ''résolution'' du pwm sur une sortie du PC n'est pas suffisante.
De plus l'erreur de poursuite est énorme en boucle ouverte.
J'ai donc décidé de confier la tâche d'asservissement de vitesse PID à un arduino
avec un retour codeur par sonde à effet hall.
actuellement, ça fonctionne pas mal mais il me reste à optimiser le PID...
La qualité du variateur brushless est à mon avis très importante.
j'ai créé un post sur le sujet:
https://www.usinages.com/threads/broche-motorisee-par-brushless-outrunner.59032/#p643852
Je posterai le programme quand j'aurai fini...
 
Dernière édition par un modérateur:
V

victorjung

Compagnon
il y a plusieurs solutions, qui consistent toujours a lire le pwm de ta carte pour le transformer en ppm, pour piloter l'esc et donc la broche, apres un pic ou un arduino, c'est la même idée. Pour répondre un arduino, si tu achetes une version chinoise compatible , t en as pour meme pas 10€.
Mais je pense a autre chose, ton servo tester, il lit la tension sur le potentiometre entre 0v et 5v et la retranscrit en PPM pour piloter l'esc.
On pourrait imaginer remplacer le potentiometre par le pwm de ta carte.
En branchant le pwm sur le tester pas sur que ca arrive à leurrer le servo tester, a voir, en effet le pwm c'est pas très rapide. Par contre je pense qu'on doit réussir à le lisser pour avoir une vraie tension moyenne et la ca devrait marcher. comme ca, ca te fait une solution quasi gratuite.
Je regarde ce qu'il est possible de faire.
Mais s'il y en a qui savent comment ressortir la tension moyenne d'un pwm... moi je vais googler un coup :)
EDIT: c'etait rapide: solution ici
tu mets ta carte sur j1 , 5V et gnd sur J3 et enfin tu remplaces le potentiometre par J2.

Je pense que ca pourrait mercher assez bien, ca serait cool si quelqu'un d'autre avait un avis!
 
M

marcelou_bidou

Apprenti
Bon alors merci à tous pour toutes ces infos!

VictorJung, tu as tout à fait compris ce que je souhaite faire! Me servir du circuit existant et remplacer le potar par le pwm. Merci pour le lien, je vais étudier ta réponse dans le détail (J1 etc... lol)
Nopxor, merci pour la proposition, je saurai m'en souvenir!!
Et enfin JB, je vais suivre cela avec intérêt.
 
V

victorjung

Compagnon
je pense qu un simple circuit RC pourrait meme suffir, tu connais la periode ou frequence du pwm de la carte mach 3?
 
M

marcelou_bidou

Apprenti
Doc de ma carte

Je ne vois pas d'infos sur la doc...

Voici un screenshot de l'écran mach3, pour le réglage de la broche:

SpinleSet4MachConfig1.jpg


On voit un "PWMBase Freq" qui semble être la fréquence de base du PWM et réglable en plus... Je ne sais pas si ça t'aide...
 
V

victorjung

Compagnon
d'apres la fenetre que tu montres et ce que j'ai pu lire, c'est de la basse fréquence, chez toi réglée à 17Hz ce qui fait que c'est un peu plus dur
 
M

marcelou_bidou

Apprenti
D'après ce que j'ai pu lire de mon coté, certains règlent cette fréquence "beaucoup" plus haut : dans les 350Hz voir 500Hz
Après il y a une fréquence "Kernel" qui se règlent entre 25KHz et 100KHz
 
V

victorjung

Compagnon
d'apres ce post la on peut avoir en tout cas 250 Hz, et la ca devient jouable
je pense qu'une capa de 33uF et une resistance de 5.7Kohm ou par la feront l'affaire.
 
V

victorjung

Compagnon
victorjung a dit:
d'apres ce post la on peut avoir en tout cas 250 Hz, et la ca devient jouable
je pense qu'une capa de 33uF et une resistance de 5.7Kohm ou par la autour feront l'affaire.

ici aussi il y a quelques infos.
y a plus qu'à tester!
 
M

marcelou_bidou

Apprenti
Je vais voir si j'ai ça dans mon stock "récup".
Par contre je vais avoir besoin d'aide pour le câblage... Je les mets où ces "trucs" ? :-D
 
V

victorjung

Compagnon
servo_tester.jpg

tu vires le potentiometre, et tu branches comme sur l'image, il faudra aussi alimenter en 5v ton servo tester comme avant!
 
V

victorjung

Compagnon
apres ca serait pas mal si quelqu un pouvait vérifier ou simuler ce que je propose avant que tu démontes ton tester
 
M

marcelou_bidou

Apprenti
Super!
Merci pour le croquis.
Pour vérifier il faut un simulateur c'est ça?
 
V

victorjung

Compagnon
C est une des solutions. L autre c est quelqu un qui connaît bien les filtres passes bas et qui vérifie si ça partait bien:)
 
V

victorjung

Compagnon
Sinon si t as un multimètre tu fais le circuit mais tu le connecte pas sur le testeur d ailleurs tu le laisses comme ça. Et tu regardes si t as la tension qui varie avec le pwm.
 
M

marcelou_bidou

Apprenti
Oui, j'ai un multimetre. Je vais essayer de trouver les composants et je teste ça rapido!!
Merci
 
S

syoctax

Apprenti
Salut,

Je confirme que le filtre passe-pas proposé à une fréquence de coupure de 0.8Hz (1/(2*pi*R*C))ce qui signifie qu'une PWM à 250Hz à l'entrée se traduira par un signal continu en sortie.

Si le testeur de servo utilisait le potentiomètre comme une référence de tension, alors ça devrait marcher. Si cela ne marche pas, la solution de chez Sonelec est un peu plus propre, mais nécessite un AOP.

A+
 
M

marcelou_bidou

Apprenti
victorjung a dit:
Sinon si t as un multimètre tu fais le circuit mais tu le connecte pas sur le testeur d ailleurs tu le laisses comme ça. Et tu regardes si t as la tension qui varie avec le pwm.
Salut,

après essai, j'ai bien une tension qui varie de 0.8V (0%) à 1.43V (100%) avec le montage proposé.
Avant d'avoir mis le filtre, j'avais déjà une variation entre 0V (0%) et 4.8V (100%).

Par contre, je n'avais pas les valeurs exactes en composants dispos (une R de 5K et 3 capa de 10µF en //), je pense que ça joue... 1,06Hz de coupure.

Syoctax, merci pour les éclaircissements! Et pour la formule! :prayer:

EDIT:
Je viens de réessayer. Les valeurs ont changé...
A 0% de consigne PWM (250Hz), j'ai 4.89V et à 100% de consigne j'ai 0V.
Ca devrait être l'inverse non ?


En parallèle j'ai testé un truc. Je ne sais pas si c'est important, mais si ça peut aider!
J'ai relevé la résistance du potar : 9KOhm
J'ai également mesuré la tension en fonctionnement sur les bornes du potar.
A 0% de potar : 5V
Le moteur démarre à environ 2.5V
A 100% de potar : 0V

J'ai mesuré ici :
servotester.jpg
 
M

marcelou_bidou

Apprenti
Bravo! Et merci pour le partage.

Si e n'arrive pas grâce à votre aide à faire fonctionner en me servant du servo tester, je me pencherai sur ta solution (tu as raison, à ce prix là!)
 

Sujets similaires

L
Réponses
1
Affichages
501
dh42
dh42
El Zorro
Réponses
12
Affichages
501
El Zorro
El Zorro
M4vrick
Réponses
25
Affichages
811
schum22
S
V
Réponses
11
Affichages
734
cr-_-
C
G
Réponses
1
Affichages
507
Greg de Nîmes
G
G
Réponses
3
Affichages
422
mickbzh
mickbzh
PL50
Réponses
14
Affichages
1 071
Squal112
Squal112
L
Réponses
11
Affichages
1 608
lecoyote
L
A
Réponses
5
Affichages
199
dh42
dh42
K
Réponses
10
Affichages
751
Kmillo
K
Haut