Arduino PVG32 Radiocommande

Tu peux peut-être t'inspirer de celui à @jpbbricole du post#29


Je suis surement de-nouveau hors sujet, mais dans la doc ils disent Us <= à UDC ! Quand TOR coupe "UDC sur les PVEM" les PWM envois toujours du courant sur Us ([Us = 6V] > [UDC = 0V]). Il n'y a pas de risque ?

  • Le module de commande Danfoss envois toujours 50% sur Us quand il coupe TOR ?

Bonjour Jef,

Je me doute qu'après tout est possible, mais faut faire au plus simple. Faire avec le code serait le top, mais bon ça c'est secondaire.

Pour se qui est du meilleur choix de composant tu as pu avancer un peu ? Moi j'ai toujours pas reçu mes TC4427 :rage:. Je voudrais bien faire un test avec pour avancer un peu de mon coté...

Le module d'origine fonctionne comme ceci :
Neutre =
Us = 6v
Udc= 0V

En avant =
Us = 3v
Udc = 12v

En arrière =
Us = 9v
Udc = 12v

Donc non aucun risque pour les PVEM si il y'a une tension permanente sur Us quand Udc est coupé.

Super Info!

Si j'ai avancé?

Oui, j'ai fais des tests sérieux avec le BTS7960 et L298N, je n'ai pas finit à 100%, mais je crois que pour faire simple et sûr, avec le L298 ça devrait être super en 12 ou 24V.

Pour le mettre en conditions réelles, j'ai enlevé les diodes de roues libres et le gros radiateur, pour simuler le cas où tu voudrais monter juste le circuit integré sur ton PCB.

Pour ce qui est de la gestion du TOR, je ne me fais pas de soucis.

Pour le code de test, j'ai fais un truc hyper simple, pas de soucis non plus.

Je viens de m'amuser à faire un petit montage sur tinkercad que je vous partage :
TEST

Je n'ai pas trouver de L298N mais un L293D qui se ressemble fortement à par le courant de sortie par canal.
Mais je n'ai pas un neutre à 6v vous pensez que ça vient de quoi ? J'ai fais une erreur dans le montage ?

Oups, je crois que j'ai modifié ton schéma.

Je pensais que ce ne serait pas enregistré, ou juste sur mon compte.

En fait j'ai mis le filtre tel qu'il est sur le PVEM et mis un code tout simple ou tu rentre la valeut (0-255) du PWM sur le moniteur série.

Il y a un oscillo avant le filtrage, et un aprés.
Je ne me rappelle plus exactement la valeur du C sur le PVEM, c'est lui qui laisse passer +/- d'ondulation.

Dans l'idée, ca devrait le faire, on a pas besoin de beaucoup de puissance sur le PWM, quelques mA seulement.

Je rajoute à mon texte:
Il faut vérifier dans notre cas là symétrie du signal de sortie en fonction de ça

La datasheet indique
Vsat_Q1 = 1,4V en pleine charge
Vsat_Q2 = 1,2V en pleine charge

C'est le courant de charge en sortie qui fait varier Vsat des transistor.

Plus il est important, plus Vsat des transistors seront elevés.

Nous tirons, avec la charge crée par la PVEM Danfoss environ 1mA en 12V, 2mA en 24V, nous sommes trés loin des 600 ou 1000mA indiqués dans la datasheet.

Vsat_Q1 et Vsat_Q2 devraient être trés faibles, donc on devrait espérer avoir une sortie symétrique autour de Udc/2 et variant de
Vsat_Q2 < Us < Udc - Vsat_Q1 avec Vsat trés faibles.

A VERIFIER

A voir aussi, il y a une différence entre L293 et L293D, se sont les diodes de roues libres rajoutées sur L283D et qui ne nous sont pas utiles, on ne pilote pas un moteur.

Mes tests avec le L298N
schemaL298.pdf (44,2 Ko)
l298n.pdf (56,0 Ko)

Pour générer un PWM centrer sur Udc/2 le L298N et je présume 293D marchent trés bien tant qu'ils ne sont pas chargés, avec le montage "filtre" en entrée de l’électrovanne PVEM Danfoss, la charge est négligeable.

Je joins le code utilisé pour tracer mes courbes, il n'a rien d’extraordinaire, il permet juste d'envoyer des consigne numérique de PWM sans passer par un joystick (ca évite des erreurs).

Ce code permet d'entrer par le moniteur série les valeurs de PWM voulue, et de mesurer au voltmètre la valeur moyenne avant et après le filtre

//créer le 07/02/2025 Jef59
//Version 250207_1831

const int outPwmPin = 3;
int outPwm;
int variable;


void setup() {
  Serial.begin(115200);
  pinMode(outPwmPin, OUTPUT);
}

void loop() {

    if (Serial.available() > 0) {
    String input = Serial.readString();  // Lecture de la chaîne de caractères entrée
    variable = input.toInt();  // Conversion en entier
    Serial.print("Nouvelle valeur de la variable : ");
    Serial.println(variable);
  }
  analogWrite(outPwmPin, variable);
  delay(100);
}

Je n'ai pas de L293 à disposition mais je pense qu'il doit avoir un comportement similaire au L298N s'il est peu chargé.

Je vais faire la même présentation pour le BTS7960 et le TC4427

Je rajoute une simul toute simple pour piloter un relais par Arduino pour avoir une tension batterie coupée par un simple contact relais.
Ce qui évite les chutes de tensions dans les éventuels transistors de puissance

Coupure 12V par relais

1 Like

Idem avec le BTS7960B
bts7960.pdf (52,3 Ko)

MODIF DE MON POST:

Pour faire bref:
-Il y a la solution basique avec des L298N (ou L293) pour gérer le PWM + Relais pour commuter l'alim Udc.
En principe, je dois avoir bientôt un L293D que je pourrais aussi tester.

-il y a la solution avec des drivers MOS du genre BTS7960B, BTN9960LV, BTN9990LV ou d'autres, selon dispo chez ton fournisseurs (dis moi STP si BTN9960LV et BTN9990LV sont au moins dispo chez ton fournisseur)
Je n'ai testé que le BTS mais il n'est pas dispo chez ton fournisseurs, les autres le sont chez RS ou FARNELL.

L'avantage de ce type de produit (BTS, BTN) c'est qu'ils savent faire la gestion du PWM et du TOR, qu'ils peuvent s'alimenter jusqu'à 40V, et des tas d'autres avantages.

Mais je me répète, ce sont des composants de puissance pas typiquement etudiés pour ton application.
"qui peut le plus peut le moins", des fois oui, des fois non.
Dans ce cas le mieux et de tester, mais je n'ai que le BTS7960 sous la main à tester.

Donc on fait quoi?
On se contente du basic, où on essaye les BTN qui ont l'air top?

PS, je ne suis pas pressé non plus prend le temps et répond quand tu veux.

Bonjour Jef,

Je vois que pour les recherches avec le L298N c'est ok, après pas besoin de s'occuper du L293, j'avais parlé de se composant car c'était le seul dispo sur Tinkercad pour faire un test.

Pour ce qui est du BTN9960LV on peut oublier, il est pas dispo chez JLCPCB par contre pour BTN9990LV et BTS7960B il faut précommander donc ça pourrait jouer.
Sinon il y'a le BTN9970LV de dispo chez JLCPCB
Pour les BTS et BTN d'après le site MOUSSER la plage d'utilisation est de 8-18V et MAX 40V tu crois que si on le fais fonctionner en 24V il ne va pas y avoir de problème avec le temps ?

Je suis vraiment indécis car avec BTS et BTN on a quelque chose de plus "précis" et avec le L298N on aurait quelque chose de plus robuste. Après ce n'est que mon idée je me trompe peut être.

Si tu étais à ma place du prendrai quelle solution ?

Ps: beau boulot de recherche comme d'habitude.

Bonne fin d'après midi.

hello,

