Auteur Sujet: L298 et relais  (Lu 21818 fois)

JPM06

  • Newbie
  • *
  • Messages: 49
    • Voir le profil
Re : L298 et relais
« Réponse #15 le: janvier 18, 2022, 10:54:25 am »
La fréquence de PWM du PCA9685 est réglable de 24Hz à 1526Hz. La valeur de 60Hz est seulement celle choisie pour les servos dans les programmes de démo:pca[I].begin(); pca[I].setPWMFreq(60);} // 60 Hz <-> 16,7msLe choix de la fréquence optimale est un sujet très débattu. Personnellement je synchronise mes cantons sur le secteur redressé double alternance, soit 100Hz et les locos ont l'air de trouver ça bien.
Je suis étonné qu'on puisse utiliser des fréquences élevées comme 32kHz, parce que ça ne doit pas être facile de mesurer la FCEM. Mais dans ce domaine comme dans beaucoup d'autres, l'expérience prime sur la théorie!


babskwal

  • Jr. Member
  • **
  • Messages: 67
  • Echelle N, analogique DIY
    • Voir le profil
Re : L298 et relais
« Réponse #16 le: janvier 18, 2022, 01:09:26 pm »
En fait j'ai suivi les articles de Locoduino sur la PWM pour alimenter les trains : https://www.locoduino.org/spip.php?article47 et suivants. Ça marchait bien à 32 kHz, j'ai effectivement pas aimé le spectre de l'audible. Je ne me souviens plus ce que ça donnait dans les fréquences en dessous de l'audible...

Je comprends que j'ai le choix entre des fréquences assez basses si ça fonctionne pour les locos avec le PCA9685, ou rester sur la PWM d'un Arduino pour des fréquences élevées. Entre les 16 d'un PCA9685 ou les 15 d'un Arduino Mega, c'est presque pareil en nombre ! Mais par contre la bibliothèque PWMFreq ne fonctionne pas sur un Mega.

babskwal

  • Jr. Member
  • **
  • Messages: 67
  • Echelle N, analogique DIY
    • Voir le profil
Re : L298 et relais
« Réponse #17 le: janvier 20, 2022, 11:22:15 pm »
Est-ce compliqué d'adapter cette bibliothèque pour un Mega ?

simontpellier

  • Full Member
  • ***
  • Messages: 115
    • Voir le profil
Re : L298 et relais
« Réponse #18 le: janvier 20, 2022, 11:38:13 pm »
Les pins et les timers sont différents mais c'est rigoureusement le même principe.

Tout est là : https://arduinoinfo.mywikis.net/wiki/Arduino-PWM-Frequency

Concernant cette remarque de JPM06 :
Citer
Je suis étonné qu'on puisse utiliser des fréquences élevées comme 32kHz, parce que ça ne doit pas être facile de mesurer la FCEM.
La fréquence de PWM est à priori sans la moindre incidence puisque la FCEM ne peut pas se mesurer autrement que courant traction coupé.

JPM06

  • Newbie
  • *
  • Messages: 49
    • Voir le profil
Re : L298 et relais
« Réponse #19 le: janvier 21, 2022, 12:10:16 am »
Citer
La fréquence de PWM est à priori sans la moindre incidence puisque la FCEM ne peut pas se mesurer autrement que courant traction coupé.
Bien sûr, mais lorsque je fais des mesures, je vois que la FCEM n'est pas disponible juste après la coupure du courant, à cause de l'effet de self du moteur.

Avec un moteur Jouef, il faut attendre environ 2ms pour la voir apparaitre et la mesurer valablement, ce qui implique dans ce cas que la fréquence maximum du PWM est de 500Hz.

Or à 32kHz, la période n'est que de 30microsecondes, d'où mon étonnement.

Où est l'erreur?

simontpellier

  • Full Member
  • ***
  • Messages: 115
    • Voir le profil
Re : L298 et relais
« Réponse #20 le: janvier 21, 2022, 04:02:09 pm »
Citer
Où est l'erreur ?

... c'est une question !
Malheureusement je ne suis pas qualifié, il faudrait qu'un expert passe par là !

Je remarque seulement que 2millisecondes, c'est énorme, à se demander si le ralentissement permet, ensuite, une mesure représentative ?
Et qu'en appliquant le même calcul à la fréquence de 40Hz que j'utilise, c'est 25ms qu'il faudrait attendre ! Alors que la pratique habituelle est de respecter un délai de 300 à 400 microsecondes (soit une coupure de l'ordre de 600us mesures comprises).
L'échelle (N / HO) aurait-elle une influence ? Je ne vois pas de raison...
Enfin, pourquoi une telle proportionnalité entre fréquence avant coupure et délai d'extinction du flux ? Est-ce empirique ou imposé par l’électromagnétisme ? Dans le second cas, j'aurais tout à revoir... je me joins donc à la question : Où est l'erreur ?
(en demandant à babskwal de pardonner ce détournement du sujet d'origine ! On se rattrapera !)
« Modifié: janvier 21, 2022, 04:04:16 pm par simontpellier »

JPM06

  • Newbie
  • *
  • Messages: 49
    • Voir le profil
Re : L298 et relais
« Réponse #21 le: janvier 22, 2022, 12:20:29 pm »
Citer
pourquoi une telle proportionnalité entre fréquence avant coupure et délai d'extinction du flux
Justement, je pense qu'il n'y a pas proportionnalité. Voici comment je vois la chose (et s'il y déjà un autre fil qui traite de ça, merci de me l'indiquer):

Pour faire de l'asservissement par mesure de la FCEM, il faut faire alterner des phases d'alimentation et des phases de mesure.

Pour agir sur la vitesse, il faut faire "quelque chose" pendant la phase d'alimentation. Ça peut être:
- faire varier l'amplitude de la tension (pourquoi pas?),
- ou bien hacher cette tension (PWM 1),
- ou encore faire varier la durée de l'alimentation (PWM 2). C'est ce que je fais, à 100Hz.
Je suppose que lorsqu'on parle de 32kHz, c'est de PWM1 qu'il s'agit. Alors que lorsqu'on parle de 40 ou 100Hz, c'est de PWM 2.

Quant à la phase de mesure, d'après moi elle ne peut commencer que "quelques temps" après la coupure de l'alimentation, disons 1 à 2ms, à cause des parasites. Mais ça dépend des moteurs et également de la forme du courant traction. Par exemple si on alimente à partir d'une tension alternative avec un dispositif de détection de passage à zéro, il n'y a plus de parasite... mais on perd du temps parce que la fin de la phase est sans effet, ce qui ou bout du compte occasionne la même perte de temps.
On peut aussi se demander si les phases doivent être isochrones (dans le cas de PWM 2 elles pourraient ne pas l'être) mais vu les questions sur la synchronisation des cantons, je pense que personne ne fait ça (?).
 


simontpellier

  • Full Member
  • ***
  • Messages: 115
    • Voir le profil
Re : L298 et relais
« Réponse #22 le: janvier 22, 2022, 05:51:18 pm »
? Que désignent PWM1 et PWM2 ? La PWM étant de la "Modulation de la Largeur de l'Impulsion", le principe ("hachage") reste, quelque soit la fréquence adoptée
(une note à l'intention de babskwal qui utilise des L298 : ceux-ci ne pouvant pas commuter plus vite que 25 kHz, il faut oublier le 32Kz). EDIT : faux !! voir posts suivants
Je crois qu'il me manque de comprendre ceci : "je synchronise mes cantons sur le secteur redressé double alternance, soit 100Hz" ; s'agit-il de ce que cet article de l'AFMN appelle "alimentation à découpage à partir de l'alternatif" (voir lien plus bas) ? Dans ce cas ça n'est pas de la PWM mais ça doit ne pas faire de différence (?) pour ce qui de mesurer une FCEM.

Sur le sujet "asservissement", le fil de référence ici est celui-ci : http://forum.locoduino.org/index.php?topic=36.0

Ayant pour ma part échoué à le mettre en pratique, j'ai bifurqué vers de la compensation de charge ; une aventure développée ici : https://forum.locoduino.org/index.php?topic=1217.0
(La compensation de charge est d'ailleurs ce que sait faire couramment le décodeur d'une motrice digitale en mesurant "in situ"sa propre FCEM)

Hors Locoduino, L'AFMN traite également de l'asservissement de vitesse : http://amfn.nice.free.fr/alim.htm

« Modifié: janvier 23, 2022, 01:15:56 pm par simontpellier »

JPM06

  • Newbie
  • *
  • Messages: 49
    • Voir le profil
Re : L298 et relais
« Réponse #23 le: janvier 22, 2022, 07:41:28 pm »
Pardon si je n'ai pas été clair. C'est difficile sans un dessin...
Ce que je voulais dire, c'est que parler simplement de "PWM" est imprécis et ne permet pas d'en évaluer les avantages et les limitations.
Pour faire de l'asservissement (et à ce propos je ne comprends pas la différence avec la compensation de charge, pour moi c'est la même chose) il faut créer des phases de mesure entre les phases d'alimentation. C'est un premier hachage.
Ensuite, pour agir sur l'alimentation, on peut hacher la tension pendant la phase d'alimentation. C'est donc un hachage dans le hachage.
C'est ce que j'appelais PWM1 et PWM2.

Concernant l'AMFN, j'ai renoncé à utiliser l'asservissement sur le réseau HO (où il y a une alim par canton) pour deux raisons:
1: on a rencontré des problèmes avec les rames éclairées. En effet, l'éclairage des rames atténue un peu la FCEM. Lorsque la loco et la rame sont sur le même canton, ça ne se voit pas, mais lorsque la loco passe sur un canton alors que la rame est encore sur le précédent, elle ralentit un peu et ça se voit.
2: il y avait trop de différence de réglage d'une loco à l'autre.
Bref, on comprend pourquoi on a inventé le digital.
Sur mon réseau personnel, il y a une alim par train, aussi je n'ai pas ces problèmes.

Concernant les L298, je ne savais pas qu'ils étaient limités à 25kHz. Du coup j'en ai qui fonctionnent à 40kHz... sans problème. C'est qu'eux non plus ne le savent pas  ;)


chris_bzg

  • Sr. Member
  • ****
  • Messages: 319
    • Voir le profil
Re : Re : L298 et relais
« Réponse #24 le: janvier 23, 2022, 10:18:09 am »
---
Concernant les L298, je ne savais pas qu'ils étaient limités à 25kHz. Du coup j'en ai qui fonctionnent à 40kHz... sans problème. C'est qu'eux non plus ne le savent pas  ;)

La datasheet du L298 donne une fréquence de commutation qui va de 25 à 40 kHz avec un courant de charge de 2 A (voir page 4 de la datasheet de STMicroelectronics par exemple). Un L298 n'est pas forcément limité à 25 kHz, tout dépend des conditions d'utilisation. Pour ma part, j'ai fabriqué une petite alimentation analogique avec un UNO et une carte Motor Shield (d'Arduino, donc à base de L298) et la PWM est de 31,3 kHz (voir les photos). Les potentiomètres permettent de régler vitesse et sens de circulation pour chaque canal de la carte shield. Le passage à l'oscilloscope montre en jaune le canal A et en magenta le canal B ; la fréquence est en haut à droite de l'écran.

