Forum: Mikrocontroller und Digitale Elektronik Binär-Uhr Projekt Arduino


von Nino K. (lnino)


Angehängte Dateien:

Lesenswert?

Hallo an alle,

ich habe versucht ein "Binary Clock" Projekt aus dem Web nachzubauen.

Leider stehe ich etwas an und hoffe, dass ihr mir hier weiterhelfen 
könnt.

Das orignale Projekt ist hier zu finden: 
http://www.relentlessplay.com/binary-clock-part-2/

Ich habe die Platine geringfügig in Eagle adaptiert, da ich 
Wannenstecker verwenden wollte und diese dann bei Itead fertigen lassen.

Als ich die Platine bekommen habe, habe ich alle Bausteine bestückt und 
gelötet. Dann habe ich zum Funktionstest das Blink LED Test Prog von 
Arduino reingespielt, welches 1A funktioniert.

Die gelben Wire in Eagle habe ich übersehen und dann nachträglich auf 
der Unterseite mit Fädeldraht ergänzt.

Somit sollte die Grundlegende Schaltung vom ATMega mit Quarz und 
Kondensatoren in Ordnung sein.

Ich habe mir ein paar Tutorials bzgl. der 595er angeschaut um 
sicherzugehen, dass die Verkabelung passt... Dies ist meiner Meinung 
nach auch richtig gelöst.

Wenn ich aber nun das Programm von der Website einspiele, dann leuchten 
immer drei LEDs von jedem Wannenstecker. Also jeweils 3 LEDs von den 
Stunden, Minuten und Sekeunden. Und es ist keine Reaktion auf die 
Buttons wenn ich diese drücke.

Habt ihr eine Idee woran das liegen könnte?

Vielleicht ein anderes kleines Testprogramm mit dem man einen 
erweiterten Umfang test kann.

Vielen Dank schon mal im Voraus für Eure Hilfe.

von Matthias Q. (zaphod_beeblebrox)


Lesenswert?

Hast du die Uhr gestellt?

von Nino K. (lnino)


Lesenswert?

Das stellen der Uhr geht über die beiden Buttons (Modi wechseln). Diese 
sind aber leider ohne Funktion. Es passiert nichts wenn ich diese 
betätige.

von Hubert G. (hubertg)


Lesenswert?

Du hast extrem dünne Leitungen, besonders für VCC und GND. Weiters 
fehlen die Kondensatoren am Spannungsregler, am µC und an den 595.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Ich sehe nirgends die Vorwiderstände für die LEDs.

von Nino K. (lnino)


Lesenswert?

Ich habe das Layout bis auf die Wannenstecker wie vom Originalpost 
unverändert gelassen. Darum die fehlenden Kondensatoren und die dünnen 
Linien.

Die Vorwiderstände habe ich für einen schnellen Test einfach 
weggelassen.
Habe die LEDs in einem 100er Sack auf eBay gekauft. Sollte beim Test die 
eine oder andere kaputt gehen, ist das nicht so schlimm. Für den Test 
sollten die Vorwiderstände nicht aussagekräftig sein.

von Peter D. (peda)


Lesenswert?

Nino K. schrieb:
> Für den Test
> sollten die Vorwiderstände nicht aussagekräftig sein.

Na wenn Du das sagst.

von Matthias Q. (zaphod_beeblebrox)


Lesenswert?

Um die LEDs mach dir mal nicht so viele Sorgen... Da siehste (nicht), 
wenn eine durch ist. Was können die Register denn so treiben? Und was 
zeiht ne LED ohne Vorwiderstand?
Der ursprüngliche Autor schreibt ja selber, dass er schon >150€ für das 
eine Pojekt ausgegeben hat und viele Fehler drin hatte. Du hast so 
ziemlich alle mit übernommen.

von Hubert G. (hubertg)


Lesenswert?

Du wirst wahrscheinlich keinen Oszi haben um nachzusehen ob sich da 
überhaupt etwas tut.
Bei den dünnen Leitungen und ohne Vorwiderstände für die Led, die ziehen 
was der 595 hergibt, würde es mich nicht wundern wenn der µC dauernd 
resetet.
Schon mal zumindest die Spannungen auf den einzelnen ICs gemessen?

von Nino K. (lnino)


Lesenswert?

Okay, das mit dem Vorwiderstand habe ich nicht so stark eingeschätzt. 
Ich hätte nicht gedacht, dass diese so viele mA ziehen. Aber natürlich 
leuchten die Stunden und Minuten ja permanent und die Sekunden springen 
dauernd um. Da sind dann doch einige LEDs welche konstant an sind. :-(

Dann versuche ich 680Ohm vor jede LED zu hängen und zu schauen ob sich 
das Ergebnis verändert. Liege ich richtig, dass für die transparenten 
LEDs Rot, Grün, Blau, 680 Ohm der richtige Wert für den Vorwiderstand 
ist? Kohle- oder Metallschicht dürfte hier egal sein, oder?

Oszi habe ich leider keinen.

Die Spannungen habe ich auf den einzelnen 595er gemessen. Spannung liegt 
überall voll an.

: Bearbeitet durch User
von Matthias Q. (zaphod_beeblebrox)


Lesenswert?

Nino K. schrieb:
Liege ich richtig, dass für die transparenten
LEDs Rot, Grün, Blau, 680 Ohm der richtige Wert für den Vorwiderstand
ist?

Gegenfrage: Wie kommst du auf den Wert?

von Nino K. (lnino)


Lesenswert?

Mit dem Vorwiderstandsrechner auf Elektronik Kompodium.

http://www.elektronik-kompendium.de/sites/bau/1109111.htm

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Nino K. schrieb:
> Liege ich richtig, dass für die transparenten LEDs Rot, Grün, Blau,
> 680 Ohm der richtige Wert für den Vorwiderstand ist?
"680 Ohm" sind für den Wert der Vorwiderstände auf jeden Fall besser als 
"keiner".

Nino K. schrieb:
> Somit sollte die Grundlegende Schaltung vom ATMega mit Quarz und
> Kondensatoren in Ordnung sein.
Abgesehen davon, das abgesehen vom (wirkungslosen!) C1 kein 
Blockkondensator auf der Platine ist. Und das bei den hochohmigen 
Versorgungsleitungen im untersten sub-mm Bereich...  :-o

Nino K. schrieb:
> Mit dem Vorwiderstandsrechner auf Elektronik Kompodium.
> http://www.elektronik-kompendium.de/sites/bau/1109111.htm
1. halbwegs aktuelle LEDs blenden dich bei 18mA.
2. du hast keine 13,8V "Betriebsspannung"...

> Mit dem Vorwiderstandsrechner auf Elektronik Kompodium.
Dort wird der Vorwiderstand offenbar nach der E3-Reihe (1-2,2-4,7) 
ausgerechnet. Denn ich würde bei berechneten 155 Ohm nicht 220 sondern 
150 (oder schlimmstenfalls 180) als nächsten Wert nehmen...

: Bearbeitet durch Moderator
von Nino K. (lnino)


Lesenswert?

Vielen Dank für die Erklärung.

Habe mir nun das Datenblatt vom 595er angesehen und nun macht es Sinn. 
:-)
Der 595er hat eine Betriebsspannung von 5V und deswegen muss ich auch 
den Vorwiderstand mit diesem Wert rechnen.

Dann schau ich mal ob ich noch genug 220 Ohm oder 180 Ohm Widerstände 
übrig habe.

von Hubert G. (hubertg)


Lesenswert?

Zum Testen ist es egal wenn die Widerstände in deiner Vorratskiste etwas 
größer sind.
Aber wenn du welche besorgen musst, dann denke auch gleich an die 100n 
Kondensatoren die fehlen. Beim Spannungsregler und beim µC passen SMD 
0805 schön zwischen die Pin. Für die 595 und den DS1307 wirst du 
bedrahtete nehmen müssen.

von Nino K. (lnino)


Angehängte Dateien:

Lesenswert?

Hallo an alle,

ich habe nun am Steckbrett die LEDs mit Vorwiderständen ausgestattet. 
(Habe noch 150 Ohm in meiner Kiste gefunden.)

Zudem habe ich bei den 595, dem ATMega und dem DS1307 einen 100N 
Kondensator reingelötet.

Habe dann das Steckbrett mit der Platine über die Wannenstecker 
verbunden.
Leider tut sich bei Druck auf die beiden Knöpfe zum Stellen der Uhrzeit 
immer noch nichts. Und seltsamerweise leuchten die roten LEDs nicht 
mehr. Aber sonst ist es gleich wie davor. Es leuchten die selben LED 
statisch ohne sich zu verändern.

Als Netzteil verwende ich eines mit 12V und 1000mA.

Die Knopfbatterie für den RTC ist natürlich eingesetzt, hatte ich nur 
beim Foto vergessen reinzugeben.

Habt ihr noch eine Idee?

Anbei ein paar Bilder von der aktuellen Situation.

von Hubert G. (hubertg)


Lesenswert?

Nachdem ja immer noch nicht klar ist ob der Kontroller auch wirklich 
läuft, solltest du dir ein kleines Testprogramm schreiben. Leg auf einen 
freien Pin eine Led und lass diese blinken.
Ich sehe auf deinem Bild die Verbindung von Pin8 auf Pin 22 nicht. Die 
hast du offensichtlich auch vergessen.

von Hubert G. (hubertg)


Lesenswert?

Bist du dir sicher das du die Knopfbatterie mit deinem aufgelöteten 
Bügel nicht kurzgeschlossen hast?
Ob die Batterie eingesetzt ist oder nicht hat mit der Grundfunktion der 
Schaltung nichts zu tun.
Die fehlende Verbindung Pin8 Pin22 ist am µC.

von Nino K. (lnino)


Angehängte Dateien:

Lesenswert?

Hi Hubert,

danke für deine Rückmeldung.

Das Testprogramm haben ich schon zu Beginn der Fehlersuche gemacht. 
(Siehe Startpost von mir)

Nino K. schrieb:
> Dann habe ich zum Funktionstest das Blink LED Test Prog von
> Arduino reingespielt, welches 1A funktioniert.

Da das Blink Programm funktioniert, denke ich, dass die Grundlegende 
Schaltung des ATMega in Ordnung ist und der Quarz schwingt.

Die Thematik mit Pin 8 und Pin 22 ist, dass ich vergessen habe die GND's 
zwischen den Wannsteckern zu verbinden. Wenn man das macht, wie ich es 
mit dem Fädeldraht gemacht habe, dann verschwindet auch die gelbe Linie 
des "Unrouted". Ist in diesem Fall etwas irreführend. Aber anhand des 
angehängten Bildes besser zu erkennen. (Ganz dicke Rote Linie)

Die Knopfbatterie ist richtig gedrahtet. Den Batterieclip welchen ich 
verwende, hat 2 Pins, VCC und GND. Auf der Platine ist aber ein anderes 
Package mit 3 "Pins" verwendet worden. Also habe ich einfach eine VCC 
Linie auf der Platine entfernt. Somit sind auf der Platine nur noch GND 
und ein Loch mit VCC verdrahtet. Dann den Batterieclip aufgelötet mit 
auf beiden Lötpunkten. Wovon nur ein Lötpunkt verdrahtet ist (VCC). Dann 
den anderen Lötpunkt welcher ins leere geht mit dem Viereck über einen 
Draht verbunden um eine Verbindung mit GND herzustellen. Ist a bissi 
gebastelt, aber die Batteriehalter hatte ich schon zu Hause und passten 
genau in die Löcher der bestehende Platine.

Hat noch jemand eine Idee wo das Problem liegt?
Vielleicht am Arduino Code?

Mit den Komponenten sollte nun alles korrekt sein, oder?

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Du solltest erstmal testen, ob die Schaltung funktioniert.
Anbei ein einfaches Testprogramm, was im Sekundenabstand erstmal die 3 
Bytes anschaltet und dann alle Bits der Reihe nach.

Der Schaltplan ist natürlich die Härte, kleiner gings wohl nicht.
Ich hoffe mal, daß ich die Pins richtig erahnt habe.
Warum hast Du die 3 Register unterschiedlich beschaltet?

von Nino K. (lnino)


Angehängte Dateien:

Lesenswert?

Hi Peter,

vielen Dank für dein Testprogramm.

Werde es gleich mal ausprobieren.

Ja der Schaltplan ist etwas klein geworden.
Anbei habe ich den Schaltplan mit etwas mehr Auflösung hochgeladen.

lg
Nino

von Hubert G. (hubertg)


Lesenswert?

Nino K. schrieb:
> Die Thematik mit Pin 8 und Pin 22 ist, dass ich vergessen habe die GND's
> zwischen den Wannsteckern zu verbinden.

Mach trotzdem noch eine Verbindung zwischen den beiden Pin. Der GND-Weg 
zu Pin8 ist irrsinnig lang.
Dem Spannungsregler solltest du auch noch zwei Kondensatoren spendieren. 
Die C4 und C5 erfüllen nicht diesen Zweck.
Wenn das Testprogramm keine Klarheit bringt, wird es ohne Oszi 
wahrscheinlich schwierig werden die Fehler zu bereinigen.

von Holger L. (max5v)


Lesenswert?

Nur so eine Frage nebenbei:
Auf dem ersten Bild, wenn man ganz nahe heranzoomt und versucht zu 
entschlüsseln was auf den drei 74HC595 IC's stht, lese ich dort 4094BE 
oder habe ich einen Knick in der Pupille?

von Nino K. (lnino)


Angehängte Dateien:

Lesenswert?

Holger L. schrieb:
> Nur so eine Frage nebenbei:
> Auf dem ersten Bild, wenn man ganz nahe heranzoomt und versucht zu
> entschlüsseln was auf den drei 74HC595 IC's stht, lese ich dort 4094BE
> oder habe ich einen Knick in der Pupille?

Da muss ich dir leider recht geben. Ich habe hier tatsächlich die Shift 
Register vertauscht. Habe hier versehentlich die Shift Register von dem 
Word2Clock Projekt verwendet. Sorry und vielen Dank für den Hinweis.

Aber leider funktioniert die Binär Uhr auch nicht mit den richtigen 
Shift Registern. Habe in meiner Kiste noch 3 Stück SN74HC595N gefunden 
welche ich mal bei Adafruit bestellt habe. Diese habe ich nun anstelle 
der 4094 reingesteckt.

Leider leuchten alle Lampen nach dem Anstecken des Netzteiles nur einmal 
kurz auf und dann ist dunkel. Auch das Drücken der Taster verändert 
nichts daran.

Dann habe ich noch das Testprogramm von "Peter" in meinen ATMega168 
geflasht um diesen Test zu absolvieren. Wenn ich hier das Netzteil 
anstecke, dann leuchten alle LEDs permanent. Es tut sich nichts.

Ich muss aber dazusagen, dass ich den Code geringfügig geändert habe, da 
mein GCC beim flashen gemekkert hat, dass in der for schleife schon das 
i deklariert wird und ihm die mittlere Bedingung in der For Schleife 
nicht gefiel. Deswegen habe ich die Deklaration aus der For Schleife 
rausgenommen und ein Stück weiter oben platziert. (Anbei mein 
veränderter Code)

Habt ihr noch eine Idee?

von Holger L. (max5v)


Lesenswert?

Nur eine Idee, kenne mich mit Arduino nicht aus, aber wie stellt man in 
diesem System denn die Fuses auf den externen Quarz um?

von Hubert G. (hubertg)


Lesenswert?

Holger L. schrieb:
> Nur eine Idee, kenne mich mit Arduino nicht aus, aber wie stellt man in
> diesem System denn die Fuses auf den externen Quarz um?

Ganz einfach über ISP.

von Jobst M. (jobstens-de)


Angehängte Dateien:

Lesenswert?

Nino K. schrieb:
> Habt ihr noch eine Idee?