Au départ, j'étais fan des MOS, mais à l'usage, j'ai des doutes, je pense que ça marche beaucoup mieux en charge que à vide, et nous on ne charge pas beaucoup!

Par contre, la poste s'est reveillé et j'ai récupéré un L293D, mon idée est que si il marche bien (le L293D) ça pourrait être une solution au top sur plein de points.

Ensuite, pour les TOR:
Relais ou MOS canal P, c'est maîtrisable, les relais, c'est basique, genre artillerie lourde, il y aura à tous coups 0V de chute de tension dans les contact s'ils sont costauds.

Je pensais aussi à un autre truc, vis à vis du filtre RC placé dans le PVEM, ça serait intéressant de tester avec un ESP32 à une fréquence PWM réglable au choix (ce que peut faire un ESP, et pas un ARDUINO)

De plus, sur l'ESP32, il y a le wifi et Bluetooth intégré, on peut trouver des exemples de radio commandes chez

(moi je ne suis pas pro du code ni de l'ESP, mais c'est chez eux que je puisse le + volontier)

Bon j'arrête là pour aujourd'hui, j'ai fais des tests avec un ESP32 en baissant et montant la fréquence du PWM...

Le truc c'est que PWM à 2000Hz et rapport cyclique à fond (255), j'ai fais fumer un fil de M...E connecté au 12V sur ma breadboard.

Connectique du même noms, je pense pas avoir de dégâts autre, je verrais cela demain, il faut que j'analyse la panne (de toutes façon c'est une "bêtise" de vouloir pousser la fréquence dans notre application🤪, ça m'apprendra à faire joujou avec mon esp)

1 Like

Je répond plus sérieusement:

Je n'ai jamais était fan de la physique des composants discrets, donc des fois, en faisant des tests je découvre ce qu'on pourrait appeler des aléas de fonctionnements mais qui en réalité ne sont que des comportements normaux de ces composants.

Exemple tout bête, si tu prend un BP est que tu néglige son comportement normal, tu va rester ébahi face aux rebonds, pourtant, les rebonds de la lame du contact du BP sont normaux, il faut en tenir compte

Idem avec des transistors, il y a pleins de paramétres qui induisent le comportement des transistors lorsqu'ils commuttent, et si tu les néglige, tu va au final obtenir des trucs qui vont te sembler incompréhensibles et allusinants.

Donc là j'ai testé plusieurs solutions, et je trouve que le test, c'est une trés bonne maniére de vérifier que tout fonctionne et qu'il n'y a pas un paramétre que l'on ne connais pas et que l'on aurait oublier.

Je n'ai pas tout les composants que j'aurais pu tester, donc dans ce que j'ai testé, je mettrais en 1 le L298 parce que le BTS7960 ne se fait plus, parce que les autres MOS, je ne les ais pas testé, et parce que effectivement il est robuste, simple, et marche pour ton application.

Dans le même ordre d'idée, le L293 me semble bien si je ne l'ais pas cramé, à vérifier...

Il manque un test important, c'est chez toi avec l'électrovanne.
Bien que lême là, tu n'es pas à l'abri d'une electrovanne "fatiguée" ayant un fonctionnement anormal et troublant tes tests!

@jef59 J'ai mis un certain temps pour comprendre que la chute de tension différente pour le Tor ou le Us t'embêtais avec le L298N. Maintenant que j'ai mis à jour mes neurones, j'ai une idée; Si en pilotant le TOR avec un L298N et qu'on alimente un autre L298N avec celui qui aliment le TOR ou resterais mieux centré par rapport à 1/2_Udc . Ca implique d'utiliser plus de L298N, mais peut-être que ça pourrais fonctionner. Quand penses-tu ?
Dans tes test les mosfets ou transistor positif son toujours plus performant que les négatif, cela vient du condensateur ? En tous cas pour le BTS7960 une transmission à 100.08% c'est géant :wink:

