www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega32 richtig beschalten - 7x7-LED-Multiplexing


Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit so gut - fast fertig.

Was muss jetzt noch an den ATmega?
Decoupling? Reset-Widerstand? An VCC kommt der Strom, was ist mit AVCC?

Kann mir jemand diese Pins erklären?

http://circuits.datasheetdir.com/18/ATMEGA32-pinout.jpg
Mein Board: 
http://pennywise.e-ee.de/Webcam/linkout_20110211_1...

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVCC ist die Versorgung für die 8 analogfähigen Pins, das muss auch mit 
Vcc verbunden sein, unabhängig davon, ob man diese Pins verwendet. Wenn 
sie als Analogeingänge verwendet werden, kann man dort noch ein Filter 
einbauen, dann sind die Messwerte stabiler.

Decoupling von Vcc und AVcc mit jeweils einem 100 nF Keramikkondensator 
gegen den nächstgelegenen Gnd-Pin. Hier sollten die Leiterbahnen 
möglichst kurz sein.

Reset muss zur Programmausführung high-Pegel haben, sollte daher mit 
etwa 10 kOhm gegen Vcc gezogen werden. Kondensator braucht man dort 
keinen, weil der Prozessor einen internen Startuptimer hat, den man über 
die Fuses konfiguriert.

Grüße,

Peter

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sooo, dann sollte ich eigentlich alles richtig gemacht haben. Kann 
nochmal jemand drübersehen?

http://pennywise.e-ee.de/Webcam/linkout_20110211_1...

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aref sollte man nicht anschließen.
Der Blockerkondensator sollte viel näher dran (Leiterbahnen kurz halten) 
und man sollte zwei davon einbauen, einen an AVcc und einen an Vcc.

Grüße,

Peter

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Diener schrieb:
> Aref sollte man nicht anschließen.
> Der Blockerkondensator sollte viel näher dran (Leiterbahnen kurz halten)
> und man sollte zwei davon einbauen, einen an AVcc und einen an Vcc.
>
> Grüße,
>
> Peter

Jetzt alles richtig? :)

http://pennywise.e-ee.de/Webcam/linkout_20110211_2...

Da ich noch so viele Pins (und auch noch ein bisschen Zeit, bis die 
Teile alle ankommen) habe, werde ich evtl. noch einige Taster an der 
Seite anbringen, also werde ich nachher und morgen noch mal fragen, ob 
alles so passt.

Da mich das Double-Layer-Board ~30€ kostet, will ich keinen Fehler 
machen. ;)

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So kann man das schon lassen, optimalerwese rutscht man C2 noch eins 
nach oben und R15 eins nach unten, dann kommt man auch noch mit 
Leiterbahnen an die Pins daneben ran (für eventuelle Erweiterungen).

Ich würde unbedingt eine Programmierschnittstelle drauf bauen, sonst 
muss man ja immer den Controller rausziehen zum Programmieren.

Grüße,

Peter

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Diener schrieb:
> So kann man das schon lassen, optimalerwese rutscht man C2 noch eins
> nach oben und R15 eins nach unten, dann kommt man auch noch mit
> Leiterbahnen an die Pins daneben ran (für eventuelle Erweiterungen).

An sich natürlich sehr viel logischer - klar. Die beiden Pins die dann 
frei wären, wären XTAL1 und XTAL2, für den Quarz, oder?

Könnte ich quasi einen Quarz dazwischen setzen, um die Leistung zu 
erhöhen?
Wäre vllt. sinnvoll, da die LEDs möglichst schnell leuchten sollen. ^^
Wie relevant ist der Unterschied? Und welche Effekte hätte das sonst 
noch?

> Ich würde unbedingt eine Programmierschnittstelle drauf bauen, sonst
> muss man ja immer den Controller rausziehen zum Programmieren.
>
> Grüße,
>
> Peter

Soll auch nicht anders sein - ist ein Geburtstagsgeschenk für meine 
Freundin. ;)

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mein Board:

