interfacer un TLC 5940 et 1 TC 426

As tu essayé avec une résistance sur iref plus faible, 500ohm par exemple ?
Sinon si les mosfets "tirent" trop sur le tlc, j'ai envie de te proposer d'utiliser des petits transistors pour commander les mosfets. Le montage suivant devrait permettre d'inverser la commande par la même occasion.

En baissant la résistance IREF tu augmente le courant que le TLC va essayer d'absorber (ne pas oublier c'est un current sink, le courant entre dans le TLC mais n'en sort pas)
Avec 1K, le courant est déjà réglé à ~= 40mA ce qui fait 40V au borne de la résistance de puul-up de 1K ce qui n'est pas possible, et est peut être la raison du TLC a genoux.
Donc ce n'est pas la peine d'en rajouter.

De plus le TLC ne fournir aucun courant au MOSFET.

  • Soit la sortie du TLC est inactive, dans ce cas, la résistance de pull-up tire la gate de l'IRF vers le VCC ce qui le fait conduire (un MOSFET se commande en tension abec une tension VGS > au seuil de déclenchement. D'après la datasheet il suffit donc que VGS > 2.0V pour déclencher le MOSFET.
  • Soit la sortie du TLC est active et il essaye d’absorber le courant définit par IREF. Ce courant traverse la résiustance de pull-up et une tension apparait au borne de la résitance (loi d'Ohms) ce qui fait que la tension de GATE du transistor descend. Il faut que la tension de GATE descende au dessous de 1V pour que l'IRL arrète de conduire (cf datasheet encore).

Donc non, les MOSFET ne tirent pas trop sur le TLC, c'est probablement le TLC qui essaye de trop tirer sur la résistance et qui tombe a cause de cela.

Je n'ai pas la manip sous les yeux mais sinon je sais ce que je ferais : je regarderais à l'oscillocope la tension à la sortie du TLC et j'ajusterait la résistance IREF et la résistance de pull-up pour obtenir les conditions ci-dessus.

Regardez ce que j'ai trouvé :

Ça aussi :

Et encore ça ...
http://www.deskontrol.net/blog/dimmerino-part-1-constant-voltage-mode-power-pcb-for-led-strips/

ok, super,
j ai des résistances variables, on va tester çà avec jacques aujourd hui.

merci !

concernant le dimmerino, ils ne mettent pas de radiateur ?

@bouault : les 2 premiers liens sont très intéressant pour ce qui est du contrôle de LED qui se passe toujours a courant constant.
Mais ne perdons pas de vu le but de karistouf qui est de piloter des vannes

Le 3eme lien est dans ce cas le plus intéressant puisqu'il s'agit d'une sortie en tension et non plus en courant.

On retrouve mes recommandations initiales mais avec une résistance de IREF de 6K8 au lieu de 4K7, donc un courant de sortie plus faible et un pull-up de 1K....

bonjour barbudor !
ok ca a l 'air de marcher !!!! :slight_smile:

on a testé sur breadboard avec 6 x IRL.
On essaye de mettre un transistor BC547 pour inverser le signal avant de souder une série de 12 IRL et de tester avec les vannes. Ca fait du bien que les choses avancent.

par contre j ai laissé sans m en rentre compte le Xerr branché. et çà fonctionne quand même malgrè les différences ( pas d'adaptation de code ):

schéma classique: schéma dimmerino:

XERR en arduino D6 XERR pas cablé
DCPRG au plus DCPRG pas cablé
iREF 2,2K iREF 6k8
VPRG pas cablé VPRG à la masse

Vois tu une explication ?

Bien à toi

Possible que ca marche moins bien avec un BC547 car un transistor bipolaire se commande en courant
Dans le cas du BC547 qui est un NPN, il faut être sur que la tension de base soit très faible pour qu'il n'y ait aucun courant qui rentre dans la base.

En fait si tu est prêt à mettre un transistor, je suggère plutot le montage suivant à base de PNP.

Quand le TLC est off, R2 tire la base du BC557 vers le VCC qui est bloqué.
Ainsi l'IRL ne conduit pas non plus car sa GATE est tirée au GND par R3.

Quand le TLC est on, il absorbe un courant qui va se répartir entre la résistance et la base du BC557.
Il faut calculer le courant (cf IREF) et R2 de manière à se que le transistor se sature et tire alors la GATE de l'IRL au +5V ce qui le rend passant.

Je partirait pour 4-5mA de courant de base.
Choisit un résistance de IREF pour que le courant absorbé par le TLC soit de de ~6..8mA ce qui se devrait suffir
R3 1K devrait faire l'affaire aussi.

A tester bien sur. Je raisonne sur papier...

Bonsoir barbudor, quelques nouvelles du front:

On avait achete et donc utilise les bc 547 . Ca a l air de bien fonctionner. Y vois tu contreindication?

Demain on stabilise l alim du tlc: brancher un fer, le compresseur qui s enclenche, brancher un cable usb sur le portable et le tlc se met en vrac, les vannes s,ouvrent et il faut reseter l uno...
7805 + condensateur

J espere qu on va solutionner ca car c est un peu l horreur de reseter 2x pour que ca refonctionne...

Ces quelques jours d essais s achevent sur une note plutot optimiste, meme si ce fut tres laborieux. Le nombre d erreurs ( faux contacts logique soudures etc ....) et le temps passe me font te demander: chez qui fais tu tes pcbs ???

Apres quelques vacances on rempile sur le projet :wink:
Ce qui est sur c est qu il faut aussi on comprenne vraiment comment fonctionne le tlc et ce que dit le datasheet. Voila.... Merci a toi encore, vraiment !
:slight_smile:

Bonjour

Pardonnez la traduction ... :slight_smile:

dimmerino utilisée la logique inverse a la sortie:

le cycle de 100% dans la TLC5940 est de 0% à la sortie

//******************************************************************************
#include <Tlc5940.h>
#include <lib_dmx.h> //deskontrol 4 universes DMX lib

void setup()
{
ArduinoDmx0.set_control_pin(2);
ArduinoDmx0.set_rx_address(5);
ArduinoDmx0.set_rx_channels(48);
ArduinoDmx0.init_rx();
Tlc.init();
Tlc.clear();
}

void loop()
{
uint16_t tmp;
for (int channel = 0; channel < NUM_TLCS * 16; channel ++)
{
tmp = 255 - ArduinoDmx0.RxBuffer[channel]; // invert DMX value

Tlc.set(channel, tmp << 4);
}
Tlc.update();
}
//****************************************************************************************

Chaque fois que je reçois de temps je envoyer le reste ...

Salutations.
Toni

bonjour toni et merci de ta réponse.

nous sommes passés par les courbes de whitecat pour inverser le signal, mais en fait il faut en effet que j inverse les valeurs dans le script. ta solution est la bonne.

quant au dimmerino, y a t il quelqu un qui en a déjà gravé des plaques ? j ai vu le pcb, mais il manque de la place pour des radiateurs.

sinon nous sommes partis de son schéma, mais les soudures ( ? ) ou les valeurs de résitances ( ? ) font que je bloquais à 6 circuits en termes de puissance. Pas sûr du tout de celà,.J'ai un peu de temps la semaine prochaine pour refaire des essais. as tu expérimenté avec le dimmerino des problèmes de puissance globale ?

merci de ta réponse

Bonjour.
Le conseil que j'ai monté et testé à un ami était la suivante:

Ici était de 48 canaux de sortie, et un Arduino Nano 368 qui contrôle l'entrée DMX et TLC5940
Ne l'utilisez pas à monter parce que je ne suis pas sûr si j'avais quelques modifications. Je vais vérifier avec la photolithographie ...

J'ai fait ce nouveau conseil, parce que la première plaque n'avait pas de connecteurs pour les sorties, devait souder les fils de la broche centrale de chaque MOSFET.

Puis, j'ai décidé de séparer toutes les 16 sorties (1 TLC5940) sur une plaque ...

Certaines choses que j'ai vues dans le prototype:
Les LED n'ont pas atteint complètement (j'ai toujours laissé quelque chose sur), cela peut être dû au bruit dans les mosfets (sur l'oscilloscope regardé joli bruit au niveau des sorties). Il peut être également due à l'absence de tension de polarisation, et enfin le pire, il pourrait être parce que le TLC5940 ne parviennent pas à 100% de cycle PWM ...
Si la TLC5940 atteint seulement 99,8% par exemple, pour inverser le sortie aura un minimum de cycle PWM de 0,2%, pas d'un cycle de 0%.
Bien que je n'ai pas essayé.

En ce qui concerne la puissance et les puits:
Je vais sur toutes les lignes avec plaque d'étain portant les sorties et n'ai eu aucun problème.
Pour les sorties je utiliser mosfets BUZ11 type sans dissipateurs, et n'ai eu aucun problème avec des courants entre 1 et 2 ampères par sortie.

Rappelez-vous: 48 sorties x 2 ampères = 96 ampères, c'est la raison pour laquelle dans la première plaque a été séparé des sorties en groupes de 16 canaux, d'utiliser trois alimentations séparées.

J'espère que la traduction n'est pas trop mauvais ... :blush:

Cordialement
Toni

Bonjour à tous,
après quelques mois de mise en sommeil, nous nous remettons sur ce projet.
Encore des tâtonnements ... mais voilà ou j'en suis : j'ai opté pour des transistor PNP (TIP 127), ce qui permet de commuter quand le tlc est au niveau bas (absorbe le courant), des réseaux de transistors de 1 KOhm pour les pull-ups et une résistance de 6K8 Ohm sur Iref.
Qu'en pensez-vous ? Barbudor cela te parait-il correct ?
Merci d'avance,
Jacques.

Pas bon sur plusieurs points :

  • Un transistor bipolaire se commande via une résistance, pas en direct. Tu va cramer l'Arduino. Seul un MOSFET peut se commander en tension.
  • on n'utilise pas un PNP comme cela. Ton montage ne marchera pas : le VBE de ton transistor sera toujours >0 et le transistor va toujours conduire. Soit tu utilises un NPN, soit tu utilises un PNP mais vers le +12V, ce qui n’empêche pas qu'il te faut un double étage avec un NPN d'abord sinon toujours le même problème.

Ton schéma est affreusement illisible. Fritzing est vraiment nul. Passes à un soft sérieux comme KiCAD, Eagle.

Réseau de résistance bof tel que placé.

SIncèrement, mieux vaut utiliser des NPN et accepter de commander avec un signal "1". Je ne vois pas pourquoi tu t'emm....e avec du PNP. Le seul intérêt du PNP dans ce genre d'application est de pouvoir commander par le + quand on souhaite avoir une masse commune.

Je ne sais pas (plus) ce que tu cherches a commander mais pourquoi s'embeter avec des discrets ? Pourquoi ne pas prendre des ULN2804 ?

PS: Je viens de me rappeler ce que tu cherches a faire et que c'est un TLC qui pilote, pas un Arduino.
Faut que je relise le sujet et ma réponse, tout n'est peut être pas bon dans ma réponse.

Désolé pour le schéma illisible ! J'ai un peu commencé à explorer eagle mais pour l'instant je ne le maitrise pas encore...
Oui c'est un tlc, l'intensité délivré est fixé par la résistance entre iref et la masse, c'est bien ça ? Du coup pas besoin de résistance pour limiter l'intensité ?
Nous cherchons à commander des valves qui consomment 750mA.

le VBE de ton transistor sera toujours >0 et le transistor va toujours conduire.

Je n'ai pas compris ! C'est quoi le VBE ?
Dans mon schéma précédent j'utilisais un double étage de npn pour inverser le signal (uln 2803 puis TIP 122), mais le montage avec des PNP me paraissait plus simple et limite le nombre de composant (à terme nous voudrions piloter une centaine de valves + des leds !).
Voici mon schéma précédent :

Je vient de me renseigner via wikipedia, donc vbe c'est la tension entre la base et l'émetteur.
Note que tout le circuit est en 5v, l’arrivée en 12v sert à alimenter le tlc via un 7805.
Je te remercie en tout cas de prendre le temps de te pencher sur notre problème.

Après réflexion, ton idée d'utiliser un PNP pour bénéficier de l'appel de courant du TLC5940 me parait une bonne idée :slight_smile:
Mais je pense que ton schéma n'est pas bon.

Le premier dessin à gauche ci-dessous reprend le principe de ton schéma. Le TLC5940 est présenté comme une source de tension négative qui absorbe le courant Ib.
RL est la résistance de charge (ta valve) et Rup la résistance de base (réseau de résistance).

Il se peut que cela marche mais j'ai quand même un doute car ce n'est pas le montage normal d'un transistor PNP en mode de commutation.

Avec un PNP je propose le montage 2 suivant qui pour moi est le bon/meilleur (?).
La résistance RB fait un pull-up de la base et quand le TLC ne prend pas de courant, le PNP ne conduit pas.
Quand le TLC tire le courant, il va tirer sur la résistance Rup et sur la base.
Par construction du transistor, VEB est une constante (environ 0,7V) ce qui fixe le courant dans Rup.
Il faut donc configurer la résistance de référence du TLC pour absorber ce courant + le courant de base nécessaire a faire saturer ton transistor.

Merci beaucoup Barbudor !
Je regarde ça cet après midi.

Les deux montages fonctionnent. Pense tu que mon montage peu poser problème, sachant qu'il me simplifie grandement le routage du pcb en simple face ?
Le pnp que j'utilise est un tip 127.
Pour la résistance de référence je nage un peu, pour mes test ça fonctionne avec un résistance de 6K8