mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Projekt DCF77-Telegramm


Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich muss folgendes Projekt im Rahmen einer Projektarbeit bearbeiten:

Projekt: DCF-Telegramm

notwendige Eigenschaften

    * Empfang des DCF77-Funkuhrsignals, auch in Stahlskelettbau 
(Inspirata) (werde DCF77-Simulator verwenden)
    * Anzeige der Impulse
    * Verdeutlichung der unterschiedlichen Impulslänge (evtl. zeitliche 
Streckung der Impulse)
    * Speichern des Telegramms in einem seriellen Schieberegister 
("optisches Schieberegister" aus 60 LEDs)
    * Anzeige des gespeicherten Telegramms und der Bedeutung der Impulse
    * Dekodierung des Minutentelegramms in nummerischer Anzeige von 
Uhrzeit und Datum
    * Anzeige muss in einem größeren Raum (rund 25 m² gut lesbar sein)


mögliche Zusätze:

    * Eingabe der Uhrzeit über Tastatur mit Nutzerführung, Kodierung, 
"Verstecken" der Anzeige zur Motivation der Dekodierung durch den 
Betrachter
    * Akustische Signale

Lösen möchte ich das ganze wie folgt:



Derzeit dachte ich an eine mindestens 60 x 60 cm große Metallfrontplatte 
die
kreisrund mit 120 5mm-Leuchtdioden mit Reflektor in den Farben grün und 
rot in
je zwei Ringen bestückt wird, wobei bei einer logischen 0 die 
entsprechenden
roten Leuchtdioden jeweils schwächer leuchten sollten und bei einer 
logischen 1
die grünen LEDs vollständig aufleuchten. Eine gute Lesbarkeit und eine
ansprechende farbige Gestaltung ist somit gewährleistet.
Zur Anzeige der Impulse soll ein Grafikdisplay zum Einsatz kommen, dass 
sich in der Mitte des Kreises befinden soll und wahlweise sämtliche 
Informationen zum Signal im Klartext, oder aber die einzelnen Impulse 
darstellen soll. Das Signal selbst wird von einem DCF77-Simulator 
erzeugt, der an meiner Hochschule in einer Bachelorarbeit gebaut wurde.
Die einzelnen Informationen, wie Minute, Stunde, Monat etc. sollen mit
Siebensegmentanzeigen neben dem Kreis als Dezimalzahl an der 
entsprechenden
Stelle angezeigt werden. Eine 10mm-LED zeigt zeitlich gestreckt die 
Impulse an.
Die Bedienung wird über mehrere Taster erfolgen, wobei der Nutzer über 
das
Display durch die Einstellungsmöglichkeiten geführt wird und die 
gewünschte
Betriebsart auswählen kann. Auch eine akustische Verdeutlichung ist als
(abschaltbare) Einstellungsmöglichkeit vorgesehen.

Ich möchte die 120 LEDs und 15 Siebensegmentanzeuigen (gemeinsame Anode) 
mit drei bis vier 74 HC 4094 Schieberegistern ansteuern und habe mich 
dabei sehr stark am Schaltplan des Pong-Spiels von Conrad orientiert. 
Das Display nutzt den I²C-Bus.

Hierzu habe ich eine Stückliste erstellt.

https://docs.google.com/document/d/1uec96EvliPG2QK...

Denkt ihr, dass man das so lösen kann, bzw. fehlen irgendwelche Teile?


Danke für eure Bemühungen
Tom

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> Das Signal selbst wird von einem DCF77-Simulator
> erzeugt, der an meiner Hochschule in einer Bachelorarbeit gebaut wurde.

Erzeugt der Simulator ein richtiges amplitudenmoduliertes DCF77 Signal? 
Falls ja dann fehlt dir noch ein Modul, um daraus ein digitales Signal 
zu erzeugen.

Gruß Skriptkiddy

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hierzu habe ich eine Stückliste erstellt.

>https://docs.google.com/document/d/1uec96EvliPG2QK...

Schön für dich, wie kommt man da ran?

Ohne Schaltplan kannst du dir deine Stückliste sonst wohin stecken.

Autor: Tom Linz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade nochmal die Bachelorarbeit angesehen und keine Angabe 
über den Pegel des Ausgangssignals gefunden, aber das Ausgangssignal 
sieht auf folgender Abbildung nach einem echten TTL-Signal aus, da es ja 
digital vom Mikrocontroller erzeugt wird. Also bräuchte ich keine 
externe Hardware, wenn ich dich richtig verstanden habe.

Danke und viele Grüße
Tom

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hoffe dieser Link funktioniert besser.

https://docs.google.com/document/d/1uec96EvliPG2QK...

Einen Schaltplan muss ich erst noch erstellen - ist aber in Arbeit.

Tom

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich hoffe dieser Link funktioniert besser.

Nö. Nix zu sehen.

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, soviel zu google docs.
Dann eben Funpic.

http://munzi.mu.funpic.de/IdeenDCF77.doc.pdf

Das sollte auf jeden Fall funktionieren.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>DOGM162E-

Das ist kein Grafikdisplay.

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast recht. Aber die Anzeige von vordefinierten Zeichen reicht hier 
meiner Meinung nach völlig aus. Aus diesem Grund habe ich mich für ein 
solches Display mit integriertem Zeichensatz entschieden. Meine 
Formulierung zuvor war nicht ganz korrekt.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In deiner Stückliste fehlen die Angstkondensatoren.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Widerstände für die LEDs fehlen auch.

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind das die 100nF-Kondensatoren zwischen Vcc und GND? Die habe ich 
weggelassen, weil wir die tonnenweise an der Hochschule vorrätig haben. 
Vielleicht sollte ich sie trotzdem dazuschreiben, aber das konntest du 
ja nicht wissen.
Stimmt, die Widerstände.

Vielen Dank das Du Dir soviel Mühe machst
Tom

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Sind das die 100nF-Kondensatoren zwischen Vcc und GND?

Bist du sicher das du so eine Schaltung aufbauen kannst?

Nimm mal noch ein paar IC Sockel in deine Stückliste auf.
Dann muss man nicht so viel löten wenn ein IC in Rauch aufgeht.

Dazu noch einen 1MHz Quarzoscillator falls du den ATmega
mit ziemlicher Sicherheit verfused.

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Statt des Quarzoszillators werde ich, falls es wirklich dazu kommen 
sollte einfach einen Funktionsgenerator drannhängen - das sollte ja auch 
gehen.
Für die Sockel gilt das Gleiche wie für die Kondensatoren, aber ich 
schreibe sie mit auf.

Autor: Inki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> folgendes Projekt im Rahmen einer Projektarbeit

DCF77 ist doch hochgradig trivial. Was lohnt es sich da eine 
Projektarbeit draus zu machen? Und wozu der viele Aufwand?

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für dich ist das vielleicht trivial, aber für die Schüler dieser 
Erlebnisausstellung, denen weder Binärzahlen noch BCD-Codes geläufig 
sind, ist so ein Exponat schon eine schöne Sache. Und für Schüler ist es 
immer besonders ansprechend wenn viel bunt blinkt und leuchtet.

Außerdem habe nicht ich, sondern einer der Verantwortlichen dieser 
Ausstellung sich dieses Thema ausgedacht.

