Forum: Mikrocontroller und Digitale Elektronik Single-slop RC Temperatur Messung Timer


von Mandi (Gast)


Lesenswert?

Hallo Leute

ich bitte um Hilfe
ich muss die Temperatur messen mit Hilfe der single-Slop (RC) sodass man 
ladet die Kapazität wenn die Kapazität auf geladen wird entladet man sie 
und mist die Entladung-Zeit ich muss alle in C programieren ich habe 
alles versucht aber es klappt nicht kann jemand bitte mir helfen.

von peter-neu-ulm (Gast)


Lesenswert?

Das mit C Programmieren (Mikrokontroller) und single-slope Verfahren 
passt nicht so recht zusammen.

Mit Mikrokontroller nimmt man einen Kontroller mit internem AD-Wandler 
und setzt den Temperaturfühler in einen Spannungsteiler ein, wenn man 
mit höherer Genauigkeit messen will. Bei geringerer Präzision schaltet 
man einen Kondensator mit eingen nF auf Null und misst anschließend die 
Zeit zum wieder-aufladen über den Temperaturfühler.

Das single slope-Verfahren hat einen deutlich höheren Aufwand im 
analogen Bereich der Schaltung.

Für Genaueres müsste man wissen, welcher Temperaturfühler verwendet wird 
und welche Genaugkeit und Auflösung erreicht sein soll. Auch der 
Temperaturbereich müsste bekannt sein.

Rück mal mit diesen Angaben heraus.

von Peter D. (peda)


Lesenswert?

Ne typische Hellseherfrage.

Absolut minimal nötige Informationen:
- Schaltplan
- CPU
- Compiler



> ich habe
> alles versucht

Wir sind nicht ganz so dumm, wie es scheinen möge.
Du mußt schon zeigen, was Du alles probiert hast.


Peter

von Mandi (Gast)


Angehängte Dateien:

Lesenswert?

Ich danke Ihnen  peter-neu-ulm

die Präzision spielt hier keine Große Rolle, wie könnte ich die port 
umschalten um meine ziel zu erreichen (P2 wie im bild ist nur ein 
Beispiel)
was ich weiß
ich starte den Timer für T1 und setze den P2.2 auf 1 und als Ausgang bis 
denn Kapazität auf geladen nach T1 wird ein Interrupt aufgelöst in 
dieser Interrupt Service Routine muss ich die Kapazität entladen 
wie????.
dann initialisiere ich den Timer in Captur mode und starte ich den Timer 
und warten bis der Comparator ein Interrupt löst (captur) mode und so 
fange ich das werte die mir hilft um die Entladung zeit zu messen

was ich brauche wie Kann ich die Porte auswählen und um schalten

danke

von Mandi (Gast)


Lesenswert?

CPU Hitatchi H8/300
Compiler High-perfomance Embadded Wokshop

von peter-neu-ulm (Gast)


Lesenswert?

folgende Schritte im Ablauf:

-P2.0,P2.1,P2.3 als Eingang

-P2.0 und P2.2 auf 0,damit kein pullup eingeschaltet ist.

P2.3 einschalten, als Eingang, liest danach Spannung an C
messstart:
Erste Lesephase
-P2.2 als Ausgang (C wird über R aufgeladen )
-gleichzeitig läuft Timer aufwärts.

-Bei Erreichen der 0-1 Schwelle schaltet Pin2.3 auf 1
-Dabei wird capture-int aufgerufen.
(Pin 2.3 musss der capture-input des timers sein)

bei capture-int: Wert des capture-Registers wird zwischengespeichert, in 
temp1
-Timer auf Null gestellt und gestoppt, P2.2 auf 0, P2.2 als Eingang
-P2.0 auf 0, P2.0 als Ausgang (C wird entladen)
reti
Zweite Lesephase:
-Timer wird gestartet und P2.0 auf 1(C wird über NTC aufgeladen)

an Pin 2,3 wird capture-int ausgelöst

bei capture -int: Timer auf Null gestellt und gestoppt
P2.0 als Eingang, auf Null
Wert in capture-int in temp2 zwischenspeichern
mit flag markieren, dass ein Messzyklus vorbei ist.

zurück nach messstart

außerhalb der int- zeit:

Messwertverarbeitung:

Das Verhältnis temp1  temp2 entspricht dem Widerastndsverhältnis R  
NTC

von peter-neu-ulm (Gast)


Lesenswert?

Wie man beim Hitachi 8/.. Portleitungen als Eingang oder Ausgang 
schaltet, ist mir nicht bekannt, aber dafür gibt es bestimmt 
Datenrichtungsregister (data-direction-register)

von Peter D. (peda)


Lesenswert?

Mandi wrote:
> CPU Hitatchi H8/300

Der H8 dürfte ein ziemlicher Exot sein, die meisten hier kennen nur den 
AVR auswendig.

Da wirst Du also wohl selber ins Datenblatt schauen müssen, wie man die 
Pins umschaltet.

Wichtig wäre auch, ob der H8 überhaupt nen Komparator hat und mit 
welcher Spannung dieser vergleicht und ob er ne Hysterese hat.

Außerdem addiert sich noch der temperaturabhängige Innenwiderstand der 
Portpins als Fehler zu dem NTC-Widerstand. Die Genauigkeit dürfte daher 
lausig sein.


Peter

von Mandi (Gast)


Lesenswert?

ich Danke euch alle ihr seid sehr nett und hilfsbereit ich werde die 
Sachen testen und euch bescheid sagen.

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
Noch kein Account? Hier anmelden.