Suche dringend jemanden mit Bascom Vollversion

Gast #3591779
Lesenswert?

Hallo zusammen ,

Ich habe mir gerade eine LCD Funkuhr zusammen gebastelt aber habe noch 
ein kleines Problem mit meinem Programm.

Meine Funkuhr läuft mit einem Atmega8 aber das fertige Programm das ich 
aus dem Internet heruntergeladen habe mit einem Atmega88.
Ich habe leider nur die Demoversion und kann deshalb das neue Programm 
nicht compilieren weil es zu groß ist.
Im Programm müsste nur die Zeile $Regfile: m88def.dat auf m8def.dat 
abgeändert werden.

Das ganze Programm kann auf dieser Seite ganz unten heruntergeladen 
werden:
http://home.arcor.de/friedrich.lischeck/funkuhr/funkuhr.html

Könnte mir da vielleicht einer von euch weiterhelfen und mir das 
abgeänderte und compilierte hex-file zusenden ?

Würde mich wirklich sehr darüber freuen.

Grüße Benny
#3591809
Lesenswert?

Benny schrieb:
> Hallo zusammen ,
>
> Ich habe mir gerade eine LCD Funkuhr zusammen gebastelt aber habe noch
> ein kleines Problem mit meinem Programm.
>
> Meine Funkuhr läuft mit einem Atmega8 aber das fertige Programm das ich
> aus dem Internet heruntergeladen habe mit einem Atmega88.
> Ich habe leider nur die Demoversion und kann deshalb das neue Programm
> nicht compilieren weil es zu groß ist.
> Im Programm müsste nur die Zeile $Regfile: m88def.dat auf m8def.dat
> abgeändert werden.
>
> Das ganze Programm kann auf dieser Seite ganz unten heruntergeladen
> werden:
> http://home.arcor.de/friedrich.lischeck/funkuhr/funkuhr.html
>
> Könnte mir da vielleicht einer von euch weiterhelfen und mir das
> abgeänderte und compilierte hex-file zusenden ?
>
> Würde mich wirklich sehr darüber freuen.
>
> Grüße Benny


bitte schön ...

Gruß M.
Angehängte Dateien:
#3591886
Lesenswert?

Benny schrieb:
> Oder mal anders gefragt : welche Funktion wird im Programm verwendet die
> der Atmega8 nicht kann ??

Verstehe deine Frage nicht. BASCOM ist eine (lausige) Hochsprache. 
Meistens meckert der Compiler nur, wenn du Register ansprichst, die der 
jeweilge, in der "$regfile"-Klausel angegebebene Chip nicht unterstützt. 
Zum Lernen also totaler Mist.
#3591927
Lesenswert?

Klaus riet:
>Vielleicht schaust du einfach nochmal nach der Hardware und den Fuses
>und dem Prozessortakt etc.

Die Fusebits müssten aber eigentlich richtig stehen, denn das Display
zeigt ihm etwas an und das macht es nur, wenn die Zeiten stimmen.

@benny
Warte mal eine Stunde oder laß die Uhr gleich bis morgen früh dran,
eventuell dauert das Synchronisieren so lange.

MfG Paul
#3591958
Lesenswert?

Benny schrieb:
> Klappt das dann auch mit meiner Demo Version ?

Ja !!!!, sonst hätte ich es nicht empfohlen.

Vielleicht schaust du einfach mal rein und googelst etwas dazu.
Etwas eigeninitiative ist ja auch nicht schlecht.


Wenn du dann einen Plan hast kannst du diesen ja vor der Ausführung 
nochmal besprechen, da man mit den Fuses auch Unfug anstellen kann.


tipp:
mach dir ein kleines Programm wie z.B.

$regfile = "m8def.dat"
$crystal = 8000000

do
loop
end


und gehe in den Programmer. Dann kommst du auch mit der DEMO an die 
Fuses


Gruss Klaus
#3591999
Lesenswert?

Klaus De lisson schrieb:
> Helmut S. schrieb:
>> Achtung, da muss natürlich dann auch ein Quarz und die beiden 22pF
>> Kondensatoren dran sein sonst hast gleich Stress.
>
> laut schaltplan hat er ja einen externen 8Mhz Oscillator dran. Daher
> sind pF Kondis Unfug.
>
> Er muss nur die Fuse einstellen.
>
> Gruss Klaus


Hallo Klaus,
danke das hatte ich übersehen, dass hier ausnahmsweise mal jemand einen 
externen Oszillator spendiert. Da kann natürlich gar nichts schief gehen 
mit den Fuses. Da gehören dann, wie du schon sagtest, keine 
Kondensatoren mehr dran.
http://home.arcor.de/friedrich.lischeck/funkuhr/funkuhr.html
Gruß
Helmut
#3592045
Lesenswert?

Benny schrieb:
> So also der Mega läuft jetzt mit dem richtigen Takt.
> Allerdings stellt sich die Uhr nicht sondern zählt jetzt wie eine
> Soppuhr aufwärts .
>
> Was das jetzt soll kann ich aber auch nicht sagen :(

Ein paar Minuten sollte man schon warten.

Kommen denn vom DCF-77 Modul Signale?
Wenn da nichts kommt, dann kann der Prozessor auch keine Uhrzeit 
stellen.
#3592053
Lesenswert?

Benny schrieb:
> So also der Mega läuft jetzt mit dem richtigen Takt.
> Allerdings stellt sich die Uhr nicht sondern zählt jetzt wie eine
> Soppuhr aufwärts .
>
> Was das jetzt soll kann ich aber auch nicht sagen :(

Das weis ich auch nicht, da ich diese Uhr nicht kenne und mit DCF noch 
nichts gemacht habe. Vielleicht ist es normal weil du derzeit keinen 
Empfang hast oder sonstwas. Vielleicht einfach mal abwarten respektive 
die Anschlüsse zum Empfänger prüfen.

Sonnst weis jemand anderes noch was.

D. V. schrieb:
> Warum nutzt du dann den Simulator von BASHCOM nicht?

Weil er nur die Demoversion von Bascom hat nehme ich an. Zudem ist das 
ja mit dem Simulator ja bei externer Hardware und Timerbetrieb eh 
Blödsinn.


Gruss Klaus
#3592075
Lesenswert?

Benny schrieb:
> Ich lass das Ding jetzt mal bis morgen laufen und dann mal sehen was
> morgen für ne Zeit anzeigt wird.
>
> Aber auf jedenfall sollte ich das Ding hinbekommen da ich extra ein
> Layout erstellt und eine Platine geätzt hab.



Falls es nicht geht, kannst du dir ja einen ATMEGA88 kaufen. Damit 
sollte es dann gehen, wenn nicht der folgende Punkt zutrifft.

Hast du kontrolliert ob du überhaupt Empfang vom DCF-77 Sender hast. 
Wenn deine Umgebung von anderen "Funkwellen" versucht ist, dann geht es 
natürlich nicht. Bei mir empfangen manche DCF-77 Uhren nur im 
Dachgeschoss ein gutes Signal aber nicht im Wohnzimmer.
#3592078
Lesenswert?

Benny schrieb:
> Ich lass das Ding jetzt mal bis morgen laufen und dann mal sehen was
> morgen für ne Zeit anzeigt wird.
Dann müsste sie ja ungefähr eine Stunde vorgehen. Dann kannst du das 
Laufen der Uhr an sich ja schonmal abhaken. Möglicherweise stellt sie 
sich nicht weil kein DCF-Signal kommt und nach einer Minute hat der 
Controller die Nase voll.
> Aber auf jedenfall sollte ich das Ding hinbekommen da ich extra ein
> Layout erstellt und eine Platine geätzt hab.
Da kann sich natürlich ein Fehler eingeschlichen haben.
Andere Funkuhren laufen in dem Raum, wo deine Uhr jetzt ist? Ich gehe 
mal davon aus, daß du nicht im Keller sitzt.
Möglicherweise ist der Empfang einfach nur schlecht. Wenn es gerade 
nicht regnet, kannst du es ja mal draussen versuchen.

mfg.
#3592105
Lesenswert?

Das Teil macht doch eh nichts anderes als die Uhrzeit anzeigen
warum schreibst du nicht einfach selbst ein Programm dazu?

Das geht mit der Demo vom Bascom locker
und schwer ist es auch nicht, eigentlich musst du nur den
Beispielcode aus der Hilfe rauskopieren
und das ganze mit dem Beispielcode vom Display verbasteln.

Am ende lenst du ja auch noch ein wenig dabei.

Möglicherweise ist der Ausgang von den DCF Modul ja invertiert.
Das Problem hatte ich mal.
#3592122
Lesenswert?

Chr. Messener schrieb:
> Möglicherweise ist der Ausgang von den DCF Modul ja invertiert.
> Das Problem hatte ich mal.

Dann wären wir ja wieder bei dem von mir genannten Jumper.
Originaltext dazu ist:
"Pin 3 als nichtinvertierter und Pin 4 als invertierter Ausgang. Bei den 
Ausgängen handelt es sich um Open Kollektor - Ausgänge, die eine 
maximale Belastung von  1 mA vertragen."


demnach wäre es es mir Wert einhach mal die Jumperstellung zu wechseln.

Gruss Klaus
#3592462
Lesenswert?

Und noch was.
Praktisch jede Funkuhr, die ich bis jetzt gesehen habe, braucht für die 
erste Anzeige 2 bis 3 Minuten.

Warum ist das so?
Theoretisch hat man nach spätestens 1 Minute, das erste DCF Paket 
komplett empfangen. Allerdings weiß man noch nicht, ob es dann korrekt 
ist oder korrekt sein kann. Daher wartet jeder ernst zu nehmende Code 
eine weitere Minute, empfängt ein zweites DCF Paket und vergleicht die 
beiden. Wenn die soweit übereinstimmen, dass das zweite Paket 
tatsächlich sich aus dem ersten Paket plus eine Minute ergibt, dann 
stehen die Chancen gut, dass alles korrekt ist. Und erst dann wird die 
empfangene Zeit als gültig erklärt. Logischerweise dauert das daher 
zwischen 2 und 3 Minuten vom Einschaalten weg gemessen.

>  Die led blinkt in der ersten minute in einem unregelmäßigem takt ,
> also gehe ich davon aus dass es sich dabei um dir dcf Signale handelt.

Nö.
Ein DCF Paket besteht aus Pulsen die regelmässig jede Sekunde kommen. 
Einzig die Pulslängen sind unterschiedlich. WEnn man genau schaut, 
könnte man sehen, dass eine daran angehängte LED jeweils ein bischen 
unterschiedlich lang leuchtet. Aber das Blinken an sich ist absolut 
regelmässig. Nach genau jeweils 1 Sekunde kommt der nächste Blinker.


Hast du dich den gar nicht im Vorfeld informiert, wie das alles 
eigentlich funktioniert? Wozu dann eine DCF Uhr bauen, die du in jedem 
Laden um einen Bruchteil deiner Bastelkosten kaufen kannst, wenn dich 
die dahinter stehende Technik sowieso nicht interessiert.
Gast #3592608
Lesenswert?

Soo ich habe die Uhr jetzt die ganze Nacht laufen lassen, sie hat 
lediglich um 7 Stunden vorgezählt aber mehr auch nicht.
Heute Abend versuch ichs mal draußen auf dem Balkon oder in anderen 
Räumen. Wenn das auch nicht klappt dann teste ich morgen mal nen Mega88 
den ich von nem Kumpel bekomm, aber sonst wüsste ich auch nicht weiter 
was ich noch machen soll . Ich hoffe jetzt einfach mal des beste dass es 
z.B. nur am Empfang oder am µC liegt.
#3592693
Lesenswert?

Karl Heinz schrieb:
> Theoretisch hat man nach spätestens 1 Minute, das erste DCF Paket
> komplett empfangen.

<krümelkackermode>
Es kann 1 Minute dauern, bis die erste 59er Sekunde kommt und die Uhr 
weiß, dass einen neue Minute beginnt. Dann dauert es eine weitere 
Minute, um das Telegramm zu empfangen.
Also "nach spätestens 2 Minuten..."
</krümelkackermode>
#3593172
Lesenswert?

Benny schrieb:
> Also am Empfang liegts sicher nicht. Draußen funktioniert das Ding auch
> nicht.
> Kann das jetzt wirklich nur noch am µC liegen ?

Nein .. das ist unwahrscheinlich.
Jedoch schreibst du:

Benny schrieb:
> Die led blinkt in
> der ersten minute in einem unregelmäßigem takt , also gehe ich davon aus
> dass es sich dabei um dir dcf Signale handelt.

im Gegensatz dazu schreibt Karl Heinz

Karl Heinz schrieb:
> Ein DCF Paket besteht aus Pulsen die regelmässig jede Sekunde kommen.
> Einzig die Pulslängen sind unterschiedlich. WEnn man genau schaut,
> könnte man sehen, dass eine daran angehängte LED jeweils ein bischen
> unterschiedlich lang leuchtet. Aber das Blinken an sich ist absolut
> regelmässig. Nach genau jeweils 1 Sekunde kommt der nächste Blinker.

Nun frage ich dich Benny:

Was schliesst du daraus ?

Gruss Klaus
#3593194
Lesenswert?

Benny schrieb:
> Hier mal ein Bild:

Die Antenne direkt hinter dem LCD könnte schon problematisch sein.

> also gehe ich davon aus
> dass es sich dabei um dir dcf Signale handelt.
Das ist einen gewagte Annahme. Messen heißt wissen. Also ein Scope an 
den Ausgang des DCF-Moduls. Eine LED wird es direkt nicht treiben 
können. Alternativ kannst du den unbenutzten Ausgang des DCF-Moduls per 
FET auf eine LED schalten und dir dort das Signal ansehen.
#3593216
Lesenswert?

Benny schrieb:
>> Was schliesst du daraus ?
>
> Keine Ahnung , das kann alles mögliche sein.
> Gebt mir doch wenigstens mal en Tipp was ich noch ausprobieren könnte

Für mich heist das Gesagte das die Led im Sekundentakt blinken sollte.
Und dies nicht nur in der ersten Minute sondern immer.
Dies sogar auch ohne den Mikrocontroller.

das ist bei dir nicht der Fall.


Zudem sieht man in dem Bauplan das die Pins 1/2/3/4/5/6/8/9 des CD 4069
nicht beschaltet sind.
Dies ist ein absoluter Designfehler und Schei**e.

Pins 1/3/5/9 müssen einen definierten Pegel haben.
Verbinde diese entweder mit Pin 7 oder Pin 14 des CD.

Pins 2/4/6/8 müssen offen bleiben.

Gruss Klaus
Gast #3593217
Lesenswert?

nur aus Interesse: was bringt einen dazu sich den Aufwand für sowas 
anzutun wenn du stur eine Anleitung befolgst, also eigentlich ohne 
konkretes Lernziel?
Ich meine, die Uhr sieht ja nicht mal toll aus sondenr ist nur ein 
klobiges LCD auf ner nackten Platine. Ich würds mir ja eingehn lassen 
wenn man ne Nixi- oder Wordclock nach Anleitung baut, aber sowas?
Für den Arbeitsaufwand hättest du dir mehrere Uhren ausn Penny geholt 
;-)
Gast #3593222
Lesenswert?

um Fehler zu suchen müsstest du dein Programm ändern:
1
Synchro:
2
'Minutensyncronisation abwarten
3
   Fehler = 0
4
Do
5
   Zaehler = 0
6
   Timer0 = Preload0
7

8
   While Signal = 0
9
      If Zaehler > 1000 Then
10
         Fehler = 1:                                        'kein Empfang
11
         Exit While
12
      Else
13
         Fehler = 0
14
      End If
15
   Wend
16

17
Loop Until Zaehler > 130
18

19
Return


An diesaer Stelle stellt er fest, ob Empfang vorhanden ist:
    If Zaehler > 1000 Then

Das kannst du dir über eine Led oder per Lcd anzeigen lassen
#3593229
Lesenswert?

ERGÄNZUNG zu
> Gebt mir doch wenigstens mal en Tipp was ich noch ausprobieren könnte

Auf deinem Foto sehe ich keine Kondensatoren in der Nähe des MC und des 
CD.

Die 100nF Kondensatoren c5 und C6 gehören ganz na an die Pins des MC.
auch der CD benötigt einen 100nF direkt an den Pins 7 und 14.

den gibt es im Schaltplan garnicht.

Oh Gott... was für ein Design.


Zusätzlich würde ich die Antenne mal mechanisch von deiner Platine lösen 
und sie neben die Platine legen.  Die ist ja förmlich zwischen LCD und 
DCF Modul eingesperrt.


Gruss Klaus
#3593239
Lesenswert?

Warum dieser ganze Aufwand?
Du kannst doch mit der eingebauten Bascom-Dcf-Routine dasselbe 
erreichen, nur viel einfacher!
Ich hab das mal angehängt. Das sind ca. 30 Zeilen Programm, 1350 Bytes, 
geht locker mit der Demo.
Der Effekt ist derselbe.(Ist aber mit Mega8a und Bitratenquarz, das 
müßtest Du ja leicht ändern können)
Joachim
Angehängte Dateien:
#3593253
Lesenswert?

Das scheint dich überhaupt nicht zu interessieren:



Klaus De lisson schrieb:
> Zudem sieht man in dem Bauplan das die Pins 1/2/3/4/5/6/8/9 des CD 4069
> nicht beschaltet sind.
> Dies ist ein absoluter Designfehler und Schei**e.
>
> Pins 1/3/5/9 müssen einen definierten Pegel haben.
> Verbinde diese entweder mit Pin 7 oder Pin 14 des CD.
>
> Pins 2/4/6/8 müssen offen bleiben.

Klaus De lisson schrieb:
> Auf deinem Foto sehe ich keine Kondensatoren in der Nähe des MC und des
> CD.
>
> Die 100nF Kondensatoren c5 und C6 gehören ganz na an die Pins des MC.
> auch der CD benötigt einen 100nF direkt an den Pins 7 und 14.
>
> den gibt es im Schaltplan garnicht.
>
> Oh Gott... was für ein Design.
>
> Zusätzlich würde ich die Antenne mal mechanisch von deiner Platine lösen
> und sie neben die Platine legen.  Die ist ja förmlich zwischen LCD und
> DCF Modul eingesperrt.



Wenn wir schon deine Arbeit machen sollen solltest du auch adequat 
kooperieren. Sonst ist "Sense".

Gruss Klaus
Gast #3593279
Lesenswert?

J. H. schrieb:
> Warum dieser ganze Aufwand?
> Du kannst doch mit der eingebauten Bascom-Dcf-Routine dasselbe
> erreichen, nur viel einfacher!
> Ich hab das mal angehängt. Das sind ca. 30 Zeilen Programm, 1350 Bytes,
> geht locker mit der Demo.
> Der Effekt ist derselbe.(Ist aber mit Mega8a und Bitratenquarz, das
> müßtest Du ja leicht ändern können)
> Joachim

Mit diesem Programm genau das selbe . Die Uhr läuft und zählt aufwärts 
aber sonst tut sich nichts.
Gast #3593283
Lesenswert?

Hallo Zusammen,

da ich auch vor einiger Zeit eine Funkuhr gebaut habe, hier mal meine 
Erfahrungen.

Zunächst zur Kodierung: Es wir jede Sekunde ein Bit übertragen, außer in 
der 59sten Sekunde. Das fehlende Bit in der 59sten dient zur 
Synchronisation. Die Bits werden mit der Pulslänge kodiert ( 100ms=low, 
200ms=high). Mein Funkmodul ist eines von Konrad und ich habe eine LED 
direkt hochohmig angeschlossen, gerade so, dass man den Puls noch sehen 
kann. Wenn man sich etwas daran gewöhnt, kann man die 0 und 1 Bits 
unterscheiden und sieht auch, ob das Modul richtig empfängt. Die 
Empfangsqualität ist Tageszeit und vor allem von der Ausrichtung der 
Ferritantenne abhängig. Ich habe in meine Uhr einen Modus eingebaut, in 
dem die aktuell gemessen Impulszeiten im Display angezeigt werden. Damit 
kann man sehr genau erkennen, wie die Empfangsqualiät ist.
Ich habe hier auch eine gekaufte Funkuhr. Deren Empfang ist auch 
richtungsabhängig. Senkrecht zur Optimalrichtung empfängt sie gar nicht.
Wenn sie in der Nähe der Nachtischlampe steht ( 12V Halogenbilliglampe 
mit eingebautem schwerem Trafo im Fuß ) empfängt sie auch nichts.
Als die Ferritantenne meiner selbstgebauten Funkuhr noch im Genhäuse in 
der Nähe des Trafos war, hat sie auch nichts empfangen. Deshalb habe ich 
das Modul an einem Kabel nach draußen verlagert.
Mein Vorschlag: Wenn Du genau wissen willst, wie gut die 
Empfangsqualität ist, schreib ein kleines Programm, welches die 
Pulszeiten auf dem Display anzeigt.
#3593409
Lesenswert?

Ich hab Dir mal zur besseren Übersicht zwei "Melder" aufs LCD gemacht:
Auf Zeile2, vor dem Datum erscheint ein "*", wenn eine gültige 
Zeitinformation empfangen wurde.(was die Uhr stellen sollte).
Daneben tickt das DCF-Signal als "#", mal schneller, mal kürzer im 100/
200-ms Rythmus. Wenn also der "*" an geht, und die Zeit stimmt nicht, 
ist was anderes Schuld und nicht das DCF-Modul.
Joachim
Angehängte Dateien:
Gast #3595070
Lesenswert?

Soo die Uhr läuft jetzt so ohne Problkeme .
Ich habe das Programm noch ein wenig umgeschrieben dass anstelle des "*" 
ein kleiner Funkturm bei Empfang angezeigt wird.
Ist ist nur verdammt nervig Empfang zu bekommen wenn man die gerade erst 
eingesteckt hat. Das DCF Modul scheint sehr Empfindlich zu sein.
Angehängte Dateien:
#3595132
Lesenswert?

Benny schrieb:
> Ist ist nur verdammt nervig Empfang zu bekommen wenn man die gerade erst
> eingesteckt hat. Das DCF Modul scheint sehr Empfindlich zu sein.

Und deshalb habe ich in der nächsten Stufe der Evolution eine RTC 
drangehängt. Damit hast Du erstmal eine Uhrzeit, die wird dann nur noch
mit DCF abgeglichen, wenn mal guter Empang ist.

Aber das könntest Du ja mal selbst versuchen, kann man schön die
Funktion von I2C bei lernen.
Joachim

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren