Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Jean-Luc

Pages: 1 ... 63 64 [65] 66 67 ... 93
961
Vos projets / Re : PWM - Faire varier la fréquence
« le: février 04, 2017, 03:19:17 pm »
Divisé par 8 donc 4kHz (un peu bas concernant la dissipation thermique). Niveau bruit le 32kHz devrait être mieux.

962
Vos projets / Re : Re : loco LGB sans fil
« le: février 04, 2017, 11:53:06 am »
On ne va pas en débattre, puisque tu te réfères à un article écrit par toi même...

L'étude n'est pas de moi mais d'un enseignant-chercheur de l'ECN. J'ai juste écrit l'intro.

Citer
Revenons à mon commentaire : on peut difficilement affirmer que je sujet est totalement sans fondement...
il suffit de consulter internet à ce sujet, en tout cas pour ce qui concerne les moteurs sans fer...

Internet est une mine d'âneries. Je précise : affirmer de manière générale que la PWM pose problème est sans fondement scientifique et technique.

Citer
J'ai moi même grillé in tempore une fournée entière de moteurs Jouef "N" sous alimentation pulsée...
et je ne tiens pas vraiment à prendre le risque de griller (même volontairement) un moteur LGB...

Comme tu le dis toi-même (sic) :
"Les moteurs à rotor sans fer n’aiment pas les alimentations à courant pulsé [1]
Comme on va le voir, cette affirmation n’est pas tout à fait vraie"
... pas tout à fait vraie... ou pas totalement fausse ?

Tu n'as donc ni lu ni compris l'article.

963
Vos projets / Re : loco LGB sans fil
« le: février 04, 2017, 10:57:13 am »
Ok, nous voilà amené sur le terrain du respect et de la dictature politique. On frôle déjà le point godwin.

Il ne s'agit ni de l'un ni de l'autre.

  • Nous sommes sur un forum à caractère technique et scientifique. Si le débat d'idées existe, une affirmation doit reposer sur une base scientifique et technique démontrable.
  • L'affirmation : « les locos LGB n'aiment pas le PWM » ne repose sur aucune base scientifique et technique démontrable.
  • Les choix techniques adoptés par Driving Railways ne constituent pas une telle base.

Par ailleurs, en tant que fondateur du forum, je veillerai particulièrement à ce qu'on n'y colporte pas des choses fausses.

964
Vos projets / Re : PWM - Faire varier la fréquence
« le: février 04, 2017, 10:19:21 am »
Les broches 5 et 6 correspondent aux PWM générée via le Timer 0

Contrairement aux PWM générées via le Timer 1 et le Timer 2, celles du Timer 0 ne sont pas en phase correct PWM mais en fast PWM. Ceci fait que la fréquence est deux fois plus élevée (par défaut 976 Hz environ)

Le Timer 0 est celui qui permet également à l'Arduino de compter le temps (c'est pour cela qu'il est programmé en fast PWM). Il est à cet effet avec une division de 64. Avec l'horloge à 16MHz, il compte à 250 KHz et déborde au bout de 256 coups, soit tous les 1,024 ms, une interruption se produit, ce qui donne la base de temps.

Si tu changes la division de l'horloge sur le Timer 0, tu auras le choix entre les fréquences suivantes pour la PWM :
  • 62,5kHz : division par 1, interruption toutes les 16µs (oups), le temps coule 64 fois plus vite
  • 7,8125KHz : division par 8, interruption toutes les 128µs, le temps coule 8 fois plus vite
  • ...

Il vaut mieux changer de broches je pense pour être sur le Timer 1

965
Vos projets / Re : Re : PWM - Faire varier la fréquence
« le: février 04, 2017, 09:49:31 am »
On est bien d'accord que le Timer1 est celui qui "pilote" les broches PWM 5 et 6 ?

Ah non. Si j'en crois ce qu'a écrit Christian : http://www.locoduino.org/spip.php?article119, ce sont les broches 9 et 10 pour le Timer 1

Et non, le Uno ne risque absolument rien ;-)

966
Vos projets / Re : PWM - Faire varier la fréquence
« le: février 04, 2017, 09:24:53 am »
Non non non,  :)

sbi met le bit indiqué à 1.

EDIT : je me suis trompé dans les noms des constantes CS2, CS1 et CS0. Il existe en fait un jeu de constante par timer. CS02, CS01 et CS00 sont pour le timer 0, CS12, CS11 et CS10 sont pour le timer 1 et CS22, CS21 et CS20 sont pour le timer 2.

sbi(TCCR1B,001);
Va mettre le bit 1 à 1, c'est à dire CS1 ! Le résultat sera d'avoir ces 3 bits à 010, soit une division 8 et une fréquence de 4KHz environ.

