LEDcube 3x3x3: Leds lichten amper op

Hi,

Ik heb deze tutorial gevolgd:

Ik heb alles werkend behalve 1 ding: De leds lichten echt heel minimaal op, overdag is het zelfs niet zichtbaar.
Het enige wat verschilt is dat ik deze transistor heb gebruikt: https://iprototype.nl/products/components/ics/transistor

Ligt het hieraan? In zijn tutorial geeft hij op:
3x NPN Transistors (for example: 2N2222, BC547, 2N3904)

Ik heb dus de P2N2222A gebruikt.


Wat heb ik geprobeerd?

  1. Ik heb de transistors vervangen door andere, namelijk: mcp9701e
  • Hiermee branden de leds wel volledig, echter gaan alle 3 de lagen hierdoor aan. Dus ik kan niet 1 ledje laten branden op 1 laag. Hij zet de led op alle lagen aan.
  1. Ik heb bij een led de 220ohm weerstand eruit gehaald. Dit gaf geen verschil, nog steeds zeer weinig licht (waarom werkt dit eigenlijk niet? Wat is dan het nut van een weerstand daar?).

Ik denk dat je beter een schema van je schakeling hier post.
En eventueel je sketch erbij.

De weerstand is zeer belangrijk.

Het kan zijn dat je schakeling teveel stroom trekt, waardoor alles "op zijn gat" zit.
Er kan niet genoeg stroom worden geleverd.

Ik heb exact hetzelfde als in de tutorial, dat ziet er zo uit:

Ik heb een tijdje geleden zelf ook zo een LED-kubus gemaakt.
Ik gebruikte voor elke LED een voorschakelweerstandvan 330 Ohm en voor het aansturen van de transistor ook zo'n weerstand, de transistor die ik gebruikte is een BC547.
Dit alles aangesloten op de arduino werkt perfect.

Ook gebruik ik net zoals jij (zag ik op youtube) de difuse rode LED's en heb dus ook dat probleem, laat ik hem draaien in het donker heb ik niets aan de hand en zie ik ze allemaal heel goed.

Volgens mij is dit te wijten aan de LED's die niet echt bedoeld zijn om licht te geven (nu bij de echte LED's en veel licht zie je ze ook niet werken).

Via welke weg geef je de arduino spanning? Via usb of een andere voeding, misschien kan het zijn dat je (USB)voeding zoveel stroom niet leveren.

ps. goed uitgelegd youtube filmpje, was voor mij tijdens het bouwen een van de betere filmpjes met uitleg.

Ik heb hem aan de USB hangen.
Ik vermoed niet dat het aan het LEDje ligt. Als ik een andere transistor gebruik (zie uitleg eerste post) dan branden ze namelijk wel op de volle 100%. Ook zie ik op youtube genoeg filmpjes met rode LEDs goed werkend.

Hoi thabram.

Die tekening roept toch nog vragen op.
De eerste is of je inderdaad geen weerstand in de basis hebt opgenomen, en indien dat zo is, waarom niet (wie weet heb je dat weloverwogen zo gedaan).
De tweede is of het plaatje klopt, heb je de bolle kant van de transistor naar beneden en dan de GND aan de rechterkant aangesloten ?
Jouw leverancier biedt je de technische gegevens van het ding aan.
Daarin staat hoe de pootjes zitten aan het ding.
En ook dat je dat bekijkt als je tegen de platte kant van de transistor kijkt (das altijd zo).
Dan is het dus van links naar rechts 1, 2, 3.

1 = Collector
2 = Basis
3 = Emitter

De Collector is de “plus” en de Emitter is de “min” kant van deze transistor, en daarmee staat ie verkeerd om in je tekening.
De vraag is dan ook hoe je 'm in werkelijkheid hebt zitten, dus controleer dat maar eens.

Als je een multimeter kunt gebruiken, meet dan ook eens welke spanningen je allemaal op de verschillende punten ziet.
Daar leer je namelijk ook van.
Zo zul je zien dat een transistor wel als schakelaar gebruikt kan worden, maar dat ie dat niet is (en das dus meetbaar).
En wellicht moet je daar rekening mee houden.
Eerst maar eens controleren of je transistoren wel goed zitten, laat dan nog ff van je horen.

Je 2e "Transistor" is eigenlijk een Thermistor. Oftewel een temperatuur sensor...

The MCP9700/9700A and MCP9701/9701A family of
Linear Active Thermistor™ Intergrated Circuit (IC) is an
analog temperature sensor that converts temperature
to analog voltage.

