Inversion Polarité d'un signal PWM
-
- Rang "1 LEDs"
- Messages : 44
- Enregistré le : 25 oct. 2014, 22:22
Inversion Polarité d'un signal PWM
Bonjour à tous,
je suis en train de concevoir un projet d'éclairage de terrarium.
La lumière de base sera assurée par une batterie de LED 3W cool White.
Pour le décor et obtenir des ambiances nuancées en fonction des heures de la journée, je vais ajouter des sources led ponctuelles RGB WS2812.
principe du WS2811 : en gros, chaque led au format CMOS intègre un microprocesseur qui recois V+ et DATA (et GND). Chaque CMOS est en série l'un derrière l'autre. Le premier recoit tout le data, extrait le premier boc d'info réamplifie et transmet uniquement la suite du code (sans le premier bloc) au cmos suivant, qui décode le premier data et, amplifie et transmet au suivant... ainsi de suite.
Chaque bloc de code permet au microprocesseur du CMOS de "dimmer" le R, le G ou le B de la led par PWM.
les leds sont disponibles en bandes soudées, ou isolées. Il existe également le WS2811, qui est uniquement le microcontroleur qui délivre trois signaux PWM (R_G_B) pour les led de votre choix.
On peut donc ainsi, grace à un code arduino, adresser chaque led et lui donner la couleur voulue. Avantage, on n'a que 3 cables qui se baladent si on branche tout bien en série (V+, DATA, GND)
Voilà la base sur laquelle je pars pour mon projet, et c'est sur la dernière partie que je coince : utiliser le WS2811 (le processeur seul) et lui associer des led 3W 700mA.
Je "détourne" son usage premier puisque je ne vais pas recréer de couleur, mais dissocier et piloter 3 led 3W White avec chaque WS2811 (une led sur le R-out, une led sur le G-out et une led sur le B-out) juste pour pouvoir les dimmer.
Or le WS2811 ne fournit par un courant suffisament important pour piloter des LED 1W ou 3W, on est obligé d'ajouter un DRIVER PWM
j'en ai trouvé de ce type : http://www.ebay.fr/itm/3W-2W-LED-drive- ... 41722554da
Ce que je ne sais pas gérer, c'est que le WS2811 fonctionne en cathode commune :
http://www.adafruit.com/datasheets/WS2811.pdf
donc, je dois "inverser" le signal pour pouvoir utiliser le WS2811 avec ce type de driver ?
J'ai lu plusieurs pistes (utiliser un 7400, un ULN2400) mais je n'ai pas l'impression que ça correspond vraiment. Je suis débutant en électronique, Si quelqu'un pouvait m'aider à résoudre ce problème, ca me permettrait d'avancer sur le projet !
Merci d'avance.
Stephane
je suis en train de concevoir un projet d'éclairage de terrarium.
La lumière de base sera assurée par une batterie de LED 3W cool White.
Pour le décor et obtenir des ambiances nuancées en fonction des heures de la journée, je vais ajouter des sources led ponctuelles RGB WS2812.
principe du WS2811 : en gros, chaque led au format CMOS intègre un microprocesseur qui recois V+ et DATA (et GND). Chaque CMOS est en série l'un derrière l'autre. Le premier recoit tout le data, extrait le premier boc d'info réamplifie et transmet uniquement la suite du code (sans le premier bloc) au cmos suivant, qui décode le premier data et, amplifie et transmet au suivant... ainsi de suite.
Chaque bloc de code permet au microprocesseur du CMOS de "dimmer" le R, le G ou le B de la led par PWM.
les leds sont disponibles en bandes soudées, ou isolées. Il existe également le WS2811, qui est uniquement le microcontroleur qui délivre trois signaux PWM (R_G_B) pour les led de votre choix.
On peut donc ainsi, grace à un code arduino, adresser chaque led et lui donner la couleur voulue. Avantage, on n'a que 3 cables qui se baladent si on branche tout bien en série (V+, DATA, GND)
Voilà la base sur laquelle je pars pour mon projet, et c'est sur la dernière partie que je coince : utiliser le WS2811 (le processeur seul) et lui associer des led 3W 700mA.
Je "détourne" son usage premier puisque je ne vais pas recréer de couleur, mais dissocier et piloter 3 led 3W White avec chaque WS2811 (une led sur le R-out, une led sur le G-out et une led sur le B-out) juste pour pouvoir les dimmer.
Or le WS2811 ne fournit par un courant suffisament important pour piloter des LED 1W ou 3W, on est obligé d'ajouter un DRIVER PWM
j'en ai trouvé de ce type : http://www.ebay.fr/itm/3W-2W-LED-drive- ... 41722554da
Ce que je ne sais pas gérer, c'est que le WS2811 fonctionne en cathode commune :
http://www.adafruit.com/datasheets/WS2811.pdf
donc, je dois "inverser" le signal pour pouvoir utiliser le WS2811 avec ce type de driver ?
J'ai lu plusieurs pistes (utiliser un 7400, un ULN2400) mais je n'ai pas l'impression que ça correspond vraiment. Je suis débutant en électronique, Si quelqu'un pouvait m'aider à résoudre ce problème, ca me permettrait d'avancer sur le projet !
Merci d'avance.
Stephane
Modifié en dernier par 92polus le 01 nov. 2014, 11:34, modifié 1 fois.
-
- Rang "3 LEDs"
- Messages : 175
- Enregistré le : 10 nov. 2009, 00:44
Re: Inversion d'un signal PWM
Je ne pense pas que cela fonctionne, en sortie du WS la fréquence est de 400khz, le driver ebay ne doit pas prendre plus que 20khz (et encore avec très peu de pas), en général le pwm doit rester a 200-500hz pour avoir le ratio max .
Si tu veux piloter toutes tes leds indépendamment, regarde du cote du pca9685, il peut gérer 16 voies. Avec une sortie pwm en 5v la plupart des drivers leds pour du 3w fonctionneront (les autres = souvent 10v).
Pour un terrarium, plutôt que des leds rgb je serais plutôt partie sur un mix neutre 4000k + 6500k.
Si tu veux piloter toutes tes leds indépendamment, regarde du cote du pca9685, il peut gérer 16 voies. Avec une sortie pwm en 5v la plupart des drivers leds pour du 3w fonctionneront (les autres = souvent 10v).
Pour un terrarium, plutôt que des leds rgb je serais plutôt partie sur un mix neutre 4000k + 6500k.
-
- Rang "1 LEDs"
- Messages : 44
- Enregistré le : 25 oct. 2014, 22:22
Re: Inversion d'un signal PWM
Merci pour ce premier retour.
En fait, je n'ai peut etre pas été clair, mais les drivers ebay vont bien piloter des led 3W 6500°K, l'éclairage principal du terrarium. Apres, en "déco", il y aura les WS2812 (les led RVB) pour créer des ambiances sur les éléments de roches, plantes etc. Avec un arduino, il y aura une variation des dominantes colorées des WS2812 en fonction de l'heure.
de son coté, la partie LED 3W 6500°K va faire un "fade in" pour s'allumer le matin et un "fade out" pour s'éteindre en fin de journée. Donc techniquement, je ne vais pas avoir de rapides variations de valeur du PWM sur les led 6500°K.
Cela pose -t-il un soucis de compatibilité que le driver ne retienne que 500 variations des 400 000 que lui enverra le WS2811 ? Parce que coté information, la valeur des led 3W variera maxi toutes les 30sec / 1min en période de "fade", pas plus.
En fait, je n'ai peut etre pas été clair, mais les drivers ebay vont bien piloter des led 3W 6500°K, l'éclairage principal du terrarium. Apres, en "déco", il y aura les WS2812 (les led RVB) pour créer des ambiances sur les éléments de roches, plantes etc. Avec un arduino, il y aura une variation des dominantes colorées des WS2812 en fonction de l'heure.
de son coté, la partie LED 3W 6500°K va faire un "fade in" pour s'allumer le matin et un "fade out" pour s'éteindre en fin de journée. Donc techniquement, je ne vais pas avoir de rapides variations de valeur du PWM sur les led 6500°K.
Cela pose -t-il un soucis de compatibilité que le driver ne retienne que 500 variations des 400 000 que lui enverra le WS2811 ? Parce que coté information, la valeur des led 3W variera maxi toutes les 30sec / 1min en période de "fade", pas plus.
-
- Rang "3 LEDs"
- Messages : 175
- Enregistré le : 10 nov. 2009, 00:44
Re: Inversion d'un signal PWM
Je n'ai pas vu la doc du driver ebay, mais en gros ce type de driver à une entrée pwm qui va prendre un signal entre 100hz et 20 000hz: vu que tu vas travailler avec un arduino les sorties pwm (8bits par défaut) devraient suffire (il faudra peut etre ajuster la fréquence)
Je ne vois nulle par sur la doc du ws2811 qu'il sorte autre chose qu'un courant constant 18.5mA, avec l'arduino tu vas lui envoyer en bitbang les instructions et il va sortir le courant désiré.
Ce n'est donc pas une sortie valide pour l'entrée pwm de ton autre driver.
Je ne vois nulle par sur la doc du ws2811 qu'il sorte autre chose qu'un courant constant 18.5mA, avec l'arduino tu vas lui envoyer en bitbang les instructions et il va sortir le courant désiré.
Ce n'est donc pas une sortie valide pour l'entrée pwm de ton autre driver.
-
- Rang "1 LEDs"
- Messages : 44
- Enregistré le : 25 oct. 2014, 22:22
Re: Inversion d'un signal PWM
Bonsoir,
j'ai continué quelques recherches sur le net, et je me suis appercu que j'utilisais peut etre à mauvais escient le therme "inversion du signal PWM". En fait, je ne cherche pas à transformer les amplitudes basses de mon signal en hautes et inversement, je cherche tout simplement à modifier la "polarité" ( la phase ?) du signal :
En effet, mon problème c'est que lorsque je regarde les schemas de principe du fonctionnement du driver ebay, sauf erreur de ma part, si je relie la sortie PWM du WS2811 à l'entrée PWM du driver, et les masses ensembles, si j'ai tout compris, ca ne marchera pas !
Donc concretement, je cherche à comprendre comment je peux relier physiquement les deux éléments ensembles. C'est basic, mais c'est là dessus que je bloque.
J'ai trouvé le datasheet d'un driver similaire à celui d'ebay,
http://www.parts-express.com/pedocs/man ... l-7169.pdf
j'ai recherché d'autres montages de drivers comme celui-ci à base de CMOS :
http://www.instructables.com/id/Circuit ... /?ALLSTEPS
mais le probleme reste le meme et c'est ce sur quoi je n'avance pas : la polarité du signal PWM en sortie du WS2811 étant "inversée", comment adapter par exemple le WS2811 sur ce schema ?
Merci pour l'aide !
j'ai continué quelques recherches sur le net, et je me suis appercu que j'utilisais peut etre à mauvais escient le therme "inversion du signal PWM". En fait, je ne cherche pas à transformer les amplitudes basses de mon signal en hautes et inversement, je cherche tout simplement à modifier la "polarité" ( la phase ?) du signal :
En effet, mon problème c'est que lorsque je regarde les schemas de principe du fonctionnement du driver ebay, sauf erreur de ma part, si je relie la sortie PWM du WS2811 à l'entrée PWM du driver, et les masses ensembles, si j'ai tout compris, ca ne marchera pas !
Donc concretement, je cherche à comprendre comment je peux relier physiquement les deux éléments ensembles. C'est basic, mais c'est là dessus que je bloque.
J'ai trouvé le datasheet d'un driver similaire à celui d'ebay,
http://www.parts-express.com/pedocs/man ... l-7169.pdf
j'ai recherché d'autres montages de drivers comme celui-ci à base de CMOS :
http://www.instructables.com/id/Circuit ... /?ALLSTEPS
mais le probleme reste le meme et c'est ce sur quoi je n'avance pas : la polarité du signal PWM en sortie du WS2811 étant "inversée", comment adapter par exemple le WS2811 sur ce schema ?
Merci pour l'aide !
Modifié en dernier par 92polus le 01 nov. 2014, 11:58, modifié 1 fois.
-
- Rang "1 LEDs"
- Messages : 44
- Enregistré le : 25 oct. 2014, 22:22
Re: Inversion Polarité d'un signal PWM
Bonjour
j'ai tenté d'avancer dans ma démarche et voilà le branchement qui me parait le plus logique :
Ce branchement vous parait-il correct ? faut-il rajouter une résistance de 270ohms entre la sortie PWM du WS2811 et GND ?
Edit : Mauvaise idée, mauvaise piste !
j'ai tenté d'avancer dans ma démarche et voilà le branchement qui me parait le plus logique :
Ce branchement vous parait-il correct ? faut-il rajouter une résistance de 270ohms entre la sortie PWM du WS2811 et GND ?
Edit : Mauvaise idée, mauvaise piste !
Modifié en dernier par 92polus le 02 nov. 2014, 00:03, modifié 1 fois.
-
- Rang "3 LEDs"
- Messages : 175
- Enregistré le : 10 nov. 2009, 00:44
Re: Inversion Polarité d'un signal PWM
Ca tombe bien que tu es mis le schéma d'instructable.
Il ya deux transistor (un seul suffirait, mais cette version à un meilleur rendement): ton ws2811 a 3 transistor NPN, 1 par sortie. L'inversion dont tu parle serait d'avoir des transistor PNP pour de la cathode commune. MAIS regarde encore ce schéma, le driver d'ebay veut un signal pwm, et pas ce qu'il y a après le second transistor.
C'est pour ca que je t'ai parlé du pca9685 qui certe peut jouer le role de driver pour des leds 20mA (le ws2811 étant un driver) mais surtout peut sortir du pwm sur 16 voies en 12 bits (pour un cout final à peut prêt identique il me semble).
Il ya deux transistor (un seul suffirait, mais cette version à un meilleur rendement): ton ws2811 a 3 transistor NPN, 1 par sortie. L'inversion dont tu parle serait d'avoir des transistor PNP pour de la cathode commune. MAIS regarde encore ce schéma, le driver d'ebay veut un signal pwm, et pas ce qu'il y a après le second transistor.
C'est pour ca que je t'ai parlé du pca9685 qui certe peut jouer le role de driver pour des leds 20mA (le ws2811 étant un driver) mais surtout peut sortir du pwm sur 16 voies en 12 bits (pour un cout final à peut prêt identique il me semble).
-
- Rang "1 LEDs"
- Messages : 44
- Enregistré le : 25 oct. 2014, 22:22
Re: Inversion Polarité d'un signal PWM
j'avais un peu regardé le PCA9685, mais cela ne repond pas à ce que je souhaite mettre en place :
je rentre un peu plus dans le détail du terrarium en lui meme :
il y a deux terrarium, chacun de 1,50mx0,50mx1m sur 3 hauteurs plateaux (plage, semi-aquatique et profond)
pour chaque terrarium,
5 powerLED 3W 10000°K,
5 PowerLED 3W 6500°K,
3 PowerLED 3W GrowingPlant (2RED+ 1BLUE)
environ 100 LED WS2812B pour la déco et les ambiances changeantes en fonction de l'heure et disséminées un peu partout sur la surface
Ce qui fait 115 led -par bassin- à adresser individuellement.
L'avantage du protocole utilisé par le WS281X, c'est qu'on ne trimbale que 3 brins (VCC/DATA/GND) : n'importe où au dessus ou dans le bassin, il suffit d'une petite boucle de dérivation que l'on repique sur le cable existant et on crée une extension sans se prendre la tete : y'a juste qu'a modifier l'adressage en soft.
Je peux donc ajouter / modifier / déplacer / suprimer / dériver à volonté. C'est la souplesse de ce protocole !
et niveau intégration, les led WS2812B sont microscopiques, on peut les "couler" dans du siicone pour des intégration sous marines étanches, les drivers du type de ceux d'ebay sont aussi tout petit, donc c'est une faciité vraiment pas négigeable quand on part sur une intégration de cette quantité.
à l'inverse, si j'utilise le PCA9685, il me faut en installer une dizaine de modules, tirer si j'ai bien compris 8 brins (DATA+CLK+ALIM) par PCA9885 puis des paires à chaque dérivation de LED.... c'est pas la meme souplesse ni intégration : moins évident à cacher.
C'est pour cela que je privilégie vraiment le protocole WS281X dans ma démarche, et que j'amerais arriver à trouver une solution pour piloter ces drivers LED 3W à partir du PWM du WS2811.
Merci en tout cas pour ces premiers éclaircissements, cela m'a permis de comprendre que le soucis principal était de transformer la structure "anode commune" du WS2811 en une structure "cathode commune"
à partir de là, j'ai trouvé un petit schema de bas sur instructables qui permet lorsqu'on a des led strip anode commune, de les utiliser avec une commande en cathode commune :
http://www.instructables.com/id/Connect ... Ground-RG/
et si j'adapte à mon petit WS2811 et mon driver 3W, ca donnerait ca :
cela vous parrait correct ou de la pure fantaisie ?!
je rentre un peu plus dans le détail du terrarium en lui meme :
il y a deux terrarium, chacun de 1,50mx0,50mx1m sur 3 hauteurs plateaux (plage, semi-aquatique et profond)
pour chaque terrarium,
5 powerLED 3W 10000°K,
5 PowerLED 3W 6500°K,
3 PowerLED 3W GrowingPlant (2RED+ 1BLUE)
environ 100 LED WS2812B pour la déco et les ambiances changeantes en fonction de l'heure et disséminées un peu partout sur la surface
Ce qui fait 115 led -par bassin- à adresser individuellement.
L'avantage du protocole utilisé par le WS281X, c'est qu'on ne trimbale que 3 brins (VCC/DATA/GND) : n'importe où au dessus ou dans le bassin, il suffit d'une petite boucle de dérivation que l'on repique sur le cable existant et on crée une extension sans se prendre la tete : y'a juste qu'a modifier l'adressage en soft.
Je peux donc ajouter / modifier / déplacer / suprimer / dériver à volonté. C'est la souplesse de ce protocole !
et niveau intégration, les led WS2812B sont microscopiques, on peut les "couler" dans du siicone pour des intégration sous marines étanches, les drivers du type de ceux d'ebay sont aussi tout petit, donc c'est une faciité vraiment pas négigeable quand on part sur une intégration de cette quantité.
à l'inverse, si j'utilise le PCA9685, il me faut en installer une dizaine de modules, tirer si j'ai bien compris 8 brins (DATA+CLK+ALIM) par PCA9885 puis des paires à chaque dérivation de LED.... c'est pas la meme souplesse ni intégration : moins évident à cacher.
C'est pour cela que je privilégie vraiment le protocole WS281X dans ma démarche, et que j'amerais arriver à trouver une solution pour piloter ces drivers LED 3W à partir du PWM du WS2811.
Merci en tout cas pour ces premiers éclaircissements, cela m'a permis de comprendre que le soucis principal était de transformer la structure "anode commune" du WS2811 en une structure "cathode commune"
à partir de là, j'ai trouvé un petit schema de bas sur instructables qui permet lorsqu'on a des led strip anode commune, de les utiliser avec une commande en cathode commune :
http://www.instructables.com/id/Connect ... Ground-RG/
et si j'adapte à mon petit WS2811 et mon driver 3W, ca donnerait ca :
cela vous parrait correct ou de la pure fantaisie ?!
-
- Rang "3 LEDs"
- Messages : 175
- Enregistré le : 10 nov. 2009, 00:44
Re: Inversion Polarité d'un signal PWM
Oui avec le pca, si tu veux piloter toutes tes leds individuellement (ce que tu auras du mal a faire de toute facon avec le ws et un arduino) il te faudra plusieurs modules, avec 4 fils et pas 8. Mais un pca pourrait piloter plusieurs drivers par voies. Je pilote tes rampes avec 4 drivers high power par voies sans pb.
Pour ton driver ebay, je ne sais trop comment t'expliquer pourquoi ca ne marchera pas (ou ne doit pas marcher)
voila une photo de meilleure qualité http://www.raspberrer.com/driver-led/47 ... results=93
le chip est un SW6200, il est indiqué comme pwm avec une fréquence de 500khz, c'est un driver on est d'accord comme le ws les sont pilotables un par pwm l'autre par un signal serie, les deux sortent un courant constant par un pwm hautre fréquence.
Le sw6200 attend un signal pwm, il semblerait de mini 1.8v pour l'état haut. Avec ton ws2811 quand tu vas lui demander de mettre à 50% qu'est ce qu'il va y avoir sur chaque sortie
-dans le meilleur cas ton voltage in / 3 (si les drivers ont tous la même résistance) * 0.5 donc tes leds seront en permanences à l'état haut car plus que 1.8v donc elles même à 100%
-rien parceque ca va griller direct l'entrée pwm
-ca va marcher car chaque driver à la même résistance donc le courant va bien se repartir, que le le ws va gentillement pas essayer d'envoyer 18.5mA , que son transistor de sortie fait du pwm à une super hautre fréquence mais mais que le sw6200 ne lisse pas se signal et est capable de l’interpréter
Pour ton driver ebay, je ne sais trop comment t'expliquer pourquoi ca ne marchera pas (ou ne doit pas marcher)
voila une photo de meilleure qualité http://www.raspberrer.com/driver-led/47 ... results=93
le chip est un SW6200, il est indiqué comme pwm avec une fréquence de 500khz, c'est un driver on est d'accord comme le ws les sont pilotables un par pwm l'autre par un signal serie, les deux sortent un courant constant par un pwm hautre fréquence.
Le sw6200 attend un signal pwm, il semblerait de mini 1.8v pour l'état haut. Avec ton ws2811 quand tu vas lui demander de mettre à 50% qu'est ce qu'il va y avoir sur chaque sortie
-dans le meilleur cas ton voltage in / 3 (si les drivers ont tous la même résistance) * 0.5 donc tes leds seront en permanences à l'état haut car plus que 1.8v donc elles même à 100%
-rien parceque ca va griller direct l'entrée pwm
-ca va marcher car chaque driver à la même résistance donc le courant va bien se repartir, que le le ws va gentillement pas essayer d'envoyer 18.5mA , que son transistor de sortie fait du pwm à une super hautre fréquence mais mais que le sw6200 ne lisse pas se signal et est capable de l’interpréter
-
- Rang "1 LEDs"
- Messages : 44
- Enregistré le : 25 oct. 2014, 22:22
Re: Inversion Polarité d'un signal PWM
Bon, je crois que j'y vois un peu plus clair, mais il reste pas mal de choses obscures pour moi.
Je suis allé un peu plus loin sur mes drivers ebay, j'ai pu identifier le model exact de chipset que j'ai : c'est le PT4115 qui est utilisé pour les miens. https://people.xiph.org/~xiphmont/thinkpad/PT4115E.pdf
donc pour le PWM input, le Lowlevel est à 0.3V et le HighLevel 2.5V, et 50kHz de fréquence.
par rapport à ton explication, je ne comprends pas pour l'usage d'un transistor PNP en sortie du WS2811 ne reglerait pas le probleme d'intensité ou de tension à l'entrée du PT4115 ? En quoi est-ce qu'une intensité de 18.5mA est trop forte pour l'input PWM du PT4115 ? je n'arrive pas à voir combien il attend en entrée.
Je suis allé un peu plus loin sur mes drivers ebay, j'ai pu identifier le model exact de chipset que j'ai : c'est le PT4115 qui est utilisé pour les miens. https://people.xiph.org/~xiphmont/thinkpad/PT4115E.pdf
donc pour le PWM input, le Lowlevel est à 0.3V et le HighLevel 2.5V, et 50kHz de fréquence.
par rapport à ton explication, je ne comprends pas pour l'usage d'un transistor PNP en sortie du WS2811 ne reglerait pas le probleme d'intensité ou de tension à l'entrée du PT4115 ? En quoi est-ce qu'une intensité de 18.5mA est trop forte pour l'input PWM du PT4115 ? je n'arrive pas à voir combien il attend en entrée.