Question:
Utilisation d'un Raspi pour contrôler une longue (> 100 pieds) de bande LED 5V
puk
2014-02-24 11:20:44 UTC
view on stackexchange narkive permalink

J'utilise la bande LED ci-dessous pour l'éclairage d'accentuation

enter image description here

  • 5M WS2801 Blcak PCB 32LED 5050 RGB Bande LED numérique adressable individuellement 5V
  • article: bandes LED noires non étanches pour circuit imprimé ws2801
  • Modèle: 5050RGB WS2801
  • Tension de fonctionnement: DC5V
  • Type de LED: SMD5050 RVB
  • Quantité de led: 32 led par mètre
  • Longueur d'onde (NM): R-650mcd, G-520mcd, B-460mcd
  • Puissance (W / M): 9W / M
  • IC: chaque led contrôlée par une puce électronique WS2801
  • Echelle: 256
  • Angle de vue: 120 degrés
  • Durée de vie: non moins de 50000hrs
  • Emballage: 5M / bobine dans un sac antistatique
  • NON étanche

J'ai besoin de contrôler la lumière de sorte que tous les 100 + pieds soient travailler ensemble (c.-à-d. la même couleur ou des transitions de couleur continues). Idéalement, je les connecterais à une source d'alimentation, mais cela entraînerait une chute de tension. Je pourrais essayer de les connecter en parallèle, mais finalement il y aura trop d'amplis. Je pourrais connecter une alimentation pour chaque 5 m, puis mettre en réseau tous les raspis pour donner l'apparence de toutes les bandes travaillant ensemble, mais cela nécessite des alimentations pour les raspis, et je ne veux pas faire le tour de la maison et les cacher tous .

Quelqu'un pourrait-il expliquer aux débutants comment je peux à la fois alimenter autant de LED et les contrôler à partir d'une seule raspi.

MODIFIER : Je voulais savoir comment je devrais les connecter, par exemple si un adaptateur 5v 2A à une bande de 10 m échoue, puis-je simplement utiliser un deuxième adaptateur 5V 2A et diviser la bande en bandes de 2x5m, puis connecter le premier adaptateur à la première bande de 5 m et le deuxième adaptateur au deuxième adaptateur de 5 m (voir ci-dessous)?

  • Adaptateur / Raspi -> [bande de 10 m] FAILS
  • Adaptateur / Raspi -> [bande de 5 m] -> Adaptateur -> [bande de 5 m] SUCCEEDS?

Qu'en est-il des connexions DI et CI ? Puis-je simplement connecter le DI / CI de la première bande au DI / CI dans la deuxième bande et espérer ensuite que les signaux envoyés du raspi au premier bande sera magiquement transférée sur la deuxième bande? Je ne peux pas m'empêcher de secouer le sentiment que ce n'est pas si simple car l'alimentation est si capricieuse (c.-à-d. Chute de tension, épaisseur de fil, série v parallèle ...) J'ai l'impression que je suis en train de gréer des alimentations ici super.

