CONSIGNE DE COMMANDE +/-10 Volts

Bonjour à tous,

Je recherche une solution pour créer à partir d’un Arduino Mega, une tension évoluant de -10 Volts vers +10 Volts.

Je suis conscient du fait que l’Arduino étant alimenté en 5 V, il ne pourra fournir au mieux qu’une tension mesurée aux bornes de 2 sorties PWM, de 5V. Dans ce cas, chaque sortie évolue en fonction du sens de rotation demandé.

L’idée sera d’adjoindre en sortie de chaque PWM, un convertisseur de tension genre ampli Op.

Merci de vos idées et conseils.

Quelle sera la puissance demandée sur le +/- 10 V ?
Quelle sera la précision demandée sur le + 10V et le -10V ?

Je pense qu'il faudrait regarder du coté des Max232 qui sont prévu pour faire la conversion 0/+5v vers des niveaux RS232.

L'intérêt de ce circuit,si le transfert de PWM est possible, est d'avoir une pompe de charge intégrée qui se chargera de créer le +/- 10V -> en fait plutôt +/-9V mais sous faible puissance d'où mes questions.

Sinon oui la solution ampli op, ou plutôt comparateur, conviendra mais il faudra lui fournir des alim + 10V et -10V

bonjour
quelle resolution demandée ?
si 8 bits sont suffisants (255 pas) l'utilisation d'un potentiometre numerique High Voltage est relativement simple à mettre en oeuvre

RadioG:
Bonjour à tous,

Je recherche une solution pour créer à partir d'un Arduino Mega, une tension évoluant de -10 Volts vers +10 Volts. ...

Si c'est pour commander les moteurs à courant continu de votre CNC, il vous suffit d'avoir une source de tension de 10 V supportant le courant max de vos 3 moteurs cumulés et d'un circuit PWM (pont en H) de puissance.

L'idée de "Artouste" est bonne en soi, mais attention, si c'est dans le cas des asservissements de votre CNC, de ne pas cumuler les conversions qui bouffent un échantillon de temps à chaque fois, la stabilité ou le temps de réponse de vos boucles seraient mis en jeu.

Cordialement.

Pierre

68tjs:
Quelle sera la puissance demandée sur le +/- 10 V ?
Quelle sera la précision demandée sur le + 10V et le -10V ?

Je pense qu'il faudrait regarder du coté des Max232 qui sont prévu pour faire la conversion 0/+5v vers des niveaux RS232.

L'intérêt de ce circuit,si le transfert de PWM est possible, est d'avoir une pompe de charge intégrée qui se chargera de créer le +/- 10V -> en fait plutôt +/-9V mais sous faible puissance d'où mes questions.

Sinon oui la solution ampli op, ou plutôt comparateur, conviendra mais il faudra lui fournir des alim + 10V et -10V

Artouste:
bonjour
quelle resolution demandée ?
si 8 bits sont suffisants (255 pas) l'utilisation d'un potentiometre numerique High Voltage est relativement simple à mettre en oeuvre

Le courant nécessaire est de 100 mA environ.
Je dois fournir de -9 999 mV à + 9 999 mV sur 16bits de commande , soit de‭ 1101100011110001‬ ‭à 0010011100001111‬. Précision réelle voisine du mV.
Le pilotage I²C du potentiometre est-il compatible avec une régulation de positionnement numérique PID?

Le courant est trop élevé pour la solution max232 et l'amplitude n'est pas réglable.

Ne crois tu pas que si tu donnais plus d'explication sur l'utilisation ce serait plus facile pour nous d'essayer de proposer une solution ?

Précision de l'ordre du mV : pour commencer as tu les moyens de mesurer avec la précision du mV -> pour cela il faut au minimum être capable de discriminer 100 µV, ou encore il faut afficher 4 chiffres après la virgule et être certain du dernier à +/- 2 échantillons près.

68tjs:
Le courant est trop élevé pour la solution max232 et l’amplitude n’est pas réglable.

Ne crois tu pas que si tu donnais plus d’explication sur l’utilisation ce serait plus facile pour nous d’essayer de proposer une solution ?

