Hallo, hat jemand schon einmal Temperaturüberwachung mit dem Temperatur-Zeitmodul von Conrad (19 55 88) realisiert? Dazu möchte ich einen Atmel AT89C51AC2 verwenden. Wäre sehr dankbar für einen kleinen Denkanstoß. Ciao Ingo
Hier nochmal ne genauere Frage: Das Problem für mich ist die Bitfolge, die eine solches Modul sendet. Es sind nämlich 13 Bits, wobei kein Start/Stoppbit vorhanden ist und die UART aber eines möchte.
die artikelnummer gibts beim online katalog von conrad nicht.
Hi bist du sicher das du da den UART benutzen kannst? Ich habe ein temp/feuchte Modul, das 24 Bit Daten liefert, diese müssen seriell eingelesen werden, udn dann in 3x8Bit gespeichert werden. Dies lässt sich aber nicht über den UART lösen, sonder mann muss sich das selber stricken. haste zu dem Teil nen Datenblatt? gruss Darko
Hi, zu Tobias: Das Ding gibt (gab) es schon ca. 10 Jahre auf dem Markt. Im aktuellen Katalog ist es nicht mehr zu finden, aber das Datenblatt kann man noch abrufen! zu Darko: Selber stricken ist natürlich auch eine Lösung, aber ich dachte eben an die UART. Das Datenblatt ist sehr mager ( bei Conrad eben abrufbar ). Es liegt an einem Pin alle 10 oder 1 Sekunde (ist umschatltbar) eine Clock an. An dem zweiten Pin zum Auslesen der Daten ist dann der Temperaturwert in 13 Bits dargestellt. 1. Bit -/+ 2.-5. Bit 10er Stellen 6.-9. Bit 1er Stellen und 10. - 13.Bit 1/10er Stellen. Also für Start/Stopp ist da nichts übrig. Bin auch erst seit 3Monaten in diesem Beruf und bin da noch nicht so kreativ! Aber schon mal Danke im Voraus für eure Hilfe!! Ciao Ingo
Es ist in meinen Katalogen drin (2004, der kleine und der große). S. 877, rechts oben.
Hi habe mit diesem Modul vor etlichen Jahren unsere Fußbodenheizung über Thermoexpansionsventil temperaturabhängig gesteuert. Da das Conradmodul immer wieder die Grenzwerte vergessen hatte, möchte ich das über einen AVR abwickeln. Das serielle Signal halte ich nichtfür 'UART-geeignet'. Es hat einen verlängerten 1. Clockimpuls, von 1,25 ms Dauer, die Folgeimpulse sind dagegen nur 0,125 lang. Man scant mittels Timer die Impulslänge und beginnt die Datenübernahme ab einem erkannten 1,25 ms Impuls. Eine andere schnelle Lösung, die bei mir recht stabil auf einem ATMega 8 läuft, ist in Bascom mit shiftin unter Angabe der Bitlänge realisierbar. Allerdings stimmt wahrscheinlich aus Timingproblemen das mit dem 13 bit nicht so ganz. Erst beim Einlesen in eine long-Variable mit 18 bit ergibt sich ein stabiles Ergebnis. Werde, wenn mal Zeit ist den Code noch mal aufarbeiten. frdl. Grüße Karlheinz
Hi
ehm.. so ähnlich geht mein ELV Modul, aber ich würde da nix mit timer
machen, sondern einfach auf die Flanke des Clocks den Seriellen Wert
auslesen. Ausserdem ist das nicht UART Tauglich wie Karkheinz Reiner
schon sagt.
hier z.B. ein Codeschnipsel um eine LOW-HIGH Flanke abzufragen
;LH Flanke abfrage
LHabfrage1:
sbic PINC , 1
rjmp LHabfrage1
LHabfrage2:
sbis PINC , 1
rjmp LHabfrage2
dann speicher ich bei mir (es sind 24 Bit) das ganze in 3 Registern ab
byteout:
cpi r20 , 8
brsh j24to8_1
lsl r21
in r24 , PINC
andi r24 , 0b00000001
or r21, r24
inc r20
rjmp bitout_out
j24to8_1:
cpi r20 , 16
brsh j24to8_2
lsl r22
in r24 , PINC
andi r24 , 0b00000001
or r22, r24
inc r20
rjmp bitout_out
j24to8_2:
cpi r20 , 24
brsh bitout_out
lsl r23
in r24 , PINC
andi r24 , 0b00000001
or r23, r24
inc r20
bitout_out:
ret
und wandel diesen BCD Codierten Zahlenwert in ASCII mit
BCD2ASCII:
andi temp1,0b00001111
ori temp1,0b00110000
ret
also so ähnlich würd ich das bei dir auch machen :)
Zwischendrin sind noch ein paar Zeilen, wo ich z.B. den zu wandelden
Register Wert nach Temp1 verschieb... das hab ich jetzt mal nicht
dazugeschrieben.
Wenn du willst, kann ich dir aber gerne den kompletten Code schicken
Gruss
Darko
Danke Darko, das hört sich doch schon mal nicht schlecht an! Den Code brauchst du mir nicht komplett schicken, da ich das ganze nur in C auf nem Keil-Compiler aufziehe (aufziehen muss :-) So dann mache ich mich mal ans Werk. Ciao Ingo
kein thema :) falls du fragen haben soltest, frag einfach :-) grüssle darko
Ihr könnt auch einfach im Microkontroller Buch "Bernd-Dieter Schaaf" nachschauen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.