Meinst du nicht, daß 2.8mA für eine LED (138mA für alle zusammen) nicht 
ein bischen wenig ist ?

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>> Mein Board:
>
> Meinst du nicht, daß 2.8mA für eine LED (138mA für alle zusammen) nicht
> ein bischen wenig ist ?

Für alle zusammen? 2.8mA?
Du hast die Schaltung glaube ich noch nicht ganz verstanden. ;)

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Du hast die Schaltung glaube ich noch nicht ganz verstanden. ;)

Das wird's sein...

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>> Du hast die Schaltung glaube ich noch nicht ganz verstanden. ;)
>
> Das wird's sein...

Vermutlich.
Beim Multiplexing wir nur jeweils immer eine LED beleuchtet.
Mit 3V vom Controller, einem Vorwiderstand von 220 Ohm sollte man eine 
einzelne LED doch ganz gut beleuchten können.

Kann mir jemand sagen, ob dieser Transistor der Richtige ist?

http://www.pollin.de/shop/dt/MzYxOTY4OTk-/Baueleme...

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Beim Multiplexing wir nur jeweils immer eine LED beleuchtet.

Na ja, 7.

> Mit 3V vom Controller, einem Vorwiderstand von 220 Ohm sollte
> man eine einzelne LED doch ganz gut beleuchten können.

Autsch.

weder - noch.

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>> Beim Multiplexing wir nur jeweils immer eine LED beleuchtet.
>
> Na ja, 7.

Nein, eine.
Schau dir die Schaltung nochmal ganz genau an.
Es werden 2 x 7 Pins benutzt, das ganze über Kreuz.
Man beachte auch Q1-Q7, die Transistoren, die zu GND laufen.

>> Mit 3V vom Controller, einem Vorwiderstand von 220 Ohm sollte
>> man eine einzelne LED doch ganz gut beleuchten können.
>
> Autsch.
>
> weder - noch.

Verstehe ich jetzt auch nicht.
Eine LED braucht 15mA.
3,3 V / 220 Ohm = 15mA

Autor: der_Eike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel Jäger schrieb:

> Verstehe ich jetzt auch nicht.
> Eine LED braucht 15mA.
> 3,3 V / 220 Ohm = 15mA

Und über der LED fällt gar keine Spannung ab? Das wäre ja cool...
Also wohl eher (3,3V-ca.2V) / 220Ohm = 5,9 mA

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der_Eike schrieb:
> Daniel Jäger schrieb:
>
>> Verstehe ich jetzt auch nicht.
>> Eine LED braucht 15mA.
>> 3,3 V / 220 Ohm = 15mA
>
> Und über der LED fällt gar keine Spannung ab? Das wäre ja cool...
> Also wohl eher (3,3V-ca.2V) / 220Ohm = 5,9 mA

Wieso fällt denn da die Spannung ab, und bei jeder andere Schaltung die 
ich bisher hatte, nicht?

Ansonsten nehme ich halt ne Low-Current-LED, die leuchten schon ab 2mA.

Autor: der_Eike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du es nicht glauben willst, dann rechne doch mal die Leistung aus, 
die die LED aufnimmt, bzw abgibt.. P=U*I. Nach deiner Aussage ist U=0, 
also P auch. Guck dir mal die Vorwärtsspannung deiner LEDs an.

Und zur Ansteuerung, es werden immer 7 LEDs gleichzeitig angesteuert. 
Nämlich die 7 die an einer Transe hängen. Glaubs einfach..

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

Bewertung
0 lesenswert
nicht lesenswert
Daniel Jäger schrieb:
> MaWin schrieb:
>>> Du hast die Schaltung glaube ich noch nicht ganz verstanden. ;)
>>
>> Das wird's sein...
>
> Vermutlich.

Das glaub ich nicht.
MaWin hat schon ein paar Zehnerpotenzen mehr Matrizen aufgebaut als du. 
Den kannst du nachts um halb 4 aus dem Bett holen und in 10 Minuten 
macht der dir eine Matrix. Allerdings eine die dann auch funktioniert. 
:-)

> Beim Multiplexing wir nur jeweils immer eine LED beleuchtet.

7. Nämlich alle 7 einer Spalte.
Aber in jeder Zeile leuchtet immer nur 1. So umformuliert hast du recht.

Und bei dir eben nur 1/7 der Zeit.
Von daher ist so eine LEd schon mal nur 1/7 so hell wie ine die ständig 
brennt.
Gut. Dein Auge holt da physiologisch mit seiner nichtlinearen Kennlinie 
noch was raus, aber bei 1/7 wirds schon sehr dunkel.

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

Bewertung
0 lesenswert
nicht lesenswert
Daniel Jäger schrieb:
> der_Eike schrieb:
>> Daniel Jäger schrieb:
>>
>>> Verstehe ich jetzt auch nicht.
>>> Eine LED braucht 15mA.
>>> 3,3 V / 220 Ohm = 15mA
>>
>> Und über der LED fällt gar keine Spannung ab? Das wäre ja cool...
>> Also wohl eher (3,3V-ca.2V) / 220Ohm = 5,9 mA
>
> Wieso fällt denn da die Spannung ab, und bei jeder andere Schaltung die
> ich bisher hatte, nicht?

An jeder LED fällt eine Spannung ab. Bei roten so um die 1.7V
Auch bei deinen anderen Schaltungen.

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der_Eike schrieb:
> Wenn du es nicht glauben willst, dann rechne doch mal die Leistung aus,
> die die LED aufnimmt, bzw abgibt.. P=U*I. Nach deiner Aussage ist U=0,
> also P auch. Guck dir mal die Vorwärtsspannung deiner LEDs an.
>
> Und zur Ansteuerung, es werden immer 7 LEDs gleichzeitig angesteuert.
> Nämlich die 7 die an einer Transe hängen. Glaubs einfach..

"Glaubs einfach"? Sind wir hier in einer Kirche, oder in einem uC-Forum? 
^^

Das mit der Durchlassspannung habe ich jetzt verstanden - und trotzdem:
Es wird immer nur eine LED aktiviert, wenn ich 2 Pins durchschalte.

Wenn ich zum Beispiel den Pin an R4 schalte, ist das die Reihe mit LED 
14-20.
Zusätzlich schalte ich den Pin an R12 (Transistor Q5) wodurch nur die 
LED 17 an GND läuft, und somit auch nur diese leuchtet. Oder nicht?

Hier nochmal das aktuelle Board:
http://pennywise.e-ee.de/Webcam/linkout_20110211_2...

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hatte ein bisschen länger für meinen Post gebraucht, und deshalb 
deine oberen beiden vorher nicht gelesen.

Gut - mich kann man dafür um 4 Uhr nachts aus dem Bett holen, und ich 
programmiere dir in 10 Minuten das Grundgerüst für ein Web-CMS - jedem 
das seine, deshalb suche ich mir ja hier die Hilfe im Forum. ;)

Und ich habe eigentlich keinen Zweifel an euren Fähigkeiten, es stört 
mich nur, wenn man mir einfach sagt: "Geht so nicht" - und nicht erklärt 
wieso, geschweigedenn wie es sonst richtig gemacht werden soll.

Autor: der_Eike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum schaltest du nicht eine Transe und gibst ganze 7-bit aus. Dann 
machste 7x7 und nicht 49x1. Macht ein bisschen mehr Sinn oder!? Das wäre 
so der Sinn einer Matrix... Abgesehen von der Reduzierung der nötigen 
Pins.

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

Bewertung
0 lesenswert
nicht lesenswert
Daniel Jäger schrieb:

>> Und zur Ansteuerung, es werden immer 7 LEDs gleichzeitig angesteuert.
>> Nämlich die 7 die an einer Transe hängen. Glaubs einfach..
>
> "Glaubs einfach"? Sind wir hier in einer Kirche, oder in einem uC-Forum?
> ^^

:-)

>
> Das mit der Durchlassspannung habe ich jetzt verstanden - und trotzdem:
> Es wird immer nur eine LED aktiviert, wenn ich 2 Pins durchschalte.
>
> Wenn ich zum Beispiel den Pin an R4 schalte, ist das die Reihe mit LED
> 14-20.
> Zusätzlich schalte ich den Pin an R12 (Transistor Q5) wodurch nur die
> LED 17 an GND läuft, und somit auch nur diese leuchtet. Oder nicht?

In dieser einen Zeile.
Aber du hast ja 7 Zeilen und mit dem Transistor schaltest du eine 
komplette Spalte frei. Im schlimmsten Fall können daher in 1 Spalte 
maximal alle 7 LED brennen.
Das hat zwar jetzt auf deinen Vorwiderstand keinen direkten Einfluss.
Trotzdem musst du es berücksichtigen, weil jede LED in jeder Spalte 
immer nur 1/7 der Zeit eingeschaltet ist und dann wieder aus und somit 
nicht leuchtet.
Das musst du kompensieren, indem mehr Strom durch die LED gejagt wird, 
damit sie in der Zeit in der sie leuchten heller leuchten und sich im 
Mittel wieder eine normale Helligkeit ergibt.

> Hier nochmal das aktuelle Board:
> http://pennywise.e-ee.de/Webcam/linkout_20110211_2...

Weißt du das das mühsam ist, jedesmal wieder einen externen Link zu 
verfolgen? Du willst Hilfe, also warum machst du es den Helfenden so 
schwer anstatt das Bild hier direkt einzustellen.

Autor: Daniel Jäger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> In dieser einen Zeile.
> Aber du hast ja 7 Zeilen und mit dem Transistor schaltest du eine
> komplette Spalte frei. Im schlimmsten Fall können daher in 1 Spalte
> maximal alle 7 LED brennen.
> Das hat zwar jetzt auf deinen Vorwiderstand keinen direkten Einfluss.
> Trotzdem musst du es berücksichtigen, weil jede LED in jeder Spalte
> immer nur 1/7 der Zeit eingeschaltet ist und dann wieder aus und somit
> nicht leuchtet.
> Das musst du kompensieren, indem mehr Strom durch die LED gejagt wird,
> damit sie in der Zeit in der sie leuchten heller leuchten und sich im
> Mittel wieder eine normale Helligkeit ergibt.

In der ersten Schaltung waren vor den LEDs auch Transistoren, um die 
Stromstärke zu erhöhen, die ich dummerweise vereinfacht habe, und welche 
mir jetzt auch nachträglich einzubinden zu störend sind.

Leuchten Low-Current-LEDs denn etwa genau so hell wie normale LEDs?
Damit könnte ich doch das komplette Problem umgehen, oder?

> Weißt du das das mühsam ist, jedesmal wieder einen externen Link zu
> verfolgen? Du willst Hilfe, also warum machst du es den Helfenden so
> schwer anstatt das Bild hier direkt einzustellen.

Sorry, alte Gewohnheit, habs nochmal angehängt. ;)

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

Bewertung
0 lesenswert
nicht lesenswert
Daniel Jäger schrieb:

> Gut - mich kann man dafür um 4 Uhr nachts aus dem Bett holen, und ich
> programmiere dir in 10 Minuten das Grundgerüst für ein Web-CMS

Schön für dich.
Aber hier geht es um eine Matrix. Und MaWin vorzuwerfen er würde nicht 
verstehen wie eine Matrix funktioniert, ist völlig daneben.
Wenn es hier im Forum mal um CMS geht und du fälschlicherweise 
beschuligt wirst, du hättest davon keine Ahnung, werde ich auch für dich 
Partei ergreifen.
Nur rechne eher nicht damit, dass diese frage hier jemals auftaucht :-)

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der_Eike schrieb:
> Und warum schaltest du nicht eine Transe und gibst ganze 7-bit aus. Dann
> machste 7x7 und nicht 49x1. Macht ein bisschen mehr Sinn oder!? Das wäre
> so der Sinn einer Matrix... Abgesehen von der Reduzierung der nötigen
> Pins.

Weil ichs nicht kann / nicht weiß, wies funktioniert.

Und Pins habe ich eh eigentlich zu viele. Weshalb ich überhaupt erst 
noch Taster dranhängen werde. ;)

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

Bewertung
0 lesenswert
nicht lesenswert
Daniel Jäger schrieb:

> Damit könnte ich doch das komplette Problem umgehen, oder?

Könnte sich ausgehen.
Wieviel Strom schwebt dir den pro LED so vor und halten die Low-Current 
LED den überhaupt aus?

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Daniel Jäger schrieb:
>
>> Gut - mich kann man dafür um 4 Uhr nachts aus dem Bett holen, und ich
>> programmiere dir in 10 Minuten das Grundgerüst für ein Web-CMS
>
> Schön für dich.
> Aber hier geht es um eine Matrix. Und MaWin vorzuwerfen er würde nicht
> verstehen wie eine Matrix funktioniert, ist völlig daneben.
> Wenn es hier im Forum mal um CMS geht und du fälschlicherweise
> beschuligt wirst, du hättest davon keine Ahnung, werde ich auch für dich
> Partei ergreifen.
> Nur rechne eher nicht damit, dass diese frage hier jemals auftaucht :-)

Wie gesagt:

>> Und ich habe eigentlich keinen Zweifel an euren Fähigkeiten, es stört
>> mich nur, wenn man mir einfach sagt: "Geht so nicht" - und nicht erklärt
>> wieso, geschweigedenn wie es sonst richtig gemacht werden soll.

Er hat auf mich nicht den Eindruck gemacht, als würde er es wissen - ich 
könnte ja in jedem Thread posten: "Das ist alles ganz falsch so" - ohne 
groß zu erklären, warum. ;)

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Daniel Jäger schrieb:
>
>> Damit könnte ich doch das komplette Problem umgehen, oder?
>
> Könnte sich ausgehen.
> Wieviel Strom schwebt dir den pro LED so vor und halten die Low-Current
> LED den überhaupt aus?

http://www.conrad.de/ce/de/product/146030/LED-LOW-...

Hier werden nur 2mA angegeben.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> nehme ich halt ne Low-Current-LED, die leuchten schon ab 2mA.

Klar, 1/10tel so hell wie eine normale LED.

Daniel, woher soll's denn kommen ?
Perpetuum Mobile ? Freie Energie ?
Licht kommt durch Strom.

Bei 1/10 des Stromes eben 1/10 der Helligkeit.

Es sei denn sie kommt von Conrad
http://www.conrad.de/ce/de/product/146030/LED-LOW-...
die bringt es glatt auf 2mcd.

0.002 Candela.

Das ist sogar nur 1/2000tel einer normalen 20mA grünen LED
mit ähnlichen Kenndaten wie z.B.
http://www.lc-led.com/View/itemNumber/95

Und nicht ohne Grund steht im Datenblatt

Vf forward voltage 2.2V (typisch).

Die LED braucht nicht nur Strom,
sondern auch Spannung für sich.

Eben ungefähr diese 2.2V bei 20mA.

Und schon bleiben für deinen Widerstand nicht 3.3V,
sondern nur noch 1.1V übrig. Also fliesst nicht dein
berechneter Strom, sondern nur 1/3 davon.

Und wenn durch deine LEDs in deiner Schaltung (bei der
auch noch die Widerstandswerte fehlten, also hab ich mal zu
deinen Gunsten das beste angenommen) durch die Begrenzung
der Ausgänge des Microcontrollers und die Aufteilung des
Stromes durch das Multiplexing nur 2.8mA pro LED fliessen
können, dann kommt halt nur ein Bruchteil der Helligkeit bei
raus.