logisch dat ze dus contant branden want je "collector en emitter" geleiden altijd en je probeert nu een HIGH naar een output te sturen...

MAS3: Fuck, ik had de transistors inderdaad verkeerd om! Omdraaien heeft het opgelost.
Hoe kan het dat zijn dat als ze andersom zitten de transistors toch stroom doorlaten, dit mag toch niet?

Ik ga nu met code experimenteren en echt proberen te begrijpen wat er nu gebeurt in dit circuit.

Inderdaad het gaat niet goed als je het ding verkeerd om bedient.
Maar das nog wat anders als helemaal niets gebeuren of rookontwikkeling.
Een dergelijke NPN kun je met een beetje fantasie zien als een zandloper die als trechter (collector) word gebruikt met een valklep in de punt, das dan de emitter.
Die valklep open je door tegen de basis te drukken, als je harder drukt, gaat ie verder naar beneden open tot ie helemaal open staat.

Als je nu het ding omdraait, dan heb je nog steeds een trechter.
Maar nu eentje waar de valklep opent door 'm naar boven te drukken.
De inhoud van de trechter zal er dan ook door komen, maar word daarbij tegengewerkt door de klep zelf.
Dat gaat dus niet echt lekker.

Natuurlijk is dit niet precies wat er werkelijk gebeurt, en je hebt mazzel dat je transistor toevallig sterk genoeg is dat ie dit overleeft.
Dat omdraaien moet je gewoon niet meer doen.
Maar de trechter en het klepje dat je naar beneden drukt met de basis, dat mag je best zo onthouden.
'Drukken' is daarbij het belangrijke woord, bij een PNP moet je in deze analogie trekken aan de basis om 'm open te krijgen.

Heel goed, leuk en zeer leerzaam, dat aanpassen van de code.
Daarmee kun je inderdaad echt veel leren.
Wel niet teveel ineens veranderen, anders zie je nog niet wat welke verandering nou heeft gedaan.

Ik kan qua programmeren redelijk meekomen. Ben al 8 jaar PHP / web programmeur en snap de logica van een taal.
Het hele elektrodeel is nieuw voor mij, hier heb ik nog 0 ervaring in zoals je al merkt.

Toch nog opmerking. Als ik 1 led aansluit met een 220ohm dan brand hij toch nog een heel stuk feller dan nu bij de cubes het geval is. Kan het zijn dan mijn transistor niet genoeg mili amps door laat? Ik las dat een LED 20ma is, op een laag heb ik 9 LEDs is dus 180ma. Ik kan alleen nergens vinden hoeveel ma mijn transistor door laat.

Is dat overigens ook met een multimeter te testen? (het aantal ma dat doorgelaten wordt)

Ik dacht al dat deze vraag zou komen, want die ligt erg voor de hand.
De transistor kan 600 mA verwerken, dat staat in de datasheet (het is de collector stroom, current in het Engels) als 4e item in het eerste tabelletje op de eerste pagina.
Als er meer stroom benodigd is, zal de transistor dat proberen te verwerken, waarbij ie (soms op spectaculaire wijze) zal sneuvelen.
Hij gaat dus niet proberen zichzelf te beschermen.
Dus dat is niet de reden van het zwakkere licht.
Eerder vertelde ik dat je wat interessants kunt zien als je met de multimeter op de verschillende punten gaat meten.
Zo kun je meten tussen de collector en de emitter van die transistor.
Als die transistor "uit" staat, zie je de voedingsspanning daar staan.
Staat de transistor "aan", dan zie je er ongeveer 0.7 volt, en das iets anders als wat je ziet bij een schakelaar (want daar zou je 0.0 volt zien).
De transistor "verbruikt" dus een beetje van de spanning.
Als de weerstand voor zo'n LED berekend word, dan moet de gewenste stroom door die LED bekend zijn, de spanning die er dan over die LED valt, en de spanning waarmee je de LED wil bedienen.
De weerstand moet dan dus het verschil tussen de voedingsspanning, en de spanning over de LED verwerken.
Een LED zou 1,6 volt en 20 mA kunnen zijn.
Dan moet de weerstand dus 5 - 1.6 volt == 3.4 volt verwerken.
Maar als er nog een transistor tussen zit, dan word dat 5 - (1..6 + 0.7) == 2.8 volt.
En daarmee zou je wel eens op een andere weerstand kunnen uitkomen.

Maar ook dat is niet de oorzaak van het minder fel branden dat je ziet ]:D.
De LED brandt namelijk wel op een bijna even sterke intensiteit, maar maar heel kort.
Zo kort dat jij niet kunt zien dat ie aan en uit gaat, maar je ogen en hersenen vertalen dat dan dus als een minder fel licht.
Dit heel kort aangaan komt doordat je aan het multiplexen bent, waarbij je dus alle LEDjes afscant, maar alleen als je bent bij degene die je aan wil hebben zet je 'm dan ff aan.
Dat is het offer dat je moet brengen voor dat scannen, je kunt hier erg weinig aan doen.
Uiteraard kun je LEDs gebruiken die feller branden.
En je kunt teveel stroom door de LED laten branden.
Omdat dat heel kort duurt gaat die LED daardoor niet meteen kapot, maar hij lijdt wel.

thabram:
Ik las dat een LED 20ma is

25 jaar geleden ging dat verhaal nog redelijk op. Tegenwoordig heb je allerleid leds met allerlei stroom verbruik. Als ik gewone leds met draadjes gebruik zijn dat meestal 2mA leds. Dus een heel ander verhaal. Fellere LEDs vragen meestal meer stroom, maar op mijn LED-button shield draaien ze op ongeveer 1mA maar geven meer licht dan een ouderwetse 20mA led.

Ik gebruik deze LEDs:
https://iprototype.nl/products/components/led-lcd/rood

Sheet:
https://iprototype.nl/docs/rood-technische-datasheet.pdf

Nu zie ik 3 verschillende mA staan, 2, 10 en 20. Bij 20 staan er waardes achter, dus ik neem aan dat deze LEDs 20 mA zijn? Ook zie ik 2,1v staan dus geen 1,6v wat weer betekend dat er een lagere weerstand op moet.
Ik begrijp het verhaal van MAS3 redelijk. Maar zou dat betekenen als ik een hele laag (dus alle 9) op licht ze feller moeten branden dan als je 1 LED oplicht uit een laag? Omdat er dan dmv multiplexing niet gescand hoeft te worden of gebeurd dat alsnog?

Verder begrijp ik dus dat je het kan tegen werken door een lagere weerstand te gebruiken ( = meer volt er doorheen) maar dat de leefsduur wel schaad. Beste was dus geweest om een andere LED te gebruiken. Zodra ik een nieuwe ga bouwen (4x4x4) houd ik daar zeker rekening mee!

Alsje het echt intelligent wil maken zou je eigenlijk gebruik moeten maken van de PWM functie. Dan kan je de spanning regelen en tegelijkertijd de stroom door de PWM te verlagen. Maar dan moet er nog wel wat effort in steken

Inderdaad zijn dit 20 mA LED's, en met de maximaal 11 millicandela geven ze niet heel veel licht.
Inderdaad ligt de brandspanning bij die 20 mA tussen2.1 en 2.4 volt.
De stroom mag voor 10 milli seconden 150 mA zijn en 25 mA continu.
Dat zijn de waarden waar de LED het benauwd van krijgt en wat 'm een stukje van zijn leven zal kosten.
Die 150 mA is dus 7.5 maal zo groot als normaal en das niet mis.
Aangezien je nu weet wat de LED wil, kun je er wat formules op loslaten om 'm zo efficiënt mogelijk te gebruiken.

Je moet de sketch aanpassen om niet te multiplexen.
Als je dat doet, of waarschijnlijk veel simpeler een kleine sketch maakt die alleen maar 1 LED aanstuurt, zul je zien dat de LED wat feller oplicht.

Als je een lagere weerstand gebruik, dan stuur je er een hogere stroom doorheen.
De spanning die je er overheen meet (das dus niet er door heen) zal dan hoger worden, maar het gaat echt om de stroom, en als je dit wil begrijpen, dan is dit het belangrijkste deel.

Bij je volgende ontwerp kun je overwegen om een LED te gebruiken met een niet gekleurde behuizing.
De meeste daarvan zijn kristal helder.
Als je diffuse versies kunt vinden (die zijn dus mat) dan verdeelt die behuizing het licht, waardoor je een grotere vlek ziet oplichten.
Of beter gezegd, je ziet 'm oplichten in een andere kleur dan voorheen, waardoor dit dus veel beter opvalt.
En das dus ongetwijfeld waarom de meeste cubes die je ziet van zulke heldere LEDs zijn voorzien.

Ben je al in de gelegenheid geweest om te meten op de diverse punten ?
Meet dan eens over de transistor, en over de LED wanneer deze brandt.
Het is een goeie manier om te controleren wat je verwacht uit die datasheets.
Dat word natuurlijk wat lastig als je geen multimeter hebt...