Forum: Mikrocontroller und Digitale Elektronik Die Geek-Clock (Uhr fuer Geeks) mit LED-Matrix


von Michael G. (linuxgeek) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Forum,

ich plane mir eine etwas abgefahrene Uhr zu bauen, welche ihre Ausgabe 
mit LEDs bewerkstelligt. Hierzu brauche ich insg. 32 LEDs (etwas weniger 
waeren
auch OK gewesen aber mehr sind kein Problem). Ich will immo nicht zu 
sehr auf die Funktionsweise der Uhr eingehen. Im Anhang ist mein erster 
Schaltplanentwurf mit einem gemultiplexten LED-Array.

Ist die Sache so in Ordnung oder habe ich da noch einen groesseren 
Fehler drinnen? Vor allem: sind die Widerstaende so OK? Im Tutorial sind 
die Widerstaende ja zeilenweise verwendet allerdings hat dort eine Zeile 
auch nur 4 Spalten. Ich hab jetzt 4 Zeilen mit 8 Spalten und daher die 
Widerstaende wie im Schaltplan geschalten -- muesste alles OK sein aber 
ich wollte lieber nochmal nachfragen bevor ich mich ans Layout mache.

Hoffentlich reisst mir jetzt keiner den Kopf ab weil's ja schon etliche 
Artikel zu dem Thema gibt. Allerdings: Wenn sich jemand mehr fuer diese 
Uhr interessiert... kann er gerne fragen ;) Ich hab sowas mal in nem 
Shop gesehen aber da musste man im Amiland bestellen und natuerlich war 
dann nur Kreditkartenzahlung moeglich. Ich bau mir das jetzt nach.

In diesem Zusammenhang gaebe es auch noch bissel was mathematisches zu 
klaeren und die Frage, wie man am Besten Zufallszahlen mit nem muC 
erzeugt, also mit Hardware? Evt. verwend ich auch einfach ein Polynom 
mit Restklassenring und irgendeinen Counter aber vllt. is das ja einfach 
zu machen, Vorschlaege nehme ich gerne entgegen.


Gruesse,
Michael

von Stefan W. (wswbln)


Lesenswert?

Hey, endlich mal einer, der auch mit Eagle halbwegs übersichtliche 
Schaltpläne zeichnet (und nicht wie viele andere Leitungen kreuz und 
quer durch die Bauteile zieht).

- Hat es einen besonderen Grund, warum Du NPN Transistoren als 
Emitterfolger verwendest und nicht PNPs in Kollektorschaltung?
- Und 'nen ISP-Stecker siehst Du doch auch noch vor - oder?
- Wenn Du noch einen der ADC Eingänge freischaufelst, dort einen 
Spannungsteiler aus 10K Metallfilmwiderstand (nach Vcc) und 10K NTC 
dranmachst und AREF noch einen 100nf KerKo nach Masse spendierst, dann 
kann Deine Uhr sogar wahlweise auch die Zimmertemperatur anzeigen.
- Was kommt an VinBatt dran? Doch hoffentlich kein Akku ohne Schutz- und 
Ladeschaltung?
- Sieh mal sicherheitshalber noch 'nen Kondi zwischen Resert und Masse 
vor (falls Du ein Layout machst).

Frage: Wozu braucht Du 3 Reset-Taster??  ;-))

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hi Stefan!

Thx... und ich hab schon auf Scholte gewartet hehe. Thx.

> - Hat es einen besonderen Grund, warum Du NPN Transistoren als
> Emitterfolger verwendest und nicht PNPs in Kollektorschaltung?

Es hat keinen besonderen Grund, spricht etwas dagegen? Habe es halt so 
in nem Artikel hier gesehen.


> - Und 'nen ISP-Stecker siehst Du doch auch noch vor - oder?

Wenn Du mir noch sagst was das fuer nen Stecker ist, vllt. ;)

> - Wenn Du noch einen der ADC Eingänge freischaufelst, dort einen
> Spannungsteiler aus 10K Metallfilmwiderstand (nach Vcc) und 10K NTC
> dranmachst und AREF noch einen 100nf KerKo nach Masse spendierst, dann
> kann Deine Uhr sogar wahlweise auch die Zimmertemperatur anzeigen.

Hmm... das ist eine nette idee aber im Prinzip brauch ich's nicht ;) Ich 
denk mal drueber nach.

> - Was kommt an VinBatt dran? Doch hoffentlich kein Akku ohne Schutz- und
> Ladeschaltung?

Nach Moeglichkeit soll da garnichts hinkommen ich hab das mal vorgesehen 
dass ich da evt. mal was anklemmen kann falls ich es brauche, der 
Festpannungswandler ist ja bekanntlich nicht so energieeffizient. Wenn 
Du einen Vorschlag hast wie man das mit ner Batterie am besten speisen 
koennte (ausser nem 9V-Block an VIN), lass ruhig hoeren.

> - Sieh mal sicherheitshalber noch 'nen Kondi zwischen Resert und Masse
> vor (falls Du ein Layout machst).

OK.

> Frage: Wozu braucht Du 3 Reset-Taster??  ;-))

Ups... danke fuer den Hinweis, einer reicht. Is glaub ich Zeit ins Bett 
zu gehen ;) Danke fuer die AW,

Michael

von Stefan W. (wswbln)


Lesenswert?

Michael G. wrote:

>> - Hat es einen besonderen Grund, warum Du NPN Transistoren als
>> Emitterfolger verwendest und nicht PNPs in Kollektorschaltung?
>
> Es hat keinen besonderen Grund, spricht etwas dagegen? Habe es halt so
> in nem Artikel hier gesehen.

Nun ja: Beim Emitterfolger-NPN kannst Du den Transi nicht in die 
Sättigung treiben, sondern hast immer die Ube von min 0,7 als 
Spannungsabfall. Das verheizt unnötig Leistung im Transistor (ca. 250mW 
je Transi, wenn alle 8 LEDs einer Zeile an sind, das macht bei einem 
RthJA von 200K/W beim TO92 Gehäuse eine Erwärmung um immerhin ~50°!)

