Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[LedMatrix]Aansluiting op microcontroller

Pagina: 1 2 Laatste
Acties:
  • 934 views sinds 30-01-2008
  • Reageer

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Ik ben van plan om een ledmatrixje te maken, om de tijd, messages etc. te laten zien; Het idee is om 5x een 5x7 ledmatrix aanelkaar te koppelen (horizontaal wel te verstaan), zodat er 7 rijen met elk 25 leds ontstaan, opgeteld precies 32 pootjes, overeenstemmend met mijn gekozen microcontroller; de atmega32. Nu heb ik uit de datasheet gezien, dat elke row de - van de leds voorstellen, en de + de kolommen.(7 -'en , en 25 +'en dus). Nu dacht ik dat ik deze wel kan schakelen met het volgende;
[img verwijderd was toch fout]
Ik vroeg me nu af als ik nu de microcontroller direct op de kolommen kan aansluiten ? Of moet ik daar ook transistoren gebruiken. Het plan is om dan in de microcontroller een stukje multiplexing software te schrijven, en zo alle mogelijke patronen er op te laten showen. Zijn er betere oplossingen, of zit ik wel in de goede richting te denken, alle hulp is gewenst! Ik zoek dus hulp met het aanstuur gedeelte, heb het één en ander gezocht op google, en kwam via via op een plaatje terecht van een manier hoe het ook kan, maar heb het schema niet! Had ook ergens gelezen dat ik met transistoren de stroom door de leds moet opvoeren, omdat ander het te zwak kan worden door het multiplexen, heeft iemand formules voor de weerstandwaardes die ik dan moet kiezen?

Edit:
Zie nu pas dat er nog een weerstand tussen moet, anders is de spanning te hoog voor die ledjes!


****UPDATE****
Working

[ Voor 23% gewijzigd door Shuisman op 14-08-2006 11:49 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
'k denk dat de onderste ledjes niet zullen gaan branden ;)

en je moet ff zeggen welke microcontroller en ledjes je gaat gebruiken... dan is het op te zoeken in de specs...

edit: tekening ziet er sowieso gek uit... en het is de stroom die te hoog wordt, niet perse de spanning...

[ Voor 26% gewijzigd door MeMoRy op 04-07-2006 23:51 ]

U vraagt, wij antwoorden.


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Heb je dit schema ergens gehaald? Of zelf getekend? Dit gaat namelijk niet werken. Er ontbreekt wat en der zijn wat verbindingen die niet lijken te kloppen (kan ook gewoon aan de schets liggen.) En natuurlijk de weerstandjes.

Maar als ik het goed heb bestaan er ic's die die dit zelf doen, maxim zal er wel wat hebben, led drivers etc.

Maar met een µC zal dit ook wel lukken, op zich zal het zonder transistor misschien lukken. Als er niet teveel stroom uit de poorten van de µC getrokken wordt. Even berekenen en kijken wat de µC mag hebben. Lukt het niet, dan best een transistor gebruiken.

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Gaaf idee :) Als je het opbouwt zoals hier zou het goed moeten gaan; je hebt dan dus wel 25 torren nodig en je hebt een duty-cycle van 1/25e. Dat hoeft geen enkel probleem te zijn; dat gebeurt in commercieele borden ook, het betekent trouwens wel dat je 25x zoveel stroom door je leds mag gooien omdat ze maar 1/25e van de tijd aan zijn.

Edit: Bij de meeste uCs is de weerstand tussen de basis en emitter van de tor niet nodig, btw.

[ Voor 11% gewijzigd door Sprite_tm op 04-07-2006 23:56 ]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Heb de led-matrix uit de datasheet gehaald, lijntjes lijken ingezoomed niet te connecten; heb ff plaatjes geupdate,
MeMoRy schreef op dinsdag 04 juli 2006 @ 23:50:
'k denk dat de onderste ledjes niet zullen gaan branden ;)

en je moet ff zeggen welke microcontroller en ledjes je gaat gebruiken...
Staat in mijn verhaaltje;
Atmega32 van Atmel en ledmatrix url werkt niet altijd; farnell ordernummer 1168664
Sprite_tm schreef op dinsdag 04 juli 2006 @ 23:55:
Gaaf idee :) Als je het opbouwt zoals hier zou het goed moeten gaan; je hebt dan dus wel 25 torren nodig en je hebt een duty-cycle van 1/25e. Dat hoeft geen enkel probleem te zijn; dat gebeurt in commercieele borden ook, het betekent trouwens wel dat je 25x zoveel stroom door je leds mag gooien omdat ze maar 1/25e van de tijd aan zijn.

Edit: Bij de meeste uCs is de weerstand tussen de basis en emitter van de tor niet nodig, btw.
Ik kan dus beter per kolom 1 transistor doen ? Netzoals dit:
Afbeeldingslocatie: http://sprite.student.utwente.nl/~jeroen/foto/foto/ledmatrix/tmb-hpim1858.jpg
Wou het zo simpel mogelijk maken; dus geen kolom-drivers, shift registers etc. Het is meer om eens wat verder te gaan dan een nigthrider van 6 leds in asm met een pic :P

Alleen gaat mijn microcontroller het leuk vinden als ik 175 leds op hem aansluit en 'tegelijk' aan doe ?

[ Voor 67% gewijzigd door Shuisman op 05-07-2006 00:32 ]


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

SHuisman schreef op dinsdag 04 juli 2006 @ 23:26:
opgeteld precies 32 pootjes, overeenstemmend met mijn gekozen microcontroller; de atmega32.
De atmega32 haalt net aan de 32 I/O pinnen (als je extern kristal hebt), al deel je wel dan de ISP pinnen met je LED matrix. Als je een losse programmer gebruikt is dat niet erg maar als je in circuit wilt programmeren moet je er rekening mee houden dat de programmer bepaalde lijnen naar ground en VCC gaat trekken. Afhankelijk van de programmer en je matrix (en zeker als je geen weerstanden gebruikt wat volgens mij een slecht idee is) kun je dan je LEDs opblazen tijdens het programmeren.

De echte absolute maximumstroom voor een I/O pin is 40mA, maar er zit ook een beperking van 200mA op de VCC en GND pinnen wat het totale maximum bepaalt. Waarschijnlijk zal het allemaal niet zo snel stuk gaan als je er wat overheen gaat, ze kunnen flink wat hebben. Maar dat zijn de specs in ieder geval.

En vergeet de JTAG interface niet uit te zetten anders gaat PORTC een eigen leven leiden :)

www.madwizard.org


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
madwizard schreef op woensdag 05 juli 2006 @ 00:23:
[...]

De atmega32 haalt net aan de 32 I/O pinnen (als je extern kristal hebt), al deel je wel dan de ISP pinnen met je LED matrix. Als je een losse programmer gebruikt is dat niet erg maar als je in circuit wilt programmeren moet je er rekening mee houden dat de programmer bepaalde lijnen naar ground en VCC gaat trekken. Afhankelijk van de programmer en je matrix (en zeker als je geen weerstanden gebruikt wat volgens mij een slecht idee is) kun je dan je LEDs opblazen tijdens het programmeren.

De echte absolute maximumstroom voor een I/O pin is 40mA, maar er zit ook een beperking van 200mA op de VCC en GND pinnen wat het totale maximum bepaalt. Waarschijnlijk zal het allemaal niet zo snel stuk gaan als je er wat overheen gaat, ze kunnen flink wat hebben. Maar dat zijn de specs in ieder geval.

En vergeet de JTAG interface niet uit te zetten anders gaat PORTC een eigen leven leiden :)
De JTAG interface vorige week leuke dingen mee beleefd (schakeling die eraan hing 1 middag lang doorgemeten) tijdens projectje van studie (Technische Natuurkunde Utwente), het was iets met de fuse-instellingen meende ik ;) Ik heb al 2 van die klik-voetjes (met van die hendeltjes) op de kop weten te tikken; ik ga voor een externe programmeer schakeling.

[ Voor 3% gewijzigd door Shuisman op 05-07-2006 00:39 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
OK, leds trekken 30 mA/stuk
Maar je moet idd

dutycyle van 1/25? dan doe je het precies verkeerd om... ik zou voor de dutycycle van 1/7 gaan...

maar goed, aangezien je die 7 rijen toch niet tegelijk aan zult hebben, kan je een 3-bit naar 8 uitgangen decoder regelen... bijv. de 74HC42 da's een 4bit naar 10 decoder


Ik neem ff aan dat je voedt met 5V
Dan trekt een rij van 25 leds max 0,75 A... goedkoopste oplossing is de BC338-40... die kan max 0,8 mA hebben. Currentgain is 250-630...
Hij moet iig 3 mA hebben... spanningval over transistor (Vbe) 1,2 V... Weerstand voor de transistor moet iets van 1,2 k zijn, die weerstand daarbij naar de grond is niet nodig.
Door de tranistor is er een spanningsval (Vce) van 0,7 volt, door de leds 2,0 V... weerstand van 75 ohm voor de leds...

maar aangezien die atmega chip geen 0,75 A kan leveren, moet je naar een moeilijkere schakeling gaan...
Afbeeldingslocatie: http://elektron.its.tudelft.nl/~memory/drvschm.jpg

deze is iets overdreven, want is voor tot 2 A, maar toch wordt het wel zo'n soort schakeling.. voor jouw kan het bovenste stuk voor jou ook met 1 bc550/bc560 inverter en 1 P darlington transistor, bijvoorbeeld de BD680...

edit: of zonder inverter en het signaal gewoon geinverteerd uitsturen, natuurlijk!

kijk voor goedkope bc550/bc560 en bd680 op www.voti.nl

[ Voor 7% gewijzigd door MeMoRy op 05-07-2006 12:18 ]

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
@Memory, de leds zijn 20mA per stuk, 30mA is absolute maximum,(of kijk ik verkeerd?) verders is die schakeling aardig ingewikkeld, kan dat niet iets simpeler ?
De 4bit naar 10 poorten is misschien wel handig (bespaart weer 4 poorten)
Heb nu het volgende; (mede door bovenstaande tips)
[img verwijderd was toch fout]
Per kolom 1 transistor, en per rij ook 1,

De leds zijn 20mA per stuk; dus per rij maximaal 500mA , en per kolom maximaal 140mA, volgens mij kan de BC550 dit wel aan. Kan ik het zo doen, of moet ik toch het schema van memory gebruiken, of die van Sprite ?

[ Voor 17% gewijzigd door Shuisman op 14-08-2006 11:49 ]


Verwijderd

Volgens mij kan je zo niet elk ledje uniek aansturen.

X = led aan
O = led uit

stel je wilt dit:
X O O
O O O
O O X

volgens mij gaan dan de volgende leds branden:
X O X
O O O
X O X

of is dat de bedoeling?

[ Voor 7% gewijzigd door Verwijderd op 05-07-2006 15:22 ]


  • joca
  • Registratie: Oktober 2000
  • Laatst online: 12-07 20:25
Sprite_tm schreef op dinsdag 04 juli 2006 @ 23:55:
Gaaf idee :) Als je het opbouwt zoals hier zou het goed moeten gaan; je hebt dan dus wel 25 torren nodig en je hebt een duty-cycle van 1/25e. Dat hoeft geen enkel probleem te zijn; dat gebeurt in commercieele borden ook, het betekent trouwens wel dat je 25x zoveel stroom door je leds mag gooien omdat ze maar 1/25e van de tijd aan zijn.

