Éclairage DEL RVB contrôlé par résistances variables

Bonjour,

je lis les sujets ici et je découvre qu'il y a une belle gamme de résistances variables qui pourraient répondre à mes besoins. Comment choisir ?
J'avais l'oeil sur DS3502
Je vois maintenant qu'il y a AD8400

Voici le projet et mes autres questions.

Objectif: contrôler les couleurs et l'intensité de bandes DEL à l'aide d'une interface web supportée par Rasp Pico W en tant que point d'accès et serveur web.

La partie RaspPicoW et serveur web est déjà fonctionnelle et contrôle l'affichage de 4 MAX72xx via la bibliothèque Parola.

Première question d'ordre électrique: quelle puissance (Watts) peut contrôler une résistance variable AdaFruit ? Je ne trouve aucune donnée en W ni en A sur les fiches techniques. Mes bandes DEL sont assez longues et - de ce fait - assez gourmandes (non, je ne compte certes pas les alimenter via mon PicoW, elles seront alimentées séparément, mais les résistances variables, elles, devront gérer ce courant abondant).

Voici mon code en développement et la source de ma troisième question: pourrais-je simplifier le code ?

J'ai quatres bandes DEL à gérer (Gauche, Droite, Centre Devant)
Pour chacune je veux contrôler:

  • le rouge
  • le vert
  • le bleu
  • l'intensité totale (sans changer les ratio RGB)
    Pour arriver à cela, j'ai prévu une résistance variable à
  • la sortie (oui, c'est le - qui est contrôlé ) R
  • la sortie (oui, c'est le - qui est contrôlé ) V
  • la sortie (oui, c'est le - qui est contrôlé ) B
  • au commun (noir) de toutes les couleurs pour l'intensité.

Bref, quatre bandes DEL contrôlées par 16 résistances variables

//Montage pour RaspPicoW 
//Contrôle de l'éclairage RVB de l'église Pond Inlet via interface web en AP (comme l'affichage des chants)
//Le module AdaFruit semble très intéressant pour mon projet :  https://www.adafruit.com/product/4286
//Gestion de plusiuers ports SDA/SCL sur Rasp Pico:  https://github.com/lkoepsel/I2C/blob/main/Arduino/Pico/I2C_Scanner/I2C_Scanner.ino
#include <Wire.h>
#include <Adafruit_DS3502.h>

Adafruit_DS3502 GaucheR = Adafruit_DS3502();
Adafruit_DS3502 GaucheV = Adafruit_DS3502();
Adafruit_DS3502 GaucheB = Adafruit_DS3502();
Adafruit_DS3502 GaucheT = Adafruit_DS3502();

Adafruit_DS3502 CentreR = Adafruit_DS3502();
Adafruit_DS3502 CentreV = Adafruit_DS3502();
Adafruit_DS3502 CentreB = Adafruit_DS3502();
Adafruit_DS3502 CentreT = Adafruit_DS3502();

Adafruit_DS3502 DroiteR = Adafruit_DS3502();
Adafruit_DS3502 DroiteV = Adafruit_DS3502();
Adafruit_DS3502 DroiteB = Adafruit_DS3502();
Adafruit_DS3502 DroiteT = Adafruit_DS3502();

Adafruit_DS3502 DevantR = Adafruit_DS3502();
Adafruit_DS3502 DevantV = Adafruit_DS3502();
Adafruit_DS3502 DevantB = Adafruit_DS3502();
Adafruit_DS3502 DevantT = Adafruit_DS3502();

struct LUM {
    int pinSDA;
    int pinSCL;
    uint8_t adrsR;
    int R;
    uint8_t adrsV;
    int V;
    uint8_t adrsB;
    int B;
    uint8_t adrsT;
    int T;
};

struct LUM valGauche;
struct LUM valCentre;
struct LUM valDroite;
struct LUM valDevant;

void setup() {
  Serial.begin(115200);

  valGauche = { 0, 1,0x80,255,0x81,255,0x82,255,0x83,255};
  valCentre = { 2, 3,0x80,255,0x81,255,0x82,255,0x83,255};
  valDroite = {16,17,0x80,255,0x81,255,0x82,255,0x83,255};
  valDevant = {18,19,0x80,255,0x81,255,0x82,255,0x83,255};

}

void loop() {
  ajustonsLUM();
}

void ajustonsLUM () {
  Wire.setSDA(valGauche.pinSDA);
  Wire.setSCL(valGauche.pinSCL);
  Wire.begin();
  GaucheR.begin(valGauche.adrsR);
  GaucheV.begin(valGauche.adrsV);
  GaucheB.begin(valGauche.adrsB);
  GaucheT.begin(valGauche.adrsT);
  delay(50);
  GaucheR.setWiper(valGauche.R);
  GaucheV.setWiper(valGauche.V);
  GaucheB.setWiper(valGauche.B);
  GaucheT.setWiper(valGauche.T);
  Wire.end();

  Wire.setSDA(valCentre.pinSDA);
  Wire.setSCL(valCentre.pinSCL);
  Wire.begin();
  CentreR.begin(valCentre.adrsR);
  CentreV.begin(valCentre.adrsV);
  CentreB.begin(valCentre.adrsB);
  CentreT.begin(valCentre.adrsT);
  delay(50);
  CentreR.setWiper(valCentre.R);
  CentreV.setWiper(valCentre.V);
  CentreB.setWiper(valCentre.B);
  CentreT.setWiper(valCentre.T);
  Wire.end();

  Wire.setSDA(valDroite.pinSDA);
  Wire.setSCL(valDroite.pinSCL);
  Wire.begin();
  DroiteR.begin(valDroite.adrsR);
  DroiteV.begin(valDroite.adrsV);
  DroiteB.begin(valDroite.adrsB);
  DroiteT.begin(valDroite.adrsT);
  delay(50);
  DroiteR.setWiper(valDroite.R);
  DroiteV.setWiper(valDroite.V);
  DroiteB.setWiper(valDroite.B);
  DroiteT.setWiper(valDroite.T);
  Wire.end();

  Wire.setSDA(valDevant.pinSDA);
  Wire.setSCL(valDevant.pinSCL);
  Wire.begin();
  DevantR.begin(valDevant.adrsR);
  DevantV.begin(valDevant.adrsV);
  DevantB.begin(valDevant.adrsB);
  DevantT.begin(valDevant.adrsT);
  delay(50);
  DevantR.setWiper(valDevant.R);
  DevantV.setWiper(valDevant.V);
  DevantB.setWiper(valDevant.B);
  DevantT.setWiper(valDevant.T);
  Wire.end();
}

Merci de votre aide.

Avec 1mA, tu ne vas pas loin.
Le plus simple serait quand même de contrôler les LEDs par PWM avec des mosFET

Ok, j'avais bien lu 1mA, mais, je ne croyais pas cette si faible valeur correspondre à mon circuit externe contrôlé. Je pensais que le « Wiper current » était la valeur du signal contrôlant le tout. En effet, dans les codes d'exemple, le fabricant nomme sa varxable Wiper et cette variable porte les valeurs 0 à 127 ou 0 à 255 selon les modèles.

Là, vous me perdez. qu'est-ce qu'un PWM ?
Est-ce que les PWM fonctionnent en collaboration avec les mosFET ou c'est un choix de technologie à faire (ou les PWM ou les mosFET) ?

Merci.

J'ai fait quelques recherches rapides et je comprends que le mosFET peut être géré en ON/OFF au rythme du PWM.
Je vois aussi, selon ce site en anglais que je peux rythmer les ouvertures/fermetures du mosFET directement avec les broches du PICOw par des fonctions arduino assez simples comme

analogWriteFreq(uint32_t frequency);
analogWriteRange(uint32_t range);
analogWriteResolution (int resolution);
analogWrite(GPIO, duty cycle);

La gestion de la fréquence ON/OFF se fait simplement par cette commande ( cf site en anglais

analogWrite(brocheChoisie, frequenceOnOff);

Si, donc, je pouvais faire ainsi, mes broches PICOw géreraient directement les mosFET sur lesquels seraient connectés mes bandes DEL. Les bandes DEL entreraient donc dans un clignotement imperceptible à l'oeil humain, car on parle ici de 1000 Hz alors que l'oeil voit à 28 Hz Serait-ce vraiment imperceptible ? J'en doute, mais bon. Passons.

Ai-je bien compris ?

Il faudrait donc que je me trouve des mosFET de 15V max (car mes bandes DEL sont à 12V)

Je crois que cette page pourrait m'aider - et d'autres qui liront le fil ultérieurement.
Cette page aussi peut être utile.

Maintenant ... la grosse question ... comment trouver le bon mosFET sur le marché selon mes plans ? Y a--t-il quelque par un « catalogue de mosFET » dans lequel je pourrais comparer les caractéristiques ?

Merci à tous.

Peut-être que Superman verrait le clignotement mais toi tu ne le verras pas.

Oui

Il faut choisir un MOSFET dans les familles logiques comme les IRL cités dans le lien que tu donnes.
Ici un article qui pourait t'aider

En ce qui concerne le principe que tu poses, j'ai une remarque.
Utiliser un transistor pour chaque couleur + un transistor dans le commun pour régler la luminosité ne me semble pas une bonne solution car tu vas avoir 2 sources de perte de tension.
Tu peux régler la luminosité avec les transistor sur R, G et B. En effet pour régler la luminosité il suffit de modifier les valeurs de R, G et B dans les mêmes proportions. Par exemple, si tu as choisi une couleur avec R=64, G=120, B=180 pour diminuer la luminosité sans changer la couleur il suffit de multiplier ou diviser les valeurs par une même valeur ainsi si on divise par 2 on aura R=32, G=60 et B=90 la couleur n'aura pas changé mais elle sera plus sombre.

1 Like

La PICO dispose de 16 sorties PWM, ce qui tombe bien.
Il te faut donc 16 MOSFETs pour commander les LEDs. Le problème est que l'on ne trouve pas de modules 8 ou 16 MOSFETs, comme pour les relais.
Tu peux utiliser 16 modules AOD4184 ou IRLR7843 :

Mais c'est un peu fastidieux à câbler :confused:

Si tu es intéressé par un module à 16 MOSFETs, voici une réalisation personnelle :

Il manque une information : le courant nécessaire.

Il aurait été quand même plus simple d'adopter directement des LEDs adressables, WS2812 ou mieux : APA102.

J'ai pensé à cela (modifier RVB proportionnellement), mais je tenais à garder la même teinte. je n'avais pas pensé à la double perte. C'est un point important qui me fera probablement me rallier à ton avis.

J'opte pour du COB. je n'ai pas encore trouvé de DEL adressable qui offre un éclairage aussi continu et uniforme que le COB.

Quand à l'ampérage, je dois vérifier avec précision, mais je crois que c'est autour de 2A.

Très intéressant. J'ai fit git clone de tout ce qui se trouvait là. Merci.

Mon projet de bandes DEL compte de longues bandes et vise à remplacer un éclairage aux tubes fluorescents par ces bandes. J'avais idée d'utiliser les boîtiers des fluo pour refroidir mes mosFET (vissés directement sur le boîtier). Donc, j'aurais 3 (peut être 4) mosFET par installation, ces mosFET s'en trouveraient plutôt loin du PICO.

Qu'est-il préférable quant au long câblage

  1. qu'il soit entre PICO et mosFET
  2. qu'il soit entre mosFET et DEL
    ?
    Je n'ai pas le choix, il faut que du câble soit long quelque part.

J'aime l'idée du contrôle via i2C, ce sera ma solution.

Avec des AO3400, la résistance RDSon est de 19mΩ, donc ils dissiperont 19mW pour un ampère. Je ne vois pas de besoin de refroidissement, à moins d'avoir des longueurs de bandeaux très importantes.
Et je répète :

On ne connaît pas les LEDs, leur consommation, ni combien il y en a, etc. Ça devient difficile de répondre.

Je travaille avec des bandes DEL de type COB de 5 mètres de long.
La consommation attendue est autour des 2 amp.

P = RI2 = 19×2^2 = 76mW
Toujours pas de besoin de refroidissement en vue ...

Petite curiosité.
Pour moi le COB c'est du "Chip On Board".
C'est-à-dire des puces de silicium collées ou soudées sur le circuit imprimé.
Reliées aux pistes par des bondings et protégées par une goutte de résine noire.

Parlons nous de la même chose ?

J'ignore si nous parlons de la même chose. Votre description est beaucoup plus « technique » que ma perception. Ce qui m'intéresse, c'est la continuité du flux émetteur de lumière, comme ceci: https://i.ebayimg.com/images/g/R1AAAOSwu65htvyB/s-l1600.jpg

Revenant à ma question,

J'ai eu idée aujourd'hui de modifier mon projet.
Et si étaient gérées la couleur et l'intensité via des composants qui se parlent en Wifi ?
Je pourrais avoir mon serveur, qui offrira une interface web à l'usager pour choisir la teinte et l'intensité lumineuse. Ce serveur transmettra alors ces informations à des petits ESP-01 qui commanderont les mosFET et - donc - les bandes DEL! Pas de vilain fil visible entre le central et les installations lumineuses.
Le serveur web de PICO peut répondre à plusieurs clients. Peut-être pas 100, mais certainement 5 ou 6.

Je lance l'idée et accueille vos réactions pendant que ça mijote encore dans ma tête.
J'aurais donc:

  • un central PICO qui est et sera encore serveur web, en interface avec l'usager
  • ce central passe les commandes aux 4 ESP-01
  • ces ESP-01 gèrent chacun trois mosFET via une carte i2c à 4 canaux

Ainsi seraient gérées les couleurs et l'intensité de l'éclairage.

Le serveur PICO gère déjà, et continuera à la faire, une page web d'affichage (4 panneaux MAX7219

Bonjour,

à partir des idées ici échangées et, particulièrement, de la solution suivante

j'ai pensé au petit assemblage suivant (répété 4 fois pour autant de bande DEL dispersées dans l'église) autour de ESP-01 en récepteurs de couleurs et gérants i2C des bandes, avec un PICOw en tant que serveur web pour l'interface avec l'humain.

En schéma de connexion, ça donne ceci:

Ai-je bien compris la connectique des mosFET ?

L'immense avantage de cela et d'éviter de gâcher la beauté de l'église avec des fils qui iraient du PICOx aux bandes DEL

Retour d'expérience:
mes bandes DEL ne sont pas assez puissantes. Il en faut 3 voire 4 pour produire l'éclairage espéré
De plus, l'éclairage est trop bleu lorsque je donne la pleine puissance à toutes les trois couleurs. Il faudrait que j'impose une résistance aux bleu et vert afin de donner un peu de chaleur à ma teinte.

Connaissez-vous des bandes RGB DEL de 5 mètres qui donnes 6000 lumens, voire 8000 ?