>> - Und 'nen ISP-Stecker siehst Du doch auch noch vor - oder?
>
> Wenn Du mir noch sagst was das fuer nen Stecker ist, vllt. ;)

Ich probier's mal auf Deutsch ;-))  - den Programmierstecker für den 
AVR! (Reset, MISO, MOSI, SCK, GND, Vcc)

>>...kann Deine Uhr sogar wahlweise auch die Zimmertemperatur anzeigen.
>
> Hmm... das ist eine nette idee aber im Prinzip brauch ich's nicht ;) Ich
> denk mal drueber nach.

Ist wie mit Deinem VinBatt-Stecker: Kann man vorsehen (kost' ja nix/kaum 
was) und man muss es ja nicht benutzen :-)   Aber eine Uhr für Geeks 
muss ja auch ein Gimmick haben...

>> - Was kommt an VinBatt dran?...
>
> Nach Moeglichkeit soll da garnichts hinkommen

Gut. Bei dem voraussichlichen Strombedarf der LED-Matrix würde da für 
einigermassen taugliche Überbrückungszeiten eh' nur ein Bleiakku mit 
mehreren Ah Sinn machen, aber den gibt's nicht in 5V.

von Falk B. (falk)


Lesenswert?

@ Stefan Wimmer (wswbln)

>Nun ja: Beim Emitterfolger-NPN kannst Du den Transi nicht in die
>Sättigung treiben, sondern hast immer die Ube von min 0,7 als
>Spannungsabfall.

Das hat JEDER Transistor, egal in welcher Schaltung. ;-)
Du meinst UCE.

> Das verheizt unnötig Leistung im Transistor (ca. 250mW

???
Nicht ganz, ich komme auch ca. 190mW PEAK Leistung, bei 1:4 MUX macht 
das ~50mW effektiv. Kein Thema!
Aber die Basisvorwiderstände R11-R14 sind FALSCH. Ein Emitterfolgr hat 
keinen Basisvorwiderstand!

>einigermassen taugliche Überbrückungszeiten eh' nur ein Bleiakku mit
>mehreren Ah Sinn machen, aber den gibt's nicht in 5V.

Aber in 6V. Und mit einer Diode ioder einem Low Drop Linearregler 
bekommt man die Spannung auf ungefähr 5V. Aber der Spaungsregler mag es 
gar nicht, wenn jemand an seinem Ausgang Strom einspeist. Also die 
Batterie besser am EINGANG des Spannungsreglers anklemmen. Oder noch 
besser, per Stecker das Ganze umschaltbar machen.

MFG
Falk

von Hans-Christian (Gast)


Lesenswert?

Und wieso gibt es drei unterschiedlich benannte Reset-Taster? Ein 
gemeinsamer Pull-Up-Widerstand für drei Taster geht leider nicht, da 
musst Du schon jeweils einen spendieren.

von Peter D. (peda)


Lesenswert?

Stefan Wimmer wrote:

> - Hat es einen besonderen Grund, warum Du NPN Transistoren als
> Emitterfolger verwendest und nicht PNPs in Kollektorschaltung?

Weil ein PNP in Kollektorschaltung hier nicht funktionieren würde.

Emitterfolger = Kollektorschaltung !

Emitterfolger (Kollektorschaltung) hat den Vorteil, daß kein 
Nachleuchten erfolgt bzw. keine extra Totzeiten programmiert werden 
müssen.

Ob die 0,7V am Transistor oder an den Vorwiderständen abfallen ist 
völlig schnurz, Hauptsache es bleibt noch genug für die LEDs übrig.


Peter

von Falk B. (falk)


Lesenswert?

@ Hans-Christian (Gast)

>gemeinsamer Pull-Up-Widerstand für drei Taster geht leider nicht, da

Stimmt.

>musst Du schon jeweils einen spendieren.

Brauch er nicht, der AVR hat intern zuschaltbare. Wobei die Taste am 
Reset wenig Sinn hat. Häng die lieber an ein normales IO Pin.

MfG
Falk

von Stefan W. (wswbln)


Lesenswert?

Ups, Peter hat recht, ich meinte natürlich Emitterschaltung (war wohl 
auch für mich schon zu spät, als ich die erste Antwort schrieb) ;-)

@Hans-Christian: Guten Morgen!

von Ingo (Gast)


Lesenswert?

Hi!

für die zufallszahlen würde ich evtl. einen ADC freiklemmen und damit 
Rauschen o.Ä. messen, evtl. das Rauschen einer Diodenstrecke mit einem 
OP verstärken, im schlimmsten Fall einfach einen Spannungsteiler mit 
Phototransistor dran.
Dann einfach ein paar Messungen machen, die sollen sich wohl nicht so 
schnell wiederholen ;)

Gruss, Ingo.

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>Emitterfolger (Kollektorschaltung) hat den Vorteil, daß kein
>Nachleuchten erfolgt bzw. keine extra Totzeiten programmiert werden
>müssen.

Das muss man bei einer richtg dimensionierten Emitterschaltung (tm) auch 
nicht. Aber das hatten wir schon mal. ;-)

>Ob die 0,7V am Transistor oder an den Vorwiderständen abfallen ist
>völlig schnurz, Hauptsache es bleibt noch genug für die LEDs übrig.

<Haarspalterei>
Nicht ganz, denn so bleibt weniger Spannung über dem Vorwiderstand, der 
muss demzufolge kleiner sein und dadurch sinkt der Widerstand der 
Stromquelle, was ein schlechteres Regelverhalten bewirkt (grössere 
Stromänderung bei Veränderung der Flusspannung der LED durch 
Bauteilstreuung und Temperatur)
</Haarspalterei>

Ich hör ja schon auf. ;-)

MFG
Falk

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hallo,

ok mit den Transistoren hab ich jetzt x unterschiedliche Aussagen 
gehoert.