Autor: Harald Wilhelms (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Inki schrieb:
> Tom Linz schrieb:
>> folgendes Projekt im Rahmen einer Projektarbeit
>
> DCF77 ist doch hochgradig trivial. Was lohnt es sich da eine
> Projektarbeit draus zu machen? Und wozu der viele Aufwand?

Ausserdem hängen ähnliche Geräte z.B. in der PTB herum.
Gruss
Harald

Autor: Frosch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> Das Signal selbst wird von einem DCF77-Simulator
> erzeugt, der an meiner Hochschule in einer Bachelorarbeit gebaut wurde.


Kinderkram!!! Wenn ein Bachelor nicht mehr kann, na dann gute Nacht!

Autor: Storch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frosch schrieb:
> Kinderkram!!! Wenn ein Bachelor nicht mehr kann, na dann gute Nacht!

Was bist du denn für ein aroganter Schnösel. Du bist sicher als Meister 
vom Himmel gefallen.

Kopfschüttel

Autor: Harald Wilhelms (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Storch schrieb:
> Frosch schrieb:
>> Kinderkram!!! Wenn ein Bachelor nicht mehr kann, na dann gute Nacht!

> Du bist sicher als Meister vom Himmel gefallen.

Das heisst heute nicht mehr Meister, sondern master!
SCNR
Harald

Autor: Tom Linz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wer hat denn behauptet ich könne nicht mehr? Die Hochschule wird schon 
wissen welche Arbeit einen Bachelortitel rechtfertigt und die Aufgaben 
dementsprechend verteilen. Außerdem ist die Aussage etwas sei leicht 
immer schnell getroffen, aber pauschal kann amn so etwas dch nicht 
sagen.

Ich habe jetzt den Schaltplan erstellt.

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast die Junctions vergessen!

Wie hast du die Anschlüsse zum DOGM162E-A gemappt? Ich sehe im 
Schaltplan keinerlei Zusammenhang zum genannten Diapaly.

Die 7-Segmant-Anzeigen bitte nicht über die Leitungen legen. Sieht 
scheiße aus und man sieht garnichts.

Bitte 100nF an alle digitalen ICs zwischen VCC und GND.

Gruß Skriptkiddy

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich weiß - der Schaltplan bedarf noch einiger Überarbeitung. Aber 
über konstruktive Kritik freue ich mich immer :-)

Vielen Dank und Grüße
Tom

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die LEDs werden nur glimmen! Du benötigst noch Treiber.

Wenn die Treiber drin sind, ist Dein ausgewähltes Netzteil zu klein.


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Oh, danke für den Tipp. Würde es so funktionieren, wie ich es in diesem 
Ausschnitt des Schaltplans angedeutet habe, d.h. an die Ausgänge des 
Schieberegisters einfach den Darlington-Treiber ULN 2803 zu hängen 
(größer dimmensioniertes Netzteil mit 15W vorausgesetzt)?

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo.

Aber auf der anderen Seite benötigst Du auch einen Treiber.

Evtl. kannst Du die beiden 4094 durch einen 4017 ersetzen.


Gruß

Jobst

Autor: Frosch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Storch schrieb:
> Du bist sicher als Meister
> vom Himmel gefallen.

Das nicht, aber für einen DCF-77-Simulator muss man nicht mal studieren. 
Ist doch nicht viel schwieriger als eine LED blinken zu lassen.

Autor: John (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier gibt es einen DCF77 Sender der über die elektormagnetische 
Abstrahlung eines Monitors funktioniert.

https://erlangen.ccc.de/index.php/DCF77

Gruß
John

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frosch schrieb:
> Das nicht, aber für einen DCF-77-Simulator muss man nicht mal studieren.
> Ist doch nicht viel schwieriger als eine LED blinken zu lassen.

Glaubst du ernsthaft es geht bei der Bachelorarbeit primär darum ein 
schwieriges Thema zu bearbeiten? Meinst du nicht das die Studenten dort 
wissenschaftliches Arbeiten lernen sollen?

P.S.
Ich habe auch mal nen DCF77-Gererator (gestützt mit ner DS1307) gebaut 
weil unsere Funkmodule im Labor scheiß Empfang hatten. So trivial fand 
ich das damals auch nicht. Jetzt im Nachhinein betrachtet ist es 
trivial. Aber erst jetzt.


Gruß Skriptkiddy

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jobst M. schrieb:
> Aber auf der anderen Seite benötigst Du auch einen Treiber.
Was meinst du mit der anderen Seite? Am zweiten 4094, der mit dem ersten 
4094 kaskadiert ist oder auf Seite des Mikrocontrollers, der die "Zeile" 
der Matrix auswählt?

Nochmal zu der Schwierigkeitsproblematik:
Natürlich ist DCF77 vom Schwierigkeitsgrad her eher im 
Kindergartenbereich angesiedelt und auch nicht schwer zu verstehen, bzw. 
nichts was man sich erarbeiten müsste. Aber für mich als 
Telekommunikationsinformatiker liegt der Schwerpunkt eher auf der Seite 
der technischen Informatik, denn in diesem Studiengang kommt 
Elektrotechnik und Digitaltechnik sehr kurz.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> Was meinst du mit der anderen Seite? Am zweiten 4094, der mit dem ersten
> 4094 kaskadiert ist oder auf Seite des Mikrocontrollers, der die "Zeile"
> der Matrix auswählt?

Wo muß denn der Strom lang? Und vor allem: Wie viel?


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pro Zeile der Matrix müssen bis zu 240mA, also 12 Dioden x 20 mA vom 
Treiber bereitgestellt werden. Der Strom fließt vom Mikrocontroller zu 
den Anoden und vom Treiber zu den Kathoden. Ein Portpin liefert lt. 
Datenblatt bis zu 40mA. Anscheinend müssen also Treiber vor die 
Widerstände, d.h. nach den IO-Pins geschaltet werden. Die 2803A sind ja 
nicht geeignet, da man damit ja nur GND schalten kann. Also müsste ich 
nach einer Alternative suchen, falls meine Vermutung stimmt.

Alles nur Halbwissen.

Autor: Tom Linz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe den Schaltplan nochmal entsprechend geändert. Ich hoffe so ist 
es besser, d.h. übersichtlicher und die LEDs bekommen durch die Treiber 
2981 genügend Strom um ausreichend hell zu leuchten.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine 20mA sind für den Multiplexbetrieb etwas gering bemessen.
Die LEDs leuchten ja nur ca. 1/10 der Zeit.

Gerade für ein Projekt, welches möglicherweise auch bei hellerer 
Umgebung gut ablesbar sein soll, etwas wenig.


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, das hatte ich gar nicht bedacht.
Die LEDs halten lt. Datenblatt Peaks von 160mA aus. Sicher sollte sich 
der Strom auch in dieser Größenordnung, bzw. etwas darunter bewegen, da 
die LEDs ja nur jeweils sehr kurz leuchten.
Auch die Größe der dann nötigen Widerstände ist mir nicht klar. Normale 
Vorwiderstandsrechner kann man dann ja nicht benutzen - diese spucken 
mir
aus.

Ich dachte bei den Treibern an die UDN 2981 High-Side-Treiber.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> lt. Datenblatt Peaks von 160mA

Sieh zu, daß Du das Timing genau einhältst.


Was sagt denn Dein 'Vorwiderstandsrechner' zu 160mA ?


Und wie viel Strom fließt nun insgesamt, wenn in einer Zeile alle LEDs 
leuchten sollen?


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Timing kann ich ja später immer noch per WDT sicherstellen, für den 
Fall, dass ich einen Fehler machen sollte.

Der Vorwiderstandrechner schlägt mir 22 Ohm bei 160mA und einer 
Durchlassspannng von 2.1 für die grünen LEDs vor. Der selbe Wert ergibt 
sich für die roten LEDs.

10 Dioden pro Zeile á rund 160mA ergäben ja Ströme > 1 A.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> Das Timing kann ich ja später immer noch per WDT sicherstellen, für den
> Fall, dass ich einen Fehler machen sollte.

Die Frage ist nur, ob bei der von Dir verwendeten Schaltung, sich die 
timings voll ausreizen lassen oder ob Du die 160mA maximal gar nicht 
verwenden kannst.


Tom Linz schrieb:
> 10 Dioden pro Zeile á rund 160mA ergäben ja Ströme > 1 A.

Du bist sogar dichter an 2A, als an 1A. Und das ist nur der Strom durch 
die LEDs. Jetzt klar, warum Dein 5W Netzteil zu klein gewesen ist?

Kannst Du den UDN dafür noch benutzen?



Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich, dafür ist das Netzteil dann unterdimmensioniert.

Output Current, IOUT . . . . . . . . . . . . . . -500 mA
Dann bin ich sicher mit diskreten Transistoren besser beraten - es sei 
denn es gibt entsprechende Treiber-ICs, die in die 2A-Richtung gehen. 
Ich werd mich mal auf die Suche begeben.

Ich frage mich nur, warum das Pong-Spiel von Conrad, das auch mit 120 
LED-Matrix im Multiplexbetrieb mit dem 4049 arbeitet (dort habe ich auch 
ein wenig abgeguckt) ohne zusätzliche Treiber auskommt.

Cool - bei dir lernt man ja noch richtig was :-)

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Pong-Spiel hängt auch nicht an einer Wand und muß aus einiger 
Entfernung noch gut erkennbar sein. Da reicht es, wenn die LEDs glimmen.


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch wieder wahr.

Der Artikel LED-Matrix sagt mir: "Bei Strömen über 1A nimmt man heute 
meist MOSFETs."

Also MOSFETs für die Spalten und 2803 für die Zeilen? Ich hoffe ich 
interpretiere das so richtig.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ICH würde PNP-Transistoren (evtl. Darlingtons) für den 
Highsideswitch nehmen. Ist möglicherweise aber unpopulär.

Tom Linz schrieb:
> Also MOSFETs für die Spalten und 2803 für die Zeilen? Ich hoffe ich
> interpretiere das so richtig.

Was auch immer nun die Spalten und was die Zeilen sind.
Ja, so kann man das machen.


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich auch NPNs wie hier
http://www.mikrocontroller.net/wikifiles/6/64/LED_...
benutzen? Dann würde ich einfach die BD 131 ins Auge fassen, denn die 
vertragen ja bis zu 3A.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann auch NPNs nehmen und es so machen wie in der Schaltung ...

Meist bekommt man zu einem NPN Transistor allerdings auch ein passendes 
Gegenstück.

Aber wie viel Strom musst Du denn in den BD131 in die Basis schieben, 
damit dort 1,6A durch den Kollektor fliessen können?


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lt. Datenblatt kann der Basisstrom bis zu 500mA betragen. Der ATMega 
schafft aber maximal 40mA per IO-Pin. Mit einer Gleichstromverstärkung 
von 6 (B=3A/0.5A) ergäbe das 240mA.

Also funktioniert das so nicht.


Viele Grüße
Tom

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Inki schrieb:
> Tom Linz schrieb:
>> folgendes Projekt im Rahmen einer Projektarbeit
>
> DCF77 ist doch hochgradig trivial. Was lohnt es sich da eine
> Projektarbeit draus zu machen? Und wozu der viele Aufwand?

Da möchte ich Dir aber deutlichst widersprechen!

Das DCF-Signal ist ein Funksignal, das durch viele Faktoren beeinflusst 
werden kann. Man muss sich schon ein paar Gedanken machen, wenn man sich 
darauf einsynchronisieren will.
Dazu kommt, dass die meisten Empfänger, die die einschlägigen Versender 
verkaufen grottenschlechter Mist sind. D.h. aus den 100ms und 200ms des 
empfangenen Signals werden merkwürdige Dinge zwischen 55ms und 145ms 
bzw. 150ms und 240ms. Wer also eine kontinuierlich empfangende DCF Uhr 
bauen möchte investiert besser 5€ mehr und kauft ordentlich aufgebaute 
Empfänger z.B. von HKW.

Es ist unabdingbar sich den Signalverlauf mehrfach anzusehen und sich 
dann ein Wahrscheinlichkeits-Gerüst auszudenken, wann welche Signale 
auftrten können oder müssen. Denn zwischen den Sekundenimpulsen können 
durch äußere Störungen alle möglichen weiteren Impulse auftreten. Die 
Impulse selbst können ebenfalls durch Störungen unterbrochen werden.

Möchte man also eine Uhr bauen, die kontinuierlich auf das DCF Signal 
aufsetzt, so muss man mit einigen Timern die möglichen und erwarteten 
Siganlverläufe gegeneinander verriegeln. Einfach nur auf einen 
Pegelwechsel an einem GPIo Pin reagieren funktioniert nicht.

Gruß, Ulrich

Autor: Harald Wilhelms (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> Lt. Datenblatt kann der Basisstrom bis zu 500mA betragen. Der ATMega
> schafft aber maximal 40mA per IO-Pin. Mit einer Gleichstromverstärkung
> von 6 (B=3A/0.5A) ergäbe das 240mA.
>
> Also funktioniert das so nicht.
>
>
> Viele Grüße
> Tom

Etwas seltsame Rechnung. Es ist zwar so, das man im Schaltbetrieb
mit niedrigerer Stromverstärkung rechnet, aber so schlecht sind die
Transistoren dann doch nicht. Vioelleicht könntest Du sogar die von
Dir benötigte 40 erreichen. Du müsstest dann  anhand des Datenblatts
ermitteln, wie gross dann die Restspannug am Transistor ist.
Gruss
Harald

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Ansteuerung der 7seg Anzeigen ist völlig in Ordnung, aber das 
Berechnen der anzusteuernden LEDs aus den zwei Farbkreisen wird ganz 
schön heftig. Da muss man sich vermutlich eine recht pfiffige Tabelle 
ausdenken.

Die Zeilen- und Spaltentreiber sind, wie oben schon festgestellt, auch 
nicht so ganz ohne. Außerdem sind diese LEDs nicht als Matrix auf der 
Platine angeordnet sondern als kreisförmige Kette. Das Layout wird also 
ein recht aufwändiger Wust aus Leiterbahnen. Dadurch das gemultiplext 
wird, baut man sich auch einen netten Sender. Klar ist das 'nur' ein 
Muster für eine Arbeit, aber irgendwann soll das Ding auch mal 
vielleicht ein echtes DCF Signal emfpangen und mit dieser Matrix muss 
man dann sehr genau auf seine Zeilen/Spalten Frequenzen achten, sonst 
fährt man sich den Empfänger-AGC zu und das Ührchen funktioniert 
wirklich nur noch am Simulator.

Daher mal ein anderer Vorschlag:
Es gibt 8-Bit Seriell-Parallel-Latches mit doppelter Pufferung. Man kann 
diese Bausteine einfach hintereinander schalten und per SPI-Bus 
ansteuern. Dazu verfügen die Bausteine über einen /OE Eingang.
Spendiert man jeder LED ein einfaches FET welches Durch einen Ausgang 
eines der Latches angesteuert wird, dann kann man die 
Sekunden/Minuten/Stunden einfach per SPI an die ihrem Zeitwert 
entsprechende Position schieben.
Dazu kann man einfache Low-Side FETs verwenden, eine Treiberschaltung 
für negative Gate Vorspannung oder ähnliches was einen High-Side Treiber 
ausmacht braucht man nicht.

Um einen Dimm-Effekt zu erreichen, muss man nicht dauernde Abfolgen von 
1/0 durch die Schieberegister pusten, sondern man schaltet die Drains 
aller Einzel-LED FETs auf ein gemeinsames FET ( oder besser Gruppen 
deren Gates zusammen geschaltet sind). Dieses gemeinsame Gate Signal 
legt man auf einen PWM Timer Ausgang des Controllers und schon kann man 
dimmen.

Um zwei Ringe anzusteuern muss man nun nicht die Anzahl der Latches 
verdoppeln, sondern man baut einen weiteren Ring mit einzel und Gruppen 
FETs auf und legt deren gemeinsames Gate-Signal auf einen weiteren PWM 
fähigen Timerausgang. Die grünen Einzel-FETs liegen mit ihren roten 
Kollegen parallel auf dem Ausgang des entsprechenden Latches.

Nun kann man nacheinander die darzustellenden Informationen in die 
Schieberegister senden, dann die entsprechende PWM Stufe aktivieren und 
die Latches durchschalten. Tut man das schnell genug, kann man alle 
möglichen Muster über die Ringe aus LEDs wandern lassen.

Natürlich erfordert diese Methode etwas mehr Material, ist jedoch 
elektrisch schneller beherrschbar und auch von der Software her 
einfacher, denn die LEDs an Position 23 sind tatsächlich auch die 
Sekunde/Minute 23 und kein virtueller Punkt irgendwo in einer Matrix 
dessen Postion erst einmal anhand einer langen Tabelle gefunden werden 
muss.

Außerdem kann man diese Ringe noch partiell erweitern, wenn man z.B. den 
5min und 15min Positionen zusätzliche LEDs verpassen möchte. Die 
Verlängerung der LED Ketten an diesen Positionen kann man mit obiger 
schaltung recht einfach machen, da es für jede LED einen kleinen FET 
gibt. Wenn man statt einer nun drei LEDs einsetzen möchte, schaltet man 
diese einfach in Reihe und ändert den Vorwiderstand. Das ist in einer 
Matrix nicht möglich.
Oder man setzt gleich auf RGB LEDs und fügt einen dritten Ring an einem 
dritten PWM-Ausgang hinzu.

Ist meine persönliche Meinung, aber vielleicht gefällt es Euch ja.

Gruß, Ulrich

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die ausführliche Beschreibung.

> Layout wird also ein recht aufwändiger Wust aus Leiterbahnen.
Das nehme ich in Kauf.

> irgendwann soll das Ding auch mal vielleicht ein echtes DCF Signal emfpangen
Nein, das Signal stammt aus einem DCF-Simulator. Damit sollten die 
beschriebenen Probleme nicht auftreten.

Des weiteren bin ich froh eine einigermaßen funktionierende Schaltung 
erstellt zu haben. Da ich elektrotechnisch wie gesagt nicht so bewandert 
bin und befürchten muss beim Hardwarekauf Fehler zu machen, nehme ich 
lieber den erhöhten Aufwand in Software in Kauf. Natürlich ist deine 
Lösung viel komfortabler, aber weiterhin habe ich meine Schaltung 
bereits heute meinen Betreuern vorgestellt und für praktikabel befinden 
lassen. Jetzt möchte ich keine Änderungen dieser Größenordnung mehr 
vornehmen.
Aber danke trotzdem für den Vorschlag.

Viele Grüße
Tom

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> Lt. Datenblatt kann der Basisstrom bis zu 500mA betragen. Der ATMega
> schafft aber maximal 40mA per IO-Pin. Mit einer Gleichstromverstärkung
> von 6 (B=3A/0.5A) ergäbe das 240mA.
>
> Also funktioniert das so nicht.

Die Verstärkung steht im Datenblatt (hfe) und ist in Deinem Fall ca. 20.
Reicht aber auch nicht.


Ulrich P. schrieb:
> Um zwei Ringe anzusteuern muss man nun nicht die Anzahl der Latches
> verdoppeln, sondern man baut einen weiteren Ring mit einzel und Gruppen
> FETs auf und legt deren gemeinsames Gate-Signal auf einen weiteren PWM
> fähigen Timerausgang. Die grünen Einzel-FETs liegen mit ihren roten
> Kollegen parallel auf dem Ausgang des entsprechenden Latches.

Naja, dann muß er aber zwischendurch auch wieder neue Daten in die 
Schieberegister schieben. Dann hat man also wieder eine Matrix mit 2x60 
LEDs.
Quadratisch ist eine Matrix am preiswertesten und mit am wenigsten 
Aufwand verbunden.

Die Tabelle im RAM ist easy. Ich würde mir ein Feld aus 24Byte nehmen, 
von denen immer 2 Byte zusammen gehören. Die 2 Byte sind immer das ...

Mir fällt gerade auf, daß Du die 'langsame Seite' mit den 
Schieberegistern, an die Stelle gesetzt hast, wo die meisten Änderungen 
passieren. Denn an dem ULN2803 soll pro Port ja immer nur eine LED 
leuchten.
Die Leitungen aus der anderen Richtung, welche direkt am uC 
angeschlossen werden, werden aber immer nur einen Schritt weiter 
geschaltet - das solltest Du umdrehen!


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Würde eine Darlington-Schaltung mit den angegebenen NPN-Transisoren 
funktionieren?

Einfach umdrehen kann ich das nicht mehr - soviele Portpins habe ich ja 
nicht mehr frei. Ich baue eine 10x12-Matrix auf mit 10 Pins vom µC für 
die Spalten. Drehe ich das um, brauche ich 12 Portpins, aber es sind 
bereits jetzt alle belegt. Ich habe nochmal den aktuellen Schaltplan 
beigefügt.

Viele Grüße
Tom

Autor: Miguel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ulrich P. schrieb:
> Es ist unabdingbar sich den Signalverlauf mehrfach anzusehen und sich
> dann ein Wahrscheinlichkeits-Gerüst auszudenken, wann welche Signale
> auftrten können oder müssen.

Das ist unsinnig viel Aufwand. Dafür gibs ja die Prüfsummen. Die 
Wahrscheinlichkeit das alle drei Prüfsummen korrekt, aber die ermittelte 
Zeit trotzdem falsch ist, sind viel zu gering um da noch zusätzlichen 
Aufwand zu rechtfertigen.

Autor: Volkmer K. (v_kramp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..ich verstehe es nicht, wie man beim Einsatz von Schieberegistern zu 
wenig Portpins haben kann....

Tip: Nimm doch für die ANoden Treiber Transistoren 2 weitere kaskadierte 
4094 Schieberegister dann hast du 16 Portpins frei...

V.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe irgendwie den Eindruck, daß das Kind in den Brunnen gefallen 
wurde.

Folgende Dinge noch:

Warum baust Du 2 Matrixen auf, wenn auch eine mit ALLEN LEDs (LEDs, 
7-Seg, Alpha-LEDs) reichen würde?
Dann würden auch wieder viele Ports frei.

Warum setzt Du die LED-Vorwiderstände an das falsche Ende?

Die eine Alpha-LED ist nur halb angeschlossen.

Warum benutzt Du zwei seperate Datenleitungen für die Schieberegister?
Häng die Schieberegister in eine Reihe, dann kannst Du auch die 
Hardware-SPI benutzen - so mußt Du die Bits einzeln hineintakten.

Nur mal ein paar Dinge ...


Gruß

Jobst

Autor: Tom Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jobst M. schrieb:
> Warum baust Du 2 Matrixen auf, wenn auch eine mit ALLEN LEDs (LEDs,
> 7-Seg, Alpha-LEDs) reichen würde?
Dann muss ich noch größere Ströme schalten. Wie könnte ich das 
realisieren?

Jobst M. schrieb:
> Häng die Schieberegister in eine Reihe
Das ist keine schleche Idee - so werde ich es machen.

Vielen Dank und viele Grüße
Tom

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom Linz schrieb:
> Dann muss ich noch größere Ströme schalten. Wie könnte ich das
> realisieren?

Der Vorteil einen 'großen' Strom zu schalten ist der, weniger Aufwand zu 
betreiben, als bei zwei 'kleinen'.


Gruß

Jobst

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.