Dans cette datasheet du BTS 7960 je comprend pas la différence entre Vvs et vs
3.0.1 |Supply voltage VVS |min: -0.3 |max: 45 | V
4.1.1 |Operating Voltage VS |min: 5.5 |max: 27.5 | V
Si c'est effectivement max 27,5V avec un alternateur pouvant aller à 28.8V c'est un peut juste !

Le **DRV8871 6.5V à 40V 3.6A ** que je vous ai proposé ne vous intéresse pas !

Bonne chance pour la suite.

Après pour la précision des signaux PWM, il faut rester raisonable à mon avis, le distributeur PVEM à quand même un hystéréris de 15%
C'est surement pour ce-ci qu'il préconise de couper le TOR au centre, comme ça le positionnement du tiroir de distributeur est libéré et ce centre mécaniquement avec ses ressorts.

Bonsoir,

Réponse à @Charles_9999

Perso, je vais me centrer sur ce qui est disponible, donc je laisse de côté le BTS7960.

Mes mesures, je les ais faites en DC partant du principe que mon voltmétre donnait une valeur moyenne.

J'ai ensuite entré ces valeurs dans un tableur, calculé des %, et confié à mon tableur le soin de tracer les courbes en "lignes" (entre les points de mesures).
Possible donc que des fois cela frôle voir dépasse les 100%.

Ton idée d'utiliser un L298 comme un interrupteur TOR, moi je ne suis pas chaud pour des raisons de physique des composants.

Mode :grin:: Il paraît que j'explique bien, mais que tout le monde ne comprend pas toujours​:thinking:

La tension Vce aux bornes d'un transistor varie tout de même en fonction du courant Ic (ou Ie) qui le traverse, et si le transistor est saturé ou non.

Disons, pour faire simple, que plus le courant Ic ou Ie est grand, moins le transistor est saturé, plus Vce est grand.

Et alors?

Alors sur Us, on a une charge fixe et elevée, donc Ic est faible (mA), donc Vce négligeable = peu de chute de tension

Mais sur Udc, on a une charge variable (l'électrovanne) qui consomme +/- du courant de 0 à (je présume) 750mA, ça varie, et comme le courant est parfois elevé, la chute de tension n'est pas constante, c'est donc, je l'estime, un trés mauvais Tout Ou Rien.
Je ne trouve très clean de partir de cette façon avec un TOR.

Je préfère je relais ou le MOS canal P.

Dans les 2 cas, il faut prévoir une adaptation pour que cela marche en 12V ou 24V.

Aprés il y a le pb de l'alternateur, à Re Regarder, je n'y ais pas vraiment preté attention!

Pour illustrer mon idée, car j'explique mal, je penses que ça pourrais peut.être marcher (j'ai juste mis le courant fort sur le schéma)

Je veux pas critiquer tes mesures, je ne serais pas capable de les faires, mais je penses qu'il y a un petit décalage, car je me dis que les transistors côté positif doivent être équivalant au côté négatif, mais la différence est faible dans tes mesures !

Alors pour moi je verrais plutôt les MOS. Et pour la tension batterie entre 11V et 30V comme ça pas de soucis.
Je reparlais juste de la tension alternateur que beaucoup ne prennent pas en compte, mais moteur qui tourne c'est souvent autour de 13.5V (pour 12V_nominal) et 27V (pour 24_nominal). Ses tensions nominal vienne de la chimie des batteries au plomb qui stock environ 2volts par éléments, mais la tension de charge et plus élevée.

Bonjour,

J'ai bien compris ton idée


Selon moi, avec des transistors NPN/PNP, le "0.8V" n'est pas constant mais varie en fonction du courant consommé par l'electrovanne.
C'est l'inconvénient de ce type de transistor.

C'est pour cela que je ne préconise pas l'usage de L298 pour faire l'équivalent d'un interupteur TOR.

Moi je serais plutôt tenté par


Ou un MOS P à la place du relais ...

Ensuite
AN152886482646en-000302.pdf (938,6 Ko)
voir page 2.
à priori l'électrovanne fait un traitement spécial autour du point neutre (hystéresis) pour qu'il y ait une certaine tolérance de mesure.


