Forum: Mikrocontroller und Digitale Elektronik Binäre Uhr Schaltungsentwurf


von Dennis (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte eine binäre Uhr bauen, welche Uhrzeit inkl. Sekunden, Datum 
und Raumtemperatur abwechselnd auf einer 6x4 LED Matrix anzeigt.

Ich hab mich halbwegs an den hier veröffentlichten Artikel zum Thema LED 
Matrizen gehalten. Einziger Unterschied: alle Transistoren arbeiten in 
Emitterschaltung.
Jenes soll von einem Attiny2313 gesteuert werden, welcher die 6 Spalten 
multiplext.
Es sollen blaue LEDs mit 3.3V Uf und 30mA If und BC337-40 verwendet 
werden.

Das ist mein erstes Projekt, deswegen herscht bei mir noch ziemliche 
Unsicherheit bzgl. der Berechnungen usw.
Und bevor ich damit zum Ätzen renne, hab ich noch ein paar Fragen:

-passt die Dimensionierung der Widerstände?

R=(5V-0.7V-3.3V)/30mA=33.3Ohm => 33Ohm  //Zeilenwiderstände
Ib=0.2A/400=0.5mA
R=(5V-0.7V)/0.5mA=8600Ohm => 8.66kOhm   //Basisvorwiderstände

-halten die LEDs 180mA Pulsstrom aus oder soll ich lieber mit dem 
Betriebsstrom (100mA/6)runtergehen, bis der Pulsstrom auf die im
Datenblatt angegebenen 100mA sinkt?

-muss die I2C-Verbindung vom DS1307 beim Benutzen des ISP Steckers noch 
getrennt werden?

-hab ich etwas übersehen?

Vielen Dank,
Gruß Dennis

: Verschoben durch User
von Bernhard S. (dl9rdw)


Lesenswert?

Hallo Dennis,

also hier ein paar Anmelrungen die mir auf die Schnelle eingefallen 
sind.

1.
Die Highside Transistoren sind normalerweise als PNP auszulegen.

2.
Die Bezeichnung von VCC vor und nach dem 7805 SPannungsregler sollte 
nicht gleich sein.

3.
Die LEDs auf keinen FAll mit mehr als dem Impulsstrom betreiben der im 
Datenblatt steht.

4.
Die Berechnung der Widerstände an der LED ist mir nicht einleuchtend.
Wieso ziehst Du 0,7 VOlt ab. Uce ist normalerweise irgendwo bei 0,2 Volt 
je Transistor, sind nach Adam Riese 0,4 Volt. Woher kommen die 3,3Volt 
(LED Spannungsabfall? Dann passts)

5.
Die Vorwiderstände sind auch nicht durchsichtig?
Du steuerst ja Pro Zeilentransistor nur 1 LED an. Gibt also 1 x den 
Impulsstrom von 100mA. In den Spaltentransistoren hingegen hast Du das 
Ganze ja, wenns blöd geht 4 mal, also 400 mA.
Verstärkung von 400 halte ich auch für gewagt, ohne ins Datenblatt zu 
schauen, aber hier bitte immer den schlechtesten Fall annehmen. Und dann 
noch schauen, ob der µC den Basisstrom treiben kann.

6.
I2C und ISP? Ja da gibts auch wenns blöd geht unerwünschte Effekte, das 
das I2C Device ja auch wärend der Programmierung unter Spannung steht.

7.
Was ist mit Quarz für den µC. Hat der sowas eingebaut?

8.
Wenn der AT90 interne PullUp Widerstände hat, dann kannst den Taster 
gegen Masse schalten und du kannst dir den externen PullDown sparen.

Bernhard

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Bernhard Schröcker schrieb:
> 1.
> Die Highside Transistoren sind normalerweise als PNP auszulegen.

Und wenn man partout die NPNs als Emitterfolger verwenden will, sollte 
man sich die Basiswiderstände (R5, R6, R14-R17) tunlichst schenken.

von Bernhard S. (dl9rdw)


Lesenswert?

Jupp

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Ist dir bewusst dass...

- Pin 3 beim AD590 (in TO52) keine Funktion hat?
- ein AD590 anders beschaltet sein will?
- ein ATtiny2313 keinen ADC besitzt?

von Bernhard S. (dl9rdw)


Lesenswert?

Oh ja,

Der AD590 ist ja auch noch da. Was soll der eigentlich machen?

von Dennis (Gast)


Lesenswert?

Danke Bernhard und Magnus für eure Anmerkungen

> 1.
> Die Highside Transistoren sind normalerweise als PNP auszulegen.

Ich lass die Vorwiderstände weg wie von Magnus beschrieben, damit sie 
dann als Emitterfolger arbeiten.

> 4.
> Die Berechnung der Widerstände an der LED ist mir nicht einleuchtend.
> Wieso ziehst Du 0,7 VOlt ab. Uce ist normalerweise irgendwo bei 0,2 Volt
> je Transistor, sind nach Adam Riese 0,4 Volt. Woher kommen die 3,3Volt
> (LED Spannungsabfall? Dann passts)

Die 0.7V ist die Sättigungsspannung laut Datenblatt und die 3.3V über 
der LED.

> 5.
> Die Vorwiderstände sind auch nicht durchsichtig?
> Du steuerst ja Pro Zeilentransistor nur 1 LED an. Gibt also 1 x den
> Impulsstrom von 100mA. In den Spaltentransistoren hingegen hast Du das
> Ganze ja, wenns blöd geht 4 mal, also 400 mA.
> Verstärkung von 400 halte ich auch für gewagt, ohne ins Datenblatt zu
> schauen, aber hier bitte immer den schlechtesten Fall annehmen. Und dann
> noch schauen, ob der µC den Basisstrom treiben kann.

nach dem Artikelhttp://www.mikrocontroller.net/articles/LED-Matrix

R=(5V-0.7V-0.7V-3.3V)/100mA=3Ohm
// da kann doch nicht stimmen bzw. nicht funktionieren, vielleicht nehme 
ich doch lieber rote LEDs mit 2V

Die Verstärkung wird mit 250-600 angegeben, deswegen hab ich mit 400 
gerechnet.

Die Spaltentransistoren müssten dann die 400mA mit einem Basisstrom von 
Ib=0.4/400=0.001A schalten können. Das schafft auch der Tiny.

> 6.
> I2C und ISP? Ja da gibts auch wenns blöd geht unerwünschte Effekte, das
> das I2C Device ja auch wärend der Programmierung unter Spannung steht.

Werde ich dann vorsichtshalber mit Jumpern oder Switch beim 
Programmieren trennen.

> 7.
> Was ist mit Quarz für den µC. Hat der sowas eingebaut?

Es ist ein interner Quarz vorhanden.

> 8.
> Wenn der AT90 interne PullUp Widerstände hat, dann kannst den Taster
> gegen Masse schalten und du kannst dir den externen PullDown sparen.

Ich hab schon was von internen PullUps gelesen, sind die an allen PINs 
verfügbar?

Zu dem AD590:
das soll eigentlich ein TMP36 für die Temperaturmessung sein, hab den 
AD590 nur für das TO92-Gehäuse benutzt.

Gruß Dennis

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Dennis schrieb:
> Es ist ein interner Quarz vorhanden.

Das ist kein Quarz.

> Zu dem AD590:
> das soll eigentlich ein TMP36 für die Temperaturmessung sein, hab den
> AD590 nur für das TO92-Gehäuse benutzt.

Das ändert aber nichts an der Tatsache, dass der ATtiny2313 keinen ADC 
hat!

Nachtrag:

Ausserdem wäre der Temperatursensor dann immer noch falsch 
angeschlossen. Beim TMP36 ist:

Pin 1     +Vs
Pin 2     Vout
Pin 3     GND

: Bearbeitet durch User
von Dennis (Gast)


Lesenswert?

Hallo Magnus,

> Das ist kein Quarz.

Ok, eine Schwingschaltung.

> Das ändert aber nichts an der Tatsache, dass der ATtiny2313 keinen ADC
> hat!

Verstehe. Wie ich gerade sehe sind Temperatursensor und A/D-Wandler in 
einem ziemlich teuer wie der DS1621.
Der LM75 ist zwar ungenau jedoch mit 1,40€ in Ordnung.

von Magnus M. (magnetus) Benutzerseite


Angehängte Dateien:

Lesenswert?

Dennis schrieb:
> Der LM75 ist zwar ungenau jedoch mit 1,40€ in Ordnung.

Im Vergleich zu deinem TMP36 ist der doch ok! (siehe Anhänge)

von Dennis (Gast)


Lesenswert?

Ich werde den LM75 in die Schaltung über I2C integrieren.

Bleibt das Problem mit den Widerständen.
Da ich für beide Transistoren jeweils 0.7V abziehen muss bleibt abzgl. 
der Spannung über der LED sehr wenig für den Widerstand.

Bei blauen LEDs die oben berechneten 3Ohm.

Bei roten LEDs: R=(5V-0.7V-0.7V-2V)/100mA=16Ohm.

Ich hab keine Ahnung bzw. Erfahrung aber das sieht zu klein aus.
Ich würde gerne bei der Schaltung und den blauen LEDs bleiben.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Dennis schrieb:
> Da ich für beide Transistoren jeweils 0.7V abziehen muss bleibt abzgl.
> der Spannung über der LED sehr wenig für den Widerstand.

Ausgehend von deiner bisherigen Beschaltung (allerdings ohne die 
Basiswiderstände an T1-T6):

- An den Transistoren T1 bis T6 (Emitterfolger) hast du jeweils ca.
  0,7V Spannungsabfall.

- An den Transistoren T7 bis T10 hast du einen deutlich geringeren
  Spannungsabfall (vorausgesetzt du machst deren Basiswiderstände
  klein genug).


Wie bereits erwähnt, solltest du für T1 bis T6 PNP Transistoren (dann 
jedoch wieder mit Basiswiderständen) verwenden. Das gibt dir wieder 
etwas mehr "Luft".

von Dennis (Gast)


Angehängte Dateien:

Lesenswert?

N'Abend

hab jetzt T1-T6 mit BC327-40 PNP Transistoren ersetzt.
Im "schlimmsten" Fall muss der 400mA treiben. Aus dem Datenblatt ist die 
minimalste Verstärkung bei dem niedrigsten angegebenen Kollektorstrom 
250.
Daraus ergibt sich ein Basisstrom von 1.6mA
R=(4.5V-0.7V)/1.6mA=>2.2kOhm

Der Zeilentreiber muss maximal 100mA treiben. Verstärkung ist ebenfalls 
250.
Daraus ergibt sich ein Basisstrom von 0.4mA
R=(4.5V-0.7V)/0.4mA=>9.09kOhm

Bleibt der LED Zeilenwiderstand. Wenn ich das richtig verstehe heben 
sich jetzt durch den PNP die 0.7V auf bzw. können vernachlässigt werden?
D.h. R=(5V-3.3V)/(100mA/16)=100Ohm

Hab ich das jetzt so richtig verstanden?

Gruß Dennis

von xl (Gast)


Lesenswert?

Dennis schrieb:
> hab jetzt T1-T6 mit BC327-40 PNP Transistoren ersetzt.
> Im "schlimmsten" Fall muss der 400mA treiben. Aus dem Datenblatt ist die
> minimalste Verstärkung bei dem niedrigsten angegebenen Kollektorstrom
> 250.

Das ist nicht der wichtige Wert. Du betreibst den Transistor als 
Schalter. Da soll er den geforderten Kollektorstrom nicht nur gerade so 
durchlassen, sondern in den Sättigungsbereich kommen. Dann (und nur 
dann) fällt an der Kollektor-Emitterstrecke nur noch die eher kleine 
Sättigungsspannung ab. Bei den von dir gewählten Typen sind das eher 
mittelprächtige 0.2-0.3V. Und dazu muß der Transistor um Faktor 5-10 
übersteuert werden. Sprich du brauchst den 5-10 fachen Basisstrom.

Siehe Artikel Basiswiderstand

> Bleibt der LED Zeilenwiderstand. Wenn ich das richtig verstehe heben
> sich jetzt durch den PNP die 0.7V auf bzw. können vernachlässigt werden?
> D.h. R=(5V-3.3V)/(100mA/16)=100Ohm

Die Sättigungsspannung von je 2x 0.2V kannst du natürlich nicht 
vernachlässigen. Und wo der Faktor 16 herkommt, ist mir auch nicht klar. 
Aber mit 100mA/16 ~= 6mA und dann bedingt durch den 1:4 Multiplex nur 
einem Viertel davon wird auch eine blaue LED eher düster sein.

von Dennis (Gast)


Angehängte Dateien:

Lesenswert?

> Das ist nicht der wichtige Wert. Du betreibst den Transistor als
> Schalter. Da soll er den geforderten Kollektorstrom nicht nur gerade so
> durchlassen, sondern in den Sättigungsbereich kommen. Dann (und nur
> dann) fällt an der Kollektor-Emitterstrecke nur noch die eher kleine
> Sättigungsspannung ab. Bei den von dir gewählten Typen sind das eher
> mittelprächtige 0.2-0.3V. Und dazu muß der Transistor um Faktor 5-10
> übersteuert werden. Sprich du brauchst den 5-10 fachen Basisstrom.

Ich hab mir jetzt die Ausgangskennlinien vom BC337 und BC328 zu Hilfe 
genommen um den Arbeitspunkt bei 5V Betriebsspannung und dem jeweils zu 
schaltenden Strom zu bestimmen, entspricht ja ungefähr deinen Angaben.
Ist das so richtig?

BC337 abgelesen:
Vce=0.2V
Ib=1.6mA =>2mA
Rv=(4.5V-0.2V)/2mA=2.15kOhm

BC328 abgelesen:
Vce=-0.5V
Ib=-3.2mA
Rv=(4.5V-0.2V)/2mA=1.15kOhm

Damit ergibt sich für die Zeilenwiderstände:
R=(5V-0.2V-0.5V-3.3V)/16.67mA=62Ohm

> Die Sättigungsspannung von je 2x 0.2V kannst du natürlich nicht
> vernachlässigen. Und wo der Faktor 16 herkommt, ist mir auch nicht klar.
> Aber mit 100mA/16 ~= 6mA und dann bedingt durch den 1:4 Multiplex nur
> einem Viertel davon wird auch eine blaue LED eher düster sein.

Ich hab mich vertippt das sollten 100mA/6 bei einem 1:6 Multiplex sein.
Damit beträgt der Nennstrom ca. 16.67mA und der Pulsstrom von 100mA wird 
nicht überschritten.

Die PNPs müssen dann beim programmieren invertiert betrachtet werden 
oder?

von Dennis (Gast)


Lesenswert?

> Damit ergibt sich für die Zeilenwiderstände:
> R=(5V-0.2V-0.5V-3.3V)/16.67mA=62Ohm

Sorry, ich teile natürlich durch den Pulsstrom, also:

R=(5V-0.2V-0.5V-3.3V)/100mA=10Ohm

Sieht immernoch wenig aus, reichen 1V über dem Widerstand?

von xl (Gast)


Lesenswert?

Dennis schrieb:
> Ich hab mir jetzt die Ausgangskennlinien vom BC337 und BC328 zu Hilfe
> genommen um den Arbeitspunkt bei 5V Betriebsspannung und dem jeweils zu
> schaltenden Strom zu bestimmen, entspricht ja ungefähr deinen Angaben.
> Ist das so richtig?

Es ist schon mal besser. Allerdings sind die Diagramme für "typische" 
Exemplare. Keiner garantiert dir, daß deine Transistoren nicht 
schlechter (oder besser) sind. Ich würde da nochmal einen 
Sicherheitsfaktor von ~2 zugeben.

Dennis schrieb:
> Die PNPs müssen dann beim programmieren invertiert betrachtet werden
> oder?

Klar.

Dennis schrieb:
> Sorry, ich teile natürlich durch den Pulsstrom, also:
> R=(5V-0.2V-0.5V-3.3V)/100mA=10Ohm

Gut, das hast du selber erkannt.

> Sieht immernoch wenig aus, reichen 1V über dem Widerstand?

Ist nicht berauschend, sollte aber reichen. 0.1V Abweichung an einer 
beliebigen Stelle führen halt zu 10% Abweichung beim Strom.

von Bernhard S. (dl9rdw)


Lesenswert?

Ja warum soll 1Volt nicht reichen?
Entscheidend ist eher, dass dir der Strom von 100mA bei 1/6 
Einschaltzeit reicht dass die LED hell genug ist. Bei effektiv 16mA 
kann's bei den Blauen schon eng werden.

Die Berechnung des Vorwiderstandes sieht jetzt gut aus, wobei ich in der 
Regel den Basisstrom auch deutlich höher wähle als es notwendig ist, 
damit die Uce Spannung klein genug wird.
Auf der Highside Seite kann man auch MOSFETs verwenden, wenn man mal 
mehr Strom braucht.

Sollte dir die Spannung nicht reichen, kann man auch eine höhere 
Spannung zum treiben der LEDs verwenden. Mußt halt dann auf der Highside 
Seite noch einen NPN Transistor vorschalten, damit das Ganze mit 5Volt 
ansteuerbar bleibt.

Wichtig wäre noch die Speisespannung der LEDs ordentlich mit 
Kondensatoren zu puffern, damit dir auf der 5V Seite keine Rippel 
entstehen und der MC Mätzchen macht.

Gruß

Bernhard...

von xl (Gast)


Lesenswert?

Noch was: bei einer 4x6 Matrix würde man natürlich die 4er Dimension 
multiplexen. Weil dann das Verhältnis von Spitzenstrom zum mittleren 
Strom besser wird (man kann die LED heller machen).

Und noch was: wie du siehst, sind die npn-Typen bessere Schalter 
(weniger Sättigungsspannung bei hohem Strom). Man wird also die LED in 
der Matrix so herum polen, daß die Dimension mit den höheren Strömen die 
besseren Schalter verwendet.

von Thomas (Gast)


Lesenswert?

Ich habe mir auch eine Binäruhr gebaut, 4x4 RGB mit DCF77 Modul.
Aus der Erfahrung die ein Jahr Betrieb mit sich bringt, möchte ich dir 
sagen daß die abwechselnde Anzeige von Uhrzeit/Datum/Temperatur sehr 
verwirrend und schlecht ablesbar ist. Man muss ja schon kurz überlegen 
und zusammenzählen..
Dazu kommt noch daß du einfarbige LEDs verwendest. Wie unterscheidest du 
die verschiedenen Anzeigen?
Bei meiner hatte ich das über die Farbe gemacht. Mittlerweile zeigt sie 
aber nur noch die Uhrzeit (Stunden und Minuten im 24h Format). So ist es 
viel entspannter :)

