Go Down

Topic: FIS für Motorrad (Read 21523 times) previous topic - next topic

Aceli

Eigenartig .... teste es gleich nochmal

Aceli

#61
Aug 05, 2018, 08:37 pm Last Edit: Aug 05, 2018, 08:55 pm by Aceli
Also in dem Nachbar Thread hat jemand eine Liste gefunden mit den zwei Sensoren die ich habe

Allerdings widerstandswerte und die Temperaturen .

Kann man da anknüpfen ?

postmaster-ino

Hi

Da wir ja 'nahezu 25°C haben' - sollte der so zu messende Widerstand des NTC den benutzten Typ ergeben.
Messwert ca. 1kΩ -> NTC 1K
Messwert ca. 25kΩ -> NTC 25kΩ

MfG

PS: Die müsstest Du in dem Online-Rechner eintragen können - und damit testen, ob Dein Sensor 'so tut'.

Nowe101

#63
Aug 05, 2018, 08:45 pm Last Edit: Aug 05, 2018, 08:47 pm by Nowe101
Poste mal einen Link zu dem Thread.

Mit den Widerstandswerten und den zugehörigen Temperaturen kann man sehr gut arbeiten. Die bräuchte man nur in den Onlinerechner eintragen und man hat seine Koeffizienten die man braucht. Viel mehr benötigt man eigentlich auch gar nicht.

Edit: Da war ich mal zu langsam beim tippen :D

Aceli

#64
Aug 05, 2018, 08:55 pm Last Edit: Aug 05, 2018, 08:58 pm by Aceli
datei ist eingefügt!

also sensor 5-5a und 6 wie es aussieht...

ach hatte eben nochmal geschaut.... wegen dem temperatur : XXX. Grad.... da steht nur 1023 oder halt dann halt ca 210

Nowe101

#65
Aug 05, 2018, 09:08 pm Last Edit: Aug 05, 2018, 09:12 pm by Nowe101
Versuch es mal mit diesem Sketch.

Beim Schaltungsaufbau musst du noch den 10 kOhm Serienfestwiderstand gegen einen 2,2 kOhm Widerstand tauschen.

Code: [Select]
#define MESSFUEHLER A0  // Messfühler

#define EINZELMESSUNGEN 25  // Das verändern der Zahl ändert auch die Anzahl der Einzelmessungen.

#define A_2 1.401592401e-03   // A-Koeffizient des Messfühlers
#define B_2 2.375252635e-04   // B-Koeffizient des Messfühlers
#define C_2 0.9880580930e-07  // C-Koeffizient des Messfühlers

#define FESTWIDERSTAND_2 2200  // Widerstandswert des Serienfestwiderstandes des Messfühlers

uint16_t SUM_EM_2[EINZELMESSUNGEN];

void setup(void) {
  Serial.begin(9600);
}

void loop(void) {
  uint8_t i;
  float DURCHSCHNITT_2;
  float R2_2, lnR2_2;
  float TEMP_2;

// Hier werden die Einzelmessungen des Messfühlers vorgenommen.
// Zwischen den Messungen gibt es eine Wartezeit von 10 Millisekunden.
   
  for (i=0; i< EINZELMESSUNGEN; i++) {
   SUM_EM_2[i] = analogRead(MESSFUEHLER);
   delay(10);
  }

// Berechnung des Durchschnittswertes aller Einzelmessungen des Messfühlers.
   
  DURCHSCHNITT_2 = 0;
  for (i=0; i< EINZELMESSUNGEN; i++) {
     DURCHSCHNITT_2 += SUM_EM_2[i];
  }
  DURCHSCHNITT_2 /= EINZELMESSUNGEN;

// Berechnung der Temperatur mit Steinhart-Hart Gleichung

  R2_2 = FESTWIDERSTAND_2* (1023.0 / (float)DURCHSCHNITT_2 - 1.0);
  lnR2_2 = log(R2_2);
  TEMP_2 = (1.0 / (A_2 + B_2*lnR2_2 + C_2*lnR2_2*lnR2_2*lnR2_2));  // Steinhart-Hart Gleichung. T  = 1 / {A + B[ln(R)] + C[ln(R)]^3}
  TEMP_2 =  TEMP_2 - 273.15;

// Der nachfolgende Teil sendet die Daten zusätzlich über den seriellen Port.

  Serial.print("Temperatur:     ");
  Serial.print(TEMP_2);          // Hier wird der Temperaturwert des Messfühlers vom Arduino an den seriellen Port gesendet.
  Serial.println(" °C");
  Serial.println();
 

// Nach 5 Sekunden Wartezeit wird eine neue Messung der Temperaturen vorgenommen.

  delay(5000);
}