sbi(TCCR1B,CS10);
fait exactement ce que tu veux, fréquence de 32KHz (j'arrondie), inaudible

Si tu veux mettre 101 dans CS2,CS1,CS0, ajoute

sbi(TCCR1B,CS12);
Fréquence 32Hz. Attention ! Va lire http://modelleisenbahn.triskell.org/spip.php?article44 et l'article suivant.
Le moteur va chauffer

Autre solution, si tu veux mettre directement 101,

TCCR1B |= B00000101;
Dans tous les cas, la ligne met ces 3 bits à 0,

TCCR1B &= 0xF8;
Doit être conservée. Elle peut aussi s'écrire :

TCCR1B &= B11111000;
Pour ces histoires de manipulations de bits, voir http://www.locoduino.org/spip.php?article70

967
Vos projets / Re : loco LGB sans fil
« le: février 04, 2017, 08:52:06 am »
Ramboman, je te prierais d'arrêter de colporter des âneries concernant les moteurs et La PWM.

Premier et dernier avertissement

Pour comprendre les implications de l'alimentation d'un moteur par PWM, voir les quatres articles dont le premier est ici : http://modelleisenbahn.triskell.org/spip.php?article44

968
Vos projets / Re : PWM - Faire varier la fréquence
« le: février 03, 2017, 11:47:26 am »
Effectivement 256, pas 255 et oui, c'est 16MHz pour le tick pas 8MHz.

Par contre sur les Timers 1 et 2, la PWM est programmée en phase correct PWM mode, ce qui fait que le timer fait un aller-retour pour une période. Par conséquent c'est bien 16 000 000 / 1 / 256 / 2 (phase correct mode) = 31250 Hz et je l'avais vérifié à l'oscillo sur le Timer2.

969
Vos projets / Re : PWM - Faire varier la fréquence
« le: février 03, 2017, 11:20:55 am »
Sans aller jusqu'à utiliser la bibliothèque Timer1 (les bibliothèques sont présentées sur le PlayGround: http://playground.arduino.cc/Code/Timer1), tu peux simplement changer la division d'horloge du Timer1

Par défaut, la division d'horloge est mise à 64 dans les fonctions d'initialisation du logiciel Arduino. L'horloge utilisée pour les timers est de mémoire à la fréquence moitié de celle du CPU, 8MHz à 16MHz sur un Uno/Nano. Avec une division d'horloge de 64, ça donne une fréquence de 125kHz 250KHz pour le tick d'incrémentation du timer.

analogWrite fixe le rapport cyclique de 0 à 255, il faut donc 255 256 ticks et de plus comme la PWM du Timer1 est programmée en phase correct mode, il faut 2 fois ça pour une période, ce qui donne une fréquence de PWM de 250KHz/256/2 = (à peu près) 488 Hz.

Pour monter la fréquence de la PWM, il suffit de changer la la division d'horloge. Cela se fait en écrivant ce qu'il faut dans les bits 0, 1 et 2 du registre TCCR1B. Ces bits ont également pour petits noms CS2, CS1 et CS0 (CS pour Clock Select). Les combinaisons possibles sont

CS2CS1CS0Effet
000Aucune horloge, le timer ne compte pas
001division par 1
010division par 8
011division par 64
100division par 256
101division par 1024
110Horloge venant de la broche T1, sensible au front descendant
111Horloge venant de la broche T1, sensible au front montant

Mettre la valeur 001 dans ces 3 bits donnerait une fréquence de PWM de 800000016000000/256/2 = 31,25 kHz

Pour le faire, je te propose de mettre ceci dans setup :

TCCR1B &= 0xF8; /* CS2 = CS1 = CS0 = 0, coupe l'horloge */
sbi(TCCR1B,CS10); /* CS0 = 1 */

970
Vos projets / Re : loco LGB sans fil
« le: février 02, 2017, 09:51:56 am »
Il n'y a pas de problème pour le moteur. À vrai dire plus la fréquence est élevée et mieux c'est

Pour changer la fréquence de la PWM, tu peux utiliser la bibliothèque Timer1 ou bien Timer3. Il ne faut pas que la sortie PWM que tu utilises corresponde au Timer2 dont on ne peut changer la fréquence sans changer la base de temps du logiciel Arduino (celle qui est derrière millis() et les autres fonctions temporelles)

971
Composants / Re : à-coup servomoteur
« le: janvier 10, 2017, 04:14:26 pm »
Bonjour,

Il faut mettre une résistance de 10kΩ entre le signal de PWM du servo et l'alimentation du servo (pas la masse, le +5V)


972
Composants / Re : moteur stepper
« le: décembre 09, 2016, 03:36:42 pm »
Bonjour,

Le driver DRV8824/DRV8825 engendre tout seul les séquences pour passer d'un pas au suivant.



Si le câblage est conforme au diagramme ci-dessus, il peut y avoir 4 causes au dysfonctionnement :

- matériel : les bobines du moteur ne sont pas connectées correctement. Vérifie que sur les sorties Bx il y a bien une des bobines et sur Ax l'autre : avec un ohmmètre, teste les fils deux à deux quand le courant passe, les deux fils correspondant à la même bobine.
- matériel : le potentiomètre de réglage sur le DRV (À côté des broches ENABLE et M0) doit être réglé. Il permet de fixer le courant dans les bobines. À fond dans un sens le courant est trop faible.
- logiciel : il y a des contraintes sur la durée du STEP dans l'état haut ou bas : 1,9µs. Il peut être nécessaire de faire une petite pause quand on envoie un pulse.
- logiciel : Le moteur lui même peut ne pas supporter une fréquence trop élevée sur STEP, il ne suit pas rate les pas et vibre.

973
Shields et Modules / Re : Carte Pont tournant
« le: juin 20, 2016, 02:08:31 pm »
Bonjour à tous,

C'est arrivé en début de semaine dernière mais je n'ai pas eu le temps de m'y mettre :




974
Erreur de ma part. C'est entrees[entreeEnCours].etatEntree == ATTENTE_PULSE qu'il faut écrire.

975
Vos projets / Re : Barrière infra rouge et interruptions
« le: juin 19, 2016, 03:32:01 pm »
Essaye de mettre INPUT au lieu d'INPUT_PULLUP.

Pages: 1 ... 63 64 [65] 66 67 ... 93