> Aber die Basisvorwiderstände R11-R14 sind FALSCH. Ein Emitterfolgr hat
> keinen Basisvorwiderstand!

Kann ich jetzt davon ausgehen, dass, wenn ich die Basiswiderstaende 
entferne, die Sache korrekt ist? So habe ich das zumindest aufgefasst.

> Ich probier's mal auf Deutsch ;-))  - den Programmierstecker für den
> AVR! (Reset, MISO, MOSI, SCK, GND, Vcc)

Kann man dran machen... warum nicht, der AVR wird aber auf jeden Fall 
gesockelt.

> Ist wie mit Deinem VinBatt-Stecker: Kann man vorsehen (kost' ja nix/kaum
> was) und man muss es ja nicht benutzen :-)   Aber eine Uhr für Geeks
> muss ja auch ein Gimmick haben...

Falsch, weil Gimmicks nicht geek-like sind hehe. Naja diese Uhr ist ein 
einziges Gimmik. Ich glaube wenn sie fertig ist und ich stell hier mal 
einen Link zu nem Video rein werdet ihr verstehen ;)

> Also die Batterie besser am EINGANG des Spannungsreglers anklemmen. Oder > noch 
besser, per Stecker das Ganze umschaltbar machen.

Ich glaub ich nehm den Stecker wieder raus... dacht mir sowieso dass das 
zuviel Saft braucht fuer eine Batteriespeisung.

> Und wieso gibt es drei unterschiedlich benannte Reset-Taster? Ein
> gemeinsamer Pull-Up-Widerstand für drei Taster geht leider nicht, da
> musst Du schon jeweils einen spendieren.

Den Fehler hab ich bereits erkannt, wurde korrigiert. Im Prinzip braucht 
man aber doch ueberhaupt keine Pullups, weil der AVR ja schon interne 
hat. Wenn ich das Datenblatt richtig interpretiert habe, werden die 
automatisch aktiviert, wenn der Portpin als Eingang konfiguriert wird?

So long,
Michael

P.S. Hab auch noch ne kleine DIP-Bruecke vergessen zwecks Konfiguration 
der Update-Zeit. Werde heute abend eine korrigierte Fassung vom 
Schaltplan einstellen.

von Falk B. (falk)


Lesenswert?

@ Michael G. (linuxgeek)

>Kann ich jetzt davon ausgehen, dass, wenn ich die Basiswiderstaende
>entferne, die Sache korrekt ist? So habe ich das zumindest aufgefasst.

Ja.

>hat. Wenn ich das Datenblatt richtig interpretiert habe, werden die
>automatisch aktiviert, wenn der Portpin als Eingang konfiguriert wird?

Nein. Der interne Pull-Up wird aktiviert, wenn man das Pin auf Eingang 
konfiguriert (ist nach dem Reset automatisch der Fall) UND in das 
jeweile Bit des PORTx Registers eine 1 schreibt.

MFG
Falk

von F. K. (freddy436)


Lesenswert?

Michael G. wrote:
> In diesem Zusammenhang gaebe es auch noch bissel was mathematisches zu
> klaeren und die Frage, wie man am Besten Zufallszahlen mit nem muC
> erzeugt, also mit Hardware?

Dazu gibt es hier schon einige Threads. kommt natürlich auf deine 
genauen Anforderungen an.

Ich brauchte es auch mal für ein Projekt, bei mir lief es auf einem 
Pseudo Zufallsgenerator heraus. Der Startwert wurde beim Programmieren 
zufällig festgelegt. Alternativ dazu hatte ich mir noch überlegt den 
Startwert beim ersten mal einschalten (z.B. über eine längere Messung 
eines ADC Pins) zu erzeugen.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

> Der Startwert wurde beim Programmieren zufällig festgelegt.
Und wie hast Du das gemacht ohne Zufall? Kann ja nich ganz klappen ;)

Naja ich bau ja keinen Kryptochip da muss das mit dem Zufall jetzt nicht 
so 1000% klopffest sein, mir faellt sicher was dazu ein. Werde es 
wahrscheinlich auch mit Software machen.

> Nein. Der interne Pull-Up wird aktiviert, wenn man das Pin auf Eingang
> konfiguriert (ist nach dem Reset automatisch der Fall) UND in das
> jeweile Bit des PORTx Registers eine 1 schreibt.

Gut zu wissen, danke.

von Holger K. (krulli) Benutzerseite


Lesenswert?

Verstehe jetzt nur nicht, warum eine Uhr Zufallszahlen braucht...

von F. K. (freddy436)


Lesenswert?

Michael G. wrote:
>> Der Startwert wurde beim Programmieren zufällig festgelegt.
> Und wie hast Du das gemacht ohne Zufall? Kann ja nich ganz klappen ;)

