Attiny2313 und multiplex LEDs zu wenig Spannung/Strom?

OP #1982720
Lesenswert?

Hallo,

ich habe eine Schaltung mit einem Attiny2313 und 22 LEDs entwickelt. die 
Schaltung funktioniert, nur wenn der Controller drauf kommt leuchtet nur 
die einzelne LED aber sehr schwach.

Jetzt meine Frage:
Wie viel Strom kann ein I/O Port vom Attiny2313?
Wie kann es sein, dass ich nur ca. 2 Volt am Ausgang mit Last messe. Und 
ohne Last schwankt es start zwischen 0V und 4,8V.

Wenn ich direkt 5V an den Sockel anlege funktioniert alles einwandfrei.
1
' Initialisierung MCU = ATTiny12 ohne SRAM
2

3
$regfile = "attiny2313.dat"                                 ' Controller = ATtiny12
4
$crystal = 1000000                                          ' Takt 1MHz
5
$noramclear                                                 ' RAM nicht initialisieren
6
$Tiny                                                       ' Stack nicht initialisieren
7
'$hwstack = 32                                              ' Stackinitialisierung wird durch $TINY unterdrückt
8
$swstack = 0                                                ' Software 0
9
$framesize = 0                                              ' Framesize = 0
10

11
Portb = &B11111111
12

13
Led1 Alias Portb.0
14
Led2 Alias Portb.1
15
Led3 Alias Portb.2
16
Led4 Alias Portb.3
17
Led5 Alias Portb.4
18
Led6 Alias Portb.5
19
Led7 Alias Portb.6
20
Status Alias Portb.7
21

22
Config Portd.4 = Output
23
Config Portd.5 = Output
24
Config Portd.6 = Output
25

26
Seg1 Alias Portd.4
27
Seg2 Alias Portd.5
28
Seg3 Alias Portd.6
29

30

31
Config Portd.2 = Input
32
Config Portd.3 = Input
33

34
S1 Alias Portd.2
35
S2 Alias Portd.3
36
Status = 1
37

38
Do
39
Toggle Status
40
Wait 1
41
Loop
Schaltung im Anhang.

Vielleicht kann sichs ja mal jemand anschauen. Gibt ein funkelndes 
Weihnachtsgeschenk ;-)

Viele Grüße

Simon
Angehängte Dateien:
Gast #1982760
Lesenswert?

Deine Schaltung ist nicht so schlecht,
daß nur eine LED schummrig leuchten sollte,

Der ATtiny-Ausgang liefert 20mA
dein 220 Ohm Widerstand begrenzt den Strom einer 2V LED auf 10mA,
den BC547 wird somit 70mA Schalten müssen
und bekommt über den 440 Ohm (aus welcher Wühlkiste hast du
denn den Wert, vertippt?) Widerstand 9mA,
sollte reichen wenn auch die LEDs nicht ganz hell sind.

besser wäre:
ATTiny bis 30mA belasten (irgendwo zwischen 20mA und 40mA
regelt er ab), R12 bleibt 220R, R5ff auf 82 Ohm reduzieren,
BC547 gegen BC328 ersetzen, Basisvorwiderstand auf 180 Ohm
verringern.

aber das Programm kann nichts werden.
Ich sehe nicht, wo Portb auf output geschaltet wird.
Ich sehe nicht, auf welche Pegel Seg1, Seg2, Seg3
geschaltet werden (nur einer dürfte auf HI liegen).
und ansonsten tut das Program auch noch nichts ausser
der nicht-gemultiplexten LED
Mit einem richtigen programm wird es funktionieren,
auch mit deiner Schaltung,
bei meinen Änderungen sind die 21 LEDs sogar ähnlich
hell wie die einzelne.
OP #1982948
Lesenswert?

> Ich sehe nicht, wo Portb auf output geschaltet wird.
Hier:
> Portb = &B11111111

Also das Programm ist keinesfalls mein Programm zum Multiplexen. Ich 
hatte nur soweit abgespeckt, bis sich überhaupt was getan hat.

Ich kann dir einen BC639 bieten.

Aber mich wunderts trotzdem, dass bei angelegten 5V alles wunderbar 
funktioniert. Bricht beim Attiny die Spannung ein??? Oder liefert der 
gar keine 5V am Ausgang?

Kann heute Abend deine Änderungen testen.
Danke!
#1984341
Lesenswert?

@  Simon W. (simon1711)

>Kann mir jemand eine "saubere" Methode zum Multiplexen erklären???

Aktuelle Segmente und Digit ausschalten
Neu Daten verarbeiten und auf Segmente ausgeben (bewirkt eine kleine 
Pause von ein paar Mikrosekunden, wo keinerlei Digit aktiv ist)
Neues Digit einschalten

http://www.mikrocontroller.net/search?query=%2Bled+%2Bmultiplex+%2Bnachleuchten&forums[]=1&forums[]=19&forums[]=9&forums[]=10&forums[]=2&forums[]=4&forums[]=3&forums[]=6&forums[]=17&forums[]=11&forums[]=8&forums[]=14&forums[]=12&forums[]=7&forums[]=5&forums[]=18&forums[]=15&forums[]=13&forums[]=16&max_age=-&sort_by_date=0

MFG
Falk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren