IDE ARDUINO 2.3.4
bibliothèque carte ESP32 3.0.7
oscillocope SC02
multimètre KLUKE 77
Bonjour,
je veux générer un signal PWM de basse fréquence. Je note que l'ESP32_E que j'utilise ne produit que du bruit sur l'oscilloscope en dessous de 4Hz. Au-dessus le signal vu au SC02 et cohérent et propre, fait l'essai de 4 à 10 Hz. Auriez des informations là-dessus.
PWM pour qq Hz ce n'est pas fréquent !
Utilses-tu le module PWM LEDC ? (perso , c'est à lui que je confierai ce genre de PWM)
As-tu confiance dans la synchronisation du SC02 aux fréquences qui te posent problème ?
Mets içi ton code ainsi qu'une image montrant le signal bruité et le régalage du scope
Non je n'en ais pas, mais si je devais faire ce que tu souhaites faire, je commencerais par lire la datasheet de l'ESP32 pour m'assurer de la valeur basse de la fréquence de récurrence que peut atteindre l'ESP32.
Quelle est la valeur de l'horloge qui pilote le périphérique PWM ?
C'est probablement 80 MHz, mais il faut s'en assurer.
Quelle est la taille des registres qui configurent la PWM ?
Les registres sont nativement 32 bits, mais rien n'oblige à utiliser la totalité des 32 bits.
Ces renseignements se trouvent dans la datasheet de l'ESP32.
L'as-tu lu ?
C'est le premier endroit où chercher des informations.
#include <driver/ledc.h> // Inclusion nécessaire pour les fonctions ledc*
void setup() {
ledcAttach(13, 3, 8); // Configurer le PWM sur la broche GPIO13
ledcWrite(13, 128); // 128/255 = 50% du cycle
delay(1000); // Maintenir pendant une seconde
}
void loop() {
}
Le code est paramètrè en 3 hz. ci joint les deux écrans du SC02
La réponse ne se trouve pas dans la datasheet comme je le pensais, mais dans le document "Technical Reference".
J'ai parcouru pour une ESP32 tout court (premiers modèles) et pour un ESP32-S3, cela avait du sens puisque les deux sont basés sur un micro Tensilica. alors que l'ESP32-C3 est sur une structure RISC-V.
L'ESP32 tout court a deux groupes de Ledc : 8 "High speed chanel" et 8 "Low speed channel"
L'ESP32-S3 a 1 seul groupe de 8 "chanels" sans plus de précision.
La résolution sur le rapport cyclique est modifiable sur les ESP32.
Les réglages fréquence de récurrence et pas de rapport cyclique ne sont pas indépendant et peuvent se mordre la queue quand on est aux limites.
Bon courage pour comprendre la prose Espressif que personnellement, je trouve indigeste.
Nous avons mangé notre pain blanc avec Atmel.
@berunous
La résolution choisie dans ton code (8 bits) ne te permets pas de descendre en dessous de 4Hz
ci dessous un code testé OK à 1Hz mais avec 16 bits de Résolution , rapport cyclique 50%
Carte LOLIN32 Lite avec un ESP32 'première génération'
Core ESP32 3.1.1 (le code tient compte de changements dans l'API de LEDC : fonction ledcAttach())
Doc API de LEDC : https://docs.espressif.com/projects/arduino-esp32/en/latest/api/ledc.html
Electronicien, j'aimerai pouvoir faire un lien entres les fonctions permettant d'utiliser les PWM LEDC (LED PWM Controller) et la structure matérielle de ces PWM (registres, compteurs....) . La mauvaise qualité des docs Hardware des ESP32 sur ce sujet en particulier ,ne me permet pas de le faire.
merci, je n'ai pas trouvé dans la documentation d'explication sur le lien entre la résolution et l'étendu de la plage en fréquence.
sur la documentation indiqué par 68tjs tu trouveras peut être "la la structure matériel de ces PWM (registres, compteurs...." mais c'est trop compliqué pour moi.
j'ai fait l’essai avec une résolution 16 bits à 2 et 3 Hz voir trace SC02 pour le 1 Hz je suis monté à une résolution de 20 bits (limite pour ESP 32 voir doc) la trace du SC02 montre le fonctionement mais pas d'affichage de la fréquence ?
voir les traces en photo
NON, j'avais bien ce type de document en vue (Technical Reference) au message #8
l'exemple LedcFrequency (groupe d'exemples ESP32/AnalogOut) teste diverses combinaison fréquence / résolution et affiche en résultat la plage de fréquence fonctionnelle
Qu'un mini-oscilloscope comme le SCO2 bugge parfois dans certaines mesures n'est pas surprenant, des scopes 'bas de gamme' à 300€ ont aussi leurs bugs
@al1fch je viens de jeter un œil sur Tektronix, il y a un scope qui pourrait convenir : prix de départ (sic) 36 500 €
Il y en a encore "plus mieux" avec prix de départ : "Nous consulter".
Je suis admiratif devant ta patience et ton sérieux devant la doc Espressif.
Ok Espressif n'est pas le seul dans ce cas : a l'annonce de la sortie du RP2350 pico j'ai repris contact avec la doc de la framboise, ben c'est pas mieux, cela n'arrive pas à la cheville d'Atmel ou de STMcro.
En quoi l'explication de la documentation ne suffit pas?
The frequency of a PWM generator output si... the desired duty resolution can be calculated as follows...
Ce n'est pas si courant d'avoir un document de 744 pages qui explique techniquement le fonctionnement