Problem mit Binäruhr 1 von der Mosfetkillerseite

Programmierung und Hardwaredesign mit Arduino, AVR, PIC und Konsorten.

Moderatoren: MaxZ, ebastler, SeriousD

Antworten

Thread-Ersteller
ferrit
Beiträge: 11
Registriert: Do 7. Apr 2016, 22:03
Danksagung erhalten: 1 Mal

Problem mit Binäruhr 1 von der Mosfetkillerseite

Beitrag von ferrit »

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
Dateianhänge
Die Uhr tickt
Die Uhr tickt
Benutzeravatar

Paul
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

Beitrag von Paul »

Moin,

erstmal finde ich es cool, dass du den Nachbau wagst! :mrgreen:

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
“With great power come great heat sinks.”
paulwilhelm.de -- mosfetkiller.de

Thread-Ersteller
ferrit
Beiträge: 11
Registriert: Do 7. Apr 2016, 22:03
Danksagung erhalten: 1 Mal

Re: Problem mit Binäruhr 1 von der Mosfetkillerseite

Beitrag von ferrit »

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
Benutzeravatar

Paul
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

Beitrag von Paul »

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.
“With great power come great heat sinks.”
paulwilhelm.de -- mosfetkiller.de

Thread-Ersteller
ferrit
Beiträge: 11
Registriert: Do 7. Apr 2016, 22:03
Danksagung erhalten: 1 Mal

Re: Problem mit Binäruhr 1 von der Mosfetkillerseite

Beitrag von ferrit »

Hallo Paul,

meintest Du das so mit der 7? Dann kommt eine Fehlermeldung. Von µC Programmierung habe ich leider null Plan :shock: .

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
Dateianhänge
ATtinybespielen.jpg
ATtinybespielen.jpg (53.76 KiB) 4621 mal betrachtet
Die Fehlermeldung
Die Fehlermeldung
Zuletzt geändert von ferrit am Di 16. Jul 2019, 14:04, insgesamt 1-mal geändert.
Benutzeravatar

Paul
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

Beitrag von Paul »

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? :D Installier dir mal WinAVR oder Atmel Studio...

Gruß
Paul!
“With great power come great heat sinks.”
paulwilhelm.de -- mosfetkiller.de

Thread-Ersteller
ferrit
Beiträge: 11
Registriert: Do 7. Apr 2016, 22:03
Danksagung erhalten: 1 Mal

Re: Problem mit Binäruhr 1 von der Mosfetkillerseite

Beitrag von ferrit »

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
Benutzeravatar

Paul
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

Beitrag von Paul »

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. :oops:
(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. :tztz:

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. :tropfen: ;)
Die Frage ist, wie das jemals richtig laufen konnte. :gruebel:

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").
PS: Was deinen Bekannten angeht: C-Dateien kannst du mit jedem Texteditor öffnen; wenn dieser zudem noch Syntax-Highlighting unterstützt (wie z.B. Visual Studio), lässt es sich natürlich am besten arbeiten. :) 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!
Dateianhänge
binaeruhr-1.0.hex.zip
(2.3 KiB) 193-mal heruntergeladen
“With great power come great heat sinks.”
paulwilhelm.de -- mosfetkiller.de

Thread-Ersteller
ferrit
Beiträge: 11
Registriert: Do 7. Apr 2016, 22:03
Danksagung erhalten: 1 Mal

Re: Problem mit Binäruhr 1 von der Mosfetkillerseite

Beitrag von ferrit »

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
Benutzeravatar

Paul
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

Beitrag von Paul »

Moin ferrit,

sorry! Habe gerade beim erneuten Kompilieren gesehen, dass das Programm ca. 20 Bytes zu groß für den Flashspeicher des ATtiny2313 war. :rage:
Mit der Compileroption "-O1" statt "-O2" passt es mit 1944 Bytes jetzt wieder hinein.
Ich hoffe, das behebt den Fehler. :aufsmaul:

Hex-File anbei.

Viele Grüße
Paul
Dateianhänge
binaeruhr-1.0.hex.zip
(2.24 KiB) 185-mal heruntergeladen
“With great power come great heat sinks.”
paulwilhelm.de -- mosfetkiller.de

Thread-Ersteller
ferrit
Beiträge: 11
Registriert: Do 7. Apr 2016, 22:03
Danksagung erhalten: 1 Mal

Re: Problem mit Binäruhr 1 von der Mosfetkillerseite

Beitrag von ferrit »

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
Dateianhänge
Man beachte die Wochentag - LED :-)
Man beachte die Wochentag - LED :-)
Benutzeravatar

Paul
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

Beitrag von Paul »

Yeah! :D

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? :mrgreen:

Viele Grüße
Paul!
“With great power come great heat sinks.”
paulwilhelm.de -- mosfetkiller.de

Thread-Ersteller
ferrit
Beiträge: 11
Registriert: Do 7. Apr 2016, 22:03
Danksagung erhalten: 1 Mal

Re: Problem mit Binäruhr 1 von der Mosfetkillerseite

Beitrag von ferrit »

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
Antworten