Précision de l’ordre du mV : pour commencer as tu les moyens de mesurer avec la précision du mV → pour cela il faut au minimum être capable de discriminer 100 µV, ou encore il faut afficher 4 chiffres après la virgule et être certain du dernier à +/- 2 échantillons près.

Pas de problème pour te donner plus d’infos, bien au contraire . Il s’agit de créer un pilotage de CNC avec des moteurs/codeur CC à partir d’un ensemble Arduino/Uno qui fonctionne en pas à pas!
Un des problèmes cruciaux est de récupérer le nombre de pas générés par Grbl/Uno avec le sens de rotation et de piloter un variateur de puissance par une tension de consigne standard qui évolue de -10 V vers +10V. J’ai indiqué des valeurs de 9,999 V (9 999 mV) soit une lecture du mV sauf erreur de ma part, à corriger si problématique.

RadioG:
... Un des problèmes cruciaux est de récupérer le nombre de pas générés par Grbl/Uno avec le sens de rotation et de piloter un variateur de puissance par une tension de consigne standard qui évolue de -10 V vers +10V. J'ai indiqué des valeurs de 9,999 V (9 999 mV) soit une lecture du mV sauf erreur de ma part, à corriger si problématique. ...

Dans la simulation que je t'avais faite, la partie puissance était pilotée par une quantification de 1/256. J'ai repris cette simulation avec une quantification encore plus grossière. je suis passé d'un pas de 1/256 à un pas de 1/20 puis à un pas de 1/10, soit un pas de 2 volts. La différence sur l'erreur de positionnement est "fifrolinesque". Alors, quant à faire un pas de 1/65536 ... Strictement aucune utilité. Voir courbes ci-après.

Cordialement.

Pierre

Artouste:
bonjour
quelle resolution demandée ?
si 8 bits sont suffisants (255 pas) l'utilisation d'un potentiometre numerique High Voltage est relativement simple à mettre en oeuvre

Compte-tenu de la simulation de "ChrPr" nous adoptons une résolution de 255 pas dont la moitié pour la consigne 0 à -10 V et l'autre moitié pour 0 à +10V. Cette solution avec gestion du signe fonctionnerait-elle dans le cas du DIGIPOT cité ci-dessus par "Artouste"?

Mais pourquoi voulez-vous vous casser les pieds à faire une conversion via un composant qui va vous prendre un échantillon de temps (et donc influer sur la stabilité ou la vitesse de réponse) alors que L'Arduino vous permet de faire du PWM (avec 256 pas distincts) ?

Cordialement.

Pierre

ChPr:
Mais pourquoi voulez-vous vous casser les pieds à faire une conversion via un composant qui va vous prendre un échantillon de temps (et donc influer sur la stabilité ou la vitesse de réponse) alors que L'Arduino vous permet de faire du PWM (avec 256 pas distincts) ?

Je suis désolé de ne pas tout comprendre mais je suivais l'idée d'un composant extérieur pour signer la consigne. Si c'est une erreur de ma part, sorry!!
Comment L' arduino peut-il sortir une consigne signée pour piloter les 2 sens de marche d'un moteur?

RadioG:
... Je suis désolé de ne pas tout comprendre mais je suivais l'idée d'un composant extérieur pour signer la consigne. ...

Ne soyez pas désolé, de toutes façons, c'est un composant extérieur qui va faire le boulot.

RadioG:
... Comment L' arduino peut-il sortir une consigne signée pour piloter les 2 sens de marche d'un moteur? ...

C'est grâce à un "pont en H". Je ne vais pas vous décrire son principe, d'autres l'ont fait bien mieux que je ne saurais le faire. Tapez simplement dans vote moteur de recherche préféré "pont en H".

Par ailleurs, il existe des montages tout fait qui s'interfacent très simplement à un Arduino.

Cordialement.

Pierre

Ok. J'étais resté sur l'idée d'une consigne sans commande supplémentaire du sens de rotation, tel qu'on le fait dans l'industrie (je possède déjà 2 de ces variateurs pour CN que j'avais envisagé d'utiliser).

Je continuerai mes tests avec ce genre de Pont-En-H: https://fr.aliexpress.com/store/product/MiniIBT-Arduino-hollow-cup-motor-drive-module-H-bridge-12V-48V-5A-strong-brake/2632035_32759445442.html?isOrig=true#extend en le connectant à une sortie PWM et une sortie de pilotage du sens de rotation.

RadioG:
… en le connectant à une sortie PWM et une sortie de pilotage du sens de rotation.

Il n’y a pas plus de commande de signe dans les modules PWM d’aujourd’hui qu’il n’y en avait avant dans les variateurs d’avant.

Par ailleurs, ce ne serait pas une commande de sens de rotation, mais une commande de sens du courant dans le moteur.

Dans les modules PWM, ce qui crée le sens du courant est la valeur du rapport cyclique PWM appliquée :

  • rapport cyclique = 50 % → valeur moyenne nulle → pas de courant,
  • rapport cyclique > 50 % → valeur moyenne positive → courant dans un sens,
  • rapport cyclique < 50 % → valeur moyenne négative-> courant dans l’autre sens.
    C’est tout.

Cordialement.

Pierre

ChPr:
Il n’y a pas plus de commande de signe dans les modules PWM d’aujourd’hui qu’il n’y en avait avant dans les variateurs d’avant.

Par ailleurs, ce ne serait pas une commande de sens de rotation, mais une commande de sens du courant dans le moteur.

Dans les modules PWM, ce qui crée le sens du courant est la valeur du rapport cyclique PWM appliquée :

  • rapport cyclique = 50 % → valeur moyenne nulle → pas de courant,
  • rapport cyclique > 50 % → valeur moyenne positive → courant dans un sens,
  • rapport cyclique < 50 % → valeur moyenne négative-> courant dans l’autre sens.

Ok pour une commande de sens du courant dans le moteur, mais mon objectif est de faire tourner le moteur dans les deux sens sur la base d’un Double-Pont-H.

Je n’ai pas trouvé d’info sur le changement de sens de rotation d’un moteur CC, uniquement par modification du rapport cyclique provoquant un arrêt moteur à 50% et une mise en rotation dans un sens en deçà ou dans l’autre sens au delà de cette valeur .
Si vous avez un lien-document je suis preneur.

RadioG:
... un Double-Pont-H. ...

Un pont en H c'est ça -> H

Je ne vois pas ce qu'est un double pont en H ? Ce serait ça -> HH :o

RadioG:
... Je n'ai pas trouvé d'info sur le changement de sens de rotation d'un moteur CC, uniquement par modification du rapport cyclique provoquant un arrêt moteur à 50% et une mise en rotation dans un sens en deçà ou dans l'autre sens au delà de cette valeur .
Si vous avez un lien-document je suis preneur.

Je ne comprends pas ce que vous ne comprenez pas. C'est par la variation du rapport cyclique de commande que l'on va modifier le sens du courant dans la moteur et par là-même le sens de rotation. C'est le principe du pont en H ...

Cordialement.

Pierre

ChPr:
Un pont en H c'est ça -> H

Je ne vois pas ce qu'est un double pont en H ? Ce serait ça -> HH :o

Je ne comprends pas ce que vous ne comprenez pas. C'est par la variation du rapport cyclique de commande que l'on va modifier le sens du courant dans la moteur et par là-même le sens de rotation. C'est le principe du pont en H ...

Le double pont en H tel que celui-la celui_la et permet de commander un pas à pas ou deux moteurs CC.

Ah oui, d'accord. Ce sont deux ponts en H, chacun permettant de piloter un moteur.

Cordialement.

Pierre

C'est par la variation du rapport cyclique de commande que l'on va modifier le sens du courant dans la moteur

C'est sur ?
J'ai comme un doute.

Ah oui, d'accord. Ce sont deux ponts en H, chacun permettant de piloter un moteur.

Certains moteurs pas à pas demandent 2 ponts en H par moteur, c'est pour cela que les ponts en H vont souvent par deux.

C'est sur ? J'ai comme un doute.

Bonjour,
peut-être un standard d'un autre temps ?
... ou alors une méthode des plus grossières pour varier dans les 2 sens