LED RGB plutôt anode au cathode commune?

Bonjour,

Je voulais faire mumuse avec quelques led RGB comem celle ci:

J'ai donc le choix entre anode ou cathode commune...
Que me conseillez-vous? Y-a-t-il des avantages et inconvénients pour l'une ou l'autre des solutions?

Par avance merci :slight_smile:

-Si tu as déjà les leds tu n'as pas le choix !! C'est le fabricant de la led qui l'avait en choisissant de réunir les anodes ou les cathodes des 3 leds internes.
-Si ta question est 'avant achat' ce que je présume plutôt je trouve que c'est indifférent du point de vue électrique car les Mega328 ont les mêmes capacités à fournir du courant (cathodes réunies à la masse) ou absorber du courant (anodes réunies à Vcc). (20mA en 'source' ou en 'sink')
Par contre au niveau de la lisibité du code l'avantage me semble être du côté 'cathodes communes' puisque dans une commande AnalogWrite une valeur 0 correspondra bien à l'extinction et 255 au maxi. En 'anodes communes' l'intensité lumineuse serait inversée avec cette commande. la commande AnalogWrite sous entend une charge reliée à la masse.

Exemple de led RGB chez Sparkfun :

Merci,

J'ai l'impression qu'il y a de plus en plus de LED CMS comme celle-ci:

Quelles sont les différences hormis le conditionnement physique?

Je pense que le GND comment et donc Anode commune est bien plus simple a mettre en oeuvre. Dans cette configurations cela correspond au branchement de 3 LED réunit dans un même boitier .... une pate au GND et les 3 autres pâtes a 3 sortie différentes !

La cathode commune est deja plus complexe a mettre en oeuvre car il faut brancher une pâte a l'alimentation et les 3 autres pâtes au GND .... De ce fait il est obligatoire de passer par un composant externe comme par exemple un ULN2003

Peut être qu'un 74HC4067 ou un TLC5940 peut faire l'affaire aussi a voir

cordialement,

Je ne partage pas ton point de vue chicotore.
Je vois les choses comme sur le petit schéma joint.
Voir également ce fil de discussion
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1287565569
Tant que le courant reste en deça de 20mA , que ce soit dans un sens ou dans l'autre, pas besoin d'insérer un buffer (inverseur ou non-inverseur)

Boitier traditionnel ou cms, c'est une affaire de goût, d'encombrement, de look sans parler de la technique de soudage. En boitier cms on trouve aussi des modèles à leds indépendantes (6 pins) :
http://www.conrad.fr/multiled_led_couleurs_pures_p_48674_49370_781236_360976_FAS

La cathode commune est deja plus complexe a mettre en oeuvre car il faut brancher une pâte a l'alimentation et les 3 autres pâtes au GND

Et là avec 5 Volt ça fume ! XD

Si les dels sont comme les diodes zéners l'anode commune, technologiquement, permet une meilleure évacuation des calories, ce point n'est important que pour des grosses puissances, pour des dels classiques on ne voit pas de différence.

Pour respecter le sens logique la cathode commune est préférable.

Pour ATmega je rappelle mon post d'hier :
source: toutes sorties confondues 150 mA maximum en service permanent.
sink: toutes sorties confondues 100 mA maximum en service permanent.
C'est tiré de la spec du µproc. Avantage cathode commune.

Bien sûr le constructeur s'est gardé des marges et chacun peut prendre des risques (calculés ou pas).
En regardant les schémas internes des accès dans la spec du µ on voit que la partie qui "sink" est différente de la partie qui "source", il n'est pas anormal que les capacités "Maximales" soient différentes.

Comment fait tu pour que les sortie de l'arduino soit considéré en GND ? Car tu branche tes LED a une alimentation OK, mais les 3 pâtes qui doivent être relier au GND tu les relie a des pâtes de l'arduino que ne sont pas des GND ? :astonished:

@chicotore
en 'cathodes communes' tu attaques chacune des 3 leds du boitier de la même manière que la led Jaune de la carte Uno. (extrait de schéma Uno rev 2 joint)
En prenant des sorties 'PWM' il devient facile de doser l'intensité de chaque couleur (AnalogWrite 0 à 255)

@68tjs
OK pour rappeller qu'il faut penser à vérifier que le cumul des courants entrants ou sortants reste en dessous du plafond (p318 de la doc). Et là on voit effectivement un autre avantage pour les courants sortants.
En cathodes communes il devient possible de gérer 2 leds RBG @ 20mA/led à condition de travailler sous 5V.

Diode jaune UNO.jpg

p318.pdf (176 KB)

Du coup en cathode commune tu branche les cathodes sur quelles PIN de l'arduino ? sur des PWM ?

Pour l'intensité ok je connais la fonction analogwrite mais je pige toujours pas comment des PIN PWN peuvent devenir des GND ....

-avec un 328 les sorties utilisables en PWM (AnalogWrite) sont les digital pins 3, 5, 6, 9, 10, and 11.

-AnalogWrite fait basculer très rapidement la sortie entre état haut (~pratiquement VCC) et état bas (pratiquement GND !!)... ce qui est gérable c'est le ratio état haut/état bas