Aceli

Könntest du das etwas genauer erklären ? Für jemanden der totaler Anfänger is ?

Nowe101

Hab den Vorpost und den Sketch gerade noch mal editiert. Zum Testen und damit rechnen sollte ein 2,2 kOhm Serienfestwiderstand ausreichen.

Aceli

Okay und als serienfestwiderstand ist der Widerstand im Schaltplan gemeint .

Muss ich mal schauen ob ich einen 2,2 habe

Nowe101

#69
Aug 05, 2018, 09:34 pm Last Edit: Aug 05, 2018, 09:36 pm by Nowe101
Quote
Könntest du das etwas genauer erklären ? Für jemanden der totaler Anfänger is ?
Hmm... Wenn du mir sagst was genau ich dir erklären soll sehr gerne.  :)

Im Anhang ist noch mal ein Schaltungsaufbau wie er jetzt aussehen sollte.

An dem Datenblatt was du gefunden hast kann man daraus schliesen das es ein 3k NTC-Sensor ist. da er bei 25 °C 3000 Ohm hat. Mit diesem Datenblatt kannst du mit Hilfe des Online-Rechners die Koeffizienten berechnen. Einfach im oberen Teil des Rechners die Widerstandswerte aus dem Datenblatt und die dazugehörigen Temperaturen aus dem Datenblatt eintragen. Du brauchst zum Berechnen der Koeffizienten drei Widerstands/Temperatur-Paare. Welche du nimmst ist egal. Ich habe die bei 10°C, 25°C und 40°C zum rechnen verwendet.

Direkt darunter bekommst du die Koeffizienten angezeigt (A, B und C).

Diese habe ich dann in meinen Sketch hinter A_2, B_2 und C_2 eingetragen.

Code: [Select]
#define A_2 1.401592401e-03   // A-Koeffizient des Messfühlers
#define B_2 2.375252635e-04   // B-Koeffizient des Messfühlers
#define C_2 0.9880580930e-07  // C-Koeffizient des Messfühlers


Ein Stück darunter habe ich den Serienfestwiderstandswert definiert.

Code: [Select]
#define FESTWIDERSTAND_2 2200  // Widerstandswert des Serienfestwiderstandes des Messfühlers

Mit diesen Werten und mit dem Wert der an Pin A0 gemessen wird dann die weitere Berechnung der Temperatur durchgeführt.

Was würdest du noch gerne wissen?  :)

Aceli


Nowe101

#71
Aug 05, 2018, 09:40 pm Last Edit: Aug 05, 2018, 09:48 pm by Nowe101
Quote
Okay und als serienfestwiderstand ist der Widerstand im Schaltplan gemeint .
Ja genau der Widerstand ist damit gemeint. :)

Aceli

Besten dank.

so dann werd ich wohl erstmal 2,2kOhm bestellen müssen

habe nur 2KOhma daheim und noch andere ......

postmaster-ino

Widerstand - nur hinten ein E, kommt von wider=gegen.
Widerwillen
Widerstand

Dagegen ist das
Wiedersehen ein ERNEUTES Sehen, da gehört auch vorne ein E hin.

MfG

PS: ob 2K0 oder 2K2 spielt hier eine eher untergeordnete Rolle - Du kannst die 2K0 ja ebenfalls im Sketch eintragen.
Auch sind die 2K2 Widerstände nicht auf's µ genau 2200Ω, etwas Plus/Minus ist Da immer dabei.

Nowe101

#74
Aug 05, 2018, 09:56 pm Last Edit: Aug 05, 2018, 09:58 pm by Nowe101
Wie postmaster-ino schon gesagt hast du kannst auch den 2 kOhm Widerstand nehmen. zum Testen sollte das reichen.

Im Sketch dann einfach diese Zeile

Code: [Select]
#define FESTWIDERSTAND_2 2200  // Widerstandswert des Serienfestwiderstandes des Messfühlers

so anpassen

Code: [Select]
#define FESTWIDERSTAND_2 2000  // Widerstandswert des Serienfestwiderstandes des Messfühlers


Go Up