von Dennis (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank für eure Hilfe!

> Entscheidend ist eher, dass dir der Strom von 100mA bei 1/6
> Einschaltzeit reicht dass die LED hell genug ist. Bei effektiv 16mA
> kann's bei den Blauen schon eng werden.

Wie eng wirds denn? Ich hab die LEDs leider noch nicht auf dem Tisch 
liegen, wollte die natürlich mit den Transistoren und den Widerständen 
etc. zusammen bestellen. Und meine i-Con pico kommt auch erst Ende 
Januar :D
Jedenfalls kann ich die 16mA noch nicht austesten. Ich kann nur sagen, 
dass mich die Uhr nicht bestrahlen soll, aber man sollte sie bei 
normaler Schreibtischbeleuchtung einigermaßen lesen können.

> Es ist schon mal besser. Allerdings sind die Diagramme für "typische"
> Exemplare. Keiner garantiert dir, daß deine Transistoren nicht
> schlechter (oder besser) sind. Ich würde da nochmal einen
> Sicherheitsfaktor von ~2 zugeben.

Hallo xl,
ich wollte mich bei dem BC328 beim Basisstrom zwischen 2.8mA-3.2mA 
halten,
da der 2313 glaub ich im Gegensatz zu den 20mA pro Pin die er rausgeben 
darf, nur 3mA "reinlassen" kann.
Ich würde dann jetzt einfach für beide Transistoren 1.15kOhm Widerstände 
nutzen.

> Noch was: bei einer 4x6 Matrix würde man natürlich die 4er Dimension
> multiplexen. Weil dann das Verhältnis von Spitzenstrom zum mittleren
> Strom besser wird (man kann die LED heller machen).

Ok das macht Sinn dann könnten die LEDs mit 25mA leuchten. Jedoch 
müssten die BC337 dann 600mA verkraften. Kann ich den Basisstrom einfach 
insgesamt annähernd maximal für den 2313 hochmachen damit die Vce 
weiterhin bei 0.2-0.4V bleibt? Weil laut Diagram wird diese ja dann 
relativ hoch.

> Wichtig wäre noch die Speisespannung der LEDs ordentlich mit
> Kondensatoren zu puffern, damit dir auf der 5V Seite keine Rippel
> entstehen und der MC Mätzchen macht.

Hallo Bernhard,
nächste doofe Frage^^: Meinst du damit einen Kondensator parallel
zur gesamten Matrix, damit, wenn die Spannung etwas einbricht, der 
Kondensator kurzzeitig "aushilft" und der MC auch noch am leben bleibt?
Wenn ja, für welche Zeit soll ich den Kondensator dann dimensionieren, 
1ms?

> Dazu kommt noch daß du einfarbige LEDs verwendest. Wie unterscheidest du
> die verschiedenen Anzeigen?

Hallo Thomas,
ich hab mir das so vorgestellt, dass sich bei der Uhrzeit ja jede 
Sekunde etwas ändert, kann man diese schonmal vom Datum unterscheiden.
Die Temperatur wollte ich als "normale" Zahl darstellen oder da das bei 
der Dimension nicht so toll aussieht, vielleicht nur die erste und die 
letzte Spalte wieder binär für die beiden Ziffern nutzen.

von Amateur (Gast)


Lesenswert?

@Dennis

Mal abgesehen davon, dass ich die Taster anders anschließen würde!

WIE ZUM GEIER WILLST DU DIE UHR STELLEN?

Via ISP?

Mit einer Einfachstanzeige und einem Up-/Down-Taster (oder was) ist das 
ganze ein Job für den guten, alten Sisyphos, aber nicht für normale 
Menschen.
Toll wird's wenn Du beim Setzen 20 Stunden, oder mehr, überspringen 
musst - mit einer Sekundenauflösung.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Amateur schrieb:
> WIE ZUM GEIER WILLST DU DIE UHR STELLEN?
>
> Via ISP?

Da ließe sich doch was über die Temperatur machen...   * GRINS *

von Amateur (Gast)


Lesenswert?

>Da ließe sich doch was über die Temperatur machen...

20:15:55 - Also 6 gültige Stellen - dafür kannst Du Dir einen eigenen 
Uhrmacher kaufen.

von Dennis (Gast)


Lesenswert?

> Mal abgesehen davon, dass ich die Taster anders anschließen würde!

Wie denn?

> WIE ZUM GEIER WILLST DU DIE UHR STELLEN?
> Via ISP?

Erstmal schon.

> Mit einer Einfachstanzeige und einem Up-/Down-Taster (oder was) ist das
> ganze ein Job für den guten, alten Sisyphos, aber nicht für normale
> Menschen.

Ich dachte mir einfach einen Set- und einen Up-Taster.
Mit dem Set kann man ja schnell durch Stunden,Minuten,Tagen,Monaten und 
Jahren durchschalten und mit dem Up-Taster sind die im schlimmsten Fall 
59mal betätigen bzw. einmal gedrückt halten auch nicht so wild.
Mal davon abgesehen, dass viele die Uhr wahrscheinlich nicht lesen 
können^^ Mir reicht das.

Aber das ist im Moment meine geringste Sorge^^

von Amateur (Gast)


Lesenswert?

>Aber das ist im Moment meine geringste Sorge^^

Für mich auch nicht. Nur haben in ein Layout gegossene Ideen den 
Nachteil der Unveränderlichkeit.

Um noch mal auf die Tasteranbindung zurückzukommen. Ich verkneife es mir 
Eingänge direkt mit der Betriebsspannung (excl. Null) zu verbinden.

Schau mal in das Datenblatt, ob ein offener Eingang würglich logisch 
null annimmt.

Andernfalls schau mal nach wie "andere" das machen.

von Thomas (Gast)


Lesenswert?

Amateur schrieb:
> Nur haben in ein Layout gegossene Ideen den
> Nachteil der Unveränderlichkeit.

Man könnte das Ganze ja auch auf einem Steckbrett testen und später auf 
Platine bringen. Dazu hat man die Dinger erfunden.

Amateur schrieb:
> Um noch mal auf die Tasteranbindung zurückzukommen...
> ...schau mal nach wie "andere" das machen.

Das würde ich mal so unterschreiben.

von Jobst M. (jobstens-de)


Lesenswert?

Man könnte weitere Tasten mit in die Matrix einbauen. 20 Tasten wären so 
möglich. Ich würde auch die Leitungen für I²C an die Ports hängen, wo 
gerade die Tasten dran sind und die ISP Leitungen (MISO, MOSI, SCK) für 
3 Taster verwenden (dann wären mit Matrix sogar 30 Taster möglich).

Pin 5-7 vom LM75 sollen in der Luft hängen?

Dem 7805 würde ich noch 100nF am Eingang spendieren. Ebenso den anderen 
ICs an den Versorgungsanschlüssen.


Gruß

Jobst

von Bernhard S. (dl9rdw)


Lesenswert?

Hallo Dennis,

Ja ich meinte direkt wo du die 5Volt für die Matrix abnimmst. Mußt 
wahrscheinlich etwas experimentieren. Ich tät so 470uF Elko verwenden 
und die 5Volt für die LEDs getrennt von den 5Volt für die Logik vom 
Spannungsregler abnehmen. (Sternförmig)

Bernhard

von Dennis (Gast)


Angehängte Dateien:

Lesenswert?

> Um noch mal auf die Tasteranbindung zurückzukommen. Ich verkneife es mir
> Eingänge direkt mit der Betriebsspannung (excl. Null) zu verbinden.
>
> Schau mal in das Datenblatt, ob ein offener Eingang würglich logisch
> null annimmt.
> Andernfalls schau mal nach wie "andere" das machen.

Andere scheinen das mit einem Taster nach GND zu machen.
Ich kannte das nur von Arduino-Projekten mit dem Taster nach VCC.

> Man könnte das Ganze ja auch auf einem Steckbrett testen und später auf
> Platine bringen. Dazu hat man die Dinger erfunden.

Ich denke ich werde das auch so machen um die optimalen Vorwiderstände 
zu finden/testen und die Vce direkt am Transistor nachzumessen und 4:1 
und 6:1 MUX zu vergleichen.

> Man könnte weitere Tasten mit in die Matrix einbauen. 20 Tasten wären so
> möglich. Ich würde auch die Leitungen für I²C an die Ports hängen, wo
> gerade die Tasten dran sind und die ISP Leitungen (MISO, MOSI, SCK) für
> 3 Taster verwenden (dann wären mit Matrix sogar 30 Taster möglich).

Mir reichen die beiden oder halt wie du vorschlägst noch 3 zusätzlich an 
den ISP Leitungen.

> Pin 5-7 vom LM75 sollen in der Luft hängen?

Danke für den Hinweis. Dachte dann wird der LM75 einfach mit 0,0,0 
addressiert. Hab jetzt 3 Jumper hinzugefügt um die jeweils nachträglich 
beliebig adressieren zu können.

> Dem 7805 würde ich noch 100nF am Eingang spendieren.

Wozu noch einen?

> Ja ich meinte direkt wo du die 5Volt für die Matrix abnimmst. Mußt
> wahrscheinlich etwas experimentieren. Ich tät so 470uF Elko verwenden

Danke, dann versuch ich es in dieser Dimension. Ich bin mir nicht 
sicher, aber der wird dann auch wie der Elko am 7805 mit dem Minus zur 
Speisespannung verbunden?

> und die 5Volt für die LEDs getrennt von den 5Volt für die Logik vom
> Spannungsregler abnehmen. (Sternförmig)

Gute Idee. Macht Eagle das automatisch, wenn ich die Speisespannung im 
Schaltplan direkt zum 7805 lege?

Gruß Dennis

(am Quarz fehlen hier noch 2 Kondensatoren)

von Axel S. (a-za-z0-9)


Lesenswert?

Dennis schrieb:
> ich wollte mich bei dem BC328 beim Basisstrom zwischen 2.8mA-3.2mA
> halten,
> da der 2313 glaub ich im Gegensatz zu den 20mA pro Pin die er rausgeben
> darf, nur 3mA "reinlassen" kann.

Dann nimm halt den ATtiny2313. Der ist nicht nur pinkompatibel, sondern 
mittlerweile auch billiger (falls du den classic 2313 überhaupt noch zu 
kaufen kriegst)

>> Noch was: bei einer 4x6 Matrix würde man natürlich die 4er Dimension
>> multiplexen. Weil dann das Verhältnis von Spitzenstrom zum mittleren
>> Strom besser wird (man kann die LED heller machen).
>
> Ok das macht Sinn dann könnten die LEDs mit 25mA leuchten. Jedoch
> müssten die BC337 dann 600mA verkraften.

Tun sie ohnehin nicht. Laut Datenblatt können sie bis 500mA. Wirklich 
verwenden wollen würde man sie bis höchstens 250mA. Steht alles im 
bereits genannten Artikel Basiswiderstand.

Andererseits wirst du vermutlich viel weniger als 25mA (oder 16mA) 
effektiven Strom brauchen. Blaue LED sind brutal hell. Und insbeson- 
dere bei hoher Helligkeit nicht augenfreundlich. Soll heißen das Auge 
kann auf blaue LED viel schlechter scharf stellen als auf rote oder 
grüne. Wenn du also nicht noch irgendwas extrem lichtschluckendes vor 
deine LEDs bauen willst, rechne eher mit (effektiven) Strömen im 
einstelligen mA Bereich.

Grob über den Daumen würde ich 3mm LED, die direkt aus einer Frontplatte 
"gucken", direkt von einem AVR treiben lassen mit 20-30mA Spitzenstrom.


XL

von Jobst M. (jobstens-de)


Lesenswert?

Dennis schrieb:
>> Dem 7805 würde ich noch 100nF am Eingang spendieren.
>
> Wozu noch einen?

Weil da noch keiner ist.

Dennis schrieb:
> Mir reichen die beiden oder halt wie du vorschlägst noch 3 zusätzlich an
> den ISP Leitungen.

Nicht zusätzlich. Ausserdem kannst Du Dir dann die Jumper im I²C sparen.


Gruß

Jobst

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.