Bonsoir à tous,
Je recherche actuellement à réaliser un module RGB 10 LED cathode commune avec PWM sur la base d'un Pic16f1829 car se composant embarque de base suffisamment de PWM Hardware pour se montage.
Bénéficient d'un nombre de port élevé, 18 sans compter l'alimentation, je ne me sert d'aucun driver ou autre multiplexeur pour le contrôle des PWM mais je souhaite cependant multiplexer mes LEDs afin de réduire la consommation
mais aussi de n'avoir qu'une résistance par PWM sans réduire la luminosité.
Cette fonction de multiplexage est réalisée grâce au soft.
Les PWMs sont générés sur 10 bits et fonctionnent à une fréquence de 1,95kHz.
Le timer 2 contrôle le 1er PWM
Le timer 4 le second
Le timer 6 le dernier
Le timer 1 servira à la réception du code IR.
Le multiplexage est quant-a lui géré par le timer 0 et fonctionne à une fréquence de 200Hz
Cette fréquence de multiplexage n'est ici qu'une fréquence de test.
Mon problème se situe dans cette partie.
Lorsque je génère mon code pour faire clignoter une led avec les pwm, cela fonctionne parfaitement avec ses paramètres
Lorsque j'allume une seconde Led lorsque la première est éteinte et inversement, le code ne s'exécute juste deux fois.
Exemple:
{
J'initialise mes LEDs: LED2 on / LED1 off
Lorsque 5 ms se sont écoulées LED2 off / LED1 on
Lorsque 5 ms se sont écoulées LED2 on / LED1 off
}
A partir de ce moment là, la LED2 reste allumée tout le temps et la LED1 éteinte alors que la routine est sensée tourner indéfiniment .
J'ai fais évoluer la fréquence des PWM jusqu'a 31kHz
J'ai fais évoluer la fréquence du multiplexage à 8MHz
Rien ne change.
Je pense louper une information capitale.
Une question, La fréquence du PWM doit être plus rapide ou plus lente que celle du multiplexage, et dans quelle proportion?
Dans ce cas de figure, si je bloque à 2 LED, le montage est t'il possible avec 10?
Un Quartz de 32MHz me sente pourtant suffisant pour une telle utilisation.
Je fournis en pièce jointe une partie de mon câblage ainsi que le code implémenté.
Merci pour vos futur réponses.
Jérémy.
-----