Wo ist das Problem, mit einem PC kann man ohne weiteres eine anständige 
Zufallszahl generieren.
/dev/random z.B.
Wem das nicht reicht, gibt sicherlich auch genügend Internetseiten über 
die man echte Zufallszahlen generieren lassen kann.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Weil fuer die Darstellungen von Zahlen bei dieser Uhr kein bijektiver 
Code zum Einsatz kommt (sondern in surjektiver um genau zu sein) ;)) Der 
Zufall wird benoetigt, um eine Darstellungsform auszuwaehlen. In 
einstellbaren Intervallen wird diese Darstellung dann geupdated, z.B. 
alle 5 sekunden lang. Damit ist diese Uhr quasi staendig "in Bewegung" 
(=

> Wo ist das Problem, mit einem PC kann man ohne weiteres eine anständige
> Zufallszahl generieren.

Du hast evt. was verpasst: Wir programmieren hier einen Mikrocontroller 
und keinen PC.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

F. Kriewitz wrote:

> Wo ist das Problem, mit einem PC kann man ohne weiteres eine anständige
> Zufallszahl generieren.
> /dev/random z.B.

Genau.  Wofür brauche ich Kernkraftwerke, bei mir kommt der Strom aus
der Steckdose.

Hast du dir jemals überlegt, was denn hinter /dev/random steht?
Erstmal Software, und diese macht genau das, was hier auch im Thread
beschrieben ist: Zufall einsammeln.  Echter Zufall kann nur auf der
Auswertung zufälliger physikalischer Effekte beruhen.

Ich habe mal eine Z-Diode an den Diff-Eingang (mit maximaler
Verstärkung) des ADC eines AVRs geklemmt, hier war das Ergebnis:

Beitrag "Re: wie erzeugt man eine zufallszahl"

Sollte zumindest genug Entropie sein, um einen PRNG (also die Funktion
random()) hinreichend anzufüttern.

von Michael G. (linuxgeek) Benutzerseite


Angehängte Dateien:

Lesenswert?

Joerg, danke fuer den Hinweis ich schau's mir mal an. Aber so ne kleine 
Iterationsformel in nem Restklassenring is auch ganz nett... allerdings 
bei den Bitbreiten des Controllers etwas kleine Periodizitaet.

Ah hier uebrigens der Design-Vorschlag von Jens fuer die Ausgabe:
ich mach das jetzt so wie im dritten Teilbild unten. Kommt dann noch 
eine Spalte weg aus der LED-Matrix (sind zuviele LEDs) ;)

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Also, bevor jetzt die Fragen kommen, moechte ich das Geheimnis um diese 
misterioese Uhr mal lueften:

Wie man sieht ist das Anzeigefeld in 4 Abschnitte unterteilt (farbliche 
Unterscheidung zur verdeutlichung). Der erste Abschnitt hat 5, der 
zweite 9, der dritte 6 und der vierte 9 LEDS, das macht insg. 29 LEDs.

Die Anzeige der eigentlichen Uhrzeit funktioniert nun so, dass im ersten 
Abschnitt die Stunden-Zehnerstelle, im zweiten die Stunden-Einerstelle 
im dritten die Minuten-Zehner- und im vierten die Minuten-Einerstelle 
angezeigt wird dahingehend dass die Anzahl der leuchtenden LEDs der 
dezimal codierten Stelle entspricht, also um 12:36 wuerden im ersten 1, 
im zweiten 2 im dritten 3 und im vierten 6 LEDS leuchten.

Und vllt. wird jetzt auch klar wozu der Zufall: Der Code ist nicht 
ein-eindeutig (bijektiv). Zu einer Zahl, z.B. der 3, gibt es eine 
gewisse Anzahl an Mustern auf der Ausgabe, aus der ausgewaehlt wird. Die 
Rueckuebersetzung ist allerdings eindeutig, 3 leuchtpunkte fuehrt immer 
auf die Zahl 3, daher ist ein eindeutiges Ablesen moeglich. In 
regelmaeszigen Abstaenden wird nun diese Anzeige mal "gewuerfelt" und 
somit aendert sich dann i.d.R. jede Stelle obwohl die Zeit sich noch 
nicht geaendert hat.

Das macht das Besondere an dieser Uhr aus... und die Leute werden sich 
wahrscheinlich alt und bucklig raten wie es funktioniert, weil sie immer 
nach irgendwelchen erkennbaren Mustern suchen, die es hier faktisch 
nicht gibt, da die Codierung eben nicht in der Anordnung zu finden 
ist... :D Somit hebt sich diese Version der geek clock doch positiv von 
der "einfachen" version ab wo eine einfache (und recht schnell zu 
erkennende) Digitalausgabe verwendet wird - wuerfeln ist dann natuerlich 
auch nicht moeglich und beim hochzaehlen sieht jeder sofort wo der Hase 
lang laeuft.


lg,
Michael

von Falk B. (falk)


Lesenswert?

@ Michael G. (linuxgeek)

>wahrscheinlich alt und bucklig raten wie es funktioniert, weil sie immer
>nach irgendwelchen erkennbaren Mustern suchen, die es hier faktisch
>nicht gibt, da die Codierung eben nicht in der Anordnung zu finden
>ist... :D

Bahhh, nur die Kiddies der Neuzeit werden das tun. Deine Oma, die noch 
mit dem Abakus gerechnet hat, wird das in Null-Komma-Nix durchschauen. 
;-)

MfG
Falk

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

OK OK ich moecht ja nicht sagen dass es "unknackbar" ist... aber ich 
wuerde sagen nen bissel Grips braucht man schon dazu - der Mensch 
funktioniert ziemlich optisch, das ist eine psychologische Wirkung ;) 
Aber wer das sofort oder nach ein paar Minuten gerafft hat hat sicher 
meinen Respekt verdient.

Da faellt mir ein hei ich hab in der ersten Klasse auch noch nen Abbakus 
verwendet bin ich schon so alt? Bzw. verwendet man das heute nicht mehr? 
In der ersten Klasse schon nen Taschenrechner oder wie darf man das 
verstehen?

von Rahul D. (rahul)


Lesenswert?

Die Berliner Mengenlehren-Uhr lässt grüssen...

von Εrnst B. (ernst)


Lesenswert?

Als nächstes baust du dann die Version für Fortgeschrittene, die 
"Nerd-Clock".
Braucht (zumindest die nächsten Jahre) nur 32 LEDs, und zeigt direkt den 
Unix-Timestamp binär an... :)

/Ernst

von yalu (Gast)


Lesenswert?

> Braucht (zumindest die nächsten Jahre) nur 32 LEDs, und zeigt direkt
> den Unix-Timestamp binär an... :)

Auch eine Kombination der Geek- und der Nerd-Clock, die

   GEEK-NERD-CLOCK

wäre denkbar:

Von 2^32 LEDs werden als Zufallsmuster so viele eingeschaltet, wie es
dem Timestamp entspricht. Das Muster wird, um die volle Zeitauflösung
zu erreichen, natürlich mindestens einmal je Sekunde aktualisiert :D

Eine designtechnisch schöne Umsetzung wäre die Anordnung der LEDs in
Form eines 32-dimensionalen Würfels. Der hat bei dichtester Bestückung
die Kantenlänge von 2 LEDs und passt damit locker in jede Hosentasche.

