Servus
ich habe mir vor etwa einem halben Jahr schon einmal einen Wecker gebaut
mit Radio und pipapo. Der is so groß den will ich gar nicht mehr
verwenden.
Nun will ich ein zweites Projekt starten. Einen Funkwecker wenn möglich
welcher mit einem 9V Block betrieben wird und mit einem Solarpanel
geladen wird.
Die Ladung soll mir auf einem LCD Display in % angegeben werden.
Nun meine Frage ist sowas denn für einen quasi Anfänger realisierbar?
Und habt ihr auch irgendwelche seiten wo man sich gut in die thematik
analog digital wandlung einlesen kann als auch in DCF77?
Ist sowas denn realisierbar? Ich meine ich möchte ein 2x16 LCD Display
verwenden mit einem Atmega 8 und Bascom.
Rein vom Strom her würde ich mal behaupten mehr als 200mA wird da hoffe
ich nicht fließen.
Kann mir da jemand helfen?
Matthias Knab schrieb:> Nun will ich ein zweites Projekt starten. Einen Funkwecker wenn möglich> welcher mit einem 9V Block betrieben wird und mit einem Solarpanel> geladen wird.
Lass fürs erste das Solarpanel weg.
Auch Rom ist nicht an einem Tag erbaut worden
> Nun meine Frage ist sowas denn für einen quasi Anfänger realisierbar?
Wenn der Anfänger sich in die Thematik programmieren einliest und lernt
... warum nicht. Dann ist er ja kein Anfänger mehr.
> Und habt ihr auch irgendwelche seiten wo man sich gut in die thematik> analog digital wandlung einlesen kann als auch in DCF77?
Da du ganz zum Schluss BASCOM erwähnt hast.
Das ist doch in BASCOM alles schon schlüsselfertig. Ein wenig googeln
und du hast eine DCF Dekodierung.
> Ist sowas denn realisierbar? Ich meine ich möchte ein 2x16 LCD Display> verwenden mit einem Atmega 8 und Bascom.
Warum soll das nicht realisierbar sein?
> Rein vom Strom her würde ich mal behaupten mehr als 200mA wird da hoffe> ich nicht fließen.
200mA nicht.
den meisten Strom braucht das DCF Modul.
Aber das muss ja nicht ständig laufen. Wenn sich das in der Nacht einmal
neu synchroniesiert, tuts das. Und in der Zwischenzeit läuft die Uhr mit
Quarzbetrieb. Machen käufliche Produkte auch nicht anders.
>> Kann mir da jemand helfen?
Nur wenn du verrätst, welche Teile du alleine hinkriest, und wobei du
konkret Hilfe brauchst.
ok also bei meiner letzten uhr habe menü und die uhr an sich mit etwas
hilfe von hier programmiert bekommen.
speziell brauche ich jetzt eher mal hilfe wie ich den DCF einbinde in
das programm. hat da jemand vielleicht mal ein beispiel?
Matthias Knab schrieb:> speziell brauche ich jetzt eher mal hilfe wie ich den DCF einbinde in> das programm. hat da jemand vielleicht mal ein beispiel?
gehst du zu Tante Google und tippst ein
"BASCOM DCF77"
und schwuppdiwupp hast du jede Menge fertige Lösungen.
(Wenn du Links findest, die ins Roboternetz führen, dann sind die immer
interessant. Da treiben sich jede Menge BASCOM Leute herum. So auch zum
Thema DCF77)
eben weil ich so einen taschenrechner habe dachte ich halt dass man da
auch sowas in der art realisieren könnte. immerhin hab ich den
taschenrechner schon 10 jahre und der läuft immernoch.
und dass mit der ladungsanzeige is dass für einen anfänger ratsam? ich
habe ein avr buch hier nur finde ich die beschreibungen da drinn
ziemlich kacke.
so ich hab mal alles durchkalkuliert kosten technisch und ich war
überrascht dass der dcf77 so viel kostet da muss ich nochmal überlegen
ob ich mir das antue.
aber anderes thema. ich hab mich nun doch entschlossen den wecker mit
einem 9V Block zu betreiben.
Nun bin ich meine unterlagen durchgegangen und wollte mal euere
meinungen zu spannungsreglern wissen.
ich habe den 78L05 ins auge gefasst um das 2x16 display, den µC und
Lautsprecher zu betreiben.
Nun wollte ich Fragen ob der denn dafür überhaupt ausreicht. was meint
ihr?
Dann noch eine Weitere frage mit dem Weckton den ich erzeugen will kann
ich den direkt über den µC an den Lautsprecher weitergeben oder sollte
ich besser einen Transistor einbauen den ich über den µC ansteuere
welcher mir 5V von der versorgung drauf schaltet? oder komplett anders?
habt ihr mir da mal Tipps?
Matthias Knab schrieb:> Nun wollte ich Fragen ob der denn dafür überhaupt ausreicht. was meint> ihr?
Ausreichen wird der schon.
Aber da du auf Batteriebetrieb fahren willst, ist dann wohl die Laufzeit
auch nicht aus den Augen zu verlieren.
Rechnen wir doch mal.
Nur als Annahme (die fällt hinten am Ende der Rechnung wieder raus) sei
mal angenommen, dass deine Schaltung 100mA verbrauchen wird.
D.h. von der Batterie werden ständig 9V * 100mA = 900mW entnommen.
An deine eigentliche Schaltung werden 5V * 100mA = 500mW weitergegeben.
D.h. du hast einen Wirkungsgrad von 500 / 900 (und hier fallen jetzt die
100mA wieder raus) = 0.55 = 55%
Oder mit anderen Worten: Von der Energie, die in deiner Batterie steckt,
werden 45% (fast die Hälfte) dafür benutzt den Raum zu heizen.
> welcher mir 5V von der versorgung drauf schaltet? oder komplett anders?> habt ihr mir da mal Tipps?
Push/Pull Endstufe. ein PNP und ein NPN Transistor
Oder du nimmst einen Summer
DCF-Module kosten doch nicht die Welt.
Das wäre für mich kein Grund, es sein zu lassen.
Aber: was für ein LCD-Modul willst Du verwenden ?
Meine hier brauchen (ich glaube aber, mit Hintergrundbeleuchtung) >
100mA.
Ich bin der Meinung, mit einem 9V-Block kannst Du das alles vergessen,
zumindest mit solch einer Anzeige.
Oder gibt es welche im uA-Bereich ?
Und schau dir unbedingt mal an, welche Menge an "Energie" in so einem
9V-Block steckt. Afair hat so ein Ding ~200 mAh - damit kommst Du dann,
mit deinem angenommenen Verbrauch gerechnet, auf ca. 1 Stunde Laufzeit.
Wohl zu kurz, um dich am nächsten Morgen zu wecken.
Just my 2 Cents...
ja gut und was schlägst du vor damit ich den wirkungsgrad in den griff
bekomme? an der spannung kann ich ja nix ändern 5V brauch ich gerade
auch für das display.
und wenn ich 4x1,5V batterien verwende funktioniert das mit dem 78L05
nicht mehr da dieser 7,2V benötigt damit er funktioniert.
Stromsparend kann man das schon bauen, vorausgesetzt man muss den
Controller nicht die ganze Zeit zur DCF-Dekodierung laufen lassen. Nimm
dieses Modul, das liefert der per seriellen Port eine fertige geprüfte
DCF-Zeit. Es läuft selbstständig parallel weiter und braucht dabei nur
wenige µA. Nur einmal nachts während idealer Empfangsnbedingungen geht
es automatisch in den Empfangsmodus zwecks Synchronisation.
http://www.hkw-elektronik.de/shop/artikel/FUM-DCF.php
Antennen gibt es dort auch für kleines Geld.
Ich kann das nur empfehlen, damit gehst Du auch der unnötigen Hampelei
aus dem Weg, die hier in tausenden von Beiträgen zu reinen
Zeitzeichen-Empfängern gesammelt sind (Interface Störungen Software)
jo cool danke schon mal. um nochmal auf die versorgung zu kommen. die
ganzen Step-Up-Schaltregler brauchen so komische spannungen die ne
batterie ja nicht hinbekommt. wenn ich nun 2x1,5V Batterien verwenden
will muss ich ja schon wieder auf 2V runterregeln damit die das
verwerten können.
kann mir das einer mal genauer erläutern?
Matthias Knab schrieb:> weiß ehrlich gesagt nicht für was das H steht.
Henry - das ist die Einheit einer Spule - so wie Ohm beim Widerstand
oder Fahrrad beim Kondi - oder wars Motorrad???
ach ne - Farad...
Formelzeichen ist übrigends L, R für Wiederstand, C für Kondis
ganz ehrlich dass mit der ladungsanzeige stört mich jetzt. auch wenn es
für mich als anfänger zu schwer ist gibt es da ne alternative wie man
sich das irgendwie anzeigen kann mit der batterie?
bei meinem jetzigen wecker bin seh ich das da die LED die verbaut ist
von der Beleuchtung je leerer die Batterie wird immer dunkler leuchtet.
kann man sowas in der art nicht auch irgendwie hier verwirklichen?
kann ich da das ganze nicht für einen akku auslegen? da ja I=Q/t ist
könnte ich ja in abhängigkeit von dem benötigten strom und der ladung
eines akkus (den ich dann immer verwende) die zeit ausrechnen bis er
leer ist. dies könnte ich doch dann am display ausgeben.
is ziemlich ungenau wie ich vermute aber denkbar hoffe ich.
Batteriespannung messen und zur Anzeige bringen. Müssen ja nicht Volt
sein, kann auch % sein oder "5 - 4 - 3 - 2 - 1 - leer". Für sowas haben
Mikrocontroller ja schließlich A/D-Wandler.
naja mir wurde als anfänger davon abgeraten deshalb suche ich einfache
alternativen um es zu verwirklichen. mir würde schon eine LED reichen
welche aufleuchtet wenn die Batterie sich dem Ende neigt. eventuell mit
einem spannungsabhängigen widerstand?
>mir würde schon eine LED reichen>welche aufleuchtet wenn die Batterie sich dem Ende neigt.
Ich finde sowas immer klasse. Wenn die Batterie am Ende ist
dann macht man halt noch ne LED an. Oh man;)
Ich bin ja sehr dafür einfache Analogaufgaben auch mit simplen
Analogschaltungen zu erledigen, statt mit Mikrocontrollern drauf
loszugehen. Aber in diesem Fall hast Du sowieso einen, der erledigt das
quasi nebenbei noch mit. Und wenn Dir da jemand davon abrät, würde ich
das erst recht als Ansporn sehen, so schwer ist das nämlich nicht.
Du kannst nur dazugewinnen wenn Du neues lernst. Im wesentlichen ist das
auch hier in den Tutorien zu finden.
>ja ok und wie sieht der aufbau aus? ich denke ich kann ja nicht einfach>mit den 9V der Batterie auf nen analog eingang drauf.
Klopp deine beschissene 9V Blockbatterie in die Tonne.
Dein ganzes Konzept ist von Arsch.
Hi
>ja ok und wie sieht der aufbau aus? ich denke ich kann ja nicht einfach>mit den 9V der Batterie auf nen analog eingang drauf. oder?
Wer sollte dich daran hindern. Ob es allerdings ratsam ist, verrät dir
das Datenblatt. Nur wie du aus einer Spannungsmessung auf den Zustand
eines Akkus oder einer Batterie schließen willst ist mir vollkommen
schleierhaft.
MfG Spess
holger schrieb:> Klopp deine beschissene 9V Blockbatterie in die Tonne.> Dein ganzes Konzept ist von Arsch.
und warum? ich hab doch schon geschrieben dass das display der uhr nicht
immer an ist. warum sollte es also nicht mit einem 9V block gehen?
spess53 schrieb:> Wer sollte dich daran hindern. Ob es allerdings ratsam ist, verrät dir> das Datenblatt. Nur wie du aus einer Spannungsmessung auf den Zustand> eines Akkus oder einer Batterie schließen willst ist mir vollkommen> schleierhaft.
Soweit ich weiß nimmt die Spannung beim entladen auch minimal ab oder
irre ich mich da?
>> Klopp deine beschissene 9V Blockbatterie in die Tonne.>> Dein ganzes Konzept ist von Arsch.>und warum? ich hab doch schon geschrieben dass das display der uhr nicht>immer an ist. warum sollte es also nicht mit einem 9V block gehen?
Geh zu Tschibo und kauf dir nen Wecker.
Du hast sowas von keine Ahnung von Lowpower Elektronik;)
Hi
>Soweit ich weiß nimmt die Spannung beim entladen auch minimal ab oder>irre ich mich da?
Und woher weisst du, um was sich irgendwas entladen hat. An diesem
Problem haben sich eine ganze Reihe weniger intelligenter Leute die
Zähne ausgebissen. Die Intelligenten haben die Finger davon gelassen.
Jetzt kommt deine Entscheidung.
MfG Spess
holger schrieb:> Geh zu Tschibo und kauf dir nen Wecker.> Du hast sowas von keine Ahnung von Lowpower Elektronik;)
logisch als gelernter Mechatroniker hat man mit sachen zu tun die etwas
mehr power haben.
is aber auch egal. ich kauf mir so ein billiges 9V netzteil und einen
anschlussstecker zum löten und gut ist.
spess53 schrieb:> Nur wie du aus einer Spannungsmessung auf den Zustand> eines Akkus oder einer Batterie schließen willst ist mir vollkommen> schleierhaft.
Die Spannung Deiner Batterien nimmt nicht ab wenn sie leer werden?
Staun
Hi
>Die Spannung Deiner Batterien nimmt nicht ab wenn sie leer werden?>Staun
Und du kannst allein aus der Spannung den Zustand einer X-beliebigen
berechnen?
MfG Spess
Daraus kann man jedenfalls gut abschätzen wie's um die Restlaufzeit
bestellt ist. Jedenfalls funktioniert das recht brauchbar bei meinen
Mobiltelefonen und meinem Laptop, selbst das Voltmeter in meinem Auto
gibt mir einen recht guten Hinweis darauf, wie es denn so aussieht.
Und ja, Metering funktioniert nirgends so richtig gut, der Stein der
Weisen ist diesbezüglich noch nicht gefunden.
Aber für eine Abschätzung ist ein Voltmeter schon brauchbar, bei
Primärzellen sogar sehr gut.
so also vom aufbau her wäre ich nun soweit. nun will ich mit der
software anfangen. jedoch habe ich keinen plan wie ich das ganze vom
prinzip her aufbauen muss.
muss ich nun eine ganz normale uhr programmieren welche durch das dcf77
signal zb stündlich aktualisiert wird? oder wie sieht das ganze
prinzipiel denn aus?
Matthias Knab schrieb:> so also vom aufbau her wäre ich nun soweit.
Wie sieht der aus?
> muss ich nun eine ganz normale uhr programmieren welche durch das dcf77> signal zb stündlich aktualisiert wird?
Genau so macht man das.
Wobei es auch ausreicht, wenn die Uhr nur nachts auf DCF hört und sich
jede Nacht wieder die korrekte Zeit holt.
In der Zwischenzeit ist die normale quarzgesteuerte Uhr genau genug.
ja aufbau sieht so aus:
ein lcd 16x2 anzeige
4 taster zum steuern: 2 für wecker, einer für licht, einer zum wecker
ein bzw ausschalten
ein summer für den ton
dcf77 modul für den empfang
display ist richtig angeschlossen gibt mir mit nem testprogramm alles
aus.
taster passen auch. summer und dcf77 hab ich noch nicht getestet. wobei
der summer das kleinste problem darstellen wird.
wenn ich nun nur einmal aktualisieren würde und es gibt einen
stromausfall würde die uhrzeit ja nur einmal wieder erneuert werden. der
rest des tages würde ja 00:00:00 da stehen oder irre ich mich?
Und mit dem vorgehen. also programmiere ich zuerst ne ganz normale
softclock und dann binde ich das dcf77 mit ein?
am eifnachsten ist es wenn du zu einer fixen zeit einfach dcf startest,
und nach dem booten des chips auch einmal
btw: der 9V Block ist nicht die hellste idee mit 0.9Ah(nicht sicher)
hast du bei eine 9V Block sehr sehr wenig!
da bist du mit 3-4 Batterien besser bedient und 6V ist auch kein Bein
bruch für einen AVR ca 2.5Ah sind jedoch schon etwas mehr- ansonsten vll
auch einen USb-Trafo?? rechtbillig und auch nicht so sehr schlimm,
Stromsparen mit PWM(kann später noch kommen) und den richtigen
Sleepmodes
am einfachsten wird programmieren wenn du alles in ganz kleine aufgaben
teilst(sinnvoll!) und jede aufgabe in eine Funktion auslagerst- du
brauchst hier ja keine zeitkritischen Sachen die irgendwo stark
optimiert liegen müssen
mfg
Matthias Knab schrieb:> wenn ich nun nur einmal aktualisieren würde und es gibt einen> stromausfall würde die uhrzeit ja nur einmal wieder erneuert werden. der> rest des tages würde ja 00:00:00 da stehen oder irre ich mich?
Ähm.
Hast du dir schon einmal angesehen, wie kommerzielle DCF Uhren das
machen?
Nachdem der Strom angelegt wird, holen sie sich die DCF Zeit, und dann,
wenn die sich die Zeit nur einmal jeden Tag holen, um 3 oder 4 Uhr früh.
Was denkst du, warum das ausgerechnet um 4 Uhr früh passiert? Denk daran
was jedes Jahr einmal im Frühjahr und einmal im Herbst passiert und wann
das genau passiert und was das für Auswirkungen haben wird, wenn du es
nicht früh morgens machst.
logisch habe ich auf die sommerzeit geachtet. deshalb wollte ich auch
stündlich aktuallisieren. aber eben wie du sagst wenn die uhr um 2 uhr
umgestellt wird reicht 3 oder 4 uhr.
hab hier mal mein altes programm etwas abgeändert. habe allerdings hier
schon 2 probleme. und zwar einmal wird mir beim datum die doppelpunkte
nicht richtig dargestellt und zweitens will ich das licht zwischen 8 und
20 uhr einschalten und in der nacht soll es mit einem taster auch
eingeschaltet werden können und 4 sekunden eingeschaltet bleiben.
hier habe ich versucht:
If _hour <20 and _hour >8 or pind.4 = 1 then
portb.5 = 0
else
portb.5 = 1
end if
jedoch tat sich da nix. angeschlossen ist das licht mit nem pnp
transistor.
hier noch meinen test code. und hier kann ich nun die dcf77 einarbeiten?
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 ,
Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config Lcdbus = 4
Cursor Off
Config Pinb.1 = Output
Config Pinb.4 = Output
Config Pinb.5 = Output
Config Pinb.3 = Input
Config Pind.4 = Input
Config Pind.1 = Input
Config Pind.2 = Input
Config Pind.3 = Input
Portd = &B00011111
Enable Interrupts
Config Clock = Soft
Declare Sub Stundew
Declare Sub Minutew
Declare Sub Onoff
Declare Sub Licht
Dim Stellenstunde As Byte
Dim Stellenminute As Byte
Dim Anaus As Byte
Cls
Time$ = "00:00:00"
Date$ = "01:01:00"
Do
Locate 1 , 1
Lcd Time$ ; " " ;
Locate 1 , 12
If Stellenstunde < 10 Then Lcd "0"
Lcd Stellenstunde ; ":"
If Stellenminute < 10 Then Lcd "0"
Lcd Stellenminute
Locate 2 , 1
Lcd Date$ ; " " ;
Debounce Pind.2 , 0 , Stundew , Sub 'Wecker
Stellen
Debounce Pind.3 , 0 , Minutew , Sub
Debounce Pind.1 , 0 , Onoff , Sub
If Anaus = 0 Then 'Wecker
an/aus
Locate 2 , 11
Lcd " aus"
End If
If Anaus = 1 Then
Locate 2 , 11
Lcd " an"
End If
Debounce Pind.4 , 0 , Licht , Sub
Loop
'Stunde 'Hier wird
die Stunde der Uhr hochgezählt
Stunde:
Incr _hour
If _hour > 23 Then
_hour = 00
End If
Return
'Minute 'Hier wird
die Minute der Uhr hochgezählt
Minute:
Incr _min
If _min > 59 Then
_min = 00
End If
Return
'MinuteW 'Hier wird
die Minute des Weckers hochgezählt
Minutew:
Incr Stellenminute
If Stellenminute > 59 Then
Stellenminute = 0
End If
Return
'Stundew 'Hier wird
die Stunde des Weckers hochgezählt
Stundew:
Incr Stellenstunde
If Stellenstunde > 23 Then
Stellenstunde = 0
End If
Return
'onoff 'Hier wird
der Wecker ein- und ausgeschaltet
Onoff:
Incr Anaus
If Anaus = 2 Then Anaus = 0
Return
'Licht 'Hier wird
das Licht für 4 Sekunden eingeschaltet
Licht:
Portb.5 = 1
Wait 4
Portb.5 = 0
Return
und noch ne frage wenn ich hier:
http://www.rn-wissen.de/index.php/DCF77-Decoder_als_Bascom-Library
den decodertest mache wie stelle ich denn ein auf welchem pin das dcf77
signal liegt?
ich schalte bei meiner schaltung das die spannungsversorgung des dcf77
moduls durch den avr ein und dann kommt das signal auf einen pin am avr.
Matthias Knab schrieb:> und was ist ne include file? sorry wie gesagt anfänger.
Dann solltest du mit den Grundlagen anfangen.
Das uist in BASCOM auch nicht anders als in jeder anderen
Programmiersprache.
Matthias Knab schrieb:>> und was ist ne include file? sorry wie gesagt anfänger.
Ich hab doch geschrieben: Wer lesen kann.....
In Deinem Link ließt Du ab "Der DCF77-Decoder" alles Wort für Wort
durch, dann das "Bascom Hauptprogramm" und darauf "Bascom Include-File".
Vielleicht wirds dann heller.
Lesen und verstehen mußt Du dann noch selber.
MfG
kg
so hab nun die lip und bas datei aus dem wiki raus erstellt. habe auch
beide so editiert dass das dcf77 signal an pinb.3 liegt. verwenden tu
ich einen atmega8 mit internem oszillator. weiß jemand welchen startwert
ich in die bas eintragen muss?
angezeigt wird mir auf dem display zwar 00:00:00 für uhr und 01.01.00
für datum. die uhr will auch loslaufen nur viel zu langsam und sie hackt
hat also aussetzer. und empfangen wird halt auch nix. weiß jemand woran
das liegt?
habe eben den decodertest vom wiki für mich angepasst und zeile 3+4
rausgelöscht da ich ja nur ein 2 zeilen display habe.