Arduino - alimentation analogique pour train unique

Toutes les discussions sur l'Arduino !

Modérateur : MOD

doddyfab
Messages : 22
Enregistré le : mer. 26 févr. 2014, 11:50

Re: Arduino - alimentation analogique pour train unique

Message par doddyfab » mar. 04 mars 2014, 11:23

jlb a écrit : Y compris après un reboot du PC ?
Meme après ca oui :( j'attends la réponse du site.
Pour le transistor je vais regarder ca, mais je n'en ai pas sous la main faudra que j'aille en acheter. Interessant le lien aussi !

Avatar du membre
Doxy
Disert
Messages : 425
Enregistré le : jeu. 04 mai 2006, 18:34
Localisation : Ronchin (59)
Âge : 77

Re: Arduino - alimentation analogique pour train unique

Message par Doxy » ven. 07 mars 2014, 18:55

jlb a écrit :Ok donc tu utilises ce transistor en hacheur.

J'attire ton attention sur deux choses.

Par défaut les PWM sur l'Arduino sont à une fréquence de 500Hz. Le hachage basse fréquence peut présenter un danger pour les petits moteurs. Voir http://modelleisenbahn.triskell.org/spip.php?article44 et http://modelleisenbahn.triskell.org/spip.php?article45

Il faudrait donc augmenter le fréquence de la PWM à disons plus de 16kHz. Voir http://arduino.cc/en/Tutorial/SecretsOfArduinoPWM

Mais j'ai bien peur que ce vénérable 2N3055 ait du mal à suivre la cadence. L'idéal serait un MOSFET.
Pas d'affolement: on est plusieurs amis à utiliser de la MLI à 100Hz depuis plus de 15 ans et aucun n'a déploré la perte d'un moteur par excès de chaleur même un moteur à RSF.
J'approuve à 200% le remplacement du 2N3055 par un MOSFET: pas besoin de radiateur pour le MOSFET

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Arduino - alimentation analogique pour train unique

Message par jlb » ven. 07 mars 2014, 21:58

Quelle échelle pratiques-tu ?

Un exemple : http://www.passion-metrique.net/forums/ ... 10#p297603

Avatar du membre
lgperrin
Papotier
Messages : 180
Enregistré le : dim. 04 mars 2012, 13:36
Echelle pratiquée : N-HO
Site Internet : http://www.ligea-modélisme.fr
Localisation : Pontoise
Âge : 58

Re: Arduino - alimentation analogique pour train unique

Message par lgperrin » sam. 08 mars 2014, 00:06

Je rejoint Doxy ; JAO et Pégase utilise des fréquences d'environ 100 hz depuis des années et il n'y a pas de problèmes.
S'il y en avait cela se saurait et ces systèmes auraient mis la clé sous le porte depuis longtemps.

Ce pendant, je ne nie pas qu'il est vrai que les moteurs chauffent plus lorsqu'il sont alimentés avec une fréquence hachée par rapport à une tension continue (j'ai vérifié mais sans intégrale, juste la loi d'ohm) ; mais de là à être détruit, il y a un pas que je n'oserai franchir.

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Arduino - alimentation analogique pour train unique

Message par jlb » sam. 08 mars 2014, 00:11

J'ai donné un lien vers un exemple de destruction avérée

Pour Pegase, ils proposent une fréquence de 5KHz pour le N.

Avatar du membre
Doxy
Disert
Messages : 425
Enregistré le : jeu. 04 mai 2006, 18:34
Localisation : Ronchin (59)
Âge : 77

Re: Arduino - alimentation analogique pour train unique

Message par Doxy » sam. 08 mars 2014, 04:33

jlb a écrit :J'ai donné un lien vers un exemple de destruction avérée

Pour Pegase, ils proposent une fréquence de 5KHz pour le N.
Je suis en HO normalement mais j'ai aussi un HOe avec un Nigel Lawton: je n'ai rien remarqué malgré une marche en continu de plus d'une heure.
De plus, avant d'augmenter la fréquence de son alim à MLI, il faut y voir à 2 fois: il y a 18 mois, avant de lire ton excellent article sur les problèmes d'échauffement avec la MLI, j'ai fait un essai de variation de fréquence à largeur d'impulsion constante. J'ai choisi une Fleischmann 68000 à châssis zamac; pourquoi un vieux bourrin de 40 ans?: je me suis dit qu'il serait plus gêné par la HF qu'un moteur plus moderne qui est prévu aussi pour le digital. Effectivement, la motrice a commencé à ralentir vers des fréquences Kilohertziennes puis à s'arrêter complètement alors que l'éclairage continuait normalement. Ce résultat n'a rien d'étonnant puisqu'il est à la base des systèmes à éclairage permanent. Cela dit, je connais aussi beaucoup d'utilisateurs d'alim MLI à 100Hz en N et je n'ai pas entendu de plainte à ce sujet.

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Arduino - alimentation analogique pour train unique

Message par jlb » sam. 08 mars 2014, 07:57

En H0, les moteurs sont assez gros pour encaisser.

Pour ta 68000, ce résultat est étonnant. Soit, il y a autre chose que le moteur seul dans la machine qui filtre les hautes fréquences. Soit l'étage puissance de ton alimentation est équipée de transistors qui sont incapables de suivre la fréquence de hachage.

Pour info, lors de nos essais, nous avons fait tourné des dizaines de machines dont effectivement des anciennes Jouef et Hornby des années 70 avec une PWM de 32KHz sans aucun problème.

Les systèmes d'éclairage dits « HF » sont faits par superposition d'une tension alternative centrée sur 0. Ce n'est pas une PWM.

Et enfin j'ai donné un lien : http://www.passion-metrique.net/forums/ ... 10#p297603 où la personne de Trains d'Antans donne un cas pratique de moteurs cramés, des Nigel Lawton (12mm de long, 6mm de ø ce qui n'est peut-être pas le même modèle de moteur qui équipe ta machine H0e) à cause d'une fréquence de PWM trop faible. L'auteur fait une analyse très complète du phénomène.

Après, en ce qui me concerne, j'ai rien à vendre, donc vous faites comme vous l'entendez :)

Avatar du membre
Doxy
Disert
Messages : 425
Enregistré le : jeu. 04 mai 2006, 18:34
Localisation : Ronchin (59)
Âge : 77

Re: Arduino - alimentation analogique pour train unique

Message par Doxy » sam. 08 mars 2014, 09:20

Moi non plus je n'ai rien à vendre!
Je referai le test avec d'autres machine pour voir mais la machine 68000 est d'origine pas de filtre ni de roulenet.
Le pont de sortie est un pont en H L298N à fréquence de coupure 25Khz et, de plus, l'éclairage reste constant alors que la motrice est arrêtée. Donc la sortie suit. Je pense qu'on ne compare pas les mêmes choses, toi tu parles d'alimenter une motrice avec un décodeur digital à une fréquence de 32Khz mais comment est fait le circuit de sortie? redressé filtré? alors que moi, je parle d'un vrai circuit PWM avec par exemple le circuit publié par JPS : un 555 suivi d'un MOSFET. Pour mes essai, j'ai utilisé un générateur XR2206 qui permet une variation continue de fréquence avec un potentiomètre plutôt que le 555 où il faut commuter des condos mais je ferai les essais avec les deux circuits le 555+Mosfet et le XR2206+L298N; quand? dans un bon mois de retour d'un déplacement longue durée.
Il n'est pas exact de dire que "Les systèmes d'éclairage dits « HF » sont faits par superposition d'une tension alternative centrée sur 0. Ce n'est pas une PWM". C'est vrai pour certains mais d'autres sont du continu haché ce qui pose d'ailleurs des problèmes avec certaines motrices récentes avec un gros condo de filtrage comme les Electrotren

Avatar du membre
jlb
Fécond
Messages : 694
Enregistré le : jeu. 04 oct. 2012, 16:38
Echelle pratiquée : N
Prénom : Jean-Luc
Site Internet : http://modelleisenbahn.triskell.org

Re: Arduino - alimentation analogique pour train unique

Message par jlb » sam. 08 mars 2014, 09:44

Je parle également d'un vrai circuit PWM avec un MOSFET excepté que c'est un microcontrôleur qui génère la PWM et pas un NE555.

Pour le L298, la sortie suit ou pas. Il faudrait brancher un oscillo pour voir ce que reçoit la loco. J'ai utilisé un L298 avec un moteur pas à pas en pilotant chaque bobine avec une PWM à 20kHz. Le L298 chauffant, il s'est mis à limiter le courant avec pour résultat un fonctionnement erratique du moteur. Je ne dis pas que c'est ce qui s'est produit dans ton cas mais en l'absence de mesure... Quant à l'éclairage, il restera allumé pour un courant très faible et la loco ne bougera pas.

Bref, si dans la loco il n'y a que le moteur, rien n'explique ce que tu as observé excepté un problème du côté du pont en H.

Avatar du membre
Doxy
Disert
Messages : 425
Enregistré le : jeu. 04 mai 2006, 18:34
Localisation : Ronchin (59)
Âge : 77

Re: Arduino - alimentation analogique pour train unique

Message par Doxy » sam. 08 mars 2014, 12:41

J'ai essayé sur 5 cantons donc 5 ponts L298 différents : résultats identiques. La prochaine fois, je branche l'oscillo pour voir ce qui se passe

Avatar du membre
Ramboman
Disert
Messages : 423
Enregistré le : lun. 23 oct. 2006, 18:13
Echelle pratiquée : LGB
Localisation : Waterloo, Belgique
Âge : 75

Re: Arduino - alimentation analogique pour train unique

Message par Ramboman » mar. 18 mars 2014, 11:35

jlb a écrit :J'ai donné un lien vers un exemple de destruction avérée

Pour Pegase, ils proposent une fréquence de 5KHz pour le N.
Pour mémoire :
-> Pegase fait du continu pour le LGB
-> En 1970 je faisais du N avec le système HF de Jouef... mes moteurs grillaient les uns après les autres...

Avatar du membre
Doxy
Disert
Messages : 425
Enregistré le : jeu. 04 mai 2006, 18:34
Localisation : Ronchin (59)
Âge : 77

Re: Arduino - alimentation analogique pour train unique

Message par Doxy » ven. 11 avr. 2014, 18:14

J'ai voulu en avoir le coeur net
La seule solution est à mon avis de tester plusieurs fréquences pour mesurer effectivement ce qu’il en est.
Le circuit est une ligne droite de 2,10m sur laquelle la motrice étudiée fait 5 Aller et Retour chronométrés soit 21m.
Le rapport choisi entre ON et OFF est de 66% soit 10 volts pour une alimentation créte de 15 volts ; on comprendra facilement qu’on ne peut plus parler de MLI ni de fréquence quand on est à 100% puisqu’alors il s’agit de continu pur !
Mon générateur de fréquence variable démarre à 200hz
En même temps que la fréquence et la vitesse, on mesure la tension aux rails dans le premier essai avec la 68001 : elle varie de 9,7 volts à 200hz à 10,2 volts à 1000hz ; c’est normal puisque à cette dernière fréquence, la motrice est à l’extrême ralenti et le moteur ne consomme guère de puissance et les chutes de tension sont réduites.
L’ampli de puissance est un pont en H avec un L298N (carte JAO).

J’ai testé 4 motrices :
Une vieille 68001 Fleischmann à caisse métal.
Un vieux tender 30R Jouef avec un moteur 5 poles.
Un tender 30R remotorisé par iProd avec un Bulher lent.
Une Jouef 66079 récente
Image

On constate que jusqu’à 500hz, il n’y a pas de perte de vitesse pour tous les vieux moteurs. Pour les moteurs plus récents, on peut monter jusqu’à 1000hz. Un point curieux est la remontée de la vitesse à 22000hz pour la 66079 ; probablement un effet du condensateur de filtrage du moteur.
Ces résultats posent problème car on sait bien qu’il est possible d’alimenter un moteur même ancien en HF avec un décodeur.
J’ai donc fait un petit montage avec juste un oscillateur NE555 et un MOSFET suivant le schéma classique qu’on peut trouver sur le Forum LR :
http://forum.e-train.fr/viewtopic.php?f ... ilit=NE555
Aucun problème pour alimenter la vieille Fleischman 68001 à 10000hz SAUF si on retire la diode de protection, dite « roue libre » auquel cas on retrouve la même chute de vitesse avec la fréquence. Dans le cas du circuit en H, en regardant le schéma qui est celui des Data Sheet du L298N figure 6, on voit bien qu’il n’y a pas de diode « roue libre ».
Ma conclusion est que si on veut alimenter un moteur de motrice en HF , il faut utiliser un MOSFET et un relais inverseur (avec Arduino, c’est facile de prévoir l’inversion à tension de sortie nulle) . En revanche , avec un pont en H, il faut rester en dessous de 500hz
Fichiers joints
tableau.jpg
tableau.jpg (96.56 Kio) Vu 6201 fois

Avatar du membre
Pierre59
Papotier
Messages : 147
Enregistré le : dim. 07 mars 2010, 09:17
Echelle pratiquée : HO
Club : Lille Modélisme
Localisation : Villeneuve d'Ascq (59650)
Âge : 76

Re: Arduino - alimentation analogique pour train unique

Message par Pierre59 » ven. 11 avr. 2014, 18:33

Doxy a écrit :Ma conclusion est que si on veut alimenter un moteur de motrice en HF , il faut utiliser un MOSFET et un relais inverseur (avec Arduino, c’est facile de prévoir l’inversion à tension de sortie nulle) . En revanche , avec un pont en H, il faut rester en dessous de 500hz
Bonjour

Les décodeurs DCC utilisent des ponts en H à des fréquences de 20 à 30KHz sans problèmes. Mais il faut utiliser un pont avec 4 MOSFETs ou un pont intégré qui tient la fréquence, j'ai déja fait des essais sans problèmes avec de tels ponts en H.

Pierre

Avatar du membre
Doxy
Disert
Messages : 425
Enregistré le : jeu. 04 mai 2006, 18:34
Localisation : Ronchin (59)
Âge : 77

Re: Arduino - alimentation analogique pour train unique

Message par Doxy » ven. 11 avr. 2014, 18:46

Pierre59 a écrit : Bonjour

Les décodeurs DCC utilisent des ponts en H à des fréquences de 20 à 30KHz sans problèmes. Mais il faut utiliser un pont avec 4 MOSFETs ou un pont intégré qui tient la fréquence, j'ai déja fait des essais sans problèmes avec de tels ponts en H.

Pierre
J'aimerai bien avoir la référence d'un tel pont intégré en H
Merci d'avance

Avatar du membre
patsushi
Messages : 8
Enregistré le : sam. 30 mars 2013, 12:05
Echelle pratiquée : HO
Prénom : Patrick
Localisation : ESSONNE

Re: Arduino - alimentation analogique pour train unique

Message par patsushi » ven. 25 avr. 2014, 10:04

Bonjour,
Je lis ce fil un peu tardivement. J'ai fait un réseau un peu similaire
dans lequel un ARDUINO pilotait (entre autre) la vitesse du train. J'ai adapté un schéma ultra classique et ça marche très bien.
L'alim de départ est un boitier pour portable.

Patrick

Image



Et voici pour le programme, je n'ai pas trouvé comment copier le fichier créer par ARDUINO pour le forum. Encore plein de choses à apprendre.



/*
Commande de l'alimentation des voies par ARDUINO

*/

// définition des E/S

// 0 RX - laisser libre pour communication avec Serial Monitor
// 1 TX - laisser libre pour communication avec Serial Monitor

int Alim = 9; // commande de la tension d'alimentation

byte i = 0 ; // pour les boucles

// définition des variables pour le règlage d'alim
int T = 80; // temps d'attente entre deux réglages = 80 millisecondes
int Tstab = 10000; // temps de stabilité 10 secondes
int Vmin = 10; // tension mini pour le démarrage
int Vmax = 255; // tension max en pas sur la commande en tension
int Vpalier = Vmax*0.3; // 30% de la tension maximum pour le palier
byte acceleration=0; // pour l'accélération
byte ralenti = 0; // pour le ralenti

// initialisation des E/S *************************************************************************************************

void setup() {

pinMode (Alim, OUTPUT); // définition de la commande d'alimentation
analogWrite (Alim, 0); // mise à 0 au départ
}


//****************************************************************************************************

void loop () {



// commande de l'alimentation programmée par ARDUINO pour les voies

// acceleration de stop à pallier (Vmin à Vpalier)
acceleration = Vmin;
while (acceleration < Vpalier) {
analogWrite (Alim, acceleration);
acceleration ++ ;
delay (T);
}

delay (Tstab); // stabisation au palier


// acceleration de pallier à maximum
acceleration = Vpalier + 1;
while (acceleration < Vmax) {
analogWrite (Alim, acceleration);
acceleration ++ ;
delay (T);
}


delay (Tstab); // stabisation au maximum


// ralenti du maximum à palier
i=0;
while (i < (Vmax - Vpalier)) {
i ++ ;
ralenti = Vmax - i;
analogWrite (Alim, ralenti);
delay (T);
}



delay (Tstab); // stabisation au palier

// ralenti du palier à Vmin puis stop
i = 0;
while (i < (Vpalier - Vmin)) {
i++ ;
ralenti= Vpalier - i;
analogWrite (Alim, ralenti);
delay (T);
}
analogWrite (Alim, 0);

delay (Tstab); // stabisation à stop


}
Fichiers joints
Alim ARDUINO.jpg
Modifié en dernier par patsushi le ven. 25 avr. 2014, 16:52, modifié 1 fois.

Répondre