Daniel, du hast noch viel zu lernen.

http://www.dse-faq.elektronik-kompendium.de/dse-fa...

Autor: Daniel Jäger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Daniel, du hast noch viel zu lernen.

Erstmal danke, für deine umfangreiche Antwort!

Ich weiß, dass ich noch viel lernen muss, Elektronik ist eben nur ein 
Hobby, beruflich programmiere ich eigentlich - deswegen Frage ich auch 
hier im Forum nach solchen Dinge, damit man mir sie erklärt - dafür (und 
natürlich für anderes) ist diese Forum ja (hoffentlich) da. ;)

Ich habe jetzt die Schaltung noch einmal komplett überarbeitet.
Ist es jetzt soweit richtig / funktionstüchtig?

Zu den Werten:

0-48: 5mm LED, rot
R1-15: 1,1kOhm
R16: 220 Ohm
IC1: ATmega32
Q1-Q14: NPN-Transistor
VCC1: +5V
C2, C3: 150nF Kondensator

Für die Taster wird der interne Pull-Up verwendet.

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Abgesehen davon: Wenn ich ein 5V-Netzteil benutzen möchte, brauche ich 
eine Gleichrichterdiode, oder?

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> R16: 220 Ohm

Nicht einen R16 für alle, sondern einen Widerstand pro Zeile,
von 12 Ohm.

> R1-7: 1,1kOhm

Dürften 0 Ohm haben wenn Q8-Q14 NPN Transis in Emitterfolgerschaltung 
sind.

> R8-15: 1,1kOhm

Eher 220 Ohm.

Q1-Q7 sind sicherlich NPN-Transistoren, müssen aber 1A schalten
können. Da reicht ein BC547 nicht mehr, Glücklicherweise gibt
es viele, z.B. BC368, aber er braucht mehr als 20mA Basisstrom
dafür. Der ZTX1047 kommt mit 20mA aus.Allerdings ist deren beider
Pinbelegung anders.

> Wenn ich ein 5V-Netzteil benutzen möchte, brauche ich
> eine Gleichrichterdiode

Wenn dein 5V Netzteil Gleichstrom liefert (was anzunehmen ist)
dann brauchst du keine Diode.

Aber das Netzteil muss 1A liefern können (7 x 7 * 20mA).

Ein 47uF Elko auf der Platine zwischen +5V und Masse ist nützlich bei 
den geschalteten Strömen.

Achtung: Hängt dein Programm, wird eine LED ggf. mit 140mA durchflossen 
und stirbt dabei. Sorge für ein zuverlässig laufendes Programm.

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So - mein Programm zur Code-Generierung hat folgendes ausgespuckt, um 5 
Punkte gleichzeitig zum Leuchten zu bringen, sollte stimmen, oder?

Pin_1 bis Pin_6 sind PB.
Pin_7 bis Pin_13 sind PD.
' While-Schleife

Toggle Pin_1
Toggle Pin_8

Delay 1

Toggle Pin_1
Toggle Pin_8

Toggle Pin_5
Toggle Pin_8

Delay 1

Toggle Pin_5
Toggle Pin_8

Toggle Pin_3
Toggle Pin_10

Delay 1

Toggle Pin_3
Toggle Pin_10

Toggle Pin_1
Toggle Pin_12

Delay 1

Toggle Pin_1
Toggle Pin_12

Toggle Pin_5
Toggle Pin_12

Delay 1

Toggle Pin_5
Toggle Pin_12

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>> R16: 220 Ohm
>
> Nicht einen R16 für alle, sondern einen Widerstand pro Zeile,
> von 12 Ohm.
>
>> R1-7: 1,1kOhm
>
> Dürften 0 Ohm haben wenn Q8-Q14 NPN Transis in Emitterfolgerschaltung
> sind.
>
>> R8-15: 1,1kOhm
>
> Eher 220 Ohm.
>