Edit: Bij de meeste uCs is de weerstand tussen de basis en emitter van de tor niet nodig, btw.
De stroom 25keer zo groot maken omdat de duty-cycle 1/25e is gedeeltelijk waar, er is namelijk nog zoiets als een maximale stroom die de LED kan hebben, ik denk dat die ver onder de 25x30mA zit. Maar goed kijk gewoon even in de datasheet van de LED en je bent eruit.

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op woensdag 05 juli 2006 @ 15:21:
Volgens mij kan je zo niet elk ledje uniek aansturen.

X = led aan
O = led uit

stel je wilt dit:
X O O
O O O
O O X

volgens mij gaan dan de volgende leds branden:
X O X
O O O
X O X

of is dat de bedoeling?
Dat dacht ik eerst ook, maar als je gebruikt maakt van multiplexing is dat op te lossen; je laat eerst de linksboven doen, en dan rechtsonder, en dat ZO snel dat je ogen het verschil niet waarnemen, je moet wel de stroom verhogen (hoe weet ik ook nog niet, daar moet ik nog ff over zoeken/lezen, ben niet zo'n transistor-electronica freak,daarom vraag ik hier o.a.)
Joca schreef op woensdag 05 juli 2006 @ 15:26:
[...]
De stroom 25keer zo groot maken omdat de duty-cycle 1/25e is gedeeltelijk waar, er is namelijk nog zoiets als een maximale stroom die de LED kan hebben, ik denk dat die ver onder de 25x30mA zit. Maar goed kijk gewoon even in de datasheet van de LED en je bent eruit.
Ja die is er zeker, en die is slechts 160mA ! dus weer een probleempje erbij..

[ Voor 37% gewijzigd door Shuisman op 05-07-2006 15:29 ]


  • joca
  • Registratie: Oktober 2000
  • Laatst online: 12-07 20:25
Valt wel mee hoor, je LEDs branden gewoon minder fel.

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Deze lijkt heel simpel (enkele transistor per rij en per kolom), ik zoek eigenlijk dat schema !
[heb het schema al]

[ Voor 63% gewijzigd door Shuisman op 14-08-2006 11:50 ]


Verwijderd

Je zou ook de kolomsturing kunnen doen door schuifregisters, zo heb je nog meer datapinnen over voor de rijsturing. Een nog grotere matrix dus :)

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op woensdag 05 juli 2006 @ 15:59:
Je zou ook de kolomsturing kunnen doen door schuifregisters, zo heb je nog meer datapinnen over voor de rijsturing. Een nog grotere matrix dus :)
Ik denk dat ik eerst 'simpel' wil houden, daarna misschien eens een 7x50-100 ofzo, zodat je echt een balk hebt zeg maar ;) (eerst verder experimenten met atmega32, transistoren, multiplexing etc)

[ Voor 11% gewijzigd door Shuisman op 05-07-2006 16:10 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
SHuisman schreef op woensdag 05 juli 2006 @ 15:13:
@Memory, de leds zijn 20mA per stuk, 30mA is absolute maximum,(of kijk ik verkeerd?) verders is die schakeling aardig ingewikkeld, kan dat niet iets simpeler ?
Je kijkt verkeerd
DC forward current 30mA
Peak forward current 160mA, duty cycle 1/10, 0.1ms pulsewidth
ik zie nergens 20mA staan... kijk maar in de grafiek op het laatste blad: meeste helderheid bij 30 mA

edit: de bc550 kan max 0,2 A hebben... niet 0,5 A dus!

en ik denk dat met jouw schakeling van twee NPN transistoren de bovenste onvolledig uit zal schakelen wegens de spanningsval over de transistoren en de leds... trek je zodadelijk alle leds aan en opgeblazen transistoren...
dat moet dus een PNP transistor met een invertorschakeling zijn. of het signaal geinverteerd doorgeven.

de schakeling is bij mij extra complex omdat ik over met 12 Volt werk... ik wil meer stroom op de leds kunnen zetten...

[ Voor 35% gewijzigd door MeMoRy op 05-07-2006 18:05 ]

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op woensdag 05 juli 2006 @ 17:59:
[...]
Je kijkt verkeerd
DC forward current 30mA
Peak forward current 160mA, duty cycle 1/10, 0.1ms pulsewidth
ik zie nergens 20mA staan... kijk maar in de grafiek op het laatste blad: meeste helderheid bij 30 mA
whoeps, ik keek naar testconditions=If=20mA
edit: de bc550 kan max 0,2 A hebben... niet 0,5 A dus!
en ik denk dat met jouw schakeling van twee NPN transistoren de bovenste onvolledig uit zal schakelen wegens de spanningsval over de transistoren en de leds... trek je zodadelijk alle leds aan en opgeblazen transistoren...
dat moet dus een PNP transistor met een invertorschakeling zijn. of het signaal geinverteerd doorgeven.
de schakeling is bij mij extra complex omdat ik over met 12 Volt werk... ik wil meer stroom op de leds kunnen zetten...
Had daarnet dit en dit schema gevonden. En de mijne aangepast, moest een pnp zijn ja, had hem gewoon gekopieerd ;)
Die weerstandswaardes wat gegokt, moet ik ff testen als ik het spul heb besteld bij Farnell.

[ Voor 3% gewijzigd door Shuisman op 14-08-2006 11:50 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
Je bent nu de weerstand voor de leds weer vergeten ;)

gokken is nooit goed...te lege weerstand en je belast je uC toch te zwaar...maar met 1 k zal het wel goed gaan... je trekt dan 3,8 mA per poort...

Als je wil berekenen wat de weerstandwaardes precie moeten zijn, doe je dat als volgt:
uit de datasheet van de zet, zoek je de forward voltage = 2V
uit de datasheet van de transistor zoek je de Collector-emitter saturation voltage (Vce(sat))... voor de bc550 bijv ~0,1 V (is afhankelijk van de last)... stel voor dat je aan de andere kant een bd680, die heeft een Vce van 2,5 Volt...misschien toch niet zo'n goede keuze...maar goed, dan reken je dus als volgt
5V - 2V - 0,1V - 2,5V = 0,4 V... dan wil je 30 mA, dus 0,4V/30mA = ~13 ohm...

Ook zoek je de current gain (Hfe) op van de transistoren... de bc550 worden met verschillende factoren (a/b/c)... aangezien je de transistor als schakelaar gebruikt, wil je de hoogste factor, dus de c...is minimaal Ic=420*Ib... voor de BD680 is dat Ic=750*Ib...
door de bc550 wil je een stroom van 30mA hebben lopen, een Ib van 0,1 mA al meer dan genoeg zijn... nu reken je weer, maar nu met de base-emitter voltage (Vbe)
BC550: 5V - 0,8 V = 4,2 V .... 4,2 V / 0,1mA = 42 kohm... tussen de 1 en de 5 k ohm, zal wel goed zijn hoor... ;)

de bd680 moet max 25 leds = 0,75 A...0,75A / 750 = 1mA
BD680: 5V - 2,5V = 2,5V .... 2,5V / 1mA = 2,5 k ohm...

maar goed, 1 k ohm zal wel goed zijn, dus...

p.s. ik lees in de datasheet van faichild, dat hun bc550 en bc560 maar 100mA (Ic) mag hebben!

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op donderdag 06 juli 2006 @ 10:55:
Je bent nu de weerstand voor de leds weer vergeten ;)

gokken is nooit goed...te lege weerstand en je belast je uC toch te zwaar...maar met 1 k zal het wel goed gaan... je trekt dan 3,8 mA per poort...

Als je wil berekenen wat de weerstandwaardes precie moeten zijn, doe je dat als volgt:
uit de datasheet van de zet, zoek je de forward voltage = 2V
uit de datasheet van de transistor zoek je de Collector-emitter saturation voltage (Vce(sat))... voor de bc550 bijv ~0,1 V (is afhankelijk van de last)... stel voor dat je aan de andere kant een bd680, die heeft een Vce van 2,5 Volt...misschien toch niet zo'n goede keuze...maar goed, dan reken je dus als volgt
5V - 2V - 0,1V - 2,5V = 0,4 V... dan wil je 30 mA, dus 0,4V/30mA = ~13 ohm...

Ook zoek je de current gain (Hfe) op van de transistoren... de bc550 worden met verschillende factoren (a/b/c)... aangezien je de transistor als schakelaar gebruikt, wil je de hoogste factor, dus de c...is minimaal Ic=420*Ib... voor de BD680 is dat Ic=750*Ib...
door de bc550 wil je een stroom van 30mA hebben lopen, een Ib van 0,1 mA al meer dan genoeg zijn... nu reken je weer, maar nu met de base-emitter voltage (Vbe)
BC550: 5V - 0,8 V = 4,2 V .... 4,2 V / 0,1mA = 42 kohm... tussen de 1 en de 5 k ohm, zal wel goed zijn hoor... ;)

de bd680 moet max 25 leds = 0,75 A...0,75A / 750 = 1mA
BD680: 5V - 2,5V = 2,5V .... 2,5V / 1mA = 2,5 k ohm...

maar goed, 1 k ohm zal wel goed zijn, dus...

p.s. ik lees in de datasheet van faichild, dat hun bc550 en bc560 maar 100mA (Ic) mag hebben!
Heb plaatje ff aangepast; vervongen door R1,R2,R3, wordt er zo niet duidelijker op wie-welke-wat bedoeld!
Maar ik denk dat ik wel wat aan je informatie heb! Ik vroeg me alleen nog af als die stroom niet omhoog moest omdat ze anders te zwak branden?(Wat Sprite_tm dus zei) Wat is het handigste om te programmeren: een duty cycle van 1/7 of van 1/25 ? Beide kan ik nu volgens mij doen. Mij lijkt een zo groot mogelijke dutycycle (1/7 dus), omdat ik dan in verhouding minder stroom door de leds moet doen per 'pulse', mede omdat de leds max 160mA kunnen hebben. Maar je denkt wel dat het gaat werken met 2 transistoren zoals getekend ? Zoals ik al zei is mijn electronicakennis niet erg hoog, meestal t&e ;)

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
ja, meer stroom kan... maar dan moet je wel een andere tor dan de bd680 gebruiken...

