Problem mit Binäruhr 1 von der Mosfetkillerseite
Moderatoren: MaxZ, ebastler, SeriousD
Problem mit Binäruhr 1 von der Mosfetkillerseite
Hallo Leute,
habe mich an der Binäruhr 1 von der Mosfetkillerseite versucht. Hier ein Bild des Aufbaus: Sie funktioniert, aber es gibt ein kleines Problem: die drei LEDn vom Wochentag blinken zwar auf wenn der Wochentag gestellt werden soll aber lassen sich nur bis "3" beim stellen hochzählen, sprich die linke der drei LEDn bleibt dunkel. Woran könnte das liegen?
Viele Grüße
ferrit
habe mich an der Binäruhr 1 von der Mosfetkillerseite versucht. Hier ein Bild des Aufbaus: Sie funktioniert, aber es gibt ein kleines Problem: die drei LEDn vom Wochentag blinken zwar auf wenn der Wochentag gestellt werden soll aber lassen sich nur bis "3" beim stellen hochzählen, sprich die linke der drei LEDn bleibt dunkel. Woran könnte das liegen?
Viele Grüße
ferrit
-
- Admin
- Beiträge: 3595
- Registriert: So 7. Aug 2005, 14:34
- Schule/Uni/Arbeit: HW/SW-Entwickler
- Wohnort: Braunschweig
- Hat sich bedankt: 632 Mal
- Danksagung erhalten: 210 Mal
- Kontaktdaten:
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Moin,
erstmal finde ich es cool, dass du den Nachbau wagst!
Ich kann mich nicht daran erinnern, noch Bugs im Code zu haben. Aber möglich ist das natürlich.
Trotzdem erstmal die obligatorische Bitte an dich, die Verkabelung nochmal zu checken (LED nicht defekt, richtig gepolt)?
Wenn feststeht, dass es am Code liegt, werfe ich gerne nochmal einen Blick hinein.
Viele Grüße
Paul
erstmal finde ich es cool, dass du den Nachbau wagst!

Ich kann mich nicht daran erinnern, noch Bugs im Code zu haben. Aber möglich ist das natürlich.
Trotzdem erstmal die obligatorische Bitte an dich, die Verkabelung nochmal zu checken (LED nicht defekt, richtig gepolt)?
Wenn feststeht, dass es am Code liegt, werfe ich gerne nochmal einen Blick hinein.
Viele Grüße
Paul
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Hallo Paul,
Verdrahtungsfehler oder LED kaputt kann ich ausschließen weil:
- nach dem einschalten der Stromversorgung kann man mit der Entertaste jede Zeile bzw. die Sekundenspalte einwandfrei auswählen und es leuchten dann sämtliche zugehörigen LEDn kurz auf
- man kann (eben bis auf den Wochentag der zählt nur bis drei) mit den rauf- und runtertasten die Minuten, Stunden,Tage, Monate und das Jahr fehlerfrei einstellen. Habe auch einen zweiten ATtiny ausprobiert (beide neu) aber der Fehler bleibt.
Sowohl der DS1307 als auch der ATtiny2313 haben jeweils einen 100 nF Keramikkondensator spendiert bekommen.
Viele Grüße
ferrit
Verdrahtungsfehler oder LED kaputt kann ich ausschließen weil:
- nach dem einschalten der Stromversorgung kann man mit der Entertaste jede Zeile bzw. die Sekundenspalte einwandfrei auswählen und es leuchten dann sämtliche zugehörigen LEDn kurz auf
- man kann (eben bis auf den Wochentag der zählt nur bis drei) mit den rauf- und runtertasten die Minuten, Stunden,Tage, Monate und das Jahr fehlerfrei einstellen. Habe auch einen zweiten ATtiny ausprobiert (beide neu) aber der Fehler bleibt.
Sowohl der DS1307 als auch der ATtiny2313 haben jeweils einen 100 nF Keramikkondensator spendiert bekommen.
Viele Grüße
ferrit
-
- Admin
- Beiträge: 3595
- Registriert: So 7. Aug 2005, 14:34
- Schule/Uni/Arbeit: HW/SW-Entwickler
- Wohnort: Braunschweig
- Hat sich bedankt: 632 Mal
- Danksagung erhalten: 210 Mal
- Kontaktdaten:
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Seltsam... Oo
Im Code ist mir jetzt nix aufgefallen. Aber das ist auch 10 Jahre her. ^^*
Setze doch bitte mal am Anfang von draw_matrix() den Wochentag manuell z.B. auf 7, also time[3] = 7.
Dann mal kompilieren und gucken ob er das korrekt anzeigt.
Wenn nicht, muss der Fehler in der Funktion liegen. Wenn doch, dann muss der Fehler in der main() liegen.
Im Code ist mir jetzt nix aufgefallen. Aber das ist auch 10 Jahre her. ^^*
Setze doch bitte mal am Anfang von draw_matrix() den Wochentag manuell z.B. auf 7, also time[3] = 7.
Dann mal kompilieren und gucken ob er das korrekt anzeigt.
Wenn nicht, muss der Fehler in der Funktion liegen. Wenn doch, dann muss der Fehler in der main() liegen.
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Hallo Paul,
meintest Du das so mit der 7? Dann kommt eine Fehlermeldung. Von µC Programmierung habe ich leider null Plan
.
Oder habe ich eventuell bei der GALEP Software irgendwelche Häkchen vergessen zu setzen oder zu ändern bei dem Übertragen des hex files in den ATtiny?
Viele Grüße
ferrit
meintest Du das so mit der 7? Dann kommt eine Fehlermeldung. Von µC Programmierung habe ich leider null Plan

Oder habe ich eventuell bei der GALEP Software irgendwelche Häkchen vergessen zu setzen oder zu ändern bei dem Übertragen des hex files in den ATtiny?
Viele Grüße
ferrit
Zuletzt geändert von ferrit am Di 16. Jul 2019, 14:04, insgesamt 1-mal geändert.
-
- Admin
- Beiträge: 3595
- Registriert: So 7. Aug 2005, 14:34
- Schule/Uni/Arbeit: HW/SW-Entwickler
- Wohnort: Braunschweig
- Hat sich bedankt: 632 Mal
- Danksagung erhalten: 210 Mal
- Kontaktdaten:
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Huch! Nein, ich meinte am Anfang der Funktion "draw_matrix()", Zeile 298.
Hier zur Sicherheit der gesamte Code, bei dem ich nur diese eine Zeile eingefügt habe. ^^
https://pastebin.com/f7eHb0y1
EDIT: Visual Studio? Kann das auch AVR?
Installier dir mal WinAVR oder Atmel Studio...
Gruß
Paul!

Hier zur Sicherheit der gesamte Code, bei dem ich nur diese eine Zeile eingefügt habe. ^^
https://pastebin.com/f7eHb0y1
EDIT: Visual Studio? Kann das auch AVR?

Gruß
Paul!
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Hallo,
ups das ging ja schnell mit Deiner Antwort. Wie gesagt von µC habe ich keine Ahnung deswegen hatte ich jemanden im Bekanntenkreis gefragt von dem ich dachte das er weiß was er macht. Der hatte die Datei zwar mit seinem Programm öffnen aber nicht mehr abspeichern können.
Eine Sache fällt mir da noch ein: könnte es eventuell sein das Du für diese Binäruhr den AT90S2313 (also den vom Tiny LED scroller) verwendet hast und die Unstimmigkeiten daher kommen?
Wäre ja schön wenn man das Rätsel der streikenden Wochentag LED lösen könnte.
Viele Grüße
ferrit
ups das ging ja schnell mit Deiner Antwort. Wie gesagt von µC habe ich keine Ahnung deswegen hatte ich jemanden im Bekanntenkreis gefragt von dem ich dachte das er weiß was er macht. Der hatte die Datei zwar mit seinem Programm öffnen aber nicht mehr abspeichern können.
Eine Sache fällt mir da noch ein: könnte es eventuell sein das Du für diese Binäruhr den AT90S2313 (also den vom Tiny LED scroller) verwendet hast und die Unstimmigkeiten daher kommen?
Wäre ja schön wenn man das Rätsel der streikenden Wochentag LED lösen könnte.
Viele Grüße
ferrit
-
- Admin
- Beiträge: 3595
- Registriert: So 7. Aug 2005, 14:34
- Schule/Uni/Arbeit: HW/SW-Entwickler
- Wohnort: Braunschweig
- Hat sich bedankt: 632 Mal
- Danksagung erhalten: 210 Mal
- Kontaktdaten:
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Moin ferrit,
habe mir das ganze jetzt nochmal angeguckt und neu kompiliert.
Der aktuelle AVR-GCC Compiler hat mir auch prompt einen Fehler ausgespuckt, den ich damals übersehen habe bzw. vom Compiler noch nicht erkannt wurde.
(Er hat auch über die veraltete Deklarationsweise der Interrupt-Routinen gemeckert, was ich ebenfalls korrigiert habe.)
Ich habe den gefundenen Fehler mal korrigiert, es handelt sich dabei um einen Speicherüberlauf in der Funktion draw_matrix(). Da habe ich wohl nicht aufgepasst.
Hier der Quelltext:
https://pastebin.com/ZzvBH2y9
Die Hex-Datei habe ich dir (als ZIP, damit das Forum es frisst) angehängt -- bitte mal brennen, ausprobieren und berichten.
Wenn der Fehler weiterhin besteht, baue ich mal die in meinem vorigen Post erwähnten Debug-Maßnahmen ein.
Das Testen musst du leider übernehmen, da mein Exemplar der Binäruhr gar nicht mehr existiert.
Die Frage ist, wie das jemals richtig laufen konnte.
Und hier nur mal als Memo an mich selbst:
Meintest du mit "abspeichern" eher kompilieren, also das Erzeugen der Hex-Datei für den Programmer? -- Hierfür brauchst du wie gesagt WinAVR oder Atmel Studio, welche den AVR-GCC Compiler und weitere Tools enthalten.
PPS: Nee, ist schon für den ATtiny2313 ausgelegt und nicht für den alten AT90S2313.
Viele Grüße
Paul!
habe mir das ganze jetzt nochmal angeguckt und neu kompiliert.
Der aktuelle AVR-GCC Compiler hat mir auch prompt einen Fehler ausgespuckt, den ich damals übersehen habe bzw. vom Compiler noch nicht erkannt wurde.