Exemple avec Teensyduino (adapter les numéros de sorties !)
http://pjrc.com/teensy/tutorial2.html

ok donc avec un analogwrite (0) les sortie PWN sont quasiment des GND ? si c'est ça c'est cool je vais pouvoir utiliser mes RGB en attendant que mes ULN arrive :smiley:

Dans ton lien c'est de l'anode commune, dans ce cas oui le principe est ultra simple a comprendre, on câble comme si on avait 3 LED séparé sauf qu'elles sont dans un même "bulbe" ^^ mais pour de la cathode commune c'est deja plus complexe de comprendre que les sortie PWN en analogwrite(0) corresponde a des GND ...

Du coup niveau programme et câblage tu fait comment ? tu branche la cathode commune sur le +3.3V de l'arduino et les trois anodes sur les PWM 1 2 et 3 ? et niveau programmation ? tu met des PWM a l'état haut pour éteindre les LED et en état bas (donc GND) pour les allumer ? c'est bizarre comme montage quand même ...

oui un AnalogWrite(0) laisse la sortie concernée à la masse pendant 100% du temps.
Ce serait pareil en faisant 'LOW' sur une pin mise au préalable en 'OUTPUT'

petit choix d'exemples avec ou sans AnalogWrite
http://make.larsi.org/electronics/ATmegaX8/led_rgb/

ah je savais pas que les PIN outpout en low étais en fait a la masse ...

Comme nos messages ce sont croisé, aurait tu part hasard une explication quand au câblage ? (voir mon message précédent )

OK pour tes exemples mais comme je disait c'est toujours en anode commune et non pas en cathode commune ....

La terminologie remonte aux afficheurs 7 segments.
Cathode commune quand les cathodes sont réunies et les anodes individuelles = 1 cathode commune à toutes les diodes.
Anode commune quand les anodes sont réunies et les cathodes individuelles = 1 anode commune à toutes les diodes.
(cathode = pointe du triangle !!)
voir ces excellentes pages:

http://www.stielec.ac-aix-marseille.fr/cours/abati/aff7seg.htm
http://www.sonelec-musique.com/electronique_theorie_afficheurs_led.html

Pour partager ma petite expérience, je sais que tu dois avoir des leds a anode commune quand tu veux pouvoir en contrôler plusieurs individuellement avec un TLC5940. Chose apparemmen peu faisable Avec des rgb a cathode commune. Après ptet que je me trompe :stuck_out_tongue:

Hey mais j'ai compris depuis belle lurette la différence cathode et anode commune .... j'aimerais juste savoir comment tu fait ton cablage pour des RGB a ANODE commune .... tu dit que les PWM en low correspondent a des GND, OK mais niveau programmation dans l'arduino tu t'y prend comment alors ?

Car tous les exemples que tu me cite sont pour des LED a CATHODE commune et dans ce cas il n'y a rien de plus simple a programmer et câbler mais moi je te parle bien de LED a ANODE commune ....

Du point de vue cablage, chicotore, c'est tout aussi simple avec une led RGB à anode commune :
-l'anode à Vcc.
-chacune des 3 cathodes reliée à une sortie PWM à travers une résistance de limitation du courant à 20mA.
(Voir le schéma joint a mon 'Reply #4' dans ce fil de discussion.)

Dans ce cas un AnalogWrite(255) éteint la led, un AnalogWrite(0) l'allume à fond, un AnalogWrite(127) à moitié......etc

Après un AnalogWrite(255) la sortie correspondante reste à Vcc, donc pas de courant dans la led concernée puisqu'elle est à Vcc des 2 côtés !
Après un AnalogWrite(127) la sortie passe une moitié de son temps à Vcc et le reste à GND. C'est très rapide et avec la persistance rétinienne on a une impression d'éclairage 'moitié'.

Okey c'est bien a ça que je pensait alors. C'étais juste le fait de mettre la LED a VCC des deux cotés qui me semblais bizarre, mais maintenant que tu me le confirme c'est bon ^^

merci

chesnel:
Pour partager ma petite expérience, je sais que tu dois avoir des leds a anode commune quand tu veux pouvoir en contrôler plusieurs individuellement avec un TLC5940. Chose apparemmen peu faisable Avec des rgb a cathode commune. Après ptet que je me trompe :stuck_out_tongue:

J'ai aussi trouvé ça:
These particular LEDS are common cathode and therefore incompatible with TI's TLC594x driver series (TLC5940, TLC5941, etc) and other LED drivers which work best with common anode LEDs.

Et d'autres éléments confirmant qu'avec un TLC594x il faut de l'anode commune...

Comment expliquer qu'avec un TLC594x on ne peut pas faire de cathode commune, j'aurais au contraire pensé l'inverse puisque le TLC594x procure des sorties PWM....????

Tous les montages que j'ai vu a base de RGB et TLC5940 sont en anode commune ( 3 pates au GND et 1 pate au VCC+ ).

Il me semble que les sorties d'un TLC5940 sont des "GND" et donc il faut de l'anode commune :wink:

EDIT: j'ai trouvé ce crobard

on voit bien que c'est le GND des LED qui est branché au TLC5940