Moet je wel zeker zijn dat hij blijft refreshen, want als het opeens stilstaat heb je >>30 mA door je leds lopen en zeggen ze *pang!*

je kan zelf verzinnen wat beter is... 7 led die 1/25 van de tijd aanstaan of 25 leds die 1/7 van de tijd aanstaan...

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op donderdag 06 juli 2006 @ 12:05:
je kan zelf verzinnen wat beter is... 7 led die 1/25 van de tijd aanstaan of 25 leds die 1/7 van de tijd aanstaan...
Ik realiseer me dat dat niks uitmaakt; omdat als je 7 leds 1/25 doet, moet je 25x zoveel stroom geven,(om ze fel te houden) en dus stroom leveren voor 175 leds. Als je 25 leds 1/7 doet, moet je ze 7 keer zoveel geven, en heb je dus ook 175 leds aan stroom...

\/ \/
mja klopt ook; maar je wil er nu wel meer stroom doorheen doen; en die hoeveelheid is ook afhankelijk van je duty cycle... Maar aangezien er een max is, is de 1/7 dutycycle dus beter ! ;)

[ Voor 22% gewijzigd door Shuisman op 06-07-2006 13:01 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
dan denk je verkeerd... een led die 1/7 van de tijd aanstaat geeft echt meer licht dan een led die 1/25 van de tijd aanstaat

jouw redenatie klopt niet, want dan zou je bij duty-cyle 1/25 25*30mA=750mA door de leds willen sturen... ze mogen echt max 160mA hebben

[ Voor 4% gewijzigd door MeMoRy op 06-07-2006 12:57 . Reden: typo ]

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Ik denk ik dat eerst de gewone brightness probeer (dus op normale felheid laten branden), is dit te weinig(door de 1/7 duty cycle), dat kan ik de weerstanden aanpassen. Daarnet ff zitten sneupen in de farnell database; Voor de NPN:
Datasheet farnell of anders ordercode @ farnell: 9557695
En ik heb 3 candidaten voor de PNP, allemaal uit de BC327 serie:
BC327-40 ordercode 1081218
BC327-16 ordercode 1017667
BC327 ordercode 1097285

welke is het meeste geschikt?, de juiste keuze?, voor mij zijn ze allemaal gelijk zo'n beetje...
<errors detected>

[ Voor 87% gewijzigd door Shuisman op 07-07-2006 14:43 . Reden: klopt niet echt... ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
net als dat a/b/c van de bc550, geldt dat -16 -40 voor de bc327... hoe hoger, des te hoger de stroomverstekingsfactor...
Aangezien jij transistoren als schakelaars gaat gebruiken, heb je dat liefst zo hoog mogelijk... de -40 dus..

maar die bc327 heeft een max Ic van 0,5 A!!! dat is dus niet genoeg... je wilt minimaal 0,75 hebben voor de pnp.
en die bd680.... dat is dus ook een pnp... je kiest nu twee pnp transistoren...

je hebt dus 25 NPN transistoren nodig... ik raad dus de bc550 van voti.nl aan... dan kost het maar 2 euro voor 30...
en je hebt dus 7 PNP tranisitoren nodig. neem dan de bd140 van voti (kan 1,5 A aan en heeft maar een Vbe van 1 volt..Hfe is niet zo hoog, maar dat kan de uC wel hebben)... kost 1,68 euro voor 7...

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Hmmzz farnell foutje denk ik dan, had toch echt op npn geklikt, maar daarna op vervanger ergens geclicked (dacht dit dan wel npn bleef, blijkbaar niet) 8)7 . Ik heb geen ervaring met voti, maar ik kan denk ik beter dat ook bestellen bij farnell ? Daar bestel ik ook de microcontroller en de ledmatrixxen.
In ieder geval bedankt !
MeMoRy schreef op vrijdag 07 juli 2006 @ 12:16:
je hebt dus 25 NPN transistoren nodig... ik raad dus de bc550 van voti.nl aan... dan kost het maar 2 euro voor 30...
en je hebt dus 7 PNP tranisitoren nodig.
Volgens mij heb ik 25 PNP's nodig voor elke kolom (deze moeten 1 led aan kunnen, 30 mA)
en 7 NPN's voor elke rij ? (deze moeten 25 leds aan kunnen=0.75 ampere)
Of zit ik weer mis :X

[ Voor 53% gewijzigd door Shuisman op 07-07-2006 13:19 ]


Verwijderd

Ikzelf zou voor de rows (of de colums) stroombronnen gebruiken. Dan hoef je geen rekening te houden met de spanningsval over de LED's. En het beperken van de tijd dat een row (of column) "aan" is, lijkt me ook een goed idee. 1 ogenblik van onoplettendheid tijdens het programmeren, en je merkt dat groene LED's ook rood licht kunnen verspreiden - voor korte tijd... ;)
'k Heb snel een schema'tje in mekaar gefrutseld:

Afbeeldingslocatie: http://home.tiscali.be/prosje/Ledmatrix.png

"Nóg meer componenten?" hoor ik al iemand vertwijfeld roepen; ik weet echte geen andere manier om de schakeling bedrijfszeker en veilig te maken.
Oh, ja, de waarde van XR hangt af van de spanningsval over de bijbehorende LED en de benodigde stroom. Verder zou ik tussen elke row-column combinatie voor een korte periode alles uitschakelen; zo vermijdt je spookbeelden. Verder is de waarde van de condensators in de row-aansturing niet kritiek; die zijn er enkel om software-fouten op te vangen.
Wat de stroombron-transistors betreft: denk er aan dat ze de taak van een weerstand overnemen; liever iets zwaarder dan nodig...

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op vrijdag 07 juli 2006 @ 21:47:
Ikzelf zou voor de rows (of de colums) stroombronnen gebruiken. Dan hoef je geen rekening te houden met de spanningsval over de LED's. En het beperken van de tijd dat een row (of column) "aan" is, lijkt me ook een goed idee. 1 ogenblik van onoplettendheid tijdens het programmeren, en je merkt dat groene LED's ook rood licht kunnen verspreiden - voor korte tijd... ;)
'k Heb snel een schema'tje in mekaar gefrutseld:

[afbeelding]

"Nóg meer componenten?" hoor ik al iemand vertwijfeld roepen; ik weet echte geen andere manier om de schakeling bedrijfszeker en veilig te maken.
Oh, ja, de waarde van XR hangt af van de spanningsval over de bijbehorende LED en de benodigde stroom. Verder zou ik tussen elke row-column combinatie voor een korte periode alles uitschakelen; zo vermijdt je spookbeelden. Verder is de waarde van de condensators in de row-aansturing niet kritiek; die zijn er enkel om software-fouten op te vangen.
Wat de stroombron-transistors betreft: denk er aan dat ze de taak van een weerstand overnemen; liever iets zwaarder dan nodig...
Aardig impressive moet ik zeggen! , wat ik me afvroeg, waar zijn de groene leds voor ? of kunnen die ook worden vervongen door gewone diodes ? Bovendien ziet deze schakeling er niet zo lastig uit, kan wel aardig solderen al zeg ik hetzelf ;) Snap alleen niet precies HOE de schakeling werkt, zou je iets kunnen vertellen ? De kolom is wel duidelijk (alhoewel dat bij mij rijen zijn). Ze zijn net andersom geschakeld in de ledmatrix.

[ Voor 6% gewijzigd door Shuisman op 08-07-2006 00:19 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
te vroeg...

ik begrijp het ook niet...

[ Voor 71% gewijzigd door MeMoRy op 08-07-2006 00:35 ]

U vraagt, wij antwoorden.


Verwijderd

De groene LED's bepalen, samen met de emitterweerstanden, de stroom die door de matrix-LED's loopt. Een tweetal dioden, is serie geplaatst, kunnen hetzelfde werk doen.

Afbeeldingslocatie: http://home.tiscali.be/prosje/Stroombron.png

De werking is eenvoudig: stel dat over D1 1.6Volt blijft staan (dat kan iets meer of iets minder zijn, afhankelijk van de LED). Tussen basis en emitter van T1 zal zo'n 0.6Volt vallen, zodat er 1.0Volt tussen de voedingsspanning en de emitter van T1 overblijft. Als je daar een weerstand van 100Ohm plaatst, wordt de stroom die T1 aan z'n collector kan leveren begrenst tot 10mA.
Voordelen: voedingsspanning moet niet gestabiliseerd zijn. Schakelt sneller, want de transistor wordt niet in verzadiging gestuurd.
Als je dergelijke stroombronnen voor een LED-matrix wil toepassen, zorg er dan wel voor dat alle LED's uit hetzelfde lot komen, zodat hun karakteristieken gelijk zijn. Idem met de transistors.

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Slim bedacht!, alleen dan moet ik dus nog wel goede waardes, en goede transistoren vinden; die het aankunnen, maar ik hoop dat je me daarmee kan helpen, Het schema van MeMoRy spreekt mij meer aan, namelijk; iets wat nog te begrijpen is :P . Dit wordt telkens maar ingewikkelder, voor een (dat was het idee) een simpel ledmatrixje ;)
Ik hoop vandaag mijn o.a. ledarray + AVR binnen te krijgen (gisteren 1700 besteld @ farnell).

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
ik dacht dat je er maar 5 zou bestellen? nou ja, 1700 kan ook... ik heb hier ook 2300 leds liggen voor een groot matrix projectje...

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op zaterdag 08 juli 2006 @ 12:10:
ik dacht dat je er maar 5 zou bestellen? nou ja, 1700 kan ook... ik heb hier ook 2300 leds liggen voor een groot matrix projectje...
haha :P met 1700 bedoel ik de tijd :+ 5 uur 's middags :P Anders is het wel ERG veel soldeerwerk })
Dit had je toch wel door ?

[ Voor 18% gewijzigd door Shuisman op 08-07-2006 17:37 ]


Verwijderd

Wat transistors betreft: als ik het goed begrijp wil je 25 kolommen van elk 7 LED's. Ik heb het schema een beetje aangepast, zodat het meer overeenkomt met het jouwe:
Afbeeldingslocatie: http://home.tiscali.be/prosje/LedMatrix2.png
Als we uitgaan van een gemiddelde LED-stroom van 10mA, moet T1 gemiddeld (10 x 25) 250mA kunnen schakelen (piek = 1.750A). Dan zou ik meteen voor een BD135 gaan; die kan 1.5A continu aan, en zal met die piek ook geen probleem hebben. Kost 0.40 euro (BD135-10 en BD135-16 bestaan ook, hebben een hogere stroomversterking, maar kosten 50% meer).
T2, die de kolommen stuurt, moet maximum 7 LED's voor zijn rekening nemen - 70mA, dus. Daar staat tegenover dat hij --als stroombron gebruikt-- meer vermogen in warmte omzet dan een transistor die enkel in- en uitschakelt. Met Vcc = 5Volt is dat ((5 - 1.5) x 0.07) 0.245Watt. Dat zou een BC560 nog aankunnen, denk ik.
Wat T3 betreft, om te vermijden dat een programmeerfout gans de boel in rook laat opgaan, zit er een condensator in de basisleiding. Mede hierdoor zou ik de voorkeur geven aan een BC517, een darlington. Die kan je aansturen met een hoogohmige weerstand, waardoor de condensator ook klein mag blijven. De waarden van de R en de C hangen uiteraard af van de schakelfrequentie, maar ik denk dat 47k met 22n voldoet voor een ruim frequentiebereik. De vrijloopdiode mag een gewone schakeldiode zijn.

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op zaterdag 08 juli 2006 @ 18:20:
T2, die de kolommen stuurt, moet maximum 7 LED's voor zijn rekening nemen - 70mA, dus. Daar staat tegenover dat hij --als stroombron gebruikt-- meer vermogen in warmte omzet dan een transistor die enkel in- en uitschakelt. Met Vcc = 5Volt is dat ((5 - 1.5) x 0.07) 0.245Watt. Dat zou een BC560 nog aankunnen, denk ik.
Wat T3 betreft, om te vermijden dat een programmeerfout gans de boel in rook laat opgaan, zit er een condensator in de basisleiding. Mede hierdoor zou ik de voorkeur geven aan een BC517, een darlington. Die kan je aansturen met een hoogohmige weerstand, waardoor de condensator ook klein mag blijven. De waarden van de R en de C hangen uiteraard af van de schakelfrequentie, maar ik denk dat 47k met 22n voldoet voor een ruim frequentiebereik. De vrijloopdiode mag een gewone schakeldiode zijn.
t2 die de kolommen aanstuurt, hoeven maximaal 20 mA aan (1 led); ik wissel in mijn software per rij, dus per rij bouw ik mijn beeld op;
alles uit:
rij 1 aan:
bovenste 25 leds aan/uit
alles uit:
rij 2 aan:
25 leds aan/uit
alles uit
rij 3 aan
etc
etc

dus de bovenste (noem ze de kolom-transistoren), hoeven slechts 20mA aan te kunnen ;)

Verwijderd

Uiteraard hoeft T2 slechts voor 1 LED stroom te leveren; waar was ik met mijn gedachten? ;)
Wat die stroom betreft: zodra je de LED's hebt, doe dan eens een test of je het verschil ziet tussen 10mA en 20 mA. Met high-efficiency LED's merk je het nauwelijks.
(Na even nadenken) je kan natuurlijk meteen voor 20mA kiezen, en softwarematig de AAN-tijd verkorten en/of de pauze verlengen. Ik zit me tevens af te vragen, of het doenbaar is, met een ADC-pin een T te sturen en, gedurende een pause-tijd, met dezelfde pin de spanning over een LDR uit te lezen; zo kan je de helderheid van je LED's afhankelijk maken van het omgevingslicht...

[Update]
Verstrooid als ik vaak ben, heb ik T3 toegevoegd. Idioot, want die heb je enkel nodig als de voedingsspanning voor de LED's hoger is dan die van je avr. Zoals op het gewijzigde schema te zien is, gaat het ook met minder onderdelen. Voor T2 zou ik dan wel een BC516 nemen, de tegenpool van de BC 517, omwille van zijn hoge versterking.

[ Voor 23% gewijzigd door Verwijderd op 08-07-2006 20:56 ]


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op zaterdag 08 juli 2006 @ 19:56:
Uiteraard hoeft T2 slechts voor 1 LED stroom te leveren; waar was ik met mijn gedachten? ;)
Wat die stroom betreft: zodra je de LED's hebt, doe dan eens een test of je het verschil ziet tussen 10mA en 20 mA. Met high-efficiency LED's merk je het nauwelijks.
(Na even nadenken) je kan natuurlijk meteen voor 20mA kiezen, en softwarematig de AAN-tijd verkorten en/of de pauze verlengen. Ik zit me tevens af te vragen, of het doenbaar is, met een ADC-pin een T te sturen en, gedurende een pause-tijd, met dezelfde pin de spanning over een LDR uit te lezen; zo kan je de helderheid van je LED's afhankelijk maken van het omgevingslicht...
30mA zijn ze volgens de specs max,daar moeten ze toch wel op draaien, mede omdat de duty slechts 1/7 is.
ADC-pin :?
een T sturen :?
Je denkt te ver na , het moest een simpel projectje worden :P

[ Voor 3% gewijzigd door Shuisman op 10-07-2006 22:57 ]


Verwijderd

SHuisman schreef op zaterdag 08 juli 2006 @ 20:50:
[...]

30mA zijn ze volgens de specs,daar moeten ze toch wel minimaal op draaien, mede omdat de duty slechts 1/7 is.
LED's verschillen tegenwoordig nogal wat op gebied van lichtopbrengst. En een gemiddelde stroom van 10 (of 30) mA dien je in jouw project met 7 te vermenigvuldigen.
ADC-pin :?
een T sturen :?
Je denkt te ver na , het moest een simpel projectje worden :P
Dan had je beter het ding in stille eenzaamheid tot een goed einde gebracht! ;)
Een ATmega32 heeft 32 digitale I/O pinnen. Maar allen hebben ze een tweede functie, die je naar believen kan in- of uitschakelen. Zo kunnen PA0 ... PA7 een analoge spanning aan hun ingang omzetten naar een binair getal (0 ... 1023) waarop je bv. het knooppunt van een LDR en een weerstand kan aansluiten om het omgevingslicht te meten.

Verder staat "een T sturen" gelijk met "een transistor sturen". En nee, ik denk niet te veel na, ik denkt te veel vooruit... ;)

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op zaterdag 08 juli 2006 @ 21:20:
LED's verschillen tegenwoordig nogal wat op gebied van lichtopbrengst. En een gemiddelde stroom van 10 (of 30) mA dien je in jouw project met 7 te vermenigvuldigen.
Dan had je beter het ding in stille eenzaamheid tot een goed einde gebracht! ;)
Een ATmega32 heeft 32 digitale I/O pinnen. Maar allen hebben ze een tweede functie, die je naar believen kan in- of uitschakelen. Zo kunnen PA0 ... PA7 een analoge spanning aan hun ingang omzetten naar een binair getal (0 ... 1023) waarop je bv. het knooppunt van een LDR en een weerstand kan aansluiten om het omgevingslicht te meten.
Verder staat "een T sturen" gelijk met "een transistor sturen". En nee, ik denk niet te veel na, ik denkt te veel vooruit... ;)
Aah een AD-convertor :-P Got it ;)
Ik denk dat ik hem eerst mooi op 30 mA laat, als me dit te zwak is kan ik door wat weerstandjes aan te passen altijd nog 160mA (absolute maximum v/d leds) erdoorheen jagen ;)

code:
1
2
3
4
_   _
 | |
 | |
 |_|

Als ik me niet vergis houdt dit in dat je het signaal er geinverteerd op moet zetten...?!
Anders zie ik precies het tegenovergestelde van wat ik wil zien :9

Ik zie nu dat ik 'slechts' 1 transistor per kolom, en 1 transistor per rij, dat is mooi, schilt weer hoopje onderdelen ;) Die diode in sper moet ook op elke kolom lijkt me ?

[ Voor 21% gewijzigd door Shuisman op 08-07-2006 21:39 ]


Verwijderd

code:
1
2
3
4
_   _
 | |
 | |
 |_|

Als ik me niet vergis houdt dit in dat je het signaal er geinverteerd op moet zetten...?!
Anders zie ik precies het tegenovergestelde van wat ik wil zien :9
Een PNP stuur je idd. aan door zijn basis negatief te maken tov. zijn emitter. Inverteren is dus de leuze...

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Daarnet even op farnellsite rondgesneupt er zijn 2 dure, 3 goedkope BD135 typen.
Ik wil ze graag 1.5A 'ready' hebben zodat ik de leds 60mA kan geven als ik dat wil. (25*60mA)
Dus dan blijven er 2 dure en 1 goedkope over;
2 dure die 1.5 ampere aan kunnen:
BD135
BD135
1 goedkope die 3 ampere aan kan:
BD135-16

Ik kan nog steeds de BC560 voor de kolom gebruiken? En kan ik die groene leds ook vervangen door gewone diodes, anders krijg ik daar ook mijn scherm op te zien (alleen dan supersnel veranderd 8) )

[ Voor 28% gewijzigd door Shuisman op 08-07-2006 22:03 ]


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Ik liep me net te bedenken:
1. Je zit met leds die je multiplexed met persistence-of-vision: als je een led met 50% duty-cycle laat knipperen, brandt 'ie maar heel iets minder enthousiast. Het zou dus best kunnen zijn dat je de hele zaak gewoon 10mA per ledje kan voeren en dat 't alsnog wel redelijk fel lijkt.
2. Voor de practische uitvoering, vergeet vooral het bestaan van chippies als de ULN2803 niet. Die kunnen je Veeltm soldeerwerk besparen.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Sprite_tm schreef op zaterdag 08 juli 2006 @ 22:04:
Ik liep me net te bedenken:
1. Je zit met leds die je multiplexed met persistence-of-vision: als je een led met 50% duty-cycle laat knipperen, brandt 'ie maar heel iets minder enthousiast. Het zou dus best kunnen zijn dat je de hele zaak gewoon 10mA per ledje kan voeren en dat 't alsnog wel redelijk fel lijkt.
2. Voor de practische uitvoering, vergeet vooral het bestaan van chippies als de ULN2803 niet. Die kunnen je Veeltm soldeerwerk besparen.
1. Voor het software gedeelte, ik neem dus een duty van 1/7, wat is dan een redelijke tijd 1/100 1/1000 per rij ?
2. Ik zal eens ff kijken, had er ergens anders ook al wat over gehoord ;)

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

@1: Om een goed beeld te krijgen? Dat heeft er niet zoveel mee te maken :) ik zeg alleen dat je zelfs met 1/7e duty cycle en 10mA nog prima beeld te geven :) Het voordeel daarvan is dat je je niet hoeft druk te maken om softwarefouten en de hele hardwarebeveiliging die pros voorstelt weg kan doen, en als alles werkt kan je door een stel weerstanden te vervangen alsnog je oorspronkelijke helderheid terugkrijgen. Om je net gestelde vraag te beantwoorden: je wil een verversingsfrequentie van plm. 100Hz hebben, dat betekent dus 10/7~=1mS per rij.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Sprite_tm schreef op zaterdag 08 juli 2006 @ 23:39:
@1: Om een goed beeld te krijgen? Dat heeft er niet zoveel mee te maken :) ik zeg alleen dat je zelfs met 1/7e duty cycle en 10mA nog prima beeld te geven :) Het voordeel daarvan is dat je je niet hoeft druk te maken om softwarefouten en de hele hardwarebeveiliging die pros voorstelt weg kan doen, en als alles werkt kan je door een stel weerstanden te vervangen alsnog je oorspronkelijke helderheid terugkrijgen. Om je net gestelde vraag te beantwoorden: je wil een verversingsfrequentie van plm. 100Hz hebben, dat betekent dus 10/7~=1mS per rij.
Die schakeling van Pros is zeker mooi, maar die van mij MeMoRy is 'stukken' simpeler, aangezien mijn electronicakennis niet al te hoog is zit ik nu voor een dilemma...
Ik zou toch graag bij mijn eerste design blijven(verbeterd door MeMoRy) denk ik, tenzij iemand me kan overtuigen natuurlijk !

Verwijderd

SHuisman schreef op zaterdag 08 juli 2006 @ 21:57:
Dus dan blijven er 2 dure en 1 goedkope over;
2 dure die 1.5 ampere aan kunnen:
BD135
BD135
1 goedkope die 3 ampere aan kan:
BD135-16
Da's raar. De Elektuur-datakaart, die hier voor m'n neus ligt, zegt dat de BD135-16 net als zijn companen 1.5A aan kan. Het verschil zou enkel de hogere versterkingsfactor zijn.
Ik kan nog steeds de BC560 voor de kolom gebruiken? En kan ik die groene leds ook vervangen door gewone diodes, anders krijg ik daar ook mijn scherm op te zien (alleen dan supersnel veranderd 8) )
Als je de wijze raad van Sprite_tm opvolgt, en de stroom door de LED's zodanig kiest dat hij geen beschadiging kan aanrichten, kan je gerust de BC560 gebruiken, de condensator in de basisleiding weglaten, en de basisweerstand wat kleiner nemen: 4k7 of zoiets.
De groene LED's heb je enkel nodig, als je de PNP's als stroombron wil schakelen. Je kan ze ook vervangen door telkens 2 dioden in serie te zetten.
Of je kan ze gewoon weglaten. Laat dan de weerstand waar hij nu zit, maar kies hem wat groter (R = (5 - 1.5) / I). Dat scheelt toch een pak in de kosten...

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op zondag 09 juli 2006 @ 10:55:
Als je de wijze raad van Sprite_tm opvolgt, en de stroom door de LED's zodanig kiest dat hij geen beschadiging kan aanrichten, kan je gerust de BC560 gebruiken, de condensator in de basisleiding weglaten, en de basisweerstand wat kleiner nemen: 4k7 of zoiets.
De groene LED's heb je enkel nodig, als je de PNP's als stroombron wil schakelen. Je kan ze ook vervangen door telkens 2 dioden in serie te zetten.
Of je kan ze gewoon weglaten. Laat dan de weerstand waar hij nu zit, maar kies hem wat groter (R = (5 - 1.5) / I). Dat scheelt toch een pak in de kosten...
Ik denk dat ik maar niet met stroombronnen ga beginnen, heb er namelijk nog nooit mee gewerkt, bovendien werkt het ook met de schakeling met 'gewoon' 2 transistoren;
1 voor elke kolom (25x) en 1 voor elke rij (7x), en een zootje weerstanden.
Voor de kolommen kan ik dus de BC560 gebruiken ? (ze zijn namelijk maar 8 centen bij farnell, kwantumkorting vanaf 25 :P )

[ Voor 14% gewijzigd door Shuisman op 09-07-2006 11:46 ]


Verwijderd

SHuisman schreef op zondag 09 juli 2006 @ 11:41:
[...]

IVoor de kolommen kan ik dus de BC560 gebruiken ? (ze zijn namelijk maar 8 centen bij farnell, kwantumkorting vanaf 25 :P )
De BC560 is OK voor de job.

Verwijderd

Wat ik nog vergeten was: als je de "LED"-weerstanden tussen de emitters van de PNP-transistors en de positieve voedingsrail laat zitten, kan je de basisweerstanden van deze transistors gewoon weglaten (de basis rechtstreeks met een pin v/d ATmega32 verbinden). Dat scheelt weeral in de kosten en het soldeerwerk.
Dit gaat uiteraard niet op, als je de weerstanden tussen de transistors en de LED's plaatst, noch als je de transistors als stroombron wil inzetten!

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Ik denk dat ik maar aan mijn 'simpele' schema hou:
Afbeeldingslocatie: http://members.home.nl/sghuisman/load/ledmatrix3.PNG
,zoals eerder gepost in dit topic.
ik heb de bovenste (de kolom, de pnp) transistor nu dus uitgezocht; de BC560.
Ik hoop dat ik morgen mijn spul binnenkrijg, alhoewel het volgens UPS nu in brussel ligt ;)

[ Voor 4% gewijzigd door Shuisman op 09-07-2006 20:53 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
dan moet je de weerstand (R3) voor de leds bovenaan plaatsen, bij de bc560... anders heb je 1 weerstand voor alle leds... in totaal 7 weerstanden is niet voldoende... je moet er 25 hebben.
je schakelt dan immers per rij... anders krijg je intensiteitsverschil...

[ Voor 28% gewijzigd door MeMoRy op 09-07-2006 21:26 ]

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op zondag 09 juli 2006 @ 21:25:
dan moet je de weerstand (R3) voor de leds bovenaan plaatsen, bij de bc560... anders heb je 1 weerstand voor alle leds... in totaal 7 weerstanden is niet voldoende... je moet er 25 hebben.
je schakelt dan immers per rij... anders krijg je intensiteitsverschil...
Daar heb je een goed punt !, dat me dat niet eerder is opgevallen, zal het meteen verbeteren!
Afbeeldingslocatie: http://members.home.nl/sghuisman/load/ledmatrix4.PNG

[ Voor 7% gewijzigd door Shuisman op 09-07-2006 23:21 ]


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Je kunt echt best elk ledje van een weerstand voorzien, immers:
(verhaal bij 1 R per rij/kolom)
hoe meer ledjes in een kolom/rij aan zijn
-> hoe lager de U is over je R
-> hoe lager de I is door je R
-> hoe lager de I door je leds
-> hoe zwakker je leds gaan branden.

Dus ga je een verschil zien of je nu 1 led of 25/7 leds aan zijn per rij/kolom.
Dus zou ik 25x7 R's bestellen als ik van jou was.

[ Voor 9% gewijzigd door kluyze op 09-07-2006 23:41 ]


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
er is altijd slechts 1 kolom tegelijk aan(omdat het gemultiplexed wordt), dus staat er ook maximaal 1 led aan per kolom ;) Bovendien krijg ik me led-array in 5x7 formaat al, dus er tussen prutsen kan niet eens ;)

[ Voor 50% gewijzigd door Shuisman op 10-07-2006 00:00 ]


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Hmm, je gaat het dus aansturen gelijk een beeldscherm. Volgens mij gaat die code redelijk moeilijk worden om te schrijven :X Alhoewel, een vga aansturen is ook niet zo hèèl moeilijk
(schoolproject aansturen van vga via een fpga).
Maar dan heb je idd maar 1 R nodig per rij/kolom.

offtopic:
Wat doe je nog zo laat op tweakers? 8) 8)7

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
kluyze schreef op maandag 10 juli 2006 @ 00:06:
Hmm, je gaat het dus aansturen gelijk een beeldscherm. Volgens mij gaat die code redelijk moeilijk worden om te schrijven :X Alhoewel, een vga aansturen is ook niet zo hèèl moeilijk
(schoolproject aansturen van vga via een fpga).
Maar dan heb je idd maar 1 R nodig per rij/kolom.

offtopic:
Wat doe je nog zo laat op tweakers? 8) 8)7
Code valt wel mee, heb er al een beetje over zitten nadenken;
Voor de tijd een interrupt timer van 1 sec
voor de refresh van de rows 1/1000 sec per row dmv interrupt timer
-elke keer volgende rij nemen uit de buffer, en laten zien
Main programma:
Je slaat je data (die je wil laten showen) op in een 'buffer'
Je kan 25 bits per keer laten zien, dus dat 7 keer, en voila beeld (doe dat supersnel en hopla :P )
Ik ben niet de enige hier op GoT zo laat ;) er zijn mensen die zitten nog te posten om 3-4 uur 's nachts ;)

[ Voor 9% gewijzigd door Shuisman op 10-07-2006 00:27 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
het uitschrijven van mem naar display is eitje... een loopje van een paar regels code...

de code die iets in het geheugen schrijft is veel complexer... ik heb het opgelost door een pic-je met dual port memory te nemen, waarbij ik de ene port volschrijf met data vanuit de computer en de andere kant uitleed naar de display... ascii karakters in een picje programmeren was mij toch iets te veel van het goede...

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op maandag 10 juli 2006 @ 12:50:
het uitschrijven van mem naar display is eitje... een loopje van een paar regels code...

de code die iets in het geheugen schrijft is veel complexer... ik heb het opgelost door een pic-je met dual port memory te nemen, waarbij ik de ene port volschrijf met data vanuit de computer en de andere kant uitleed naar de display... ascii karakters in een picje programmeren was mij toch iets te veel van het goede...
Gelukkig kan ik in C programmeren met avr studio; ik ken nog bijna geen C, echter ken ik wel veel van Visual Basic. Bovendien heb ik met een pic en asm ook al eens wat simpels gemaakt, als asm lukt, dan moet c ook lukken denk ik ;)
Ik denk dat ik er een klok van maak, met wat effecten, en eventueel de datum ook laat zien elke x seconden. Maar ja dat is het software gedeelte, de hardware zit ik veel meer over in :P

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Daarnet weer ff in de online farnell catalogus rondgeneusd; dit maal voor de rij-transistoren(750mA minimaal (25x30mA), npn). En ik kwam dan uit op de
bc337-16 ordercode 1017669 @ Farnell
Is dit een goede keuze? Heb een beetje zitten filteren en kwam toen hier op. Maar misschien hebben jullie ervaring met andere betere?!


*bc337-16....bijna 1337 8)

\/ \/
Ik keek naar de typical forward voltage; deze was 2Volt , en toen in de grafiek op het einde, bij 2V zuipt ie 20mA, maar als je er iets van 2.1 volt van maakt zuipt ie 30mA.

word gek, de 1 zegt 10ma, ik 20ma maar het is 30ma :X

[ Voor 23% gewijzigd door Shuisman op 11-07-2006 00:25 . Reden: zootje hierboven verbeterd, ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
hou nou eens op met die 20 mA!!!! het is 30mA continu en als je ze niet continu laat branden, dus met dutycycle, kan je er zelfs iets meer doorheen laten stromen... alles minder en ze branden niet op volle intensiteit...

0,03 * 25 = 0,75A dus... nou kan die 337 tot 0,8 A hebben (niet 1A zoals op de farnell pagina!), maar hij zal wel warm worden...

[ Voor 27% gewijzigd door MeMoRy op 10-07-2006 23:37 ]

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op maandag 10 juli 2006 @ 23:35:
hou nou eens op met die 20 mA!!!! het is 30mA continu en als je ze niet continu laat branden, dus met dutycycle, kan je er zelfs iets meer doorheen laten stromen... alles minder en ze branden niet op volle intensiteit...

0,03 * 25 = 0,75A dus... nou kan die 337 tot 0,8 A hebben (niet 1A zoals op de farnell pagina!), maar hij zal wel warm worden...
Gelukkig staat ie 1/7 van de tijd maar 'aan', of is het beter om naar een 1-1.5A of zelfs 2A versie te kijken? (deze worden natuurlijk ook warmer als de 0.8A varianten, daarom)

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
Zoals je zegt... hij staat niet continu aan, dus het zal wat minder erg zijn...

Als jij een (veel) sterkere transistor wilt heb je een paar opties:

powertransistor (BC serie): deze transistoren kunnen vaak 1 tot 1,5 A aan, maar hebben meestal niet zo'n hoge stroomversterkingsfactor (Hfe, beta of Bf). Daarom belasten ze de uitgang van de uC wat meer...

Darlington transistoren (BD serie): dit zijn eigenlijk twee transistoren achter elkaar in 1 behuizing. Daarom is de stroomversterkingsfactor ook erg hoog... maar omdat het twee transistoren achter elkaar zijn, kan de verzadigings spannigsval ( Vce(sat) en Vbe(sat) ) nogal hoog zijn. Dat kan ervoor zorgen dat je sowieso niet genoeg spanning meer overhebt voor de leds. Kwestie van datasheets goed doorlezen.

Mosfets (BUZ/IRF serie): kunnen hoge vermogen schakelen, maar zijn vaak duur. Nog een voordeel is dat ze een heel lage spanningval kunnen hebben, aangegeven door de weerstand (Rds).

Koeling is behuizingafhankelijk... zo'n TO-92 behuizing is moeilijk te koelen aangezien je niet weet hoe je een koellichaam vast moet maken. Je zou er een fan op kunnen richten. Een TO-126, TO-220 of TO-247 is duidelijker: die kan je zo op een koellichaam schroeven.

Overigens is spanningsval maal stroom door de transistor = Vce(sat) * Ic = het vermogen dat gedissipeerd wordt in de transistor... Dat is bij jou dus max 0,7 V * 0,75 A = 0,525 W... dat is niet veel.. maak je geen zorgen

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Oke dat is dan goed nieuws; heb ff schakeling geupdate (kon het niet laten namelijk :P )
Afbeeldingslocatie: http://img183.imageshack.us/img183/2831/ledmatrix5gd8.th.png
Zal vanmiddag een fbprg maken, en uittesten.


***UPDATE***
Programmer schijnt te werken; heb een mix van de hierbovengenoemde, en degene uit dit topic. Weet nog niet als het werkt als ik fuses op external crystal zet; denk dat het wel goed gaat ;) Pin 5(lpt stekker) kan aan/uit worden gezet door middel van jumper, verders een crystal tussen xtal1 en xtal2 á 4MHz.

[ Voor 73% gewijzigd door Shuisman op 27-08-2006 22:16 ]


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Doet een poging om de weerstandswaarden te berekenen:

totale spanning over led,transistoren, weerstand = 5volt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
BC560:
VCE(sat): typ -90mV max -300mV  @ ic=-10mA
          typ -250mV max -650mV  @ ic=-100mA
          van 200mV uitgegaan
VBE:  -800mV
HFE: is minimaal 110 tot max 800(van minimum uitgegaan), 

LED:
spanning = 2.05 volt
stroom = 30 mA

BC337-16:
HFE: 80 (uit grafiek figure 3)
VCE(sat): max 0.7 Vdc


er moet 30mA door de bc560, dat delen door 110.. 30mA/110 =0.27mA (Ib) op de basis;
5-0.8= 4.2V over weerstand, met 0.27mA kom je op: 4.2/(0.27*10^-3)=140000/9 = 15.6 KOhm R1

5-2.05-0.7-0.2 = 41/20=2.05 volt bij 30mA => 2.05/(30*10^-3)=205/3=68.33 Ohm R3

Er gaat max 750mA door heen,
met een HFE van 80, is dat een basisstroom van 750/80=9.375 mA
Nu volgens mij
5-Vce = 5-0.7 = 4.3 volt @ 9.375 mA ==> 459 Ohm R2


Farnell linkjes:
BC560
BC337-16
Zal wel een hoop fouten in zitten, die datasheet bevatten altijd zo veel nummertjes :P

[ Voor 10% gewijzigd door Shuisman op 11-07-2006 21:38 ]


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Daarnet ff programmatje in microcontroller gedaan die en delay van 30 sec moet doen, om te zien als ik het goede crystal te pakken heb, schijnt te kloppen; 30.12 seconden op de stopwatch ;) . Programmeren doet het nu ook in C met AVR studio schijnbaar moet je eerst:
winavr installeren dan dit installeren en dan dit. Anders werkt het niet. Ik programmeer nu met AVREAL, werkt opzich goed, soms alleen 'can't resync' error. oplossing: eerst leegmaken, en dan opnieuw proggen :P .

Verwijderd

SHuisman schreef op dinsdag 11 juli 2006 @ 11:58:
Oke dat is dan goed nieuws; heb ff schakeling geupdate (kon het niet laten namelijk :P )
[afbeelding]
Als je nou telkens R3 tussen 5Volt en de emitter van je transistor plaatst, kan je R1 met een gerust hart weglaten. Dat scheelt een stel weerstanden en soldeerwerk.

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op woensdag 12 juli 2006 @ 20:18:
[...]


Als je nou telkens R3 tussen 5Volt en de emitter van je transistor plaatst, kan je R1 met een gerust hart weglaten. Dat scheelt een stel weerstanden en soldeerwerk.
Dit gaat altijd goed, of is dat puur toeval ? Loopt er dan niet teveel stroom door de basis ? Zou wel mooi wezen, schilt weer 25 stuks (50x solderen dus :9 )

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Nope, naar het schijnt zit er een overstroom beveiliging (wist ik ook nie, hier op GOT geleerd dat je die mag misbruiken daarvoor) in een µC die de spanning ineen pitst. Waardoor deze op 0,6V (of wat Ube ook is) + 1.6V (van 1 led) komt te liggen, en de R dus idd niet nodig is

[ Voor 16% gewijzigd door kluyze op 12-07-2006 21:09 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
stuur voor de zekerheid maar 1 mA door die BC560.... zodadelijk zit je niet in het saturation gebied... weerstandswaarden willen wel eens afwijken bijv... 1mA kan de uC makkelijk hebben... R1=4,2 kohm..

en je bent de Vbe van de BC337 vergeten... je gebruikt de Vce, waar je de Vbe moet gebruiken... de Vbe(sat) van de BC337 = 1,2 V (max) dus 5V-1,2V=3,8V

En hoe kom je op een Hfe van 80? Volgend datasheets is de Hfe van de BC337-16 minimaal 100!
Maar ja, stuur er maar 10mA door... dat is dus R2= 3,8V/10mA= 380 ohm

R3 klopt wel...

Ga je nog een 4-bit naar 10 decoder gebruiken? die 74HCT42?

edit: ik lees net pas die reacties van die mensen die zeggen dat je de weerstanden weg mag laten... volgens mij gaat dat niet werken, die overstroombeveiliging is onvoorspelbaar. maar goed, het is jouw keuze...

[ Voor 15% gewijzigd door MeMoRy op 12-07-2006 23:21 ]

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op woensdag 12 juli 2006 @ 23:18:
stuur voor de zekerheid maar 1 mA door die BC560.... zodadelijk zit je niet in het saturation gebied... weerstandswaarden willen wel eens afwijken bijv... 1mA kan de uC makkelijk hebben... R1=4,2 kohm..
en je bent de Vbe van de BC337 vergeten... je gebruikt de Vce, waar je de Vbe moet gebruiken... de Vbe(sat) van de BC337 = 1,2 V (max) dus 5V-1,2V=3,8V
En hoe kom je op een Hfe van 80? Volgend datasheets is de Hfe van de BC337-16 minimaal 100!
Maar ja, stuur er maar 10mA door... dat is dus R2= 3,8V/10mA= 380 ohm
R3 klopt wel...
Ga je nog een 4-bit naar 10 decoder gebruiken? die 74HCT42?

edit: ik lees net pas die reacties van die mensen die zeggen dat je de weerstanden weg mag laten... volgens mij gaat dat niet werken, die overstroombeveiliging is onvoorspelbaar. maar goed, het is jouw keuze...
Aah bedankt voor de correctie, ben niet altijd even handig met datasheets B) . Ik vind het idee wel leuk om 25 resistors weg te laten, maar als ik naar andere design's kijk, voeg ik toch liever een weerstand toe, ik weet niet hoe leuk een microcontroller het vindt om 25 poorten (max) aan te sturen, en dan maar te gokken dat zijn 'stroombegrenzer' werkt zoals ie moet (alle poortjes evenveel stroom, allemaal netjes). Bovendien zijn er meer mensen geweest die zoiets hebben gemaakt, deze doen ook allemaal weerstanden voor hun transistoren ivm overbelasting van chips, dus het lijkt me een goed plan om dat ook maar te doen ;)