Kannst du mir genau erklären, warum  woran das liegt  wie und was ich 
ändern muss?

> Q1-Q7 sind sicherlich NPN-Transistoren, müssen aber 1A schalten
> können. Da reicht ein BC547 nicht mehr, Glücklicherweise gibt
> es viele, z.B. BC368, aber er braucht mehr als 20mA Basisstrom
> dafür. Der ZTX1047 kommt mit 20mA aus.Allerdings ist deren beider
> Pinbelegung anders.

Praktischerweise hatte ich den ZTX1047 sowieso (ausversehen) statt einem 
normalen Transistor in meinem Pollin-Warenkorb. :D

In wie fern ist denn die Beschaltung von dem anders?
http://www.pollin.de/shop/downloads/D130934D.PDF

> Ein 47uF Elko auf der Platine zwischen +5V und Masse ist nützlich bei
> den geschalteten Strömen.

Den setze ich gleich rein.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> In wie fern ist denn die Beschaltung von dem anders?

Stimmt,  bei den Zetex hast du Glück, nur den BC368 ist anders.

Aber hast du nun den ZTX470 oder ZTX1047 ?

Nur der 1047 hat die gewünscht hohe Stromverstärkung.

> Kannst du mir genau erklären, warum  woran das liegt  wie
> und was ich ändern muss?

Ein WIderstand für alle LED geht nicht.
Schaltest du 2 LEDs ein, müsste über den Widerstand der dopplete
Strom fliessen. Das passiert aber nicht, also sind die LEDs nur halb so 
hell.

Du brauchst pro Transistor in der Leitung vom Emitter zu den LEDs je 
einen Widerstand. Und eben nicht 220 Ohm (dir wurde schon mehrmals 
vorgerechnet daß der Wert nicht stimmt) sondern 12 Ohm (bei 20mA LEDs).

Da du für Q8-Q14 NPN Transistoren als Emitterfolger einsetzen willst, 
brauchen die keinen Basisvorwiderstand.

Q1-Q7 sind aber gesättigte Schalttransistoren, und bei 1A Schaltstrom 
wollen die möglichst viel Basisstrom sehen. Deine 1k1 erlauben nur 4mA. 
Man sollte also wenigstens mit 220 Ohm die ganzen 20mA des AVR nutzen. 
Und selbst dann brauchst man Transistoren mit sehr hoher 
Stromverstärkung, eben so was wie ZTX1047.

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>> In wie fern ist denn die Beschaltung von dem anders?
>
> Stimmt,  bei den Zetex hast du Glück, nur den BC368 ist anders.
>
> Aber hast du nun den ZTX470 oder ZTX1047 ?
>
> Nur der 1047 hat die gewünscht hohe Stromverstärkung.

Hatte mich gestern verlesen, und nur einen ZTX450 gefunden.
http://www.pollin.de/shop/dt/NTYwOTY4OTk-/Baueleme...
Allerdings finde ich von dem 1047 nur Datenblätter. Pollin, Conrad, 
eBay, Reichelt und Google lieferten genull nau Angebote.

Gibt es da noch eine Alternative? Oder kannst du mir so ein Ding per 
Post schicken? xD

>> Kannst du mir genau erklären, warum  woran das liegt  wie
>> und was ich ändern muss?
>
> Ein WIderstand für alle LED geht nicht.
> Schaltest du 2 LEDs ein, müsste über den Widerstand der dopplete
> Strom fliessen. Das passiert aber nicht, also sind die LEDs nur halb so
> hell.

Auch, wenn ich immer nur eine LED leuchten lasse?
(bzw. eben 2 oder mehr schnell abwechselnd)

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Auch, wenn ich immer nur eine LED leuchten lasse?

Soll denn abwechseln mehr als 1 LED leuchten,
so daß der EINDRUCK entsteht als ob (theoretisch
alle) LEDs simultan leuchten,

oder ist das ein Spiel bei dem nur 1 Lichtopunkt
von Position zu Position springt ?

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>> Auch, wenn ich immer nur eine LED leuchten lasse?
>
> Soll denn abwechseln mehr als 1 LED leuchten,
> so daß der EINDRUCK entsteht als ob (theoretisch
> alle) LEDs simultan leuchten,
>
> oder ist das ein Spiel bei dem nur 1 Lichtopunkt
> von Position zu Position springt ?

Letzteres, und ggf. auch relativ viele - das Tutorial habe ich damals so 
verstanden, dass man damit die hohe Spannung umgehen würde.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> > Soll denn abwechseln mehr als 1 LED leuchten,
> > so daß der EINDRUCK entsteht als ob (theoretisch
> > alle) LEDs simultan leuchten,
>
> > oder ist das ein Spiel bei dem nur 1 Lichtopunkt
> > von Position zu Position springt ?

> Letzteres, und ggf. auch relativ viele

Ist es wirklich so schwer eine einzelne Frage zu beantworten ?


> das Tutorial habe ich damals so verstanden,
> dass man damit die hohe Spannung umgehen würde.

Oje.

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
>> > Soll denn abwechseln mehr als 1 LED leuchten,
>> > so daß der EINDRUCK entsteht als ob (theoretisch
>> > alle) LEDs simultan leuchten,
>>
>> > oder ist das ein Spiel bei dem nur 1 Lichtopunkt
>> > von Position zu Position springt ?
>
>> Letzteres, und ggf. auch relativ viele
>
> Ist es wirklich so schwer eine einzelne Frage zu beantworten ?

Sorry, hatte falsch gequotet - es soll der Eindruck entstehen, dass 
mehrere leuchten. ;)

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

Bewertung
0 lesenswert
nicht lesenswert
Daniel Jäger schrieb:
> So - mein Programm zur Code-Generierung hat folgendes ausgespuckt, um 5
> Punkte gleichzeitig zum Leuchten zu bringen, sollte stimmen, oder?

Schon, aber es ist sinnlos das so anzugehen.

Du steuerst deine Matrix generell so an, wie man eben eine Matrix 
ansteuert: So dass alle LED gleichzeitig leuchten könnten

Interrupt Routine, die einen Multiplex durch alle Spalten macht.

Und erst wenn du das hast, also ein Array, in der du jede LED nach 
belieben einzelen ansteuern kannst und dich nicht darum kömmern musst, 
dass die gemultiplext werden, erst dann machst du deinen Glittereffekt 
drüber.

Ich bin sicher, dass auch ein bei einem CSM gilt:
erst baut man sich einen tragfähigen Unterbau, ehe man dann auf diesem 
Unterbau seine Applikation drüberlegt.
Klingt zwar erst mal nach mehr Arbeit, ist es aber nicht und auf lange 
Sicht gesehen führt daran kein Weg vorbei.

Autor: Daniel Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Brauche ich denn jetzt auch die anderen Transistoren, wenn ich nur eine 
LED leuchten lasse, und der Effekt durch das abwechselnde Leuchten 
erzeugt wird?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies mal was zum Thema LED-Matrix

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> es soll der Eindruck entstehen, dass mehrere leuchten. ;)

Dann kannste das mit dem einen 200 Ohm Widerstand knicken,
das reichtn nur für 1 LED.

Wie schon geschrieben:

7 Widerstände von 12 Ohm in die Kollektorleitung zu den LEDs von jedem 
Transistor.

Und dann die Anzeige multiplexen.

Es gibt undgefähr 1 Million Multiplexanzeigebauvorschläge auf der Welt, 
warum guckst du dir nicht vorher einen an und sein Programm, bevor du 
alle Fehler noch mal machst die diese 1 Mio Leute schon hinter sich 
haben ? Auch beim Programm.

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.