Windrichtung 360 Grad Poti schleifenübergang unterdrücken

Gast #822719
Lesenswert?

Hallo

Habe ein Problem mit einen Windrichtungsanzeiger altes Conrad teil.

Der hat ein Poti eingebaut was sich über 360 Grad durchdreht.

bei ca der hälfte des gemessenen ADC wertes entspricht 180-185 Grad 
läuft der läufer über den Schleifkontakt hinaus bauartbedingt meine 
Frage wie kann ich das überbrücken so das mein ADC bei dieser 
Windstellung nicht verückt spielt???

Danke
Gast #823910
Lesenswert?

habe ein 68kohm widerstand dazwischen geschaltet.

der bereich ist weg wo mir das poti müll bringt.

nur stimmt jetzt meine windrichtungs berechnung nicht.

Alles was zwischen 0 und 180 grad ist normal danach  kommt bei 270 grad 
über 30 grad potidrehung immer der gleiche adc wert.
180 und 360/0 sind um 20 grad daneben.

kurz gesgat meine lineare funktion ist hinüber.


was nun.
Gast #824024
Lesenswert?

hallo

weil es technisch nicht geht.
es ist ein orginal windmesser von elv.
Dort ist ein poti drin.
es gibt einen kleinen bereich ca 2 grad der mir müll liefert ist der 
schleifen übergang.
Dieser müß überbrückt werden.Er liegt bei 180-182 grad.
adc wert 1023=180grad
adc wert 1=181 grad
adc wert 1 kommt aber erst 2 grad später.
dazwischen bekomme ich adc werte von 120-600 im zickzack.

gruß

herrmann
Gast #824039
Lesenswert?

Ich weiss jetzt nicht, wie hochohmig der Eingang des ADC ist, auch 
nicht, welchen Wert dein Poti hat.
Auf jeden Fall müsstes du den R viel größer machen als den Potiwert und 
gleichzeitig viel kleiner als den ADC-Eingangswiderstand.
Gast #824043
Lesenswert?

hi, Herrmann,

unlösbar ist das Problem, wenn die ist: Die Windrichtungsaneige von 0 
bis 360 Grad wir abgebildet auf ein Potentiometer.

Dann läßt sich der Sprung von 359,9° auf 0° mit keiner 
Lineatitätsschaltung überbrücken.

Deshalb gibt es Doppelpotis mit 0° Verschiebung dawischen (hatte ich mal 
in der Hand aus einem Simulator aus der Zeit vor den Transistoren) und 
Encoder mit Gray-Code.

Wenn das gekaufte Gerät die Windrichtung mit Sprung meldet, dann war es 
wohl von der billigen Sorte.


ciao
Wolfgang Horn
Gast #824044
Lesenswert?

das poti hat 50kohm.
der wiederstand dazwischeen hat 120kohm
adc hochomig???


so lese ich den adc aus

uint16_t ReadChannel(uint8_t mux)
{
  uint8_t i;
  uint16_t result;

 // ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0)   ;    // 
Frequenzvorteiler
   ADCSRA = (1<<ADEN)  | (1<<ADPS0)   ;    // Frequenzvorteiler
                             // setzen auf 8 (1) und ADC aktivieren (1)
 ADMUX = mux;
                      // Kanal waehlen
  //ADMUX |=  (1<<REFS1) | (1<<REFS0) ; // interne Referenzspannung 
nutzen
  ADMUX |=   (1<<REFS0) ; // interne Referenzspannung nutzen

  /* nach Aktivieren des ADC wird ein "Dummy-Readout" empfohlen, man 
liest
     also einen Wert und verwirft diesen, um den ADC "warmlaufen zu 
lassen" */
  ADCSRA |= (1<<ADSC);              // eine ADC-Wandlung
  while ( ADCSRA & (1<<ADSC) ) {
     ;     // auf Abschluss der Konvertierung warten
  }
  result = ADCW;  // ADCW muss einmal gelesen werden,
                  // sonst wird Ergebnis der nächsten Wandlung
                  // nicht übernommen.

  /* Eigentliche Messung - Mittelwert aus 4 aufeinanderfolgenden 
Wandlungen */
  result = 0;
  for( i=0; i<4; i++ )
  {
    ADCSRA |= (1<<ADSC);            // eine Wandlung "single conversion"
    while ( ADCSRA & (1<<ADSC) ) {
      ;   // auf Abschluss der Konvertierung warten
    }
    result += ADCW;        // Wandlungsergebnisse aufaddieren
  }
  ADCSRA &= ~(1<<ADEN);             // ADC deaktivieren (2)

  result /= 4;                     // Summe durch vier teilen = arithm. 
Mittelwert

  return result;
}
mux =adc6 mega 8


danke
Gast #824128
Lesenswert?

> das poti hat 50kohm.
> der wiederstand dazwischeen hat 120kohm
> adc hochomig???

Der ADC hat einen Eingangswiderstand von mindestesn 55 MOhm und
typisch 100 MOhm. Du kannst also R2 gerne noch etwas größer wählen.

Alternativ könntest den Linearitätsfehler vom AVR herausrechnen
lassen. Dann ist die Größe von R2 nicht so wichtig.

Ein Problem wird aber bei dieser Einzelpotilösung immer bleiben: Der
Übergang von 5 V nach 0 V beim Wechsel des Schleifers von der
Widerstandsbahn in die Lücke erfolgt nicht sprunghaft, sondern
kontinuierlich innerhalb eines kleinen Winkelintervalls, da der
Schleiferkontakt eine gewisse Ausdehnung hat. Innerhalb dieses
Winkelintervalls wirst du alle Spannungswerte zwischen 5 V und 0 V
messen, so dass die Messung nicht eindeutig ist. Soll der ausgelesene
Wert nur angezeigt und nicht in einem Regler o.ä. weiterverarbeitet
werden, dürfte das aber nicht so schlimm sein.

Es gibt noch eine andere Möglichkeit, den störenden Effekt zu mindern:

Du kennst etwa die maximale Winkelgeschwindigkeit des Windrichtungs-
anzeigers unter normalen Bedingungen und damit die maximale zeitliche
Spannungsänderung. Am Übergang macht die Spannung i.Allg. größere
Sprünge, die durch die Auswertesoftware auf dem AVR erkannt werden
können. Eventuelle Zwischenwerte an dieser Stelle werden dann einfach
nicht ausgegeben bzw. durch den letzten sinnvollen Messwert (5 V bzw.
0 V) ersetzt.
Gast #824166
Lesenswert?

>Der Übergang von 5 V nach 0 V beim Wechsel des Schleifers von der
>Widerstandsbahn in die Lücke erfolgt nicht sprunghaft ...
Warum nicht. Wird da der Schleifer nicht 'sprunghaft' ins 'Niemandsland' 
gestellt, sobald er den Kontakt mit beiden Endpunkten verliert. Und er 
muss ihn verlieren, da er sonst einen Schluss über dem Poti erzeugt.

Wenn ein hochohmiger Widerstand eingesetzt wird (1 Meg unter den gannten 
Bedingungen wäre ganz brauchbar), dann ziehts den ADC-Eingang auf Null 
und er hat für 1-2° die Anzeige 181° Windrichtung. Ist an der Stelle ein 
kleiner Schönheitsfehler - aber nur unwesentlich falsch.
Der 1-Meg macht dann bei 0° resp. 360° den größten Fehler von rund 1,2% 
(statt 2,5V kommen dann nur 2,47V am Poti heraus - wieder 2° Fehler in 
der Windrichtung.

Der Softwarevorschlag von yalu ist auf jeden Fall sinnvoll als 
Ergänzung, denn der Sprung an der Stelle bleibt.
Gast #824218
Lesenswert?

> Warum nicht. Wird da der Schleifer nicht 'sprunghaft' ins
> 'Niemandsland' gestellt, sobald er den Kontakt mit beiden Endpunkten
> verliert. Und er muss ihn verlieren, da er sonst einen Schluss über
> dem Poti erzeugt.

Bevor er den Kontakt komplett verliert, wächst der Übergangswiderstand
zwischen Bahn und Schleifer, da die Kontaktfläche abnimmt. Befindet
sich der Schleifer an Punkt 3 in obiger Schaltung, bildet der
veränderliche Übergangswidersand mit R2 eine Spannungsteiler, an
dessen Ausgang theoretisch alle Spannungen von 0 V bis nahe 5 V
möglich sind.
Gast #824279
Lesenswert?

Danke - ich geb dir recht.
Allerdings hatte der OP vorher über rund 2° Drehwinkel einen offenen 
ADC-Eingang mit beliebigem Ergebnis. Das ist insofern besser geworden, 
dass es jetzt nur noch Bruchteile eines Grades sind und so dein 
SW-Vorschlag noch besser zum Tragen kommt.
Gast #825176
Lesenswert?

hallo

es lässt sich wohl nur per software regeln

habe mal was probiert.

ich habe ein array für 3 messungen.
also auch 3 durchläufe.

hat der erste messwert eine differenz und der zweite und 3 sind gleich 
hat der wind gedreht.Ist der erste und 2 und dritte unterschiedlich bin 
ich auf dem gewisssen punkt und gebe 180 grad zurück.

so klappts auch ganz gut.messungsintervall 1 sec dh jede 3 sec bekomme 
ich eine windberechnung,ich denke das kann man verkraften.


nur habe ich jetz noch bemerkt das mein poti an einer gesissen stelle ca 
40 grad breit immer den gleichen adcwert liefert???

kann ein poti verschleißen ??

windmesser ist ca 8 jahre alt und hat ca 3 jahre im freien dauerbetrieb 
geleistet damals noch mit elv funksender innenleben.



danke
Gast #828795
Lesenswert?

Hallo

Habe heute mein 360Grad Poti 50Kohm von Conrad bekommen das gleiche in 
grün.

bei einen ADC wert von 786(mit den obigen code) kann ich das poti ca 
40Grad dgrhen ohne das sich der adc wert ändert.
zwischen adc 1023 und 0 sind wieder die blöden werten diese habe ich 
aber per software unterdrückt das geht ganz gut.

nur was mache ich mit den lücken dies betrifft umgerechnet den bereich 
von 270-300 grad???Der Bereich von adc 0 bis zu 768 läßst sich schön 
regeln.
nach den 768 auch wieder bis 1023.

Liegt es am ADC des Mega 8 ????

WIe kann man das kompensieren oder abschalten oder liegts am poti????

POTI 50K 1W TYP 357

Danke

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren