LOCODUINO

Aide
Forum de discussion
Dépôt GIT Locoduino
Flux RSS

samedi 20 avril 2024

Visiteurs connectés : 49

Les Timers (IV)

La génération des PWM

. Par : Christian

PWM et broches de sortie Le module Arduino Uno est capable de générer de la PWM sur 6 broches de sorties grâce à la fonction analogWrite. D’une manière transparente pour l’utilisateur, cette fonction utilise les timers du microcontrôleur pour générer sur les sorties, un signal carré de fréquence fixe mais de largeur variable pour (...)

Retourner à l'article

Vous répondez à :

Les Timers (IV) 23 juin 2017 10:13, par Christian

Bonjour,

Je ne suis pas familiarisé avec l’emploi d’ESC comme on les utilise en radiocommande et je ne vois pas bien leur utilité en modélisme ferroviaire puisqu’on régule la vitesse des trains d’une autre manière (PWM amplifié ou DCC).
J’ai tout de même trouvé ce lien qui m’en a dit un peu plus :
http://arduino.blaisepascal.fr/inde...
Peut-être qu’il vous sera utile.

Comme mes collègues Jean-Luc et Dominique, je pense que l’ESC peut s’utiliser comme un servomoteur et dans ce cas, la réponse à votre problème pourrait se trouver dans la bibliothèque Servo d’Arduino.

Le code que vous publiez me semble correct mais il va générer une PWM de fréquence 490 Hz seulement, ce qui est donc insuffisant selon vous. Si on se réfère à mon article, vous pouvez obtenir une PWM de fréquence plus forte, mais hélas non située dans l’intervalle qui vous intéresse. En effet, la fréquence que vous pouvez obtenir est de 7812,5 Hz en prenant un prescaler N = 8 et en vous inspirant du premier exemple. C’est très proche de la borne inférieure de l’intervalle mais pas dedans. Hélas, il n’y a pas d’autres possibilités selon les exemples que j’ai donnés ce qui prouve qu’on est toujours limité par les possibilités physiques d’un microcontrôleur. Si on avait pu prendre un N = 4, on aurait eu une fréquence double, mais ce n’est pas prévu par l’électronique du microcontrôleur.

Une autre possibilité serait d’utiliser le timer en mode CTC au lieu des modes décrits dans cet article, mais cela vous oblige à étudier de très près la datasheet du composant Atmel ATmega328P, microcontrôleur qui équipe les modules UNO.

J’espère que cette réponse vous permettra d’avancer un peu dans votre projet. Bien cordialement.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

29 Messages

Rubrique Programmation

Le monde des objets (1)

Le monde des objets (2)

Le monde des objets (3)

Le monde des objets (4)

Les pointeurs (1)

Les pointeurs (2)

Les Timers (I)

Les Timers (II)

Les Timers (III)

Les Timers (IV)

Les Timers (V)

Bien utiliser l’IDE d’Arduino (1)

Bien utiliser l’IDE d’Arduino (2)

Piloter son Arduino avec son navigateur web et Node.js (1)

Piloter son Arduino avec son navigateur web et Node.js (2)

Piloter son Arduino avec son navigateur web et Node.js (3)

Piloter son Arduino avec son navigateur web et Node.js (4)

Comment gérer le temps dans un programme ?

La programmation, qu’est ce que c’est

Types, constantes et variables

Installation de l’IDE Arduino

Répéter des instructions : les boucles

Les interruptions (1)

Instructions conditionnelles : le if ... else

Instructions conditionnelles : le switch ... case

Comment concevoir rationnellement votre système

Comment gérer l’aléatoire ?

Calculer avec l’Arduino (1)

Calculer avec l’Arduino (2)

Les structures

Systèmes de numération

Les fonctions

Trois façons de déclarer des constantes

Transcription d’un programme simple en programmation objet

Ces tableaux qui peuvent nous simplifier le développement Arduino

Les chaînes de caractères

Trucs, astuces et choses à ne pas faire !

Processing pour nos trains

Arduino : toute première fois !

Démarrer en Processing (1)

TCOs en Processing (1)

TCOs en Processing (2)

L’assembleur (1)

L’assembleur (2)

L’assembleur (3)

L’assembleur (4)

L’assembleur (5)

L’assembleur (6)

L’assembleur (7)

L’assembleur (8)

L’assembleur (9)

Les derniers articles

L’assembleur (9)


Christian

L’assembleur (8)


Christian

L’assembleur (7)


Christian

L’assembleur (6)


Christian

L’assembleur (5)


Christian

L’assembleur (4)


Christian

L’assembleur (3)


Christian

L’assembleur (2)


Christian

L’assembleur (1)


Christian

TCOs en Processing (2)


Pierre59

Les articles les plus lus

Les Timers (I)

Instructions conditionnelles : le if ... else

Les interruptions (1)

Calculer avec l’Arduino (1)

Instructions conditionnelles : le switch ... case

Comment gérer le temps dans un programme ?

Les Timers (II)

Bien utiliser l’IDE d’Arduino (1)

Les chaînes de caractères

Ces tableaux qui peuvent nous simplifier le développement Arduino