Donc si on rajoute du traitement au traitement, on risque de se perdre, moi je suis partisan de juste fournir un signal centré sur Udc/2, et qui, quand le joystick est au Neutre, soit le + proche possible de Udc/2 sans avoir à couper l'alim Udc.

Aprés, que pour économiser les batteries, on mette un "TimeOut" sur les TOR pour mettre hors tension des TOR quand des joystick sont au point neutre (inutilisés) depuis un certain temps, c'est un autre problème et une bonne idée.

C'est aussi ce que je penses depuis un certain temps, relier tous les tor ensembles et ne pas ce prendre la tête avec ça, mais c'est juste mon avis (et le tien si j'ai bien compris) !
Par-contre les relais c'est sois 12V sois 24V, je crois pas qu'il y est des relais qui supportent les deux ! Edit: mais je suis con, les relais sont pilotable en 5V depuis l'Arduino !

Dans la doc de la "série 7" (je ne garanti pas pour la série 4), de ce que j'ai cru comprendre tous les PVE_ (y compris le PVEM) coupe en interne l'alim après 750ms au neutre :
PVE Power Save : (traduction Google) Toutes les variantes d'actionneurs proportionnels disposent d'un mode d'économie d'énergie, qui désactive le pont de la vanne à solénoïde. Le mode d'économie d'énergie est activé lorsque la tension de signal (Us) et la position de la tige LVDT sont restées en position neutre pendant 750 ms. Dès que la tension de signal (Us) ou la position de la tige LVDT sort de la position neutre, le PVE quitte son mode d'économie d'énergie et réactive le pont de la vanne à solénoïde comme d'habitude. Le mode d'économie d'énergie entraîne une augmentation de l'efficacité énergétique en réduisant la consommation de courant des actionneurs PVE en position neutre. Le mode d'économie d'énergie n'a aucun effet sur les performances de l'actionneur PVE.

Peut-être en relation avec le texte ci-dessus, pour savoir quand désactiver les solénoïdes

Dans la même doc page 45 :


(La deuxième image c'est pour un tiroir avec fonction flottante.)

On vois que le signal n'est pas déformé par la PVEM (25% à 75% des PWM = -7mm à 7mm du manipulateur manuel). Par contre la géométrie des différant tirroirs modifie le débit en fonction de la position. Cette géométrie donne une bonne zone neutre au centre ou aucun débit n'est fourni, même si le tiroir n'est pas pile centré.

Après, si @william270peel préfère garder des pilotages TOR individuels pour chaque distributeur, je trouves que d'utiliser des DRV8874 ou DRV8876 serrais une option à envisager.
Un DRV par distributeur en mode demi-pont (OUt1 et OUT2 indépendant) comme ça In1<>Out1 pour TOR et In2<>Out2 pour Us.

DRV8874 on une résistance interne faible:

Je n'ai pas vraiment pensé cela.

Je pense plutôt que c'est redondant de couper l'alim Udc dans la zone de neutre car le PVEM gére je pense, déja trés bien cela.

Mais que cela n'empêchait pas de le faire aprés un certain temps, TOR par TOR, quand le joystick de l'axe consideré ne bouge plus.

Tu parle de module relais, mais pas d'un relais..Sur le module, il y a souvent un opto voir un transistor pour piloter le relais.
Mais le relais en lui même, il n'a qu'une bobine qui ne supporte qu'une tension de commande.

Mais on peut essayer de s'arranger pour qu'il soit pilotable en 12 ou 24V avec quelques composants en plus, à voir.

Peut importe, mais prendre un relais avec une bobine 5V. Dans l'idéal le piloter via un optocoupleur comme c'est fait dans les modules, est JDVcc sur le 5V qui alimente l'Arduino !
[http://www.techydiy.org/wp-content/uploads/2017/02/2-relay-module.jpg]

Alors je pence comme toi, sauf que moi je couperais tous les TOR ensembles (un seul relais). Si c’était pour moi, sais ce que j'envisagerais, mais c'est pas pour moi. Quoi que la version DRV8874 me plais bien.