Pages: [1]   Go Down
Author Topic: Multiplexeur et variation d'intensité  (Read 1358 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous,

J'aimerais réaliser une installation comportant 50-60 leds indépendantes, via plusieurs muliplexeurs ( HC595 ). Jusque là ça va, mais j'aimerais pouvoir faire varier l'intensité de chaque led .... indépendamment. J'ai vu (et testé) qu'on pouvait faire varier l'intensité d'une led en se servant des ports analog, mais est-ce possible de gérer ça via le multiplexeur ? Au niveau programmation ? ( ce qui me semble impossible, vu qu'on envoi un bit : 0 ou 1 ) ou au niveau électronique ?

Je m'y connais en prog, mais je découvre l'électronique et arduino depuis la semaine dernière ...

Merci d'avance pour votre aide
Logged

France
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3627
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
via plusieurs muliplexeurs ( HC595 )
Petite correction pour commencer, le HC595 est un registre à décalage pas un multiplexeur. C'est donc une fonction logique et comme tel tu ne peux pas lui faire remplir de fonction analogique.
Par contre tu peux jouer sur la luminosité perçue en modulant le temps que la LED est allumée.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci pour ta réponse. Par contre j'ai pas tout compris :

Quote
le HC595 est un registre à décalage pas un multiplexeur
Surement, mais après quelques recherches, je ne vois pas vraiment la différence entre les deux ... quelqu'un pourrait m'expliquer ?

Sinon pour les LEDS, le temps sous tension ne change rien ... j'utilise des diodes électroluminescentes CMS.
« Last Edit: May 17, 2010, 05:05:30 am by Micka » Logged

France
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3627
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote:
le HC595 est un registre à décalage pas un multiplexeur

Surement, mais après quelques recherches, je ne vois pas vraiment la différence entre les deux ... quelqu'un pourrait m'expliquer ?
Un multiplexeur c'est un aiguillage. Tu entres une valeur sur une entrée et tu dis vers quelle sortie cette valeur doit être aiguillée. Les autres sorties ne sont pas impactées.
Un registre à décalage, c'est un moyen de faire passer un nombre important d'informations (8 dans le cas du 595) sur un seul fil (le fil de data). Pour rythmer les échange (dire à quel moment une data est valide) on utilise une horloge. On envoie les huit informations à la suite dans le circuit avec l'horloge et à un moment on lui dit affiche tout.

Quote
Sinon pour les LEDS, le temps sous tension ne change rien ... j'utilise des diodes électroluminescentes CMS.
Si si mais il faut le faire très vite.
Imagine que tu changes la valeur envoyée vers les LED plusieurs fois par secondes. Si une LED donnée reçoit toujours un 1 elle sera perçue plus lumineuse qu'une qui recevrait des fois 1 et des fois 0.
La seule contrainte c'est que les changements se produise à une fréquence supérieure à 25Hz pour que l'oeil ne perçoive pas le changement.
Par exemple si tu envoies en boucle la suite de valeurs ci-dessous vers des LED (soit en passant par un registre à décalage soit sur des LED connectées directement aux sorties de l'arduino):
11111111
11110000
11111100
11110000
11111100
Les LED connectées sur les 4 sorties les plus à gauche paraitront allumées à 100%, les deux suivantes à 60% et les deux dernières à 20%. C'est du multiplexage temporelle. Cela exploite la persistance rétinienne.
« Last Edit: May 17, 2010, 06:37:58 am by fdufnews » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Encore une fois merci pour ta réponse.
Alors je vais essayer le 'multiplexage temporel', mais les diodes CMS, très petites, sont aussi très fragiles et à plus long terme j'ai peur de les griller ...

Donc sinon est-ce qu'il faudrait que j'utilise un 'vrai' multiplexeur ? Je pourrais faire ce que je veux, c'est-à-dire faire varier l'intensité de plusieurs diodes indépendamment ?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je me permet de vous redemander un peu d'aide : dans mon cas, est-ce que l'utilisation d'un 'vrai' multiplexeur pourrait faire varier l'intensité de plusieurs diodes indépendamment ?

Merci d'avance
Logged

France
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3627
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Le problème avec un multiplexeur, c'est que si tu pilotes 50 ou 60 LED elles vont se trouver 1/50ème (ou 1/60ème) du temps non alimentées. Autant dire qu'elles ne vont pas s'allumer très fort.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Re-bonjour ! ( et merci fdufnews pour tes réponses )

Alors après moultes recherches, je suis tombé là-dessus : http://www.arduino.cc/playground/Learning/TLC5940

Ce petit engin bien pratique utilise 4 ports PWM, et permet de gérer 16 sorties. Je pense donc que cela pourrait résoudre mon problème, mais j'aimerais savoir une chose : vu que l'on utilise 4 ports PWM, on ne peut donc en brancher qu'une sur un circuit arduino, mais la doc affirme qu'on peut avoir jusqu'à 640 sorties ! Ça voudrait dire qu'on pourrait en monter 40 en série ? C'est pas un peu beaucoup ?

Merci de bien vouloir éclairer un peu ma lanterne !
Logged

France
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3627
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
vu que l'on utilise 4 ports PWM, on ne peut donc en brancher qu'une sur un circuit arduino
Dans l'exemple que tu cites sur le playground il y en a 2 de montés. Donc tu vois bien qu'il n'y a pas de problème. J'ai lu le truc en diagonal mais à priori les broches GSCLK et BLANK sont communes à tous les TLC5940 on le voit d'ailleurs sur l'illustration en haut à gauche avec les 2 TLC4950 montées en série.
Quote
Ça voudrait dire qu'on pourrait en monter 40 en série ? C'est pas un peu beaucoup ?
Si tu veux 640 LED tu en montes 40 en séries maintenant si tu en veux moins tu montes juste ce qu'il faut. Mais il faut prévoir l'alimentation en conséquence.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Okay, merci pour ces quelques précisions !
Une dernière chose, quand tu dis qu'"il faut prévoir l'alimentation en conséquence", tu parle uniquement des leds ou des leds + les TLC5940 ?
Logged

France
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3627
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
tu parles uniquement des leds ou des leds + les TLC5940 ?
LED et TLC. Quand on utilise plusieurs TLC leur consommation commence à ne plus être négligeable.
Logged

Pages: [1]   Go Up
Jump to: