Sida 3 av 4

Re: Använda ULN2003 för att bygga en LED array?

Postat: 8 mars 2010, 04:59:52
av SpanCox
Jag vill börja med att tacka för alla kloka råd och all tid ni har lagt ner på att hjälpa en stackars amatör som jag.

Nu har jag uppdaterat prototypbordet med ett motstånd innan varje led.

Jag har dock en del funderingar, det är som så att om jag tar bort kopplingen mellan VSS och pinne 9 / 10 på uln / udn så lyser det fortfarande litet svagt i leddarna.

Jag tolkar detta som att leddarna jordas genom de i/o på Basic Stampen som är satta till low (vilket är alla pinnar förutom när en kolumn skall lysa).

Frågan kring detta är om det är helt normalt och inget att bry sig om, om det är felkopplat någonstans, eller om det är okej men ändå går att rätta till med tex dioder.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 8 mars 2010, 08:07:08
av limpan4all
Uppdatera ditt schema såsom det är gjort idag så vi får se hur det är kopplat.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 8 mars 2010, 11:14:36
av SpanCox
Bild

Nu har jag pillat med den här skissen alldeles för länge, Illustrator är bra till mycket men uppenbarligen inte till att rita elektroniska kretsar...

Fråga om det är något som är oklart.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 8 mars 2010, 12:04:12
av limpan4all
OK, nu ser vi hur du kopplat.
Felritat eller feltänkt, nu har du fyra parallekopplade lysdioder inte MUXade dioder....

Titta på exemplet jag lagt upp åt dig http://www.edkl.se/ef/ULN.pdf
NOTERA dragningen av +12V, +5V och GND det MÅSTE vara separata ledare hela vägen till strömförsörjningen, det är där hela strömmen går och om CPU´n koppas in fel så kommer dippar mm att störa ut CPU´n.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 8 mars 2010, 13:26:21
av SpanCox
Gha!
Felritat. Gör om och gör rätt, ny skiss på ingång.

EDIT:

Försök att ha överseende med att det blev väldigt plottrigt. Hopplöst när man inte kan. :-/

Bild

Re: Använda ULN2003 för att bygga en LED array?

Postat: 8 mars 2010, 16:07:36
av Micke_s
Som det sas tidigare här. Det räcker med 4st resistorer mellan UDN2981 och led:arna eftersom bara en rad är aktiverad i taget.
Blir lite mindre att löda i alla fall..

Re: Använda ULN2003 för att bygga en LED array?

Postat: 8 mars 2010, 22:17:31
av SpanCox
Jag ser helst att alla lysande leddar lyser lika starkt, oberoende av hur många som är tända - därav de enskilda motstånden till varje led. Finns det någon nackdel med min metod förutom åtgången av lödtenn? ;)

Tänkvärt är kanske att detta inte skall bli någon vanlig led matris för rullande text utan en stjärnhimmel där jag vill kunna tända och släcka en till sju leddar i taget.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 9 mars 2010, 01:23:16
av limpan4all
Eeee hur tänker du nu?
Du matar ut alla bitarna på anoddrivningen och EN bit på katoddrivningen.
Dvs, så som du har ritat så lyser varje LED endast 25% av tiden maximalt.
Då använder du även bara motstånden 25% av tiden, då kan du lika gärna nöja dig med att flytta motstånden så att alla lysdioderna ser samma motstånd 100% av tiden, eg. i ditt exempel, UDN kretsen pin 19 kopplas till ett motstånd andra sidan kopplas till anoderna på alla LED i första kolumnen.
Det är det som kallas att MUX´a ut informationen.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 9 mars 2010, 05:59:16
av SpanCox
Jag tänker som såhär:

Jag vill kunna tända en led, låta den fada upp i styrka och sedan tända nästa osv. Programmeringen till det är ett litet elände men det fungerar om jag programmerar varje serie jag vill tända.

Om det inte är skadligt med ett motstånd per led så behåller jag helst den lösningen, om inte annat för att jag precis ägnat några timmar åt att snygga upp och korta ledningar på min prototyp. ;)