Och ...


Gruß

Jobst

von Hubert G. (hubertg)


Lesenswert?

Auf den Fehler habe ich schon vor einiger Zeit hingewiesen. Der GND 
läuft so über die halbe Platine.
Ich bin ohnehin der Meinung das es sich hier um einen HW-Fehler handelt. 
Nur ohne geeignete Messmittel wird der nicht einzugrenzen sein.

von Joachim B. (jar)


Lesenswert?

warum nimmt man ein 12V Netzteil und dann noch einen Linearregler wo 
doch nur 5V benötigt werden?

Also entweder switcher oder 5V Netzteil

von Nino K. (lnino)


Lesenswert?

Hubert G. schrieb:
> Auf den Fehler habe ich schon vor einiger Zeit hingewiesen. Der GND
> läuft so über die halbe Platine.

Die Brücke ist natürlich mittlerweile auch schon reingemacht.
Hat aber an der Gesamtsituation nichts verändert.

Immer noch keine Reaktion von der Binäruhr.

von Jobst M. (jobstens-de)


Lesenswert?

Hubert G. schrieb:
> Der GND läuft so über die halbe Platine.

Also Eagle fehlt dort komplett die Verbindung!
Sonst wäre dort keine gelbe Linie. (In meinem Bild etwas stärker als im 
Orginal ganz oben, um darauf aufmerksam zu machen.)


Gruß

Jobst

von Jobst M. (jobstens-de)


Lesenswert?

Sag mal, warum hast Du SCK der Schieberegister an MISO angeschlossen?


Gruß

Jobst

von Nino K. (lnino)


Lesenswert?

Jobst M. schrieb:
> Sag mal, warum hast Du SCK der Schieberegister an MISO
> angeschlossen?
>
> Gruß
>
> Jobst

Ist das so nicht korrekt?
Wo gehört der SCK richtig angeschlossen?

von Jobst M. (jobstens-de)


Lesenswert?

Nino K. schrieb:
> Wo gehört der SCK richtig angeschlossen?

Na, schau Dir mal die SPI-Schnittstelle im Datenblatt des Controllers 
an.


Gruß

Jobst

von Peter D. (peda)


Lesenswert?

Nino K. schrieb:
> Wo gehört der SCK richtig angeschlossen?

Bei SW-SPI isses egal.

von Hubert G. (hubertg)


Lesenswert?

Nino K. schrieb:
> Immer noch keine Reaktion von der Binäruhr.

Ich habe größtes Misstrauen gegenüber der Hardware. Hast du die beiden 
Kondensatoren am Spannungsregler schon eingelötet?
Dann mal alle VCC an den ICs und sonstigen Punkten vom GND des 
Spannungsregler aus messen. Es dürfen nur minimale Spannungsunterschiede 
bestehen. Dann vom 5V Ausgang des Spannungsregler aus alle GND Punkte 
messen.
Am Besten wäre das natürlich mit einem Oszi, denn mit dem Meßgerät 
siehst du keine Impulse.
Dann noch alle anderen Verbindungen durchtesten.
Wenn das alles OK ist, dann wirst du mit einfachen Meßmittel schlechte 
Karten haben.
Dann musst du mit einfacher Software anfangen, z.B. die Tasten 
ausprobieren, mit denen jeweils eine Led leuchten lassen. Dann nur ein 
Schieberegister usw.

von Jobst M. (jobstens-de)


Angehängte Dateien:

Lesenswert?

Hubert G. schrieb:
> Ich habe größtes Misstrauen gegenüber der Hardware.

Ich auch.

Die Änderungen auf dem Bild solltest Du auch(!) durchführen.
Auch wenn Du Dir sagst: "Die Verbindung habe ich doch schon" - ja aber 
über zu lange Strecke.
Vref gehört getrennt von Betriebsspannung und mit einem Kondensator 
gegen Masse beschaltet.

Und mach einfach mal eine Brücke zwischen Pin 18 und Pin 19, um zu 
schauen, ob Deine Demo dann läuft.


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.