Vous dites «Puissance (W / M): 9W / M» donc 30m serait 27W. Vous ne devriez avoir aucun mal à trouver une alimentation appropriée. Vous mentionnez également «WS2801» qui utilise une interface série à 2 fils. Pourvu que vous n'ayez pas besoin d'en adresser plus de 100, vous ne devriez avoir aucun problème à vous connecter à partir de l'interface `I2C` sur le Pi. Il ne devrait y avoir aucun problème de chute de tension, car la puce a un pilote de courant constant pour les LED.
@Milliways ... Pourriez-vous me donner une réponse avec plus d'informations, je ne vous suis pas en ce qui concerne ce qui suit: `Puissance (W / M): 9W / M`," Interface série 2 fils "," plus de 100 "," I2C "," Pilote à courant constant "
@ puk Je n'ai pas répondu, car ce n'est vraiment pas le cas. Franchement, vous ne donnez pas assez de détails sur les bandes LED ou ce que vous voulez en faire. La plupart de ces informations proviennent de la spécification que vous avez citée (vous ne fournissez pas de lien vers le produit réel). La spécification indique que la bande utilise une puissance (W / M): 9 W / M, donc 30 m auraient besoin de 270 W. (Je me suis trompé ci-dessus) J'ai recherché les spécifications du WS2801 pour voir ce qu'il faisait. Cela devrait vous donner un bon départ. Je vous suggère de commencer avec 1 bande, de vérifier l'interface I2C et d'essayer d'écrire du code.
[Vous trouverez une partie de votre réponse ici] (http://diy.stackexchange.com/a/18236/2885) Vous faites tout de travers et en particulier c'est RVB c'est encore plus compliqué.
@puk Vous avez initialement posé une question sur RVB http://raspberrypi.stackexchange.com/q/13925/8697 puis copié une spécification pour une interface I2C, maintenant vous vous interrogez sur SPI. Ce sont totalement différents.
@milliways vous avez raison. J'ai acheté 5 pieds RVB accidentellement et j'essayais de résoudre le problème 12v 5v. Ici, cependant, j'ai acheté une bande LED entièrement adressable
Six réponses:
Gerben
2014-02-24 20:41:22 UTC
view on stackexchange narkive permalink

Vous ne devez pas alimenter la bande LED à partir de la ligne 5V du Pi. Connectez uniquement les lignes GND, CI et DI au Pi. Connectez le 5V et GND de la bande LED à l'adaptateur secteur séparé. Notez que la terre est ici "interconnectée".

Si l'adaptateur n'est pas assez solide sur toute la longueur, vous pouvez en effet diviser la bande led en sections. Tout comme ci-dessus, connectez DO à DI, CO à CI et GND à GND. Ensuite, connectez le nouvel adaptateur au 5V et GND de la nouvelle section.

Oui, cela a plus de sens. Cette bande peut adresser individuellement chaque LED et les données doivent être bien connectées
Il y a beaucoup d'étiquettes là-bas, pouvez-vous être plus précis (par exemple. Masse de l'adaptateur à la masse de la led ou masse de la led à la masse de la raspi ...) merci
Les trois masses sont connectées les unes aux autres, donc la masse du Pi, la masse de l'adaptateur et la masse de la bande LED. Tout comme l'image dans la réponse de ppumkin
Piotr Kula
2014-02-24 22:21:42 UTC
view on stackexchange narkive permalink

Le WS2801 est un driver LED à courant constant à 3 canaux. Vous en avez besoin pour chaque LED. Il existe d'autres pilotes RVB, mais les WS2801 sont les plus faciles et les plus flexibles à utiliser.

La source d'alimentation DOIT être séparée du Pi. Mais c'est facile comme connecter un bloc d'alimentation au Vcc et GND sur la bande LED.

enter image description here

Contrôle

Le problème avec ces LED WS2801 est que le niveau du signal d'entrée-sortie dépend de la tension d'entrée. (0.8 * Vcc) Donc, pour le faire fonctionner directement sur le GPIO Raspberry Pi, vous ne pouvez fournir que 4,1 volts maximum, ce qui vous donne un niveau de données de 3,2 volts sans danger pour le Pi. Mais certaines personnes disent que même si les LED fonctionnent à 5 volts, cela fonctionne toujours - cela pourrait être une version différente de la puce.

La fiche technique que vous pouvez fournir de 3,3 à 5,5 volts . Le WS2801 utilise en fait un protocole à 2 fils

  1. CKI - Entrée d'horloge de données à 25Mhz
  2. SDI - Données en échelle de gris série.

Heureusement, vous n'avez pas besoin d'écrire de code car il y a quelque chose appelé PixelPi qui sait déjà comment parler à ces gars.

Powering

De longs morceaux de bandes LED ont besoin de plus de puissance que vous ne le pensez.

  • Après 2 à 4 mètres, vous pouvez couper la ligne Vcc sur la bande LED et connecter un nouvel adaptateur secteur . Laisser GND, DO, DI tel quel. De cette façon, vous pouvez alimenter une longue bande de LED par sections.
  • Une autre façon consiste à utiliser une puissante alimentation régulée. Comme une alimentation d'ordinateur. Ensuite, connectez le début de l'alimentation LED, faites passer le câble en cuivre à côté de la bande LED et connectez-le tous les 3 mètres. Vous n'avez pas besoin de sectionner la LED car l'alimentation utilise toujours le chemin le moins résistif, dans ce cas, votre fil de cuivre supplémentaire provenant de la même alimentation.