(Er hat auch über die veraltete Deklarationsweise der Interrupt-Routinen gemeckert, was ich ebenfalls korrigiert habe.)
Ich habe den gefundenen Fehler mal korrigiert, es handelt sich dabei um einen Speicherüberlauf in der Funktion draw_matrix(). Da habe ich wohl nicht aufgepasst.

Hier der Quelltext:
https://pastebin.com/ZzvBH2y9
Die Hex-Datei habe ich dir (als ZIP, damit das Forum es frisst) angehängt -- bitte mal brennen, ausprobieren und berichten.

Wenn der Fehler weiterhin besteht, baue ich mal die in meinem vorigen Post erwähnten Debug-Maßnahmen ein.
Das Testen musst du leider übernehmen, da mein Exemplar der Binäruhr gar nicht mehr existiert.


Die Frage ist, wie das jemals richtig laufen konnte.

Und hier nur mal als Memo an mich selbst:
- Die Zeitinformation befindet sich im Array time[0...6].
- Die Wochentag-Nummer liegt in time[3]
- Die Information, welche LED leuchten soll, befindet sich im Array matrix[0...7][0...5] -- 8 Spalten (x) und 6 Reihen (y), wobei manche äußere Pixel nicht belegt sind.
- Die Wochentag-LEDs liegen auf matrix[1][2] (niedrigstwertiges Bit), matrix[2][2] und matrix[3][2] (höchstwertiges Bit, also die "Problem-LED").

PPS: Nee, ist schon für den ATtiny2313 ausgelegt und nicht für den alten AT90S2313.
Viele Grüße
Paul!
- Dateianhänge
-
- binaeruhr-1.0.hex.zip
- (2.3 KiB) 193-mal heruntergeladen
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Hallo Paul,
danke daß Du dich nochmal mit der Problematik beschäftigt hast. War jetzt natürlich auch neugierig und habe den Chip mit der neuen Datei versehen. Das Ergebnis ist allerdings ernüchternd, damit geht gar nichts, d.h. alle LEDn bleiben dunkel und die Uhr reagiert auf keinen Tastendruck. Um zu testen das der ATtiny nicht defekt ist habe ich dann nochmal die alte Version aufgespielt - damit verhält sich die Uhr wie gehabt. Dann ein weiteres mal die neue Version draufgemacht und alles bleibt dunkel
.
Meinen Bekannten kann ich erst morgen befragen was er da wie genau gemacht hat.
Viele Grüße
ferrit
danke daß Du dich nochmal mit der Problematik beschäftigt hast. War jetzt natürlich auch neugierig und habe den Chip mit der neuen Datei versehen. Das Ergebnis ist allerdings ernüchternd, damit geht gar nichts, d.h. alle LEDn bleiben dunkel und die Uhr reagiert auf keinen Tastendruck. Um zu testen das der ATtiny nicht defekt ist habe ich dann nochmal die alte Version aufgespielt - damit verhält sich die Uhr wie gehabt. Dann ein weiteres mal die neue Version draufgemacht und alles bleibt dunkel