von Simon K. (simon) Benutzerseite


Lesenswert?

yalu wrote:
> Eine designtechnisch schöne Umsetzung wäre die Anordnung der LEDs in
> Form eines 32-dimensionalen Würfels. Der hat bei dichtester Bestückung
> die Kantenlänge von 2 LEDs und passt damit locker in jede Hosentasche.

Moment, ähm..... *Räusper? 36-Dimensional.. Ja, damit ließe sich sicher 
so einiges Verkleinern ;)

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Jau Leute spinnt nur rum :D
Also ich zumindest kann spontan im Kopf aus dem UNIX-Timestamp nich die 
lokale Zeit berechnen... aber ihr koennt Euch ja ne eigene Version 
bauen. ABer mehr als nen langweiliger Binaerzaehler waer das dann auch 
nich... ;)

von Michael G. (linuxgeek) Benutzerseite


Angehängte Dateien:

Lesenswert?

Sodali... das ist jetzt die korrigierte/verbesserte Version. Ich werde 
jetzt auch gleich ans Layout gehen... falls jemand aber noch Fehler 
findet oder kleine Verbesserungen vorschlagen will keine Sache.

Michael

von 42 (Gast)


Lesenswert?


von Gast (Gast)


Lesenswert?

hmm ich frag mich gerade ob die überhaupt gleich hell werden die 
einzelnen LEDS...

weil ja durch deine Widerstand unten an den Spalten müssen ja, bei 1 LED 
weniger Strom als bei 2 LEDs oder nicht?

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

C6 ist ein 100n! Hab ich korrigiert...

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

> weil ja durch deine Widerstand unten an den Spalten müssen ja, bei 1 LED
> weniger Strom als bei 2 LEDs oder nicht?

Wie meinen?

> Ist doch nichts Neues !?

Habe ich das behauptet? Ich habe eher weiter oben erwaehnt dass das ein 
Nachbau ist, oder? Das ist ein Uebungsprojekt. Es kann mir kaum darum 
gehen, nur vollkommen neues zu entwickeln, das duerfte heute bald 
unmoeglich sein. Das ist ein Uebungsprojekt, nicht mehr, nicht weniger.

Michael

von yalu (Gast)


Lesenswert?

@Gast:

> hmm ich frag mich gerade ob die überhaupt gleich hell werden die
> einzelnen LEDS...
>
> weil ja durch deine Widerstand unten an den Spalten müssen ja, bei 1
> LED weniger Strom als bei 2 LEDs oder nicht?

Das ist schon ok so. Es leuchten nie zwei LEDs derselben Spalte, da
das Multiplexen zeilenweise erfolgt.

von yalu (Gast)


Lesenswert?

Es leuchten nie zwei LEDs derselben Spalte gleichzeitig ...
                                           ^^^^^^^^^^^^
sollte das heißen

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

so isses... ;)

von Simon K. (simon) Benutzerseite


Lesenswert?

Ich glaub, das bau ich mal nach :-)

von Stefan W. (wswbln)


Lesenswert?

...schalte mal in die Leitung zwischen 100µ Elko und dem AVR/ISP-Stecker 
noch einen 1K Widerstand (oder eine Diode, Kathode zum Elko), sonst hat 
ein Programmer arge Probleme hier irgendwelche vernünftige Flanken (die 
den Namen verdienen) zu produzieren.

Wenn kurze Spannungsausfälle einen Reset auslösen sollen, soltest Du 
auch noch eine Diode parallel zum Ladewiderstand (Kathode an Vcc) 
schalten.

Um allen Problemen aus dem Weg zu gehen wäre natürlich ein 
"vernünftiger" Resetbaustein (ggf. wieder mit Entkopplungswiderstand zum 
ISP) das Mittel der Wahl.

Einer Deiner ersten Schaltungsentwürfe mit µC? ;-)

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Ich schaetze mal Du meinst den 100n-Kondensator? Das mit den 100u war 
ein Copy&Paste-Fehler ;)

Kannst kurz ne Skizze machen, handschriftlich? Ich bin grad am Layout...

> Einer Deiner ersten Schaltungsentwürfe mit µC? ;-)

Ja ist es... ich bin quasi blutig ;)
Hab mich beim "Grundaufbau" bissel am Arduino orientiert...

Michael

von Michael G. (linuxgeek) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hei Leute mir duenkt ich hab grad ein paar 4.194304MHz-Quarzoszillatoren 
in SMD-Bauweise gefunden... trifft sich doch super :D Leider finde ich 
kein aequivalentes Bauteil in Eagle, kann mir evt. jemand behilflich 
sein? Bild haengt an.

Michael

P.S. Also entweder bin ich zu doof zum messen oder das Ding schwingt 
tatsaechlich mit ~50Hz... hm...

von Björn W. (bwieck)


Lesenswert?

Michael G. wrote:
> Sodali... das ist jetzt die korrigierte/verbesserte Version. Ich werde
> jetzt auch gleich ans Layout gehen... falls jemand aber noch Fehler
> findet oder kleine Verbesserungen vorschlagen will keine Sache.
>
> Michael

Vergiss nicht die Pullups für S_UP und S_ACK

Grüße
Björn

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hm eigentlich hatte ich gedacht dass ich keine Pullups brauche aber gut 
machen wir sie halt wieder rein... ;)

von Simon K. (simon) Benutzerseite


Lesenswert?

Brauchst du auch nicht. Sind OnChip.

von Björn W. (bwieck)


Lesenswert?

Simon Küppers wrote:
> Brauchst du auch nicht. Sind OnChip.

Aber nur wenn die auch so reinprogrammiert sind.

Grüße
Björn

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Oh Jungs... ;) Ihr bringt mich noch zur Verzweiflung :D

von Simon K. (simon) Benutzerseite


Lesenswert?

Björn Wieck wrote:
> Simon Küppers wrote:
>> Brauchst du auch nicht. Sind OnChip.
>
> Aber nur wenn die auch so reinprogrammiert sind.
>
> Grüße
> Björn

Ja, schon klar... Ist aber doch kein Akt nen bestimmten Pullup auf nem 
Pin zu aktivieren. Externe Pullups sind somit völlig unnötig.

von Uwe N. (ulegan)


Lesenswert?

Ich würde noch C1 und C3 vertauschen. Den grossen vor, den kleinen 
hinter den Regler. Wenn du dann den 100µ noch auf 470µ oder 1000µ 
vergrösserst, kommst du auch mit der meist recht welligen Spannung von 
Steckernetzteilen klar.

von Falk B. (falk)


Lesenswert?

D1 ist überflüssig.

von Sebastian Heyn (Gast)


Lesenswert?

den 100µ am ausgang des 7805 wird dir freude bereiten. bei ner schaltung 
von mir hat das bewirkt, dass der regler heiß geworden ist. lieber nen 
100nf dafür

von déjà vu (Gast)


Lesenswert?

>D1 ist überflüssig.

ich wuerde sie einbauen. siehe:

"Die überlebenswichtige Rücklauf-Diode D1"
http://www.elektronik-kompendium.de/public/schaerer/ureg3pin.htm

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Dass ich den Spannungswandler so "komisch" beschalten habe liegt daran:
http://www.elektronik-kompendium.de/public/schaerer/ureg3pin.htm

> Ich würde noch C1 und C3 vertauschen. Den grossen vor, den kleinen
> hinter den Regler.

Zitat: "Man sollte jedoch keine Elkos [am Eingang] verwenden, weil diese 
relativ hohe Eigeninduktiviäten haben. Diese könnte den eigentlichen 
Zweck stören, nämlich die Unterdrückung der Oszillationsneigung."

> den 100µ am ausgang des 7805 wird dir freude bereiten. bei ner schaltung
> von mir hat das bewirkt, dass der regler heiß geworden ist. lieber nen
> 100nf dafür

Waere nen bissel wenig wuerd ich sagen... hm. Naja ich montiere ein 
Kuehlblech am Regler also ich denk mal das is schon OK ;)

> D1 ist überflüssig.

Das ist eine Ruecklaufdiode... die mag vllt. meistens ueberfluessig sein 
allerdings ist sie fuer Schutzzwecke eingebaut, hab ich ebenfalls aus 
dem Tutorium ;)

Edit: deja vu hat es erkannt ;)

von Falk B. (falk)


Lesenswert?

@ Sebastian Heyn (Gast)

>den 100µ am ausgang des 7805 wird dir freude bereiten. bei ner schaltung
>von mir hat das bewirkt, dass der regler heiß geworden ist. lieber nen

Die meisten Linearregler, auch der 7805, vertragen sehr viel 
Ausgangskapazität. Schaltrgler sind was anderes.

@ déjà vu (Gast)

>>D1 ist überflüssig.

>ich wuerde sie einbauen. siehe:
>"Die überlebenswichtige Rücklauf-Diode D1"
>http://www.elektronik-kompendium.de/public/schaere...

Mal in den Datenblättern gelesen was die Diode bewirken soll? Ersten 
halten die meisten Linearrgler den beschriebenen Kurzschluss der 
Eingangsspannung bis zu einer gewissen Ausgangskapazität aus, zweitens 
kann auf grund von D3 der Eingang vom 7805 nicht kurzgeschlossen werden.

@ Michael G. (linuxgeek)

>Zitat: "Man sollte jedoch keine Elkos [am Eingang] verwenden, weil diese
>relativ hohe Eigeninduktiviäten haben. Diese könnte den eigentlichen
>Zweck stören, nämlich die Unterdrückung der Oszillationsneigung."

Bei Linearreglern hier unkritisch. LDOs sind ne andere Sache, die 
brauchen bisweilen Low ESR am Ausgang. Aber nicht der 7805, das alte 
Schlachtross.

>Das ist eine Ruecklaufdiode... die mag vllt. meistens ueberfluessig sein
>allerdings ist sie fuer Schutzzwecke eingebaut, hab ich ebenfalls aus
>dem Tutorium ;)

Siehe oben.

MfG
Falk

von déjà vu (Gast)


Lesenswert?

>Mal in den Datenblättern gelesen was die Diode bewirken soll? Ersten
>halten die meisten Linearrgler den beschriebenen Kurzschluss der
>Eingangsspannung bis zu einer gewissen Ausgangskapazität aus, zweitens
>kann auf grund von D3 der Eingang vom 7805 nicht kurzgeschlossen werden.

aha, das el-ko luegt. lang lebe falk, der unfehlbare. alles andere 
wuerde die maschine des universums zerspringen lassen.

http://de.wikipedia.org/wiki/Allmächtigkeitsparadoxon

von Falk B. (falk)


Lesenswert?

@ déjà vu (Gast)

>aha, das el-ko luegt.

Aha, das Elko ist das Orakel von Delphi, unfehlbar und gültig für alle 
Zeiten. Und auch gar nicht von Menschenhand geschaffen.

> lang lebe falk, der unfehlbare. alles andere
>wuerde die maschine des universums zerspringen lassen.

jaja.

von Falk B. (falk)


Lesenswert?


von Kupfer Michi (Gast)


Angehängte Dateien:

Lesenswert?

Aus dem L78xx Datenblatt von STM.
Daraus geht zumindestens für mich hervor dass unter 6V (also bei einem 
7805) D1 nicht notwendig ist. Zumal wegen D3 der Fall des 
Eingangskurzschlusses vor dem D1 den 7805 Schützen soll nur bei sehr 
mutwilligen Eingriff auftreten kann.

Im allgemeinen Fall ist D1 natürlich wie Schaerer richtig ausführt eine 
gute Schatlungstechnik, aber wie immer in der Elektronik ... es kommt 
auf die genauen Umstände an.

Von daher denke ich dass eine vergröbernde Argumentation wie:

