mikrocontroller.net

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


Autor: Mandi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: peter-neu-ulm (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mandi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Mandi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CPU Hitatchi H8/300
Compiler High-perfomance Embadded Wokshop

Autor: peter-neu-ulm (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: peter-neu-ulm (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mandi (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.