interfacer un TLC 5940 et 1 TC 426

merci à toi barbudor, c'est déjà énorme que tu puisses m'aider autant !

j ai encore quelques jours sans enfants pour aller au bout de cette histoire et voir si le projet est viable techniquement.

Tu parles bien de la résistance qui est entre la broche IREF et le GND ?
Pas le pull-up entre le OUT et le VCC ?

méa culpa: ok je vais monter une 4K7 sur le iREF de suite, je termines un bout de code et te dis.

Le TLC me plait car il est RAPIDE. Je n'ai quasiment aucune latence ( du moins en utilisant le schéma de vase avec juste des leds), ce qui m intéresse carrément pour mon projet.
J'envisage d'utiliser entre 96 et 128 IRL pour piloter chaque vanne Flexinol ( 750mA en 5v par tête de pipe).
Vois tu une hérésie ( consommation, puissance, etc etc) à utiliser deux ou trois séries de TLC daisy chainés ?

Quelle approche avoir ?

karistouf:
Vois tu une hérésie ( consommation, puissance, etc etc) à utiliser deux ou trois séries de TLC daisy chainés ?

Je vois une hérésie à utiliser un contrôleur de LED pour commander des MOSFET qui commande des vannes .... :smiley:
Mais y'en a bien qui s'en servent pour des servos... :grin:

Sinon, oui tu peux les chainer
Il y a des examples dans la datasheet
A voir comment ca se passe avec la lib par contre si elle le supporte

chainage > oui c est prévu dans la lib , c est pour ca que je me suis orienté vers le TLC :slight_smile:

sinon avec une résistance 4,7kilo sur le iREF, ca devient bizarre:
toujours 4 / 6 sorties opérationnelles, même si je débranche la liaison des gates des mossfets au tlc

par contre, dès que change le niveau des leds 2 3 ou 4 ca affecte l intensité de la led 1, qui reste tout le temps allumée, sauf quand tout le monde à 255

je vais remettre la resistance en 1kilo, voir si c est pas en soudant déssoudant que ....

bon, je recable tout demain, TLC IRL, il y a un loup dans mes soudures. je reviens à toi après avoir fait cette mise au propre ... merci !

hello hello.
bon, toujours 4 sorties uniquement. =(

le TLC ne fonctionne pas avec une resistance sur iref de 4,7kohms, par contre avec 1000 ohms oui ca gradue

j ai revu tout mon cablage ( c est delicat pour mes gros doigts) c est peut etre pas parfait mais je ne vois pas de loup dans les soudures, je les ai refaites (snif) et ma plaque à bidouille commence à ressembler à un champ de mine que la pompe à dessouder n a pas épargné.
mais bon pour les connexions c est propre ca c est sur.

donc serait ce la limitation du TLC en lui même en termes de puissance comme tu le suggérais ?

Grosso modo, pour résumer le projet:

artnet > arduino + ethernet shield > TLC > IRL540 > vanne flexinol ( 750mA/5v )
1 driver par vanne, chaque vanne indépendante et "graduée" 0/255

y a t il une autre manière de le cabler ou d autres types de transistor à utiliser pour commander mes vannes ?
est ce que les TC426 peuvent faire l affaire au sortir du TLC ( je crois qu ils sont moins gourmands ) ? si oui, comment les cabler au sortir du TLC ?

voilà ! oulalalala que de questions que de questions...

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.