das display funzt wunderbar!
mit dem temp-fühler war ja nur ne idee. was ist ein OP?
hätte gedacht das es mit dem teil leichter und schneller geht mit dem anschliessen am µC!?
grüßle
Dimmen, Schalten und Wolkensimmulation
heute kann ich endlich ein erfolg melden!
das display funzt wunderbar! mit dem temp-fühler war ja nur ne idee. was ist ein OP? hätte gedacht das es mit dem teil leichter und schneller geht mit dem anschliessen am µC!? grüßle
@ mafri Na das ist doch schon mal was jetzt nur noch das dcf zum laufen bringen und du bist so weit wie ich
Na also, es wird ja was mit/aus Euch
@mafri, Du kannst bei dem Laden auch professionelle NTCs kriegen. Die dürften auch recht genau spezifiziert sein, so dass vmtl. keine weitere Abstimmung erforderlich ist. Aber die kosten bei denen auch etwa 10€. Der Pollin NTC kostet glaub ich 0.15€ und ist zur Messung von Lufttemperaturen zwischen 10° und 50° nicht schlechter. @AlexK2508 Und NTC schon neu vermessen? PWM getestet oder so was?
@ Borax nun ja was soll ich sagen, dachte jetzt in der Spätschicht woche komm ich zu was aber pustekuchen . Ist noch mehr stress als sonst somit staubt mein Projekt ein Klein wenig ein. den einzigsten erfolg der letzten Paar tage den ich vermelden kann das ich die relais abwechselnd habe schalten lassen (ohne DCF) .
aber vielleicht kannst du mir beim Thema PWM ein wenig unter die Arme greifen den Ausgang mit nem bestimmten wert (Takt verhältnis) zu setzten ist denke ich relativ klar (Theorie laut Bascom hilfe --->noch kein Prog) aber wie sieht es mit einer Dimmung aus also verlauf Hell dunkel und anders rum das ist mir noch ein wenig zu hoch .
Ich hab einfach mal Deinen Code als 'Grundlage' genommen, dann musst Du erst mal nix ändern.
Die DCF77 Routine erzeugt ja schon einen Timer der jede Sekunde einmal gestartet wird (Config..... Gosub Sectic) (Hab ich in Deinem Code aktiviert) In dieser Sectic Routine kann man jetzt alles möglich machen. Zum Beispiel den PWM Wert jede Sekunde um eins hoch-bzw. runterzählen lassen. Wenn Du am Pin17 (über einen Widerstand) ein LED anschließt, müsste dieses über 255 Sekunden immer heller werden (also 'hochdimmen') und anschließend über 255 Sekunden wieder dunkler. Um z.B. die Zeit noch länger zu machen kann man einfach nur jede vierte Sekunde weiterzählen, oder wenn Zeit > 08:00 'hochdimmen' und wenn Zeit > 16:00 runterdimmen...
erstmal ein großes danke .
Assr = &H00 Tccr2 = &H64 'non-inverted mode 'TCCR2 = &H74 'inverted mode Tcnt2 = &H00 Ocr2 = &H00 was stellst du damit genau ein ??
das ist der direkte Zugriff auf die einzelnen Register. müsste man jetzt im Datenblatt des jeweiligen µC nachschauen. MfG Jay
aha danke Jay gut also mal wieder nen blick ins datenblatt schmeißen . Wobei Datenbuch würde eigentlich besser passen .
Ok. das ist für Anfänger bestimmt schwierig verständlich. Man hätte auch ein Bascom Statement:
CONFIG TIMER2 = ... verwenden können, aber dann hat man eben nicht alle Möglichkeiten. Im Datenbuch zum Atmega8 auf den Seiten 104ff steht alles sehr ausführlich. Kurz: Assr = &H00: When AS2 is written to zero, Timer/Counter 2 is clocked from the I/O clock, clkI/O. Der Timer hängt also bei ASSR=0 an der allgemeinen Clock. Externer Quarz wäre auch möglich. Brauchen wir aber nicht. Tccr2 = &H64 'non-inverted mode oder wie es drunter steht (auskommentiert): TCCR2 = &H74 'inverted mode Auch das PWM Signal kann man invertiert oder nicht invertiert verwenden. Timer/Counter Control Register – TCCR2 ist hier das wichtigste, hier kann man die 'Art' der PWM und den Takt vorgeben. Ich persönlich verwende fast immer den 'Phase correct PWM mode'. Ob invertiert oder nicht, hängt von der Folgeschaltung ab. Prescaler (die untersten 3 Bits) ist der Teiler für das Verhältnis von allgemeiner Clock zum Timer. Hier 1/64; also der Timer zählt nach 64 Takten der allgemeinen Clock um eins weiter. Tcnt2 = &H00: Timer erst mal auf 0 Ocr2 = &H00: PWM Wert auch mit 0 initialisieren.
hallo,
mein dcf will nicht am board. habe es mit dieser schaltung viewtopic.php?p=109575#p109575 am board angeschlossen. grüßle
ist ein bisschen wenig... Hast Du mal versucht ob irgendwas ankommt? Du kannst testweise auch mal anstatt R4 eine LED einsetzen und schauen ob es schwach blinkt. Oder ein Multimeter zwischen Masse und dem Ausgang zum Atmega anschließen. Ein Signal pro Sekunde müsste man eigentlich noch erkennen können.
mahlzeit,
@borax beim messen sind im wechsel zwei werte erkennbar. den R4 gegen led getauscht, led blinkt. @alexK hast du das DCF nach dem schaltplan viewtopic.php?p=109575#p109575 oder was anderes! gruß
@borax + @alexK
mach dir keinen stress, habe den fehler bei mir gefunden. denk ich mal! habe den schaltplan nochmal und nochmal mit dem viewtopic.php?p=109575#p109575 verglichen und neu aufgebaut, die teile für das signal waren bei mir komplett falsch. sorry!
hi,
der neue schaltplan bzw platine sieht genau wie die andere aus, nur das sich ein kondi gedreht hat. daran kann es dann auch nicht liegen!
@alexK,
verrate mir bitte , wie du dein DCF angeschlossen bzw. verkabelt hast? es will einfach nichts empfangen, übertragen! gruß mario
Ok. Das klingt schon mal sehr beruhigend. Das heißt auch dass der Schaltplan zum Anschluss des DCF gut funktioniert. Daran brauchst Du also nichts ändern. Anschluss am ATMega ist bei Euch beiden am Pin4 des ATMegas (PORTD.2) Sollte also auch passen. Es könnte aber sein, dass Du 'Inverted' einschalten musst. Also in der Zeile: Config Dcf77 = Pind.2 , Timer = 1 , Timer1sec = 1 , Debug = 1 , Check = 2 , Update = 0 , Inverted = 0 die letzte 0 durch eine 1 ersetzen: Config Dcf77 = Pind.2 , Timer = 1 , Timer1sec = 1 , Debug = 1 , Check = 2 , Update = 0 , Inverted = 1 Dann nochmal probieren. P.S. Du hast aber von dem Anschlussplan des DCF-Moduls zum ATmega sowohl Masse verbunden als auch Ausgang der Schaltung mit dem Pin4 des ATMega?
Sorry war mal wieder nen Stressiges We, was das dcf modul betrifft ich habe nicht das von Pollin sondern ne Aktiv Antenne von nem Kollegen bekommen. Was das invert betrifft bei mir war es so das er nur Quatsch angezeigt hat zb 64:;3:f4 erst nachdem ich das Signal invertiert habe (so wie von Borax beschrieben) hatte ich die richtige Uhrzeit .habe die Tage jedoch gelesen das das Pollin modul beim Start wohl kurz Masse an dem Pond Pin Braucht um richtig anzulaufen .
Richtig. Dafür sogt aber der 10µF Kondensator in der Ansteuerungs/Stromversorgungs-Schaltung: viewtopic.php?p=109575#p109575 Anlaufen tut es ja auch:
Aber vielleicht ist es hier genau umgekehrt und Inverted muss =1 gesetzt werden...
Hallo,
da ich target und eagle auf mein pc habe, hab ich mal das ganze(dcf-schaltung) im eagle auch noch mal gemacht. und die platine sieht da auch so aus. ich werde mir jetzt mal das programm anschauen und den besagten wert ändern und neu aufspielen! danke an euch!!! grüßle
Ich werde heute abend nochmal das prog testen nicht das ich da irgendwas falsches gepostet habe und du jetzt umsonst nach nen fehler suchst . Hatte mehrere Prog Anläufe gebraucht bis es lief deshalb bin ich mir jetzt nicht mehr zu 100% Sicher das es die Finale Version ist die dann endlich lief .
habe das geänderte prog mit inverted=1 getestet, da geht auch nix. habe ja die kleine led auch noch mit drin, die blinkt nicht mal.
bis später
Hi mafri also wenn nichts blinkt hat das nix mit dem prog zu tun soweit wie ich deinen aufbau jetzt verstanden habe zeigt dir die led nur den empfang an ( 1x pro sec blinken) in dem Strom fließt wenn der transistor durchsteuert , und für das durchsteuern sorgt ja das dcf modul nicht der ATmega . Hatte es ähnlich aufgebaut und da hat es nur nicht geblinkt wenn ich keinen empfang hatte . Guten empfang erkennst du an einem wirklich naja sauberen Blink impuls jede secunde .
mit dem blinken hat mir der borax schon vermittelt. mal schauen, jetzt blinkt es mal gleichmäßig. lass es mal ne weile laufen, ob doch noch was geht!
Enable Interrupts
$regfile = "m8def.dat" ' ATmega 8 $crystal = 1000000 ' 1 MHz $hwstack = 128 $swstack = 128 $framesize = 128 $baud = 9600 $lib "dcf77.lbx" ' ----- Konfiguration LCD Display ----- Config Lcd = 40 * 4 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portb.7 , E = Portb.4 , E2 = Portb.2 , Rs = Portb.5 Dim ___lcdno As Byte Initlcd Waitms 100 Cursor Off Noblink Cls ' ----- Konfiguration DCF77 ----- Config Dcf77 = Pind.2 , Timer = 1 , Timer1sec = 1 , Debug = 1 , Check = 2 , Update = 0 , Inverted = 0 Config Date = Dmy , Separator = . Dim I As Integer Dim Sec_old As Byte , Dcfsec_old As Byte Sec_old = 99 : Dcfsec_old = 99 ': DCF_Debug_Timer = 0 If Dcfsec_old = 0 Then Time$ = Time(dcf_sec) Do For I = 1 To 78 Waitms 10 If Sec_old <> _sec Then Exit For End If If Dcfsec_old <> Dcf_sec Then Exit For End If Next Waitms 220 Print Time$ ; " " ; Date$ ; " " ; Time(dcf_sec) ; " " ; Date(dcf_day) ; " " ; Bin(dcf_status) ; " " ; Bin(dcf_bits) ; " " ; Bdcf_impuls ; " " ; Bdcf_pause Sec_old = _sec Dcfsec_old = Dcf_sec ' Lcd Time$ ; " " ; Home U Lcd Time(dcf_sec) ; " " ; Date(dcf_day) Loop End damit läuft es bei mir, steht bei dir wenigstens irgendwas in der ersten zeile ???
Habe jetzt mal dein letztes prog noch mal kopiert und lcd-port's auf meine geändert, und neu aufgespielt.
mal bissle warten und schauen was passiert. led blinkt mal schön fleißig, also sollte ein signal da sein!
Zurück zu Elektronik & Schaltung Wer ist online?Mitglieder in diesem Forum: Google [Bot] und 2 Gäste |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||