Pour les contributeurs, merci de citer vos sources lorsque vous affirmez quelque chose.  ;)

simontpellier

  • Full Member
  • ***
  • Messages: 115
    • Voir le profil
Re : L298 et relais
« Réponse #25 le: janvier 23, 2022, 12:00:06 pm »
Citer
merci de citer vos sources lorsque vous affirmez quelque chose

40 kHz c'est exact et je suis confus : l'information était corrompue, comme ma mémoire qui n'avait retenu que le fait qu'il était conseillé de ne pas utiliser les L298N au dessus de 25kHz.
La source était là : https://passionelectronique.fr/tutoriel-l298n/

Asservissement versus compensation de charge ?
Disons que dans votre auto, si vous mettez en route le régulateur de vitesse (supposons), c'est un asservissement - le système à partir d'une seule information initiale, la consigne vitesse, agit pour la maintenir constante en toute circonstances (dans certaines limites bien sûr)
Maintenant imaginons un système plus limité : 1) vous restez maître de la vitesse à tout moment 2) le "système" traduit cette consigne temps réel (enfoncement de l'accélérateur) en vitesse cible et "appuie" en renfort lorsque la vitesse constatée est insuffisante. C'est donc une compensation, qui intervient notamment lorsque la charge moteur augmente.

« Modifié: janvier 23, 2022, 01:10:33 pm par simontpellier »

JPM06

  • Newbie
  • *
  • Messages: 49
    • Voir le profil
Re : L298 et relais
« Réponse #26 le: janvier 24, 2022, 03:28:07 pm »
Je découvre par hasard que dans le dernier numéro d'Elektor (493) il y un article qui adresse exactement ce dont nous discutons.
Je ne pense pas avoir le droit de le joindre à ce post en PDF, parce que c'est réservé aux abonnés, mais je peux vous l'envoyer en MP si vous le désirez.
« Modifié: janvier 24, 2022, 03:32:01 pm par JPM06 »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3043
  • 100% Arduino et N
    • Voir le profil
Re : L298 et relais
« Réponse #27 le: janvier 24, 2022, 06:44:36 pm »
Article assez décevant dans Elektor magpi no22 avec un automate de pilotage de loco analogique (pas de DCC) dont le source ne laisse pas rêver :
https://github.com/KushagraK7/PicoSimpleModelRailroad/blob/main/Simple_Automated_Oval_Layout.ino

Mais montre le pilotage d’un L298 avec des accélérations et des ralentissements, plus un capteur.

Sûr qu’on peut faire des tas de choses avec un RPi, mais aussi avec des Arduino dont on trouve tout ce qu’il faut ici !
« Modifié: janvier 24, 2022, 07:04:39 pm par Dominique »
Cordialement,
Dominique