CaZaE wrote:
Alors le principe de fonctionnement :
En full interupt :
Sur une base de temps donner en fonction des couleur on allume les LED en fonction du PWM choisie .
En PWM :
on choisie la LED ( de 0 a 5) et la couleur ( RVB ) et on y aplique le PWM sur l'alime directement donc on doit passer 3 fois plus de temps pour apliquer les 3 PWM au 3 couleur !
Voila voila
oui le schema est bcp plus clair et simple
==>j'ai pas tout compris.
- ca sera assez rapide avec un quartz de 20mhz? pourquoi ne mets tu pas un quartz de 10Mhz et tu regle le fusible de config en HSPLL (ce qui fait du 40Mhz, soit du 10MIPS)
- pour les 2 mode, c'est en faite du PWM multiplexer, alors si c'est bien compris :
En PWM :
--> tu génère du PWM hardware a pleine vitesse, sur 3 sortie spécial (pour les sortie tes sur??? ta mis RB0, RB1, RB2, c'est bien des sortie CCP?), l'avantage, c'est que tu peut faire du PWM jusqu'a une précision de 10bit (8.58 milliard de couleur possible)(ou en 8bit, 16millions de couleur ^^), et on passe très peu de temps en interruption (- de 1%)
1 -tu alimente le led 1
2 -tu générer de facon hardware 3 pwm sur les 3sorties CCP (donc tu met les 3 module PWM sur ON, avec les valeurs voulus), pour allumer la led 1 de la couleur voulus
3 -tu stop la génération des 3PWM, et tu coupe l'alimentation de la led 1
4 -tu alimente le led 2
5 -tu générer de facon hardware 3 pwm sur les 3sorties CCP , pour allumer la led de la couleur voulus sur la led 2
6 -tu stop la génération des 3PWM, et tu coupe l'alimentation de la led 2
etc...
effectivement, si tu arrive a générer de facon hardware les PWM sur les sortie voulus, c'est niquel a faire et vraiment simple a géner (juste a configuer un timer en interruption a basse vitesse)
En full interupt :
--> par contre la j'ai pas tout compris, car je vois 2 solution pour réaliser ca.
1- la même chose que précieusement, mais en générant le PWM rapide de facon software via un second timer tournant a pleine vitesse--> inconvenant, demande un pic très rapide, très limiter en résolution de couleurs, on passe bcp de temps en interruption (+de 95%)
- presque la même chose que précédemment, mais au lieu de générer plein de PWM rapide pendant l'allumage d'une led RGB, tu en génère qu'un seul PWM pendant la commande d'une led --> demande bcp - de temps en interruption, qu'un seul timer pour faire ca, simple a réaliser pas de registre tordu, c'est cette solution que j'ai sur ma table led a l'époque
le résultat visuel est identique au 2 autre solutions (j'ai fait des tests il y a 1 ans).
voila, tu tu expliquer comment compte tu faire?
en tout cas niquel ce schémas,
.... a oui tiens, pour faire mon Zeltron

--> tu peut gagner 2 pattes sur ton pic, en virant le quartz, et activant l'oscillateur interne 8Mhz+PLL, ce qui fera un pic qui tournera a 32Mhz, c'est très stable, simple, moins cher, et c'est déja assez rapide 32mhz