Meinen Bekannten kann ich erst morgen befragen was er da wie genau gemacht hat.
Viele Grüße
ferrit
-
- Admin
- Beiträge: 3595
- Registriert: So 7. Aug 2005, 14:34
- Schule/Uni/Arbeit: HW/SW-Entwickler
- Wohnort: Braunschweig
- Hat sich bedankt: 632 Mal
- Danksagung erhalten: 210 Mal
- Kontaktdaten:
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Moin ferrit,
sorry! Habe gerade beim erneuten Kompilieren gesehen, dass das Programm ca. 20 Bytes zu groß für den Flashspeicher des ATtiny2313 war.
Mit der Compileroption "-O1" statt "-O2" passt es mit 1944 Bytes jetzt wieder hinein.
Ich hoffe, das behebt den Fehler.
Hex-File anbei.
Viele Grüße
Paul
sorry! Habe gerade beim erneuten Kompilieren gesehen, dass das Programm ca. 20 Bytes zu groß für den Flashspeicher des ATtiny2313 war.

Mit der Compileroption "-O1" statt "-O2" passt es mit 1944 Bytes jetzt wieder hinein.
Ich hoffe, das behebt den Fehler.

Hex-File anbei.
Viele Grüße
Paul
- Dateianhänge
-
- binaeruhr-1.0.hex.zip
- (2.24 KiB) 185-mal heruntergeladen
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Hallo Paul,
jetzt hat hier die Neugierde gesiegt und ich hab geschwind zwischendurch das ganz neue hex-file getestet.
Und ja, jetzt funktionierts. Danke für Deine Geduld. Hier ein aktuelles Bild:
Viele Grüße
ferrit
jetzt hat hier die Neugierde gesiegt und ich hab geschwind zwischendurch das ganz neue hex-file getestet.
Und ja, jetzt funktionierts. Danke für Deine Geduld. Hier ein aktuelles Bild:
Viele Grüße
ferrit
-
- Admin
- Beiträge: 3595
- Registriert: So 7. Aug 2005, 14:34
- Schule/Uni/Arbeit: HW/SW-Entwickler
- Wohnort: Braunschweig
- Hat sich bedankt: 632 Mal
- Danksagung erhalten: 210 Mal
- Kontaktdaten:
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Yeah! 
Da bin ich aber auch erleichtert. Darf ich die Fotos als Besuchereinsendung auf der Website veröffentlichen, falls ich in diesem Leben nochmal dazu komme, ein Update zu machen?
Viele Grüße
Paul!

Da bin ich aber auch erleichtert. Darf ich die Fotos als Besuchereinsendung auf der Website veröffentlichen, falls ich in diesem Leben nochmal dazu komme, ein Update zu machen?

Viele Grüße
Paul!
Re: Problem mit Binäruhr 1 von der Mosfetkillerseite
Hallo Paul,
kein Problem, kannst die Fotos verwenden. Und hier nochmal die Antwort von meinem Bekannten auf die Frage was genau bei ihm schief gegangen ist: Zitat "Ja ich meinte damit, dass in einer hex Datei abzuspeichern und so" . Mehr kann ich dazu leider nicht sagen.
Viele Grüße
ferrit
kein Problem, kannst die Fotos verwenden. Und hier nochmal die Antwort von meinem Bekannten auf die Frage was genau bei ihm schief gegangen ist: Zitat "Ja ich meinte damit, dass in einer hex Datei abzuspeichern und so" . Mehr kann ich dazu leider nicht sagen.
Viele Grüße
ferrit