>aha, das el-ko luegt. lang lebe falk, der unfehlbare. alles andere
>wuerde die maschine des universums zerspringen lassen.
>http://de.wikipedia.org/wiki/Allmächtigkeitsparadoxon

wenig zu einer sachlichen Diskussion beiträgt.

von déjà vu (Gast)


Angehängte Dateien:

Lesenswert?

aus dem L78xx datenblatt von national:

daraus geht fuer mich hervor, dass man ab 10µF diese diode einbauen 
sollte. andere hersteller, andere sitten.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

> Aha, das Elko ist das Orakel von Delphi

Ich wusste garnicht dass Delphi so gut bei Kasse ist dass die Oracle 
kaufen konnten? *jokingly

Ne etz streitet halt rum wegen der Diode ;) Ich hab'se jetzt 
rausgenommen weilse sich als etwas laestig im Layout erwiesen hat 
hehe... und Falk is dann sicher glucklich ;)

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Wenn man die Diode hochkant stellt ist sie nicht lästig und past perfekt 
;)

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hallo Forum,

hab jetzt layout entworfen und die Sache aufgebaut... scheint aber 
leider so dass die erste Zeile nur sehr schwach leuchtet und die letzte 
am staerksten :( Was habe ich falsch gemacht? Das is jetzt echt Mist...


lg,
Michael

von yalu (Gast)


Lesenswert?

> Aus dem L78xx Datenblatt von STM. Daraus geht zumindestens für mich
> hervor dass unter 6V (also bei einem 7805) D1 nicht notwendig ist.

> aus dem L78xx datenblatt von national:
>
> daraus geht fuer mich hervor, dass man ab 10µF diese diode einbauen
> sollte. andere hersteller, andere sitten.

Aus Sicht von TI braucht man die Diode erst ab 7V Ausgangsspannung.

Aber ich sehe so das wie Falk und Kupfer Michi: D3 lässt die kritische
Situation eines Eingangskurzschlusses gar nicht erst aufkommen. Das
Elko hat aber trotzdem nicht gelogen, weil in den dortigen Beispielen
gar keine Eingangsdiode vorgsehen ist.

> hab jetzt layout entworfen und die Sache aufgebaut... scheint aber
> leider so dass die erste Zeile nur sehr schwach leuchtet und die
> letzte am staerksten :( Was habe ich falsch gemacht? Das is jetzt
> echt Mist...

Jetzt hast du deine Schaltung geschrottet, weil dir die Diode zu
lästig war :D :D :D

Spass beiseite:

Als erstes würde ich nachprüfen, ob die Einschaltdauer für alle vier
Zeilen gleich ist. Da wirst du die Ursache wahrscheinlich finden.
Software läuft manchmal ziemlich unrund (bestes Beispiel: Windows).

Wenn nicht, miss die Spannung an den Kollektoren von T1 bis T4 jeweils
in eingeschaltetem Zustand. Vielleicht ist einer der Transistoren oder
einer der µC-Ausgänge defekt.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

> Als erstes würde ich nachprüfen, ob die Einschaltdauer für alle vier
> Zeilen gleich ist. Da wirst du die Ursache wahrscheinlich finden.
> Software läuft manchmal ziemlich unrund (bestes Beispiel: Windows).

Nicht moeglich.

> Wenn nicht, miss die Spannung an den Kollektoren von T1 bis T4 jeweils
> in eingeschaltetem Zustand. Vielleicht ist einer der Transistoren oder
> einer der µC-Ausgänge defekt.

Und wenn nun einer der Transistoren defekt ist kann ein solches 
Fehlerbild entstehen? Die erste Zeile leuchtet schwach (kaum sichtbar), 
die zweite etwas staerker usw., ich vermute das liegt eher an der 
Schaltung. Und dass ich die Widerstaende nach den Dioden geschaltet habe 
kann ja wohl auch nicht die Ursache sein wenn immer nur eine Zeile aktiv 
ist?!

Echt komisch nachdem in nem Artikel hier das genauso aufgebaut wurde 
(nur die Widerstaende vor den Dioden)...

Michael

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

OK ich fuerchte dann muss ich das erst mal zurueckstellen... schade :/

von Philipp B. (philipp_burch)


Lesenswert?

Michael G. wrote:
>> Als erstes würde ich nachprüfen, ob die Einschaltdauer für alle vier
>> Zeilen gleich ist. Da wirst du die Ursache wahrscheinlich finden.
>> Software läuft manchmal ziemlich unrund (bestes Beispiel: Windows).
>
> Nicht moeglich.

Das glaubst du nicht ernsthaft, oder?

>> Wenn nicht, miss die Spannung an den Kollektoren von T1 bis T4 jeweils
>> in eingeschaltetem Zustand. Vielleicht ist einer der Transistoren oder
>> einer der µC-Ausgänge defekt.
>
> Und wenn nun einer der Transistoren defekt ist kann ein solches
> Fehlerbild entstehen? Die erste Zeile leuchtet schwach (kaum sichtbar),
> die zweite etwas staerker usw., ich vermute das liegt eher an der
> Schaltung. Und dass ich die Widerstaende nach den Dioden geschaltet habe
> kann ja wohl auch nicht die Ursache sein wenn immer nur eine Zeile aktiv
> ist?!

Widerstände nach den Dioden? Gibt's dazu einen Schaltplan, oder ist es 
der von 07.09.2007 19:32?

Gruss,
Philipp

EDIT: Alle LEDs sollen leuchten? Soll es nur so aussehen oder steuerst 
du wirklich alle LEDs im Dauerbetrieb an? Dazu wäre die Matrix dann ja 
doch nicht ausgelegt... Oder sind die Helligkeitsunterschiede auch so, 
wenn du alle Zeilen/Spalten einzeln ansteuerst?

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

HAH! War ein Programmierfehler :D :D

von Philipp B. (philipp_burch)


Lesenswert?

So viel zu "nicht möglich" ;)

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Jau Phillip, nicht moeglich war dass die Einschaltzeiten unterschiedlich 
waren - und das war auch nicht das Problem, sondern die Ausgaenge waren 
falsch konfiguriert. Muss mir mal ne schoenere Methode einfallen lassen 
den Code zu frisieren... naja kommt alles noch, die HW laeuft jedenfalls 
mal das ist schonmal gut (= Jetzt wenn der bescheuerte Quarz noch tut 
ist alles klar.

Michael

P.S. Die Stroeme bei der Matrix sind noch OK fuer die Dioden, selbst 
wenn Du lange Pulszeiten hast. Funktioniert aber jetzt einwandfrei im 
Multiplexbetrieb und die Ausleuchtung ist auch recht homogen, wie es 
sein sollte. Offensichtlich ist an den falsch konfigurierten Ausgaengen 
doch noch gerade soviel an Potential entstanden dass die Transistoren so 
gerade die Schwellspannung zum oeffnen ueberschritten haben was dazu 
gefuehrt hat dass noch ein leichtes Glimmen feststellbar war, aber halt 
wirklich von oben nach unten in paritaetischen Anteilen zunehmend - sehr 
strange ;)

von Simon K. (simon) Benutzerseite


Angehängte Dateien:

Lesenswert?

Sorry für's Thread ausgraben, aber meine GeekClock ist soeben fertig 
geworden :-)

Noch nicht ganz fertig, da ich den teuren MAX884 Spannungsregler 
gehimmelt habe (ist heute nicht mein Tag ;)) und das DCF Modul, das dank 
der Multiplex-Matrix überhaupt garnicht funktioniert hat (Obwohl der 
Ripple <10mV auf der Versorgungsleitung ist und ich auch relativ viel 
Massefläche habe).

Najo, die Bilder sind leider nicht besser hinzubekommen. Entweder man 
sieht die Farben nicht oder man kann sie überhaupt nicht mehr 
unterscheiden. Hoffe dass man wenigstens auf diesem Bild hier zwischen 
Rot und Orange unterscheiden kann.

Grün stellt übrigens Einer dar, und Rot Zehner. Links sind die Stunden 
und Rechts die Minuten.

Bilder und eine etwas längere Beschreibung dazu gibt's auch auf meiner 
Seite (Soll jetzt bloß keine Werbung sein! ;))

http://klinkerstein.m-faq.de/index.php?content=GeekClock

von Simon K. (simon) Benutzerseite


Angehängte Dateien:

Lesenswert?

Noch die Rückseite.

Etwa mittig, da wo auch Lötpads abgerissen sind (GRUMMEL!) war mal ein 
Spannungsregler ;) Mal auf den Ersatz warten.

PS: Wer noch solche Platinen will, brauch sich nur melden. Höhöhöhö :-)) 
Mal kräftig die Werbetrommel rühren. (7€ pro Platine zzgl. (2,20€?) 
Versand)

PPS: Layout/Schaltplan im Eagle Format findet ihr auf meiner Seite unter 
Downloads

von Yupp (Gast)


Lesenswert?

Hi,

cooles Teil. Nur die Sache mit dem Orange habe ich nicht gepeilt. Stellt 
Orange nicht gleichzeitig Rot und Grün und somit +11 dar? (=> Passt dann 
auf deinen Bildern nicht).

Gruß, Yupp

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Fein hat er das gemacht der Simon hehe... ;) Aber das mit der Codierung 
ueber Farben solltest vielleicht nochma erklaeren. Mengentheoretisch! ;)

P.S. Wennst die Platine jetzt noch sauber machst sieht sie vllt sogar 
gut aus ;)

von Simon K. (simon) Benutzerseite


Lesenswert?

Danke für die Blümchen!

Das mit der Farbkodierung ist eigentlich relativ simpel, wenn man sich 
vorstellt, dass eine rote LED aus der Menge der Zehnerstellen ist und 
eine grüne aus der Menge der Einerstellen.

Bei der Zahl 27 beispielsweise müssen 2 rote und 7 grüne LEDs leuchten. 
Wo sie leuchten ist nun völlig egal. Orange stellt dabei die Mischfarbe 
von beiden LEDs dar.

Sprich: Es könnten einfach "nur" 2 rote und 7 grüne LEDs leuchten (und 
somit insgesamt 9 Leuchtpunkte) oder aber auch 5grüne und 2orange, was 
insgesamt nur 7 Leuchtpunkte wären.


Ich denke mal nicht, dass ich die Platine noch saubermache. In 
Wirklichkeit sieht alles halb so wild aus. Und wer hinter Platinen 
guckt, guckt auch andern Frauen untern Rock! ;) ;)

von tom (Gast)


Lesenswert?

Die Uhr ist nichts für Rot-Grün-Blinde... ;-)

von David M. (md2k7)


Angehängte Dateien:

Lesenswert?

Muss ich ja glatt noch mit meiner angeben, obwohl die eigentlich nur so 
zusammengewürfelt ist (hatte ein paar blaue LEDs über...) Hinten sitzt 
ein ATmega8 in TQFP.

There are only 10 types of people in the world: those who understand 
binary and those who don't.

von Simon K. (simon) Benutzerseite


Lesenswert?

David Madl wrote:
> Muss ich ja glatt noch mit meiner angeben, obwohl die eigentlich nur so
> zusammengewürfelt ist (hatte ein paar blaue LEDs über...) Hinten sitzt
> ein ATmega8 in TQFP.
>
> There are only 10 types of people in the world: those who understand
> binary and those who don't.

Hier geht's aber nicht um Binär-Uhren...

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

So isses... ,)
Binaer is viel zu langweilig... :D

von Sebastian (Gast)


Lesenswert?

Ist die rote-LED für am/pm?

Ich bin blutiger Anfänger, hab aber auch eine binäre Uhr gebaut. Bei mir 
werden allerdings die Zahlen (nicht die Ziffern) binär ausgegeben. Wie 
hast du das programmiert (in Assembler)?

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.