Ik denk dat ik maar eens zo'n bcd ga proberen; misschien dat ik met die andere poorten nog knopjes kan maken ofzo mbv interrupt poorten ;) (voor tijd instellen bijvoorbeeld :9 ).

Edit:
Zit net de datasheet van die BCD chip te bekijken, maar als ik die gebruik moet ik de uitvoer inverteren ! alle poorten zijn High, behalve diegene die je wil hebben, die is low, dit zou andersom moeten wezen, zal zoeken als de chip ook een broertje heeft waarbij de uitgangs polariteit omgekeerd.

Edit2:
Ik denk dat ik een HCF4028BEY (of pdf) moet hebben dan (btw ook nog goedkoper). Deze inverteerd zijn uitgangen niet.

[ Voor 25% gewijzigd door Shuisman op 13-07-2006 00:37 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
... damn... had je eigenlijk bij de pnp transistoren moeten hebben :D

je hebt de 74LS154, maar die heeft precies hetzelfde probleem!!!


gevonden! de 74HCT237 doet wat jij wilt... een 3-bit naar 8 decoder!

edit: oh, die ander kan ook... kies zelf maar, of vraag het aan je elektroboer...

[ Voor 17% gewijzigd door MeMoRy op 13-07-2006 00:39 ]

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op donderdag 13 juli 2006 @ 00:37:
... damn... had je eigenlijk bij de pnp transistoren moeten hebben :D
je hebt de 74LS154, maar die heeft precies hetzelfde probleem!!!

gevonden! de 74HCT237 doet wat jij wilt... een 3-bit naar 8 decoder!
edit: oh, die ander kan ook... kies zelf maar, of vraag het aan je elektroboer...
de 74HCT237 hebben ze niet bij farnell; helaas hebben ze geen 3-bit naar 8 decoder, dat zou mooier wezen, alhoewel het natuurlijk weinig uitmaakt, paar lege poortjes is niet erg.
Best wel apart dat ze vele van die chips standaard inverteren...
Dus dan ga ik wel voor de HCF4028BEY , toch bedankt voor zoeken :+

**Update**
Daarnet ff wat aan het klooien geweest met Paint en een 78 KB groot plaatje gemaakt :P
Afbeeldingslocatie: http://img183.imageshack.us/img183/3995/ledmatrixtotaalix7.th.png
*Clickable (watch out big pic)
Volgens mij heb ik nu alles wat ik nodig heb?!

Fear my 1337 MSPaint skillz

[ Voor 30% gewijzigd door Shuisman op 27-08-2006 22:14 ]


Verwijderd

SHuisman schreef op woensdag 12 juli 2006 @ 20:40:
[...]


Dit gaat altijd goed, of is dat puur toeval ? Loopt er dan niet teveel stroom door de basis ? Zou wel mooi wezen, schilt weer 25 stuks (50x solderen dus :9 )
De magie in de transistor zal de basisstroom beperken tot een veilige waarde. Daar zorgt de emitterweerstand (R3) voor. In het geval van een BC560 betekent dat een basistroom van minder dan 1 mA (op 5Volt, met een emitterweerstand van 100Ohm).

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
Paint?!?!? Man, je moet EAGLE Layout Editor of zo'n soort programma gaan gebruiken! drag&drop....

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op donderdag 13 juli 2006 @ 10:55:
Paint?!?!? Man, je moet EAGLE Layout Editor of zo'n soort programma gaan gebruiken! drag&drop....
Al eens aan gedacht, maar is er nooit van gekomen..Zal het eens een poging geven :P
EDIT:
Daarnet ff geprobeerd, ik denk dat het programma niet echt werkt (probably all human error), zal nog een keer proberen op rustig moment, frustrerend programma :P

[ Voor 27% gewijzigd door Shuisman op 13-07-2006 17:04 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
wat wil je precies laten zien met je matrix? als in: moet je niet knoppen aan de poorten hangen? of een rs232 interface?

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op donderdag 13 juli 2006 @ 15:09:
wat wil je precies laten zien met je matrix? als in: moet je niet knoppen aan de poorten hangen? of een rs232 interface?
Ik denk eerste een simpele klok met eventueel effecten denk aan., scrollen, naar beneden verdwijnen, opeten door pacman :+ , datum, AM PM aanduiding. Misschien later nog eens met de 3 (4?) overgebleven poorten wat gaan kloten betreft knoppen of misschien wel een interface met pc (heel misschien, heb namelijk geen idee hoe dat moet :P ).

EDIT:
Daarnet ff transistoren, weerstanden en 4->10 chip,printplaatjes besteld. Morgen binnen als het goed is, en dan solderen maar >:) .
Weerstanden gingen per 50, dus heb nog een heel zootje over.

[ Voor 17% gewijzigd door Shuisman op 13-07-2006 17:08 ]


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
Kan je leuke poppetjes mee maken
Afbeeldingslocatie: http://www.anybodyburns.com/pathlight/images/resistorman3.jpg

U vraagt, wij antwoorden.


  • RedPixel
  • Registratie: Januari 2004
  • Laatst online: 20-11 21:19
offtopic:
ik vind de elektronica porno veel grappiger

I see red pixels.


Verwijderd

SHuisman schreef op donderdag 13 juli 2006 @ 17:04:
[...]

Ik denk eerste een simpele klok met eventueel effecten denk aan., scrollen, naar beneden verdwijnen, opeten door pacman :+ , datum, AM PM aanduiding. Misschien later nog eens met de 3 (4?) overgebleven poorten wat gaan kloten betreft knoppen of misschien wel een interface met pc (heel misschien, heb namelijk geen idee hoe dat moet :P ).
Als je een klok wil maken, zal je om te beginnen datum en tijd moeten instellen. Dat kan je via de vrije pinnen doen (met een stel drukknoppen), via de PC of met een DCF77-atoomklokmodule. Met die laatste ben je 100% zeker van de juiste tijd. Tenzij het ergens onweert tussen jou en de zender... ;-)
Maar dat laatste valt met wat controle-logica wel op te vangen.
Communicatie met de PC kan (voor zover mij bekend) op 3 manieren: serieel (heb je minstens 2 vrije pinnen en een MAX232 nodig), serieel via de 2 I2C-pinnen van de ATmega (daarvoor misbruik je de seriele poort van de PC, 2 weerstanden en 2 zenerdioden vormen de "interface) en USB (hierbij heb je 2 weerstanden en 3 pinnen nodig; nadeel is, dat je AVR op 3.3V moet draaien).
Het mooiste is natuurlijk, als je een DCF-77 module gebruikt, en via 1 of andere interface de PC gelijkzet met je zelfgebrouwde atoomklokontvanger...

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op donderdag 13 juli 2006 @ 21:08:
[...]Als je een klok wil maken, zal je om te beginnen datum en tijd moeten instellen. Dat kan je via de vrije pinnen doen (met een stel drukknoppen), via de PC of met een DCF77-atoomklokmodule. Met die laatste ben je 100% zeker van de juiste tijd. Tenzij het ergens onweert tussen jou en de zender... ;-)
Maar dat laatste valt met wat controle-logica wel op te vangen.
Communicatie met de PC kan (voor zover mij bekend) op 3 manieren: serieel (heb je minstens 2 vrije pinnen en een MAX232 nodig), serieel via de 2 I2C-pinnen van de ATmega (daarvoor misbruik je de seriele poort van de PC, 2 weerstanden en 2 zenerdioden vormen de "interface) en USB (hierbij heb je 2 weerstanden en 3 pinnen nodig; nadeel is, dat je AVR op 3.3V moet draaien).
Het mooiste is natuurlijk, als je een DCF-77 module gebruikt, en via 1 of andere interface de PC gelijkzet met je zelfgebrouwde atoomklokontvanger...
Ik denk dat ik hem om 12 AM laat beginnen, en dan gewoon inpluggen :P Ik weet niet hoe precies het is, maar ik dacht eraan om een interrupt timer op 1 sec te zetten, en zo de tijd bij te houden. Interface-able met pc is wel mooi, alleen niet als die niet dicht bij een pc staat. Dan zou ik eigenlijk een ethernet chip er in moeten doen ofzo :P

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
'k heb ooit iets gehoord over dat er teveel afwijking is voor een betrouwbare klok

U vraagt, wij antwoorden.


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
MeMoRy schreef op donderdag 13 juli 2006 @ 21:58:
'k heb ooit iets gehoord over dat er teveel afwijking is voor een betrouwbare klok
Ik dacht eraan om hem precies 1 dag te laten draaien, en dan te corrigeren erop, in een dag maakt zo'n ding 16*10^6*60*60*24=1.38*10^12 cycles, ik neem aan dat dat wel een goed gemiddelde is ? Natuurlijk moet ik wel zorgen voor een stabiele voeding(gebruik nu een oude pc voeding), echter komt dat in 1 dag ook weer op een gemiddelde ;) . Anders moet ik iets anders erop gaan verzinnen (wat weet ik nog niet, atoomclock synchronizer is wel wat erg overdreven denk ik, als mensen het met tandwielen en gewichtjes kunnen, dan moet het met een uC toch ook lukken :P )

Edit:
Ik meende ergens gelezen te hebben dat de interne clock tot wel 10% kan afwijken (loopt op 1 MHz volgens specs), dan zou de tijd per uur 6 minuut kunnen afwijken (wil je dus niet :P ). Ik denk dat ik gewoon ga zien hoe 'strak' het gaat anders plan b >:) (not sure what exactly...)

[ Voor 19% gewijzigd door Shuisman op 14-07-2006 14:09 ]


  • joca
  • Registratie: Oktober 2000
  • Laatst online: 12-07 20:25
Een ATMega32 heeft nog een extra klok ingang waar je een 32KHz kristal op aan kan sluiten, zie voor meer info: http://www.atmel.com/dyn/...rod_documents/doc1259.pdf

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 18-09 13:34

IWriteCode

Less = more

MeMoRy schreef op donderdag 13 juli 2006 @ 21:58:
'k heb ooit iets gehoord over dat er teveel afwijking is voor een betrouwbare klok
Dat ligt er maar aan hoe je je microprocessor aanstuurt. Krijgt de microprocessor een frequentie van een Weerstand/Condensator combinatie... dan is het niet echt betrouwbaar. Gebruikt je een frequentie crystal, dan kan het net zo nauwkeurig zijn als een horloge.

