- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: Widerstand

  1. #11
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Die Spannung wird man nicht extra nachmessen müssen. Man sollte die Spannung mit der der Teiler aus Ref. Widerstand und zu messendem Widerstand betreiben wird nur auch benutzen um die Ref. Spannung für den AD zu erzeugen, bzw. gleich als Ref. Spannung nutzen. Dann ist es egal ob das 5 V oder 3 V sind.

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    22.06.2009
    Beiträge
    17
    Jetzt wo das alles soweit funktioniert bin ich an die nächste Hürde gekommen

    Der Temperatursensor den ich auslesen muss ist ein Linearer Temperatursensor von dem ich weiss das er bei 20Grad laut Spezifikation zwischen 2 bis 3 KOhm und bei 90 Grad 200 bis 300 Ohm hat. Ich habe mal ein wenig Recherchiert und von Polynomen gelesen. Alternativ Tabellen. Wie berechnet man ein solches Polynom bzw aufgrund welcher Kriterien erstellt man eine Gleichung man für so etwas.

  3. #13
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Werte passen mehr zu einem mehr zu einem NTC mit der typischen nichtlinearen Kennlinie. Bein bestimmen der Gleichung um die Kennlinie mit wenigen Parametern zu beschreiben greift man z.B. Auf die dahinterliegende Physik zurück. Alternativ geht es auch mal duch Porbieren der üblichen Skalierungen (lin, log, 1/T,...) bis man eine einfache Kurve hat. Die Parameter kann man dann duch einen Least square Fit (Deutusch Ausgleichsrechnung) bestimmen lassen. Beim Polynom geht das im ronzip genau so, nur das man sich da nicht die Mühe macht eine passenden Form mit wenig Parametern zu finden.

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    22.06.2009
    Beiträge
    17
    Ich war jetzt einmal davon ausgegangen das es eine Lineare Kurve ist, daher habe ich mir den Max und den Minwert genommen den ich darstellen möchte und daraus eine Lineare Formel zu erstellen.Laut Datenblatt habe ich folgende Werte

    RMin bei 120 Grad (Tempmax) = 113 Ohm
    RMax bei 0 Grad (Tempmin) = 5896 Ohm

    Daraus Bildet sich ein Teiler pro Grad = 48,19 OHM

    Daraus habe ich gebildet :
    Temperatur = Tempax-(Rmess-Rmin)/48,19

    Dur diese Gleichung erhalte ich bei Widerstandwert 834 Ohm 106 Grad
    es sollten aber 50 sein.

    Hab ich da ergendwo einen Denkfehler ?

    Ich habe eine Grafik der Sensordaten auf meine Homepage einmal abgelegt

    www.keulertz-entsorgung.de/NTC-blau-2_5-kohm.png

    Gruß Mario

  5. #15
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wie man sieht ist die Kurve nicht linear, so wie bei fast allen NTCs. Die übliche Form für eine Umrechung findet man z.B. bei Wikipedia. Das einzige Problem könnte sein, dass der Code durch den Logarithmus recht lang wird.

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    22.06.2009
    Beiträge
    17
    Das mit der Berechnung war in Bascom in der Tat etwas haarig, aber da ich nun die Werte für Pullups,Sensor-Bwert,Sannung und Widerstand bei Bezugstemperatur sepeat Auswähle ist es nicht ganz so schlimm.

    Für den Fall das es mal irgendwen Interessieren sollte wie Ich es gelöst habe, Code anbei.
    Für Verbesserungen besonders was Speedvorteile bringen könnte bin ich Offen




    Dim W As Word , Channel As Byte , Z As String * 10
    Channel = 2
    Dim Pullup As Single , Involt As Single , Volt As Single , Ln As Single , B As Single , R As Single , Ts As Single , Rs As Single , Temp As Single
    Do

    If Channel = 2 Then
    B = 3491.2 'Bwert vom NTC
    Ts = 298.15 'Bezugstemperatur in Kelvin
    Rs = 2000 'Widerstand bei Bezugstemperatur TS
    Pullup = 10000 'Widerstandswert Pullup Widerstand
    Involt = 4.90 'Spannung vor Abfall
    End If
    If Channel = 3 Then
    B = 3791.2 'Bwert vom NTC
    Ts = 298.15 'Bezugstemperatur in Kelvin
    Rs = 2500 'Widerstand bei Bezugstemperatur TS
    Pullup = 10000 'Widerstandswert Pullup Widerstand
    Involt = 4.90 'Spannung vor Abfall
    End If
    W = Getadc(channel)
    Volt = W * 4.90
    Volt = Volt / 1023
    R = Involt / Pullup
    R = Volt / R
    Temp = B * Ts
    Ln = R / Rs
    Ln = Log(ln)
    Ts = Ts * Ln
    B = B + Ts
    Temp = Temp / B
    Temp = Temp - 273.15
    Z = Fusing(temp , "#.#")
    Print "ADC-Pin " ; Channel ; ": Volt " ; Volt ; " Widerstand " ; R
    Print "Temperatur von Sensor am Kanal " ; Channel ; " " ; Z ; "°C"
    Incr Channel
    Loop Until Channel > 3

  7. #17
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Bei der Berechnung des Widerstandes ist glaube ich noch ein Fehler drin. Das sollte ein nichtlineare Funktion sein. Man braicht da auch nicht wirklich auf die Spannung umzurechnen, denn die darf an Ende nicht in Ergebnis eingehen.

    Einige der zahlenwerte sind wirklich Konstant, da könnte man Konstanten nutzen, wenn Bascom wenigstens das erlaubt. Bei involt ist da einmal der Wert 4,9 und einmal mit der Variable gerechenet. Das ist die schlechteste mögliche Lösung.

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    22.06.2009
    Beiträge
    17
    Stimme das mit dem Wert habe ich übersehen, aber nun geändert.
    Die formel ist so übernommen bzw umgestellt nach den gleichungen von
    http://www.umnicom.de/Elektronik/Sch...r/Ntc/Ntc.html. Durch Ln = R / Rs , Ln = Log(ln) ist sie ja auch nicht Linear.

    Ausserdem stimmt mit allen bisher angestellten Vergleichsmessungen mit einem Digitalen Aquariumthermometer von 22 bis 50 Grad in 0.1er Schritten überein. (Wasser erwärmt auf über 50 Grad und dann abfallend die Werte kontrolliert)

    Aber die anliegende Spannung muss ich doch zur Berechnung des gemessenen Widerstandes auslesen bzw bestimmen oder nicht ?

  9. #19
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Spannung braucht man nicht, denn die Spannung geht 2 mal ein, und hebt sich dabei genau auf. Einmal als Ref Spannung des ADs und einmal als Spannung zum treiben der Brücke. Das nennt sich ratiomerische Messung.

    Wenn die Schaltung so ist, wei gedacht, sollte der AD Wandler eine Wert ausgeben von:
    AD = 1023 * Rv / (Rx+Rv)
    Wobei Rv im Programm wohl Pullup heißt.
    Oder als Verhältnis der Spannungen über dem Ref. und zu mesenden Widerstand geschrieben:
    AD*Rx = (1023-AD) * Rv

    Wenn man das nach Rx auföst komme ich auf
    Rx = Rv * AD / (1023-AD)

    Da taucht die Spannung schon gar nicht mehr auf. Für die Berechnung kann man dann auch Rv mit dem Widerstand bei 25 Grad gleich mit verechnen.
    Also Ln = Rx/Rs = log(Rv/Rs) + Log (AD/(1023-AD))

  10. #20
    Benutzer Stammmitglied
    Registriert seit
    03.09.2009
    Alter
    29
    Beiträge
    32
    Also:
    wenn ich eine Lichtabhängigen wiederstand in reihe mit einem zweiten (am besten prazisionswiederstand) an einen A/D WAndler hänge kann ich über den ausgangswert (0-255) dann die lichtstärke bestimmen?

    (ist nur zur Kontrolle, ob ich richtig liege)


    Und wie lese ich den AD aus ?
    (RP6 und C)

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests