www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 7-Segment LED Uhr


Autor: Marcel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich weiß nicht ob es sowas schonmal gab, ich denke schon, aber ich habe
nichts gefunden.
Ich hab schonmal ein bisschen angefangen am schaltplan. Die Grundidee
ist eine Uhr aus (superhellen) LEDs zu bauen, die angeordnet sind wie
in einer 7-Segment anzeige.
Besonderst daran soll sein das sich die Helligkeit der LEDs mittels
eines Fotowiderstandes der Umgebung angepasst wird.

Das Schaltungsprinzip ist wie folgt:
Es werden 8 ports (PD0..7) benötigt um ein einzelnes Segment
anzusteuern. Welches Segment das sein soll wird mittels eines anderen
Ports (PB) festgelegt.
Die einzelnen Segmente werden so schnell durchlaufen das das Flackern
für das Auge nicht sichtbar ist. Je nach dem sollte man mit langsameren
Geschwindigkeiten ja auch dunklere LEDs erreichen, liege ich da richtig,
ich hab noch nicht so viel erfahrung mit Microcontrollern, deshalb wäre
ich sehr dankbar wenn ihr mir sagen könntet ob die Schaltung und meine
Idee so inordnung sind.

Einige fragen stellen sich mir noch:
Welche Transistoren sind geeignet (im schaltplan hab ich einfach
irgendwelche genommen)?
Wo finde ich LDRs in EAGLE?
Stimmt meine Theorie mit der "Durchlaufgeschwindigkeit" <->
Helligkeit?

Danke schon im Vorraus für eure Beiträge
Marcel

Autor: Clemens Helfmeier (sum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super Idee,

ich habe das schon vor langer Zeit gemacht, mit DCF77 Empfang und
Helligkeitssteuerung per Foto-Diode:

http://www.mikrocontroller.net/forum/read-4-405548...

Grüße, Clemens

Autor: kalledom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein interessanter Link für Uhren und 7-Segment-Anzeigen von ganz klein
bis riesig groß: http://pitts-electronics-home.de/electron/schpluhr.htm

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Antworten.
Ich hab mit Google folgendes gefunden:
http://forums.bit-tech.net/showthread.php?t=78703&...

Die Uhren sehen doch echt stark aus oder? :)
Der typ da gibt aber keine Schaltpläne und nix raus, er verkauft sie,
so ne sauerrei :/

Clemens, du hast das Dimmen ja per PWM gemacht wenn ich das richtig
verstanden habe, meinst du meine Idee würde auch funktionieren? Also
zwischen den 7-Seg anzeigen einfach kurze pausen machen bevor die
nächste geschaltet wird? Das müsste doch dann dunkler aussehen oder?

Fragen über Fragen :)
Marcel

Autor: Sami Bautz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Anzeige musst du auf jeden Fall in 20ms auffrischen,
das ergieb bei Multiplex von 4 Stellen einen Wert von 5ms
Wird diese Zeit länger, erkennt das Auge ein flackern.

Ich würde das mit PWM lösen, so kannst Du das wirklich
von Dunkel bis Hell regeln

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mh, kannst du mir ein schaltungsbeispiel zeigen wie das gehen soll?
Ich hab ja nich an jedem pin vom µC ne PWM funktion.

Autor: Sami Bautz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest das natürlich auch mit 4 weiteren Trasistoren lösen:

als Spannungsfolger zwischen Digit-COM-Anschluss,
alle Basisanschlüsse dieser Transistoren auf
entsprechender LDR

Autor: Clemens Helfmeier (sum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halo Marcel,

die Sache mit dem PWM ist in Software gelöst. Dabei kann man die
Anzeige einfach ausschalten, wenn sie ausreichend lange geleuchtet hat.
Den Rest der genannten 5ms kann man einfach mit dunkler Anzeige warten.

Siehe auch:
http://www.mikrocontroller.net/forum/read-4-398183...

Clemens

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sami Also nur mit transistoren die ich mit LDRs kopple das will ich
nicht, ich würde das schon gerne per software noch steuern können.

Das mit dem PWM verstehe ich immernoch nicht ganz, und mit dem
Schaltplan im anderen Thread kann ich irgendwie nichts anfangen, sorry
:/
PWM Ausgänge gibts am Mega 8 ja nur 2 oderso, deshalb versteh ich nich
wie genau du das machen willst.
Kannst du's nochmal genau erklären für die dummen bitte? :)

Gruß
Marcel

Autor: Clemens Helfmeier (sum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du müsstest dir mal das ZIP herunterladen, da ist der gesamte SOURCE
drin.

led.c enthält dabei die interessanten Routinen.

Das Ein/Ausschalten geschieht per Interrupt.
Wenn der Timer überläuft wird z.B. die nächste Stelle angeschaltet,
wenn ein Compare-Interrupt mit einem Wert zwischen 0 und TOP auftritt,
wird sie einfach ausgeschaltet. Dann kann man mit dem Compare-Wert die
Helligkeit einstellen.

PWM deswegen, weil auch hier die Puls-Breite moduliert wird. Das hat
erstmal nix mit den PWM-Kanälen zu tun. Man braucht nur deren
Compare-Register.

Clemens

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich versuchs mal mit eigenen worten wiederzugeben:
Du gibts auf die "Segment-Freischalt Transistoren" ein PWM signal und
wenn ein Timer überläuft wird das PWM Signal auf die den nächsten
transistor links/rechts davon weiter gegeben usw.
Stimmt das so?

Gruß
Marcel

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab' mir seinen Source nicht angesehen, aber ich denke er meint das
so:
Erstmal ganz normales Multiplex für alle Anzeigen, also jede jeweils
5ms eingeschaltet lassen. Willst du nun dimmen, so schaltest du die
aktive Anzeige einfach schon aus, BEVOR die 5ms vergangen sind. Erst
wenn diese Zeit verflossen ist springst du aber zur nächsten Anzeige.
So hast du dauernd deine 50Hz, aber einen immer kleineren Duty-Cycle.
PWM kann man das grundsätzlich schon nennen, ist dann halt einfach
jeweils nur genau ein Durchlauf pro Anzeige.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau Dir einfach mal meine Uhr an:

http://www.mikrocontroller.net/forum/read-4-405548.html#new

Mit dem Overflowinterrupt wird die Anzeige eingeschaltet und mit dem
Compareinterrupt wird wieder abgeschaltet.

Der Comparewert bestimmt somit die Helligkeit.


Peter

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, jetzt hab ich's verstanden, danke Phillip für deine ausführliche
Erklärung :)
Mit den ganzen Interrupts und Timern bin ich noch nicht so vertraut,
aber mit dem ganzen Projekt will ich das lernen.

Könnt ihr mir noch sagen was für Transistoren am besten geeignet sind
oder am besten irgendeine internetseite die aufgemacht is wie ein
Transistorenbuch (so heißt das ding doch oder?) das ich selbst
nachschauen kann.

Außerdem stellt sich noch die Frage ob ich einen LDR nehmen soll oder
eine Fotodiode, was ist besser?

Gruß
Marcel

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sami Bautz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte bei meiner Uhr BC547er verwendet,
die sind meine Lieblings-NPN-Transistoren für
diesen Spannungs- und Strombereich

Mit LDR's hast Du glaub bessere Linearität,
ich nehme Photodioden immer für schnelle geschaltene
Zustände zB: Lichtschranke.

Obwohl, ich bin da auch nicht so informiert

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Profi:
Warum sollte ich die LEDs nicht parallel schalten? Ist doch nur
unnötiger Aufwand nochmal ne extra Spannung an die ran zu führen, mit
5V kann man keine 3 superhelle LEDs in Reihe betreiben.

@Sami:
Danke, ich werd's mit nem LDR versuchen :)

Gruß
Marcel

Autor: Sami Bautz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Parallelschaltung von LED's müsstest Du mit einer
konstanten Stromquelle arbeiten. Hättest Du zB. noch
verschiedene Farben(Rot~1.8V, Grün und Gelb ~2.5V),
würde eine Parallelschaltung keine befriedigende
Lösung sein.

Mit einer Serienschaltung werden alle LED's
mit dem gleichen Strom durchflossen.
Das machst Du ja auch bei den beiden obersten
LED's im Schema.

Autor: Marcel Kr. (marcel_kr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, ich arbeite ja mit einer konstanten Stromquelle und ich benutze
auch nur eine Farbe, versteh nich ganz wo das problem liegt.

btw: Hab mich jetzt mal hier registriert :)

Gruß
Marcel

Autor: Clemens Helfmeier (sum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel,
das Problem liegt in der Kennlinie der Dioden. Nimms einfach hin, dass
bei Parallelschaltung jede LED einen Vorwiderstand braucht. Bei
Reihenschaltung kommst du mit einem Widerstand pro Reihe aus.

Clemens

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Reihe braucht er aber auch ne höhere Spannung!
Wenns mit 5V läuft kann er nicht 4 LEDs in Reihe schalten!

Autor: Marcel Kr. (marcel_kr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sodele, schade das ich die LEDs in reihe schalten muss, jetzt muss man
die schaltung halt mit 12V betreiben.
Naja, ich hab mal den Schaltplan überarbeitet, wäre nett, wenn Ihr mal
drüberfliegen könntet :)

Gruß
Marcel

Autor: Marcel Kr. (marcel_kr)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mh, Schaltplan sollte ich natürlich auch dazulegen ^^

Autor: Sami Bautz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na sieht doch ganz gut aus so!
Ich habe da noch eine Frage:
Ich kenne mich nicht in AVR's aus, kann man da die
Ausgangsströme an den Portpins regeln?
Ich frage nur weil Du die Transistoren alle
ohne Basiswiderstand betreibst.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sami hat recht, die unteren Transis müssen entweder FETs sein oder nen
Basiswiderstand bekommen, sonst arbeitet der arme MC quasi im
Kurzschluß.

Die oberen brauchen keinen, da sie in Kollektorschaltung sind.
Allerdings brauchen sie dann an der Basis 12V, d.h. Du brauchst noch
Pegelwandler, z.B. CD4504.
Schau Dir mal meine Uhr an, die macht das genau so.


Peter

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<<Na sieht doch ganz gut aus so!>>
Sicher?
Q2-Q8 und Q13 arbeiten als Emitterfolger. Die LEDs bekommen 4.3Volt und
keine 12.

Vorwiderstände braucht man in diesem Betrieb nicht. Der Basistrom
stellt sich automatisch ein. Emitterstrom / Stromverstärkung =
Basistrom.
Nur bringt das hier i.Augenblick nicht viel...

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer nun schneller war, steht eindeutig fest :-))

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Q9,10,11,12 brauchen aber einen Basiswiderstand, klar.

Autor: Marcel Kr. (marcel_kr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

gibt es auch noch eine andere Möglichkeit als einen Pegelwandler?

Außerdem frage ich mich was für einen Gleichrichter ich verwenden
könnte, 9VAC dürften ja ca 12VDC geben oder? Und nen 9VAC Netzteil hab
ich noch hier ;)

Bei reichelt hab ich schon geguckt und mir diverse Datenblätter
runtergeladen aber alles im bereich von 40-800V oderso.

Gruß
Marcel

Autor: Clemens Helfmeier (sum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guckst du in meinen Schaltplan, ey!?

Autor: Marcel Kr. (marcel_kr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich raff garnichts mehr, ich glaub ich lass es einfach.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ich raff garnichts mehr, ich glaub ich lass es einfach."

Nun, der 4504 in meiner Schaltung ist ein 6-fach Pegelwandler bis max
18V, kostet bei Segor 0,70€.

http://www.onsemi.com/pub/Collateral/MC14504B-D.PDF


Peter

Autor: Clemens Helfmeier (sum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,
hab grad erst gesehen, dass der Schaltplan ja an ganz anderer Stelle
steht - irgendwie ungünstig von mir gelöst:

http://www.mikrocontroller.net/forum/read-4-405548...

Clemens

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.