www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny2313 und multiplex LEDs zu wenig Spannung/Strom?


Autor: Simon W. (simon1711)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.
' Initialisierung MCU = ATTiny12 ohne SRAM

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

Portb = &B11111111

Led1 Alias Portb.0
Led2 Alias Portb.1
Led3 Alias Portb.2
Led4 Alias Portb.3
Led5 Alias Portb.4
Led6 Alias Portb.5
Led7 Alias Portb.6
Status Alias Portb.7

Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output

Seg1 Alias Portd.4
Seg2 Alias Portd.5
Seg3 Alias Portd.6


Config Portd.2 = Input
Config Portd.3 = Input

S1 Alias Portd.2
S2 Alias Portd.3
Status = 1

Do
Toggle Status
Wait 1
Loop
Schaltung im Anhang.

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

Viele Grüße

Simon

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon W. (simon1711)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon W. schrieb:
>> Ich sehe nicht, wo Portb auf output geschaltet wird.
> Hier:
>> Portb = &B11111111

Das schaltet aber nicht auf Ausgang
Tippfehler?

 DDrb = &B11111111

Autor: Simon W. (simon1711)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>  DDrb = &B11111111

Ok.... klar!
Hab ich wohl falsch kopiert.

Dann habe ich auch immer nur die Pull-Ups an und aus geschaltet, deshalb 
vielleicht die geringe Spannung.

Muss ich  unbedingt ausprobieren. Meld mich heute Abend wieder.

Autor: Simon W. (simon1711)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Schaltung funktioniert jetzt  auch mit Attiny.

Nur leuchten die LEDs nicht sauber, sondern glimmen leicht mit den 
anderen Segmenten mit.
Kann mir jemand eine "saubere" Methode zum Multiplexen erklären???

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du musst vorher alle leds ausschalten, bis das nächste segment 
angeschaltet wird. sonst glimmts halt.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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...

MFG
Falk

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon W. schrieb:
> Kann mir jemand eine "saubere" Methode zum Multiplexen erklären???

Timerinterrupt


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.