Étape 4: Génération de signaux Pwm :
PWM (modulation de largeur d’impulsion) est une technique par laquelle nous contrôler simplement un signal de sortie numérique de mettre en marche et arrêt très rapidement, en faisant varier la largeur de la durée de marche/arrêt, il va donner l’effet de la variation de la tension de sortie.
Vout = Ton /(Ton+Toff) * Vin
Période de temps (T) = tonne + Toff
Si Vout = Ton / T * Vin
Où Ton/(Ton+Toff) * 100 ou Ton/t * 100 est appelé facteur de marche
Voir le graphique des exemples ci-dessus (j’ai pris du site Arduino) pour une meilleure compréhension.
PWM permet une sortie numérique fournir une gamme de niveaux de puissance différents, semblables à celui d’une sortie analogique.
Le meilleur exemple est la décoloration une LED avec une intensité lumineuse différente. Cela peut être fait par arduino, en utilisant la fonction analogWrite().
Comme analogue broche de sortie est de 8 bits, nous pouvons obtenir le maximum de 2 ^ 8 = 256 ou une plage de valeurs comprises entre 0 et 255.
Envoyer la valeur 255, à la LED d’entrée produit 100 % duty cycle, qui se traduit par la pleine puissance sur une goupille PWM.
Envoi de que la valeur minimale de 0, à l’entrée de LED produit 0 % duty cycle, qui se traduit par aucun pouvoir sur une goupille PWM.
Dans l’Arduino, il y a 6 broches PWM (3,5,6,9,10 et 11)
J’ai utilisé la broche 6 (timer 0) pour générer le signal PWM. Arduino horloge a une fréquence maximale de 16MHz, cela peut être réduire en utilisant le Prédiviseur. Par défaut la goupille de Arduino PWM ont Prédiviseur = 64.
Donc dans le pin -6, je vais obtenir un PWM de fréquence 976,5625 Hz par défaut. Mais cette fréquence est assez élevée pour la recharge de la batterie. Alors j’ai décidé de réduire cette fréquence à un plus bas un (61,035 Hz) en choisissant la valeur du diviseur 1024.
Remarque : J’ai utilisé cette fréquence parce que j’ai trouvé ce régulateur de charge PWM maximale disponible sur le marché ont des fréquences de 25/50/100 Hz. Je n’ai pas beaucoup d’expertise dans ce domaine. Si quelqu'un a la bonne expertise en charge de la batterie, s’il vous plaît commentaires à propos de la sélection de la bonne fréquence de PWM. Alors que je vais modifier mon code.
Comment changer la fréquence de l’Arduino PWM :
Vous pouvez ajuster la fréquence PWM en modifiant une valeur du Registre. Le registre associé c’est TCCR0B.
En sélectionnant trois horloge sélectionnez Bits de TCCR0B Registre, nous pouvons définir le diviseur approprié.
Tu penses que c’est difficile ? Aucun son très très simple il suffit de placer le code de ligne unique donné ci-dessous dans void setup() partie votre programme. Tout est fait. J’ai vérifier cela en testant l’exemple de code se fanent dans IDE Arduino, il produira 61Hz.
TCCR0B = TCCR0B & 0b11111000 | 0 x 05 ; prescaling 1024
Pour plus de détails définir la fréquence PWM cliquez ici