Att varje LED endast lyser 25% av tiden och det då maximalt förstår jag inte riktigt. Som jag förstått det så om jag sätter pin 0 och 8 på BS2 till high så får det UDN att lägga på 12V på pin 18 och ULN att koppla pinne 18 mot jord. Rätt av mig?

Då torde väl lysdiod 1 (övre vänstra hörnet) lysa precis hela tiden som BS2 har portarna på high?
Nu skickar jag pulser enligt följande för att styra fadningen:

----------
level1 = 1
level2 = 1
vila = 1
begin:
FOR counter1 = 1 TO 100
GOSUB led1up
NEXT

middle:
FOR counter1 = 1 TO 100
GOSUB led1down
GOSUB led2up
NEXT
FOR counter1 = 1 TO 100
GOSUB led2down
GOSUB led1up

goto middle

led1up:
level1 = level1 +1
HIGH 8
PULSOUT 0,level1
PAUSE vila
LOW 8
RETURN

led1down:
level1 = level1 -1
HIGH 8
PULSOUT 0,level1
PAUSE vila
LOW 8
RETURN

led2up:
level2 = level2 +1
HIGH 9
PULSOUT 0,level2
PAUSE vila
LOW 9
RETURN

led2down:
level2 = level2 -1
HIGH 9
PULSOUT 0,level2
PAUSE vila
LOW 9
RETURN
-----------

Mitt problem just nu är att det flimrar svagt i hela kolumnerna när jag tänder en av leddarna, det är något som det inte gjorde när jag matade med 5V, möjligen beroende på att matningen då var för låg.

Är det något som kan bero på att jag har ett motstånd till varje LED?

Re: Använda ULN2003 för att bygga en LED array?

Postat: 9 mars 2010, 09:06:22
av Tjille
Prova med att lägga plus till ben 9 på UDN-kretsen. Det kanske redan är gjort men det syns inte på ditt schema.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 9 mars 2010, 09:26:00
av SpanCox
Jodå, nog är det plus där allt. +12V står det i schemat. 8)

Re: Använda ULN2003 för att bygga en LED array?

Postat: 9 mars 2010, 09:47:16
av FormerMazda
En annan vinkel:
Du har ju 16st I/O på BS2an, varför inte ansluta dina LEDs direkt? Alltså en LED till varje I/O.
Sen kan du använda PWM-funktionen i en enkel FOR...NEXT sats.
Nackdelen är att BS2 kan bara syssla med en FOR...NEXT i taget, och då är man låst till att bara en LED i taget kan fadea upp eller ner, men man kan ju fadea upp, sätta hög, fadea nästa, sätta hög, fadea ner, sätta låg. osv.

Eller så kollar man på propellern. Billigare och galet mycket kraftfullare. :wink:

Men, samtidigt så är ju detta lärorikt som du sysslar med nu.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 9 mars 2010, 10:03:26
av SpanCox
16 LED är bara prototypen, fick inte plats fler på experimentplattan.

Basic Stampen har jag haft liggande här hemma sedan 2000 någon gång. Tänkte att den kunde duga att ha och labba med. ;)

Propeller säger du, får kika upp vad det skulle innebära.

Re: Använda ULN2003 för att bygga en LED array?

Postat: 9 mars 2010, 10:28:19
av sodjan
Alltså...

Du ska ha mjuk fadning samtidigt som du ska multiplexa 16 lysdioder ?
Med en BS2 med dess halv-interpreterande BASIC variant ?
Har du alls gjort någon rimlighetskalkyl på det hela ?
Är den ens sannolikt eller troligt att BS2'an hinner med ?

Var är din kalkyl med tider för det hela ?

Re: Använda ULN2003 för att bygga en LED array?

Postat: 9 mars 2010, 12:57:14
av SpanCox
Inte 16 utan 64 lysdioder - annars har du helt rätt.

Rimlighetskalkyl, vad är det för en fråga? :shock:
Naturligtvis!
Jag har utfärdat ett fullödigt überdokument enligt ISO20231 och det påvisar att det hela är fullt realistiskt. :vissla:

Allvarligt talat, visar det sig att BS2an är för trött får jag fundera ut något annat. Det här projektet är ett läroprojekt och hittills har de problem som jag stött på ingalunda varit olösliga.