Modifications

Sauter à la navigation Sauter à la recherche
1 100 octets ajoutés ,  16 février 2022 à 23:45
Ligne 1 : Ligne 1 :  
== Préambule ==
 
== Préambule ==
Ce tutoriel explique comment détection la longueur d'impulsion d'un signal pour Servo Moteur à l'aide de MicroPython.
+
Ce tutoriel explique comment réaliser une détection de la longueur d'impulsion d'un signal pour Servo Moteur à l'aide de MicroPython sur un [https://shop.mchobby.be/product.php?id_product=2025 Raspberry-Pi Pico].
 +
 
 +
Il est également applicable à tous les microcontrôleurs à base de RP2040 comme le [https://shop.mchobby.be/product.php?id_product=2025 PYBStick-RP2040].
    
== Introduction ==
 
== Introduction ==
Ligne 36 : Ligne 38 :     
Ce qu'il faut maintenant, c'est pouvoir mesurer cette largeur d'impulsion à partir d'un script MicroPython.
 
Ce qu'il faut maintenant, c'est pouvoir mesurer cette largeur d'impulsion à partir d'un script MicroPython.
 +
 +
Note:
 +
* L'interrupteur 3 positions '''fixes''' (ch5) produit un signal 1050 µSec (haut), 1500 µSec (central), 2050 µSec (bas).
 +
* L'interrupteur 3 positions '''momentanées''' (ch11) produit les mêmes signaux.
 +
 +
== Fonction time_pulse_us ==
 +
MicropPython prévoit la fonction {{fname|time_pulse_us()}} disponible dans le module {{fname|machine}}.
 +
 +
C'est tardivement, mais avec plaisir, que je découvre que {{fname|time_pulse_us()}} est implémenté dans dans le firmware MicroPython du Pico.
 +
 +
<nowiki>from machine import time_pulse_in
 +
usec = time_pulse_in( pin(15), pulse_level=1 )
 +
</nowiki>
 +
 +
Le code ci-dessus, attend que le broche 15 passe au niveau High (1) puis mesure la durée pendant laquelle cette broche reste au niveau haut.
    
== Classe PWMCounter ==
 
== Classe PWMCounter ==
   −
La classe {{fname|PWMCounter}} publiée par [https://github.com/phoreglad/pico-MP-modules/tree/main/PWMCounter Phoreglad sur son dépôt GitHub] permet de mesurer la durée d'une impulsion en exploitant un compteur PWM (à 125 Mhz).
+
La classe {{fname|PWMCounter}} publiée par [https://github.com/phoreglad/pico-MP-modules/tree/main/PWMCounter Phoreglad sur son dépôt GitHub] est une alternative à la fonction {{fname|time_pulse_us()}}.
 +
 
 +
La classe {{fname|PWMCounter}} permet de mesurer la durée d'une impulsion en exploitant un compteur PWM (à 125 Mhz).
    
{{download-box|Téléchargez PWMCounter|https://github.com/phoreglad/pico-MP-modules/tree/main/PWMCounter}}
 
{{download-box|Téléchargez PWMCounter|https://github.com/phoreglad/pico-MP-modules/tree/main/PWMCounter}}
Ligne 93 : Ligne 112 :  
{{ambox|text=L'utilisation d'un pont-diviseur 10K + 20K pour réduire la tension d'entrée à 3.3V s'est avérée inefficace en empêchant le compteur de fonctionner}}
 
{{ambox|text=L'utilisation d'un pont-diviseur 10K + 20K pour réduire la tension d'entrée à 3.3V s'est avérée inefficace en empêchant le compteur de fonctionner}}
   −
== Code ==
+
== Code PWMCounter ==
    
Voici le script d'exemple utilisé pour compter le temps d'impulsion du signal RC.
 
Voici le script d'exemple utilisé pour compter le temps d'impulsion du signal RC.
29 917

modifications

Menu de navigation