| Alimentations pulsées: PWM, PFM... | |
|
+7jlb Derf Décau45 gfaoplus DMARRION RE 460 SavignyExpress 11 participants |
|
Auteur | Message |
---|
Décau45 Membre
Age : 73 Localisation : Nord Loiret, 45 Nombre de messages : 201 Date d'inscription : 18/01/2009
| Sujet: Re: Alimentations pulsées: PWM, PFM... Sam 30 Mar 2013 - 16:33 | |
| bonjour, voici la suite de ma réalisation en PWM 25KHZ, avec un Arduino volant [img] [/img] le montage assure le marche/arrêt et le sens de circulation du train (2 sorties data), la commande du MOSFET en signal haché (1 sortie data) et le filtrage de la tension provenant du potentiomètre (1 entrée ana) Le processeur du Arduino dispose d'un timer avec deux comparateurs, je réalise donc deux cartes identiques pour deux alimentations la carte et son schéma [img] [/img] et les signaux que l'on voit sur les rails, du carré à rapport cyclique variable, et inversion de sens (milieu de course du potentiomètre) [img] [/img] les premiers essais sont encourageants, rien empêche maintenant d'essayer du PFM (c'est du programme uniquement) le programme Arduino est écrit en C comme m'encourageait à le faire Savigny Express .... et dans cette réalisation, l'Arduino se repose. Il va donc être intégré au TCO et servir à d'autres commandes (voir TCO de Savigny Express) Si mon décors avançait aussi vite, ce serait bien ! bonnes réalisations à tous |
|
| |
SavignyExpress Membre
Age : 61 Localisation : yyy Nombre de messages : 2043 Date d'inscription : 10/10/2010
| Sujet: Re: Alimentations pulsées: PWM, PFM... Lun 1 Avr 2013 - 20:47 | |
| - Décau45 a écrit:
- les premiers essais sont encourageants, rien empêche maintenant d'essayer du PFM (c'est du programme uniquement)
le programme Arduino est écrit en C comme m'encourageait à le faire Savigny Express .... et dans cette réalisation, l'Arduino se repose. Il va donc être intégré au TCO et servir à d'autres commandes (voir TCO de Savigny Express) Bonsoir Décau45, Très belle réalisation, je me réjouis de voir le résultat de tes essais en PFM. J'imagine que tu t'es rapidement mis au C de l'Arduino. C'est par ailleurs sympa de mentionner mon TCO... Bon début de semaine. |
|
| |
mistigris Membre
Age : 56 Localisation : Maisons Alfort Nombre de messages : 473 Date d'inscription : 11/04/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 2 Avr 2013 - 10:54 | |
| Bonjour Décau45,
Super Interessant ! , Pourquoi choisir un MOSFET IRF530 plutôt qu'un L298 avec inverseur comme sur les cartes Sparkfun ? (Prix, puissance ? etc…)… permettant la gestion de 2 moteurs… (Je suis débutant en Arduino et en electronique… merci d'être indulgent et simpliste dans les réponses) Suis très interessé par les plans de ta carte et la prog (notamment le pot inverseur sur analogique) ! |
|
| |
gfaoplus Membre
Age : 63 Localisation : Ile de France - Pontoise Nombre de messages : 117 Date d'inscription : 01/03/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 2 Avr 2013 - 16:33 | |
| Les MOSFET sont plus franc à la commutation que les L298 qui utilisent des transistors bipolaires; de plus la résistance interne est plus faible, donc moins de perte par effet joule.
|
|
| |
mistigris Membre
Age : 56 Localisation : Maisons Alfort Nombre de messages : 473 Date d'inscription : 11/04/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 2 Avr 2013 - 17:24 | |
| - gfaoplus a écrit:
- Les MOSFET sont plus franc à la commutation que les L298 qui utilisent des transistors bipolaires; de plus la résistance interne est plus faible, donc moins de perte par effet joule.
Interessant ! merci… Le prix non plus n'est pas le même… entre 7 et 9 euros pour le L298 contre env 2 euros pour un MOSFET… |
|
| |
jlb Membre
Age : 60 Localisation : Ici Nombre de messages : 1544 Date d'inscription : 31/12/2011
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 2 Avr 2013 - 17:29 | |
| |
|
| |
mistigris Membre
Age : 56 Localisation : Maisons Alfort Nombre de messages : 473 Date d'inscription : 11/04/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 2 Avr 2013 - 17:39 | |
| |
|
| |
Décau45 Membre
Age : 73 Localisation : Nord Loiret, 45 Nombre de messages : 201 Date d'inscription : 18/01/2009
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 2 Avr 2013 - 17:43 | |
| bonjour à tous,
pour Savigny, le language C de l'Arduino est très bien documenté avec des exemples, ce qui permet de s'y mettre (je ne connaissais que l'ASM et le basic, il y a 30ans) je surveille l'avancement de ton TCO car la démarche me plait bien, et je suis en train d'en faire des copier-coller vers mon Arduino des alims. A suivre....
pour mistigris et gfaoplus, le choix du MOSFET est plus lié à mes fonds de tiroirs (récupération d'alimentations à découpage). Disposant d'un gros paquet de relais, l'inversion de sens et l'arrêt-marche sont à relais. Il me restait donc à commuter en puissance l'alimentation. L'IRF530 est un bon choix comme le précise gfaoplus car sa résistance Rds est très faible (0.18ohms avec un courant d'un ampère, celà fait moins de 0.2V de chute de tension) mais si l'on part de rien, le choix du L298 est aussi un bon choix. Il réalise tout ce dont on a besoin, inversion de sens, arrêt-marche, et en double. Sa chute importante de tension peut être compensée en augmentant la tension d'alimentation, en PWM la tension max importe peu (sans exagerer) un point négatif est son implantation sur CI pour ce qui est du schéma et du programme, pas de problème, en MP. J'ai encore à tester les deux alims ensemble, je viens de terminer la deuxième carte et je dois donc séparer mes alims au niveau du circuit (j'ai juste à refaire les prises d'alimentations en DB25 car tous les cantons arrivent sur ce type de prise) L'Arduino est le modèle UNO avec un Atmega328P, les extensions de sorties vont se faire à travers des 74HC595
Bonne réalisation |
|
| |
gfaoplus Membre
Age : 63 Localisation : Ile de France - Pontoise Nombre de messages : 117 Date d'inscription : 01/03/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 2 Avr 2013 - 21:08 | |
| effectivement, l'implantation d'un L298 est délicate. Sur ma carte de commande de puissance, j'ai 12 ponts en H sur une carte de 100*160 + 1 ATMEGA + 1 MAX 232 + 3 74HC595 + 6 quadruples opto coupleurs - avec les L298, c'était grosse galère.
L'avantage des MOSFET tient dans l'absence de radiateur pour un courant relativement faible : 0,18ohm *5A = 0,9W. De plus, en cas d'élévation de température du transistor, le courant de drain diminue.
En espérant avoir apporté ma pierre à l'édifice.
Bonne soirée |
|
| |
railyRabbit Membre
Age : 47 Localisation : Paris Nombre de messages : 138 Date d'inscription : 07/12/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Dim 5 Mai 2013 - 17:35 | |
| Hello J'aurais du fouiller la rubrique électronique plus à fond Je cherche à réaliser le même type de montage, également basé sur l'article de Ptit Train. Je comprends qu'il semble nécessaire de passer aux MOSFET pour suivre les fréquences élevées en PWM. Par contre le post de Décau45 me laisse un peu songeur... - Décau45 a écrit:
- la source du MOSFET va à la masse à travers une faible résistance, ce qui va permettre de surveiller le courant. C'est là que j'ai mis mon oscillo, "horrible le courant haché" au début, ce qui a permis de voir qu'il faut bien découpler l'alim amont (condensateur 100nf) [...]
Est-ce à dire qu'il faut que l'alim du circuit de commande soit bien filtrée ? - Décau45 a écrit:
- [...] et mettre une diode schottky en parallèle avec le moteur (une 1N4004 n'est pas assez rapide, d'où un courant de pointe 6 fois > courant normal) [...]
Son but est de limiter de courant dans le circuit d'alim ? (j'imagine qu'elle est en sens opposé du coup) - Décau45 a écrit:
- [...] et l'alimentation en 12V du montage de puissance se fera à travers un régulateur standard, donc limitation vers 1.5A
Là je suis perdu : je pensais que la limitation du montage de puissance était laissée à la charge des diodes Schottky... merci pour vos explications |
|
| |
Décau45 Membre
Age : 73 Localisation : Nord Loiret, 45 Nombre de messages : 201 Date d'inscription : 18/01/2009
| Sujet: Re: Alimentations pulsées: PWM, PFM... Dim 5 Mai 2013 - 21:32 | |
| Bonjour, - railyRabbit a écrit:
Je comprends qu'il semble nécessaire de passer aux MOSFET pour suivre les fréquences élevées en PWM. attention, si vous ne disposez pas de MOSFET autant partir sur une solution avec L298 qui peut driver deux moteurs, pour 16E il existe des cartes en kit avec ce composant, deplus celà évite les relais d'inversion de sens - railyRabbit a écrit:
Est-ce à dire qu'il faut que l'alim du circuit de commande soit bien filtrée ? non mais il ne faut pas oublier de mettre en // avec le condensateur de 4700µf un découplage HF, genre 100nF pour "effacer " les µ impulsions - railyRabbit a écrit:
Son but est de limiter le courant dans le circuit d'alim ? (j'imagine qu'elle est en sens opposé du coup) oui elle est en // avec le moteur, en polarité inverse, cathode vers le + mais son but n'est pas de limiter le courant dans le circuit d'alim - railyRabbit a écrit:
Là je suis perdu : je pensais que la limitation du montage de puissance était laissée à la charge des diodes Schottky non, les diodes sont là pour limiter la FCEM du moteur . Le courant direct est limité par un dispositif autre comme un régulateur de tension, ce dernier n'agira que si l'on court-circuite les rails. J'ai prévu en plus (mais pas encore réalisé) un disjoncteur électronique couplé au régulateur de tension pour terminer, quelle est le fréquence obtenue du PWM avec votre programme ? un compteur PWM facilite grandement le travail (une ligne de commande pour la fréquence, une ligne de commande pour le ratio PWM) et permet ainsi de libérer le µP pour la gestion du TCO (inters, LEDs, potentiomètres, rotacteur,affichage, ..) bonne réalisation. Michel |
|
| |
railyRabbit Membre
Age : 47 Localisation : Paris Nombre de messages : 138 Date d'inscription : 07/12/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Lun 6 Mai 2013 - 14:19 | |
| Mh c'est bien compliqué pour mon niveau ça... Le but était de disposer d'un transfo PWM pour faire tourner des convois analogiques, donc sans modification électrique interne. On s'en éloigne un peu...
Si la montée en fréquence n'est pas obligatoire, je vais peut-être rester sur du 300Hz comme indiqué dans l'article original. Reste à programmer le générateur PWM du proc. |
|
| |
SavignyExpress Membre
Age : 61 Localisation : yyy Nombre de messages : 2043 Date d'inscription : 10/10/2010
| Sujet: Re: Alimentations pulsées: PWM, PFM... Lun 6 Mai 2013 - 14:37 | |
| - Décau45 a écrit:
- railyRabbit a écrit:
Là je suis perdu : je pensais que la limitation du montage de puissance était laissée à la charge des diodes Schottky non, les diodes sont là pour limiter la FCEM du moteur . Le courant direct est limité par un dispositif autre comme un régulateur de tension, ce dernier n'agira que si l'on court-circuite les rails. J'ai prévu en plus (mais pas encore réalisé) un disjoncteur électronique couplé au régulateur de tension Je me demande si l'une des solutions suivantes ne serait pas possible pour se protéger d'un court-circuit:
- Mettre un régulateur de tension type 7812 ou 317 en amont du Mosfet de découpage. On bénéficierait ainsi de la protection offerte par le régulateur, pour autant qu'il ait le temps de réagir durant les phases actives du signal PWM.
- Mettre une lampe ballast en amont ou en aval du Mosfet de découpage. Même remarque, il faut que la lampe ait le temps de chauffer en cas de court-circuit.
|
|
| |
Décau45 Membre
Age : 73 Localisation : Nord Loiret, 45 Nombre de messages : 201 Date d'inscription : 18/01/2009
| Sujet: Re: Alimentations pulsées: PWM, PFM... Lun 6 Mai 2013 - 18:26 | |
| - railyRabbit a écrit:
Le but était de disposer d'un transfo PWM pour faire tourner des convois analogiques, donc sans modification électrique interne. On s'en éloigne un peu... le but ici est le même. En premier j'ai réalisé l'alimentation GRETEL avec un 12F675. C'est OK, mais du 2 à 300Hz s'entend dans les moteurs (effet de grognement) Ensuite pour découvrir l'Arduino j'ai réalisé une alimentation semblable en remplaçant le transistor de découpage par un MOSFET, et en utilisant les compteurs de l'ATMEGA328 pour avoir une fréquence de 25KHz attention, un découpage à 300Hz ou à 25KHz nécessite les mêmes précautions (transistor à temps de montée faible, diode inverse en techno schottky, découplage des alims) - SavignyExpress a écrit:
•Mettre un régulateur de tension type 7812 ou 317 en amont du Mosfet de découpage
c'est ce qui est fait. Le régulateur limite le courant à 1.5A dans le transistor MOSFET (qui peut en passer plus de 10A sans broncher) et dans le court-circuit accidentel. Ensuite, en amont de tout celà il faut rajouter un disjoncteur qui coupe l'alimentation si le court-circuit dure (détection du courant, temporisation et commande d'un relais qui coupe l'alimentation) le réarmement sera manuel bonne réalisation à tous. Michel |
|
| |
railyRabbit Membre
Age : 47 Localisation : Paris Nombre de messages : 138 Date d'inscription : 07/12/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Lun 6 Mai 2013 - 19:45 | |
| Pardon, je me suis mal exprimé : je voulais pouvoir faire tourner les motrices analogiques sans avoir à les ouvrir. S'il faut mettre une diode dans la loco on tombe déjà dans la modification. Ça n'est pas que ça me rebute, mais ça n'est plus la même chose que de l'essayer telle quelle après un achat par exemple. Ou alors je n'ai pas compris comment tu montes ta diode ? Mais sinon je suis partant pour aller explorer les possibilités du µP |
|
| |
mistigris Membre
Age : 56 Localisation : Maisons Alfort Nombre de messages : 473 Date d'inscription : 11/04/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 7 Mai 2013 - 10:37 | |
| |
|
| |
Décau45 Membre
Age : 73 Localisation : Nord Loiret, 45 Nombre de messages : 201 Date d'inscription : 18/01/2009
| Sujet: Re: Alimentations pulsées: PWM, PFM... Mar 7 Mai 2013 - 12:15 | |
| bonjour, je suis bien en analogique sans modification des machines. la diode rapide se trouve au niveau de l'alimentation entre le +12V (cathode) et le drain du MOSFET (anode), et avant la commutation de sens (on peut l'apercevoir sur le schéma présenté précédemment) un bout de code sur la commande PWM - Code:
-
/* commande alim train PWM, fréquence 25KHz sur idée alim GRETEL de ptitrain potentiomètre double sens avec plage d'arrêt à mi-course commande une seule alimentation Pin numbers: * serial pîns 0(RX) 1(TX) * Digital pins 2 à 13 (8 à 13 utilisés) * Analog pins 0 à 5 (0 à 1 utilisés) */
// include the library code: #include <TimerOne.h>
int PWM0 = 9; // sortie des commandes PWM int PWM1 = 10; int potar;
// init alimentation 0 int marche_avant0 = 8; int arret_marche0 = 11; int amplitude0 = 10; int frequence0 = 40; // 25KHz int seuil0 = 100; // plage zéro du potentiomètre int inertie0 = 5; int ref0 = 512; int old_ref0 = 512; int securite = 0; // démarrage & sécurité int avant0; // sens de la marche int mem_avant0; int marche0 = 0; // arret marche
// init alimentation 1 int marche_avant1 = 12; int arret_marche1 = 13; int amplitude1 = 10; int frequence1 = 40; // 25KHz int seuil1 = 50; // plage zéro du potentiomètre int inertie1 = 5; int ref1 = 512; int old_ref1 = 512; int securite1 = 0; // démarrage & sécurité int avant1; // sens de la marche int mem_avant1; int marche1 = 0; // arret marche
void setup() { // initialize the I/O pins as outputs pinMode(PWM0, OUTPUT); pinMode(PWM1, OUTPUT); pinMode(marche_avant0, OUTPUT); pinMode(arret_marche0, OUTPUT); pinMode(marche_avant1, OUTPUT); pinMode(arret_marche1, OUTPUT); Timer1.initialize(1000); Timer1.pwm(PWM0,amplitude0,frequence0); Timer1.pwm(PWM1,amplitude1,frequence1); }
void loop() { delay(500); // temps de charge des filtres old_ref0 = analogRead(A0); // init valeur potentiomètre old_ref1 = analogRead(A1);
debut: // // traitement alim 0 // potar = analogRead(A0); // read the input pin A0 ref0 = potar; // mesure 1024 points
// simu inertie if (ref0 < old_ref0 - (2 * inertie0) && old_ref0 > (2 * inertie0)) { // simu vers 0 ref0 = old_ref0 - inertie0; } else { if (ref0 > old_ref0 + (2 * inertie0) && old_ref0 < 1023 - (2 * inertie0)){ // simu vers 1023 ref0 = old_ref0 + inertie0; } else { ; // pas de simu, trop proche de la valeur à atteindre } }
old_ref0 = ref0;
if (ref0 > 511) { // potar point milieu amplitude0 = ref0 - 512; // changement origine avant0 = HIGH; } else { amplitude0 = 511 - ref0; avant0 = LOW; }
if (amplitude0 > seuil0) { // plage point milieu digitalWrite(marche_avant0, avant0); delay(20); // temps de réponse relais marche0 = HIGH; } else { amplitude0 = 0; securite = 1; // point de passage pour démarrage //digitalWrite(arret_marche0, LOW); // pas de tension avant démarrage marche0 = LOW; } mem_avant0 = avant0;
if (securite == 0) { // démarrage à 0 amplitude0 = 0; marche0 = LOW; } digitalWrite(arret_marche0, marche0); amplitude0 = 1023 - (amplitude0 * 2); // complément pour cde inversée Timer1.pwm(PWM0,amplitude0,frequence0); // du MOSFET delay(5);
// // traitement alim 1
la commande utilisée Timer1.pwm ...... appartient à la librairie TimerOne.h trouvée sur le net le programme inclut l'inversion de sens au point milieu du potentiomètre, et une simulation d'inertie bons essais à tous. Michel |
|
| |
mistigris Membre
Age : 56 Localisation : Maisons Alfort Nombre de messages : 473 Date d'inscription : 11/04/2012
| Sujet: Re: Alimentations pulsées: PWM, PFM... Sam 11 Mai 2013 - 10:00 | |
| Super ! Merci beuacoup Décau45, je regarde cela . |
|
| |
Contenu sponsorisé
| Sujet: Re: Alimentations pulsées: PWM, PFM... | |
| |
|
| |
| Alimentations pulsées: PWM, PFM... | |
|