Wrt en utilisant un bloc d'alimentation d'ordinateur et des fils de cuivre en cours d'exécution, il n'y aurait pas de chute de tension dans les fils eux-mêmes sur de longues distances (c.-à-d.
Quelle est également la limite physique du nombre de leds que le raspi peut contrôler (PAS d'alimentation)? 1 000 000?
La limite est uniquement sur l'appareil qui le contrôle. Vous pouvez donc en avoir 1 million mais les contrôler tous en même temps n'est pas possible! Parce que vous ne pouvez pas écrire des données différentes sur un million d'objets en même temps (à moins que son calcul quantique). Chaque IC est également adressé globalement de manière unique. La limite est la distance entre les circuits intégrés. Elle ne doit pas dépasser 1 mètre mais peut aller jusqu'à 6 mètres si vous le terminez avec une résistance de 50 Ohm pour équilibrer l'impédance.
Merci mais je posais une question plus basique. 1 raspi peut-il contrôler 64 LED? 100? 200? 1000? Je suppose que la consommation d'énergie est directement proportionnelle au nombre de LED contrôlées. Ou est-ce séquentiel tel qu'il envoie un signal à la LED 1, puis à la LED2, puis à la LED3 ...
Aussi, qu'est-ce qu'un «IC». Il va sans dire que tout ce qui a commencé par "Also Each IC ..." Je n'ai pas compris
Je devrais également mentionner pour les logiciels que je suis * actuellement * en utilisant ceci comme base https://github.com/adammhaile/RPi-LPD8806
«IC» signifie «Circuit intégré» - Vous posez de nouvelles questions dans les commentaires. Vous pourriez avoir plus de chance sur Electronics Exchange pour des questions électroniques spécifiques. Pour connaître la quantité maximale de LED, vous devez déterminer la quantité de données que vous pouvez envoyer sur 25Mhz, puis la quantité de données réellement envoyée. Vous devez le découvrir. Cela pourrait être 255. Mais en utilisant des extensions SPI, cela peut être de 255 x 16. Tout cela est différent de ce que vous demandez. Szwagier sorti.
"Une autre façon consiste à utiliser une alimentation puissante régulée. Comme une alimentation d'ordinateur. Ensuite, connectez le début de l'alimentation LED, et faites passer le câble en cuivre à côté de la bande LED et connectez-le tous les 3 mètres. Vous n'avez pas besoin de sectionner LED parce que l'alimentation utilise toujours le chemin le moins résistif, dans ce cas votre fil de cuivre supplémentaire provenant de la même alimentation. " ** Le problème avec les électrons, c'est qu'ils circulent dans un circuit - je pense que vous devrez également renforcer la ligne GND! **
Certaines bandes que vous ne pouvez pas simplement les connecter à 30 mètres de haut et les mettre sous tension à une extrémité. Les 3 premiers mètres de trace de PCB brûleront. Loi d'Ohm.
Shockwave
2014-08-12 00:41:10 UTC
view on stackexchange narkive permalink

En tant que constructeur qui a construit un appareil avec 480 WS2801 en série, permettez-moi de souligner les problèmes que vous allez rencontrer.

Le premier est le délai de propagation. Le signal d'horloge qui sort de la puce est plus long de 0,6 ns que celui qui est entré. Cela signifie que lorsque vous dépassez les 250 pixels, votre horloge disparaît entièrement à moins que vous ne tombiez à une fréquence d'horloge inférieure. Ou construisez un monopulse pour régénérer une bonne horloge pour continuer dans la chaîne. Pour que ma configuration complète de 480 pixels fonctionne, j'ai dû passer d'une fréquence d'horloge de 2Mhz à 1Mhz. Si vous trouvez un patch de pixels qui panique et rien sur les pixels par la suite, votre fréquence est si élevée que l'horloge disparaît à cause du retard de propagation.

La seconde est l'injection de puissance. Il n'y a aucun moyen que vous allumiez toutes les lumières et les alimentiez à partir d'une extrémité et d'une alimentation. Nous parlons de 60A d'alimentation 5V! Vous devrez connecter l'alimentation à partir d'un joli fil de 18 ou 16ga étoilé à partir d'une seule alimentation 5V et connecté tous les 16 pieds environ. Fondamentalement, chaque bobine doit avoir du jus provenant des deux extrémités si chaque lumière doit être pleine.

Milliways
2014-02-25 06:25:13 UTC
view on stackexchange narkive permalink

Vous avez quelques bons commentaires ci-dessus, mais aucun n'a répondu explicitement à votre question de pouvoir. C'est un simple problème de génie électrique. La spécification que vous avez copiée dit "Puissance (W / M): 9W / M", donc une longueur de 5 m aurait besoin de 45W - soit 9A à 5V.

C'est probablement la consommation avec les 160 LED à pleine luminosité . Cela fonctionne à ~ 50mA par LED, ce qui semble à peu près correct. Vous avez évidemment eu du succès avec un bloc d'alimentation 2A, mais ce ne serait pas suffisant dans tous les cas. Le bloc d'alimentation n'est pas vraiment adapté à ce type d'application. En plus des alimentations d'ordinateurs, je suppose qu'il existe des blocs d'alimentation spécialement conçus pour ce type d'application.

Il y avait un problème de tension sur les câbles de commande. Cela utilise I2C , qui est un pilote de collecteur ouvert. Il a besoin de résistances pull-up - le Pi a 1,8k résistances sur la carte. À condition qu'il n'y ait pas d'autres résistances pull-up à 5V, cela devrait être assez sûr. Vous pouvez facilement vérifier en mesurant la tension, avec le Pi connecté.

La réponse de @ ppumkin a montré une connexion au bus SPI , qui pourrait avoir des problèmes de tension, mais si seulement le MOSI est utilisé - piloté par le Pi en tant que maître de bus, cela ne devrait pas.

J'ai réussi à comprendre tout le problème de l'alimentation en obtenant un adaptateur avec plus d'ampères, mais il y a ensuite le problème de la chute de tension. J'essaierai un adaptateur 10A, et s'il fournit suffisamment de puissance, je le connecterai à des intervalles de 1 ou 2,5 m, puis testerai le nombre de leds qu'un raspi peut contrôler
chuda
2014-02-24 13:05:31 UTC
view on stackexchange narkive permalink

N'avez-vous pas analysé la tension dont vous avez besoin pour allumer toutes les LED?

  1. essayez de combiner avec le relais de pilote raspberry pi +. raspberry pi utilise pour signer et envoyer au pilote via la broche gpio.
  2. à partir de la broche gpio dans raspberry pi, vous pouvez activer le relais du pilote et l'envoyer à la puissance LED selon vos besoins.
Merci pour la réponse, mais je ne comprends pas.
Le relais NE fonctionnera PAS! C'est RVB.
@ppumpkin c'est une bande rgb mais pour souligner c'est la version led 5v pas les 12v de base
nagyben
2014-02-24 14:46:43 UTC
view on stackexchange narkive permalink

Pour clarifier la réponse de chuda:

Vous pouvez obtenir une carte de relais 5V pour contrôler des courants plus importants en utilisant le Pi. Le Pi n'a pas assez pour alimenter autant de LED, mais vous pouvez utiliser un adaptateur secteur. Si vous épissez les fils et les connectez à une carte de relais, vous pouvez contrôler le secteur à l'aide du Pi sans l'endommager.

Regardez cette vidéo YouTube, il donne une bonne explication

https://www.youtube.com/watch?v=3Pikhq99q5E&feature=youtube_gdata_player

Ce sont RVB. Cela ne fonctionnera pas
Oui, ce sont des bandes led 5v, mais pour plus de clarté, pouvez-vous expliquer exactement ce qu'implique "l'épissage", également ce qu'est une carte de relais et ce que signifie "secteur" ici. À votre santé
Vidéo très informative, cependant, je ne pense pas qu'elle s'appliquerait jamais aux bandes LED. Quelqu'un peut-il me le confirmer s'il vous plaît.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...