Less = more


Verwijderd

Een andere mogelijkheid is de netfrequentie, die zeer stabiel is; zeker over lange tijd.
Tenslotte zal SHuisman zijn schakeling ergens mee moeten voeden. Als dat een klassieke voeding met een trafo wordt, is niets eenvoudiger dan de nuldoorgangen te dedecteren, en daarmee bv. een interrupt bij de AVR te genereren. De interrupt-routine kan dan een teller verhogen en aan de hand daarvan tijd en datum aanpassen. Het hoofdprogramma hoeft dan niets anders te doen dat deze uit te lezen en op het display te plaatsen.
De frequentie rechtstreeks van de netspanning --via een optocoupler-- aftakken is ook een mogelijkheid als er geen trafo bij te pas komt.

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Verwijderd schreef op vrijdag 14 juli 2006 @ 19:21:
Een andere mogelijkheid is de netfrequentie, die zeer stabiel is; zeker over lange tijd.
Tenslotte zal SHuisman zijn schakeling ergens mee moeten voeden. Als dat een klassieke voeding met een trafo wordt, is niets eenvoudiger dan de nuldoorgangen te dedecteren, en daarmee bv. een interrupt bij de AVR te genereren. De interrupt-routine kan dan een teller verhogen en aan de hand daarvan tijd en datum aanpassen. Het hoofdprogramma hoeft dan niets anders te doen dat deze uit te lezen en op het display te plaatsen.
De frequentie rechtstreeks van de netspanning --via een optocoupler-- aftakken is ook een mogelijkheid als er geen trafo bij te pas komt.
Ik had nog niet aan de netfrequentie gedacht, maar is makkelijk te implementeren; zootje weerstanden condensators, diodes en transistoren, en je hebt een piekgenerator :P Heb helaas geen oscilloscoop tot mijn beschikking, dat is namelijk wel handig als je zulk soort spul wil uittesten ;)

Verwijderd

Ik denk niet dat je veel nodig hebt, om een deftige INT te genereren. Dit bv:
Afbeeldingslocatie: http://home.tiscali.be/prosje/IntSturing.png

Je kan de avr zo instellen, dat een INT-pin reageert op een neergaande flank. Het is dus onnodig er zelf een smalle puls van te maken. De condensator van 2n2 verbetert de flanksteilheid enigzins, zoals op deze detailopnamen te zien is:
Afbeeldingslocatie: http://home.tiscali.be/prosje/snapshot4.png

Afbeeldingslocatie: http://home.tiscali.be/prosje/snapshot5.png

  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Ik zit net even die BCD chip te testen, maar er treden nogal vreemde dingen op; Als ik alleen A hoog maak 9 zou enkel poort 1 open moeten gaan, bij mij gaan poort 1 en 3 op 1.9 volt. Mijn voedspanning is 5 volt, vanuit een oude voeding.(12 volt als voeding geeft ook vreemde resultaten) Als ik B alleen omhoog doe, zitten de meeste poortjes op 30mV (en low), maar er zijn een 3 tal die op 0.9 volt komen. Dus ik weet nog niet als ik wel die chip ga gebruiken, heb btw 2 besteld, maar beide 'werken' niet. Iemand ervaring met zulke chips ? Anders gewoon maar alle poortjes gebruiken ;)

  • Schapie
  • Registratie: Februari 2004
  • Laatst online: 19-02 21:48

Schapie

Bleh...

En als je die andere pootjes eens naar gnd trekt? Heb je dan ook nog dezelfde problemen?
Kan me voorstellen dat dat ic'tje zwevende poorten niet zo lekker vind. ;) (Zie ook pagina 9 van de datasheet waarin dit ook is getekend.)

No signature found


  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
Hang er idd even grote weerstanden naar gnd aan.. 1k-10k ohm ofzo... dan zie je misschien wel de gewenste resultaten.

dus niet direct op gnd aansluiten... dat heet kortsluiten nml

[ Voor 26% gewijzigd door MeMoRy op 17-07-2006 00:22 ]

U vraagt, wij antwoorden.


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Inderdaad, dikwijls wordt een zwevend ingangs pootje gewoon als hoog gezien door een ic. maar de ingangen mag je gewoon door een kabeltje naar de gnd verbinden, hoeft helemaal geen R tussen, uitgangen wel, anders heb je inderdaad kortsluiting.

[ Voor 4% gewijzigd door kluyze op 17-07-2006 00:32 ]


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
kluyze schreef op maandag 17 juli 2006 @ 00:32:
Inderdaad, dikwijls wordt een zwevend ingangs pootje gewoon als hoog gezien door een ic. maar de ingangen mag je gewoon door een kabeltje naar de gnd verbinden, hoeft helemaal geen R tussen, uitgangen wel, anders heb je inderdaad kortsluiting.
Als ie direct met de ground verbonden is, kan ik hem ook geen signaal meer aanbieden denk ik ?! Want dan wordt het signaal direct naar de aarde getrokken, dat wil ik denk ik ook niet, het is toch meer om die capaciteiten van die poorten te drainen ?
Schapie schreef op zondag 16 juli 2006 @ 23:10:
En als je die andere pootjes eens naar gnd trekt? Heb je dan ook nog dezelfde problemen?
Kan me voorstellen dat dat ic'tje zwevende poorten niet zo lekker vind. ;) (Zie ook pagina 9 van de datasheet waarin dit ook is getekend.)
Welke datasheet heb je ? Ik heb namelijk 2 stuks, maar in geen van beide zie ik op pagina 9 weerstanden van de ingangen naar de ground :P

  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Je moet een schakelaar gebruiken die bij een 0 de ingang aan de gnd hangt en bij een 1 aan de voeding, daarbij liefst nog een dender vrije schakelaar zodat niet bij elke verandering van 1-0 0-1 het ic 100 keren schakelt.

Dus, niet gebruikte ingangen moet je aan de gnd hangen (of aan de voeding als ze actief laag zijn :P)

[ Voor 20% gewijzigd door kluyze op 17-07-2006 11:28 ]


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Heb net alles gesoldeerd: (aardig werkje nog wel, omdat de pinout van die ledmatrixen zo handig zijn ;) .

Van de 25 transistoren van de kolommen, is er 1 rot, zal hem vervangen :)
Ik kon helaas die ledmatrixen niet strak tegenelkaar krijgen, (tenzij je 5 aparte printplaten gebruikt natuurlijk), maar ik denk dat het niet zo erg is, als je er eenmaal troep op laat zien ;) (misschien opvullen met plamuur kit, iets dergelijks, Ik weet niet hoe het staat, maar als je een diffuus stuk plexiglas eroverheen doet... ? )


EDIT:
BCD chip net ff getest, hij werkt wel als ik de inputs 'ground' met een weerstand (4.2 KOhm genomen; had ik nog zootje van over :+ ), dus de 5-7.5 pF wordt nu 'weggezogen' en werkt oke :)

[ Voor 49% gewijzigd door Shuisman op 27-08-2006 22:07 ]


Verwijderd

SHuisman schreef op maandag 17 juli 2006 @ 12:30:

Ik kon helaas die ledmatrixen niet strak tegenelkaar krijgen, (tenzij je 5 aparte printplaten gebruikt natuurlijk), maar ik denk dat het niet zo erg is, als je er eenmaal troep op laat zien ;) (misschien opvullen met plamuur kit, iets dergelijks, Ik weet niet hoe het staat, maar als je een diffuus stuk plexiglas eroverheen doet... ? )
Als je het achter een stuk rode plexi plaatst (ik neem aan dat het rode LED's zijn?) merk je van de behuizing niets meer. Daarnaast zal je display veel beter af te lezen zijn, zeker in een omgeving met veel licht.

  • Schapie
  • Registratie: Februari 2004
  • Laatst online: 19-02 21:48

Schapie

Bleh...

SHuisman schreef op maandag 17 juli 2006 @ 10:30:

[...]

Welke datasheet heb je ? Ik heb namelijk 2 stuks, maar in geen van beide zie ik op pagina 9 weerstanden van de ingangen naar de ground :P
In deze sheet trekken ze hem ook niet via een weerstandje naar beneden, maar direct naar de ground met een wisselcontactje. In de praktijk gebruik je dan dus gewoon een pulldownweerstandje om hem niet te laten zweven, maar dit had je zelf ook al door. ;)
Verder vind ik het wel een intressant topic enkele klasgenoten van mij wouden ook zoiets maken, maar waren niet verder gekomen dan de display's bestellen. :X

No signature found


  • Shuisman
  • Registratie: Maart 2004
  • Laatst online: 01-09 10:12
Schapie schreef op maandag 17 juli 2006 @ 23:49:
[...]

In deze sheet trekken ze hem ook niet via een weerstandje naar beneden, maar direct naar de ground met een wisselcontactje. In de praktijk gebruik je dan dus gewoon een pulldownweerstandje om hem niet te laten zweven, maar dit had je zelf ook al door. ;)
Verder vind ik het wel een intressant topic enkele klasgenoten van mij wouden ook zoiets maken, maar waren niet verder gekomen dan de display's bestellen. :X
Heb inmiddels de bcd chip al gesoldeerd, en de poorten 0 tot 6 aangesloten, standaard (alle 4 inputs low) staat dan regel 1 aan, en ik kan met een ground draadje(voor de pnp transistoren) alle leds aan doen die ik maar wil ;). Dus de BCD chip doet het wel ;) .Ga vandaag(morgen?) bezig met het solderen van de microcontroller. Zodra ik beeld heb post ik wel ff foto'tje :*)
Bestellen is wel een grote stap; dan is er geen weg meer terug; OF je hebt geld 'weggegooid' OF je gaat door en maakt iets cools.

EDIT:
ik ga de 4 pinnen (die naar de BCD chip gaan) ergens anders aansluiten, zodat ik 2 interrupt poorten over hou.

[ Voor 16% gewijzigd door Shuisman op 18-07-2006 10:25 ]


  • kluyze
  • Registratie: Augustus 2004
  • Niet online
Hoe ga je nu die BCD chip aansluiten? Dat naar de gnd trekken is waarschijnlijk alleen nodig als je aan het testen bent. Als het ic aan een µC hangt dan doet de µC dit waarschijnlijk voor je.

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 17-07 12:50
uhm... de ingangen hoeven niet naar gnd getrokken te worden hoor... hij hnagt alleen de ingangen aan de uC...

maar goed, als je dus direct aansluit aan de NPN's hoef je idd niet meer naar gnd te trekken...afaik

U vraagt, wij antwoorden.

Pagina: 1 2 Laatste