Forum: Mikrocontroller und Digitale Elektronik Frage zu einem Windsensor


von Martin H. (Gast)


Lesenswert?

Hi,

ich habe mir einen Windsensor zugelegt den vortex von inspeed.

http://www.inspeed.com/anemometers/Vortex_Wind_Sensor.asp

Laut Hersteller information gibt er einen pulse per rotation aus was ja 
auch okay ist um die flanken mit dem µC zu erkennen!

So mein verständnis!

Jetzt habe ich den an ein Oszilloskop angeschlossen und dieses auf 
20.0mV per DIV und 50ms eingestellt. Wenn ich den Sensor nicht drehe 
erhalte ich eine Frquenz von mehreren kHz (laut Oszilloskop ist auch 
zusehen). Und sobald ich den Sensor drehe erscheinen bereiche die 0V 
haben.

Laut meinem Verständnis habe ich ja keinen pulse per rotation sondern 
neh gap per rotation. Ist das so richtig? Funktionieren die alle so oder 
hat der einen Produktionsfehler?

Vielen Dank für die Aufklärung

Martin H.

von rmf (Gast)


Lesenswert?

Kann es sein das du nur den Sensor direkt an das oszi angeschlossen hast 
?
Der Sensor hat einen Reed Switch eingebaut. Das bedeutet einen 
mechanischen Schalter der über Magnet betätigt wird. Ergo benötigst du 
eine Stromversorgung und einen Pull-Up oder Pulldown widerstand um am 
Oszi etwas zu sehen.

von Udo S. (urschmitt)


Lesenswert?

Da steht dass der Sensor einen "reed switch" hat. Also ein Reed Kontakt 
der über einen Magneten pro Umdrehung einmal ausgelöst wird.
Das müsste man mit einem Durchgangsmesser messen (langsam von Hand 
drehen) oder sogar hören können.
Ich weiss nicht was du misst, und wie (analog Oszi/Speicher) aber mit 
dem Zeitbereich in Millisekunden und mV würde ich darauf tippen daß du 
ganz großen Mist misst.
Entweder 50Hz Brumm oder prellen oder was auch immer.

Aber vieleicht sagt ein Bild vom Oszillogramm incl. Oszieinstellungen 
mehr als 1000 Worte.

von Drobel (Gast)


Lesenswert?

Martin H. schrieb:

> Wenn ich den Sensor nicht drehe erhalte ich eine Frquenz von mehreren kHz
> (laut Oszilloskop ist auch zusehen). Und sobald ich den Sensor drehe
> erscheinen bereiche die 0V haben.

Die offenen Leitungen des Sensor "fangen" etwas ein und dein Oszi (20 
mV/DIV) zeigt es an. Der Oszi zeigt 0 V an, wenn der Reedkontakt 
geschlossen ist.

von Martin H. (Gast)


Lesenswert?

Vielen Dank für die schnelle antwort ich werd mich jetzt mal eben über 
den reedkontakt informieren bei weiteren Fragen komme ich auf euch 
zurück.

Also lag es doch an meinem verständnis wieder was dazu gelernt!

von Udo S. (urschmitt)


Lesenswert?

Martin H. schrieb:
> Vielen Dank für die schnelle antwort ich werd mich jetzt mal eben über
> den reedkontakt informieren

Das ist ein einfacher Schalter der pro Umdrehung ein mal ein und wieder 
ausgeschaltet wird.
Beachte daß du den bei der Auswertung entprellen musst.
Um etwas zu messen musst du damit eine Spannung/einen Strom schalten.

Tipp: Nicht zu hochohmig, sonst fängst du dir evt. Störungen ein.

von Harald W. (wilhelms)


Lesenswert?

Martin H. schrieb:
> Vielen Dank für die schnelle antwort ich werd mich jetzt mal eben über
> den reedkontakt informieren

Da brauchst Du Dich nicht gross informieren. Ein Reedkontakt
funktioniert wie ein Klingelknopf. An den kannst Du ja auch
nicht einfach eine Klingel anschliessen, sondern Du brauchst
eine Anlage mit Trafo o.ä.
Dein Reedkontakt braucht eine Spannungsquelle und einen Pullup-
Widerstand, dann klappts auch mit der Nachbarin, ähh, mit dem Oszi.
:-)
Gruss
Harald

von Martin H. (Gast)


Lesenswert?

So ich habe noch eine Frage zur Programmierung. Will dafür kein neues 
Thema eröffnen!

Und zwar habe ich einen Timer der mir "genau" 1s liefert für die 
Windgeschwindigkeit (8-Bit oder 16Bit Timer beides verstanden soweit). 
Nur das einzige was ich bisher trotz der ganzen tutorials noch nicht 
wirklich verstanden habe ist Input capture unit des Timer 1 des 
atmega32.

Mein Plan bisher dieses Kapitel noch zu durchschauen und dann durch die 
flankenerkennung die pulse zählen und die mit dem interrupt 1hz signal 
des anderen timers dann jede sekunde auszulesen und zurückzusetzen! 
somit habe ich dann n viele pulse pro sekunde.

Meine Frage nun dazu macht man das so oder kann man das alles in einem 
Timer machen oder macht man das ganz anders?

Hat jemand zufällig eine gute erklärung für Input capture unit, weil 
irgendwie in jedem tutorial was ich finde wird darauf gar nicht 
eingegangen oder nur ganz nebensächlich?

Vielen Dank dafür!

von Karl H. (kbuchegg)


Lesenswert?

Martin H. schrieb:

> Nur das einzige was ich bisher trotz der ganzen tutorials noch nicht
> wirklich verstanden habe ist Input capture unit des Timer 1 des
> atmega32.
>
> Mein Plan bisher dieses Kapitel noch zu durchschauen und dann durch die
> flankenerkennung die pulse zählen und die mit dem interrupt 1hz signal
> des anderen timers dann jede sekunde auszulesen und zurückzusetzen!
> somit habe ich dann n viele pulse pro sekunde.

Input Capture kann man nehmen, aber eigentlich ist das Perlen vor die 
Säue :-)

Denn der Clou beim Input Capture ist es, dass die Hardware den aktuellen 
Zählerstand des Timers bei Auftreten der eingestellten Flanke sichert. 
Und beim Input Capture ist man auf diesen Zählerstand aus.

Dein Problem (von dem du noch nicht weißt) ist aber anders gelagert. 
Dein Reed Kontakt wird prellen. D.h. theoretisch kriegst du bei 1 
Umdrehung auch nur 1 steigende Flanke. Theoretisch. Praktisch werden es 
mehr sein. Selbst wenn es heute noch nicht mehr sind, irgendwann sind 
sie es.

D.h. du musst den Eingang des Kontaktes entprellen.
Im Grunde kannst du daher deinen Eingang vom Windsensor wie einen Taster 
behandeln und auch mit genau denselben Methoden da drann gehen.
Entprellung

> Meine Frage nun dazu macht man das so oder kann man das alles in einem
> Timer machen oder macht man das ganz anders?

Wenn das Prellen nicht wäre, könnte man auch den Weg gehen, den Kontakt 
einfach als 'Antrieb' für einen Timer zu benutzen. Die meisten Timer 
können mit ihrem Prescaler auch einen Pin als Takteingang des Timers 
benutzen. Dann bräuchtest du im Grunde überhaupt nichts tun, sondern der 
Reed Kontakt sorgt selbst dafür, dass der Timer in jeder Umdrehung um 1 
hochzählt :-) Du müsstest dir nur den Zählerstand regelmässig abholen 
und den Timer wieder auf 0 setzen. Theoretisch.

> Hat jemand zufällig eine gute erklärung für Input capture unit, weil
> irgendwie in jedem tutorial was ich finde wird darauf gar nicht
> eingegangen oder nur ganz nebensächlich?

InpCap ist im Grunde sehr simpel. Nur hilft es dir in deinem Fall nicht 
viel, weil es einfachere und bessere Methoden gibt, mit dem Prellen 
eines Kontaktes klar zu kommen. InpCap benutzt man sinnvollerweise dann, 
wenn man eine Pulslänge ausmessen muss. Den Fall hast du aber nicht. 
Dich interessiert nicht, wie lange der Kontakt in jeder Umdrehung 
geschlossen ist, sondern wie oft pro Sekunde.

von Martin H. (Gast)


Lesenswert?

Verdammt mir kam gerade die idee, dass ich doch einfach den inpcap lasse 
und mit steigender flanke den timer starte und ihn mit einem prescaler 
von zum beispiel 1024 zählen lasse somit habe ich eine frequenz von 
976,56Hz (~1ms) bei 1Mhz µC Frequenz. Und je nachdem wie weit der Zähler 
gekommen ist, sagen wir einfch mal bis 459 hätte ich dann 460ms das 
entspricht 2,17Hz.

Das mal 2,5mph/Hz = 5,425mph.

eine obere grenze bei 999 mit compare match und im interrupt dann den 
timer wieder auf 0 setzen. So müsste es auch gehen oder wenn man einem 
Timer das alles abverlangen kann!

Nur würde ich da keine entprell software routine reinbekommen oder sehe 
ich das falsch

von Karl H. (kbuchegg)


Lesenswert?

Martin H. schrieb:
> Verdammt mir kam gerade die idee, dass ich doch einfach den inpcap lasse
> und mit steigender flanke den timer starte und ihn mit einem prescaler
> von zum beispiel 1024 zählen lasse somit habe ich eine frequenz von
> 976,56Hz (~1ms) bei 1Mhz µC Frequenz. Und je nachdem wie weit der Zähler
> gekommen ist, sagen wir einfch mal bis 459 hätte ich dann 460ms das
> entspricht 2,17Hz.
>
> Das mal 2,5mph/Hz = 5,425mph.
>
> eine obere grenze bei 999 mit compare match und im interrupt dann den
> timer wieder auf 0 setzen. So müsste es auch gehen oder wenn man einem
> Timer das alles abverlangen kann!
>
> Nur würde ich da keine entprell software routine reinbekommen oder sehe
> ich das falsch

Bei deinem Vorteiler kannst du davon ausgehen, dass ein Zählwert von 0 
(oder 1) sicherlich kein realer Wert sein kann, sondern durch Prellen 
verursacht wurde. So schnell kann sich dein Windrad nicht drehen.

Ja, und jetzt bist du wieder auf der Schiene, an der Input Capture 
einsetzbar sind.
Denn der Teil:
  Interrupt auf steigende/fallende Flanke    PLUS
  feststellen des Zählwertes bei Auftreten der Flanke mit
  nachfolgendem Auslösen des Interrupts

das ist EXAKT das, was Input Capture in Hardware macht :-)

von Thomas E. (thomase)


Lesenswert?

Martin H. schrieb:
> Nur würde ich da keine entprell software routine reinbekommen oder sehe
> ich das falsch
Dann wird das auch nichts.
Ein Reedkontakt ist zum wahnsinnig werden, wenn man es nicht richtig 
macht.
Je nach Einbaulage macht er ein oder zwei Impulse, die natürlich auch 
noch prellen.
Zieht man den Magneten in Längsrichtung über den Kontakt macht er 2 
Impulse. Zieht man schneller, schafft er es irgendwann nicht mehr zu 
öffnen, bevor er wieder betätigt wird und macht dann einen Impuls, wird 
man noch schneller, kriegt er das gar nicht mit.
Wird der Magnet quer über den Kontakt bewegt, macht er einen Impuls. Das 
gleiche, wenn man sich senkrecht nähert.
Deshalb erstmal Multimeter, Piepser, LED oder sonstwas geeignetes ran 
und laaaangsam drehen.
Und dann siehst/hörst du, wie er tickt.

mfg.

von Martin H. (Gast)


Lesenswert?

Ja dann komm ich doch langsam dahinter wie die timer/counter 
funktionieren ^^. Jetzt muss ich mir nur noch überlegen, dass wenn die 
steigende und fallende flanke zu schnell hinter einander kommen er den 
timer nicht zurücksetzt sondern weiter zählt bis zu einer flanke die von 
der ersten flanke mindestens 8ms entfernt ist was realistisch wäre bei 
dem sensor da es 125 Hz entspricht und somit den max wert des sensors 
von 125mph entspricht und die windgeschwindigkeit muss erst einmal 
erreicht werden und wenn das der fall ist ist es auch egal ob die 
vielleicht sogar noch schneller wäre weil dann muss ich mir eher 
gedanken um das dach meines hauses machen ^^

eine andere frage macht das überhaupt sinn so die windgeschwindigkeit zu 
messen weil wenn ich mir das dann ausgeben lasse wird die anzeige ja nur 
so rumspringen, da sie ja jede Windböe mitbekommt. Mal googeln ob es da 
eine norm gibt (was sag ich da gibt es bestimmt) (irgendwie der 
mittelwert innerhalb von 5 sekunden oder so könnt ich mir vorstellen)^^

von Martin H. (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> Deshalb erstmal Multimeter, Piepser, LED oder sonstwas geeignetes ran
> und laaaangsam drehen.
> Und dann siehst/hörst du, wie er tickt.

Hab das ganze auf ein oszilloskop produziert und da hat der nicht 
geprellt nur wie schon vorredner gesagt haben das muss jetzt ja noch 
nicht sein aber wenn der was älter wird.

Worauf willst du denn hinaus?

von Karl H. (kbuchegg)


Lesenswert?

Martin H. schrieb:

> Worauf willst du denn hinaus?

Ich schätze mal auf das, was ich auch immer mache.
Ehe ich ein Programm schreibe, probier ich mit einem Sensor alles 
mögliche aus, mit Mulitmeter, mit LED, was halt so geht, um den Sensor 
mal in Aktion zu sehen. Denn wenn ich das erst mal programmiere, dann 
hab ich nur noch Zahlenwerte. Und die große Frage ist dann immer: Können 
diese Zahlen überhaupt stimmen? Messe ich tatsächlich das, was ich zu 
messen glaube?
Dadurch, dass ich mit dem Sensor aber im Vorfeld schon 'gespielt' habe, 
habe ich ein gewisses Gefühl entwickelt, was da abgeht, wie er sich 
verhält, was plausibel ist und was nicht.

von Udo S. (urschmitt)


Lesenswert?

Martin H. schrieb:
> Worauf willst du denn hinaus?

Thomas meint abhängig von Magnet und wie der Magnet an dem Reed-Kontakt 
vorbeistreicht kann es passieren, daß der Reed Kontakt 2 mal auslöst, 
weil das magnetische Feld bei einem Stabmagneten genau zwischen den 
Polen schwächer wird.
Ich gehe aber mal davon aus daß das bei deinem Sensor eher nicht der 
Fall ist, sonst würde der Sensorhersteller generell ein Problem haben.
Aber Thomas hat insofern recht daß man das zumindest nicht ausschließen 
kann und mal ausprobieren sollte.

von Thomas E. (thomase)


Lesenswert?

Martin H. schrieb:
> Worauf willst du denn hinaus?
Genau auf das, was Karl Heinz und Udo gerade geschrieben haben.

Du siehst, wie der Rotor sich dreht, du hörst den Reedkontakt klicken du 
kannst an der Stellung des Schalenkreuzes sehen, daß gleich ein Impuls 
kommt. Der Controller sieht und hört das alles nicht. Der bekommt zu 
irgendwelchen Zeitpunkten Impulse. Es hilft dir bei der Programmierung, 
ein Gefühl für dieses mechanische Bauteil zu haben.

mfg.

von Karl H. (kbuchegg)


Lesenswert?

Thomas Eckmann schrieb:
> Martin H. schrieb:
>> Worauf willst du denn hinaus?
> Genau auf das, was Karl Heinz und Udo gerade geschrieben haben.
>
> Du siehst, wie der Rotor sich dreht, du hörst den Reedkontakt klicken du
> kannst an der Stellung des Schalenkreuzes sehen, daß gleich ein Impuls
> kommt. Der Controller sieht und hört das alles nicht. Der bekommt zu
> irgendwelchen Zeitpunkten Impulse. Es hilft dir bei der Programmierung,
> ein Gefühl für dieses mechanische Bauteil zu haben.


Drum ist es mir auch immer völlig unverständlich, wie man eine Platine 
ätzen lassen kann, deren Schaltung man noch nicht mal auf dem Steckbrett 
ausprobiert hat.

von amateur (Gast)


Lesenswert?

Gerade bei einer Konstruktion, wie deinem Windrad, sollte das Problem 
doch einfach zu lösen sein.
a) Kontaktprellen ist ein relativ schneller Vorgang. Insbesondere bei
   Reed-Relais.
b) Aus den Datenblättern lässt sich recht einfach ersehen, was das
   Maximum an Takten ist. Anhand der maximalen Drehzahl/Windstärke.

Daraus folgt: Jeder Ticker, der früher/schneller als unter b 
spezifiziert ankommt ist zwangsläufig ein Preller. Du kannst ja noch 
etwas Reserve einbauen.
Noch etwas hilft Dir: Wenn Du keinen Schrott gekauft hast, wird jeder 
Durchgang immer MINDESTENS einen Puls liefern.

Versuche als so einfach einmal folgendes (Wohl gemerkt nur bei deinem 
Windradproblem): Zähle jeden Puls und sperre das System anhand von b) 
danach.

von Helfender (Gast)


Lesenswert?

Vielleicht auch berücksichtigen, dass ein Impuls unendlich
lang sein kann...
(der Magnet bleibt genau da stehen, wo er den Reed-Schalter
auslöst und wenn dann kein Wind mehr da ist, bleibt es so.
Seltener Fall, sollte die Berechnung/Anlage nicht in einen
Fehlerfall führen)

von amateur (Gast)


Lesenswert?

Wird ein Impuls als Ein/Aus definiert, so macht das nix.
Man kann sich natürlich darüber streiten ob "Ein" bereits ein Impuls ist 
oder erst der vollständige Zyklus "Ein/Aus". Der Unterschied liegt bei 
+/- 1 bis zur nächsten Flaute.
Dumm wäre es allerdings immer auf den vollständigen Zyklus zu warten, am 
Besten in einer Endlosschleife.
Ich würde die im vorherigen Beitrag erwähnte Sperrzeit mit der 
ansteigenden Flanke starten.
Übrigens: Es gibt auch keine Möglichkeit hin-und-her bei fast Flaute, 
oder drehenden Winden, von echten Umdrehungen zu unterscheiden.

von Martin H. (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank schonmal für die weitere Hilfe, nachdem ich den sensor an 
meinem oszi hatte und der mir immer schön ein rechteck signal gegeben 
hat beim durchlaufen habe ich jetzt das ganze einfach mal an den µC 
angeschlossen. Und dabei fällt mir eine Sache auf die ich nicht ganz 
verstehe.

Quelltext angefügt!

Ich will einfach nur den InpCap eingang ausprobieren und bei jeder 
steigenden flanke meine leds toggeln! Dazu gesagt habe das STK500.

also dachte ich mir okay ich schließe an 5V einen Pull up widerstand 
(250ohm) gehe dann auf den sensor und vom sensor auf den InpCap(eingang) 
pin.

Nur das hat nicht funktioniert also habe ich mir gedacht schließe ich so 
wie oben alles an nur statt an 5V an 0V und siehe da es funktioniert. 
Bei jeder steigenden Flanke toggeln die leds.

Was ich daran nicht verstehe warum ist das so? Funktioniert der eingang 
anders?

von Karl H. (kbuchegg)


Lesenswert?

Martin H. schrieb:

> also dachte ich mir okay ich schließe an 5V einen Pull up widerstand
> (250ohm) gehe dann auf den sensor und vom sensor auf den InpCap(eingang)
> pin.

Regel Nummero Uno:

Ein offener µC-Eingangspin hat keinen definierten Pegel!
Er ist nicht 0, er ist nicht 1.

Ok. Natürlich. einen der beiden Pegel muss er haben, denn was anderes 
gibt es nicht. Aber es ist nicht so, dass ein offener Pin (also ein Pin, 
an dem nichts hängt) automatisch einen 0 Pegel hat. Er kann alles sein, 
je nachdem ob du mit der Hand in der Nähe bist, ob der Staubsauger 
läuft, ob der Fernseher läuft, ob dein Handy gerade mit der Sendestation 
über eine Frequenzzuteilung verhandelt, buchstäblich alles was an 
elektromagnetischen Feldern in der UMgebung kreucht und fleucht, kann 
sich ein offener Pin (der als Antenne wirkt) einfangen und daraus einen 
1-Pegel konstruieren.

Wenn deine Schaltung also so aussieht.

                       \
    +5V --------------o \o---------------> zum µC Pin

dann ist das ein offener Eingang. Denn der Reed-Kontakt ist ja nicht 
geschlossen, und damit endet das Drahtstückchen, welches vom µC-Pin 
ausgeht buchstäblich in der Luft.

Erst wenn der Kontakt schliesst

    +5V --------------o--o---------------> zum µC Pin

hast du den µC-Pin definitiv mit einer Spannung verbunden, die dem Pin 
einen Pegel aufzwingt.

von Martin H. (Gast)


Lesenswert?

Vielen Dank dafür oh man man vergisst echt schnell so einfache Sachen! 
Später gleich mal gucken ob es dann funktioniert!

von Manuel X. (vophatec)


Lesenswert?

amateur schrieb:

> Übrigens: Es gibt auch keine Möglichkeit hin-und-her bei fast Flaute,
> oder drehenden Winden, von echten Umdrehungen zu unterscheiden.

Bei Löffelanemometern gibt es kein hin-her. Auch nicht bei Flaute. 
Zumindest ist mir noch keines untergekommen das bei wenig oder auch viel 
Wind die Drehrichtung geändert hätte. Entweder es dreht sich ( in eine 
Richtung ) oder eben nicht. Drum sind die Löffel extra so geformt wie 
sie geformt sind :)

Teurere Anemometer haben aber auch gerne mal 2 Sensoren womit man auch 
eine Drehrichtung bestimmen könnte.

von amateur (Gast)


Lesenswert?

@Manuel

Es gibt ein paar Sachen, bei denen sich Wasser (da kann man es sehen) 
und Luft ähnlich verhalten.
Liegen in fließendem Wasser Steine dicht an der Oberfläche, so kann man 
kleine (und große) Wirbel abreißen sehen, die sich sowohl links- als 
auch rechts herumdrehen. Denselben Effekt kann man an Ecken und Kanten 
in der Luft beobachten, also in bebauten oder bewaldeten Gebieten. So 
etwas soll es an mehreren Stellen auf unserem Planeten geben.
Ähnliche Effekte erzeugen jegliche Sperrflächen wie z.B. Plakatwände. Je 
nach Vorzugs-/Windrichtung kann man da erstaunliche Unterschiede in der 
Windgeschwindigkeit auf einer Strecke von nur wenigen Zentimetern, 
horizontal, feststellen.
Die Löffelform gibt dem ganzen Gebilde nur eine Vorzugsrichtung - mehr 
nicht. Das kannst Du ganz einfach ausprobieren, indem Du mal einen 
Löffel von hinten anbläst. Möglicherweise irre ich mich auch, aber ich 
habe noch kein Löffelanemometer gesehen, das eine "Rücklaufsperre" hat.

von Martin H. (Gast)


Angehängte Dateien:

Lesenswert?

So ich habe jetzt mal nach der Idee von oben ein Programm erstellt, dass 
mehr oder weniger genau am Input capture pin meine windgeschwindigkeit 
misst.

Da ich den Windsensor gerade nicht zur Hand habe habe ich mir durch 
timer 2 eine frequenz auf den pin gelegt. (also der teil kommt wieder 
komplett weg)

habe 1mhz, prescaler von 1024 somit ist timer 0 mehr oder weniger ein 
1ms zähler, der anläuft bei einer steigenden flanke. Beim input capture 
interrupt setzte ich den timer1 wieder zurück und speichere den wert in 
windtime. Die LEDs an portb sind nur für mich kommen auch noch raus.

so die eigentliche messung bzw berechnung findet in einem untermodul 
statt wo ich prüfe ob die Zählerzahl unter 6 oder über 1000 (ms) ist. 
Wenn sie unter 6ms ist, ist der reed kontakt sehr wahrscheinlich 
geprellt oder ein Hurrican saust an dem sensor vorbei und über 1000ms 
interessiert mich das ergebnis nicht!

Dann die Umrechnung von millisekunde zu km/h

Zu guter letzt ausgabe auf das lcd display.


So fällt euch was auf was verbesserungswürdig ist? Oder sagt ihr 
vielleicht krass so kompliziert hät ich das niemals gemacht mach das 
doch lieber so und so! ^^

Vielen Dank Martin

von Peter P. (ichbineinepfanne) Benutzerseite


Lesenswert?

Morgen,

mir ist diese Angabe "2.5 mph per Hz (1 Hz = 1 pulse/second)" suspekt.
Ist das realistisch? Ich hätte aus dem Bauch heraus gedacht das sei 
ziemlich nichtlinear ??

von Martin H. (Gast)


Lesenswert?

Habe ich auch schon drüber nachgedacht wie ich das testen kann. Mal 
schauen vielleicht find ich ja auf der arbeit einenen windsensor zur 
Referenz.

Würde mich über feedback über mein programm freuen! 2 posts drüber

von Michael (Gast)


Lesenswert?

Peter Pfanne schrieb:
> Ich hätte aus dem Bauch heraus gedacht das sei ziemlich nichtlinear ??
Warum sollte das nichtlinear sein?
Bei niedrigen Windgeschwindigkeit, wo die Lagerreibung dominiert, gibt 
es natürlich Anlaufprobleme.
Bei höheren Geschwindigkeiten hat man beim Schalenanemometer als Antrieb 
den Unterschied im Windwiderstand von den von vorne bzw. hinten 
angeströmten Halbschalen. Das Ding dreht sich genau so schnell, dass 
sich die Kräfte
1
Kraft = Windwiderstand * (wahre Windgeschwindigkeit + Fahrtwind)
für von hinten bzw. vorne angeströmte Schalen die Waage halten

von Martin H. (Gast)


Lesenswert?

So das obrige Programm hat wunderbar Funktioniert. Jetzt habe ich statt 
den timer generierten takt mal den windsensor angeschlossen und es 
funktioniert nicht mehr, wegen dem prellen des reed kontakts bekomme nur 
noch 0kmh angezeigt bzw windtime ist immer 0 maximal mal 1.
(Oszi fein einstellen sieht man auch das prellen)

Jetzt meine Frage zum entprellen ich habe mir mal dieses tutorial 
durchgelesen zum entprellen nur da gibt es ja soviele möglichkeiten 
welche wäre denn die sinnvollste, da die schnellste Änderung bei mir 8ms 
beträgt und ich im wiki zeiten von 10-25ms zum entprellen gelesen habe!

Bzw wie bekomm ich das prellen in meinen code implementiert? Oder muss 
ich den windsensor an einen anderen "normalen" pin anschließen den dann 
entprellen und dann auf einem pin ausgeben, der dann mit dem inpcap pin 
verbunden ist? - was ich ziemlich umständlich fände.

Oder soll ich die inpcap Methode verwerfen und die flanke anders 
erkennen.

Vielen Dank

Martin

von Hui (Gast)


Lesenswert?

Hat man hier doch schon mehrfach beschreien. Schaue nach wie lange das 
Prellen dauert. Du hast ein Oszi, das kann man da wunderbar drin 
ablesen. Zu der gemessenen Prellzeit multiplizierst du mit 2, somit hast 
du eine rech hohe Sicherheit falls mal ein Prellen besonders lange 
dauert.
Nun schaust du bei jeder Flanke Ist seit dem letzten mal mehr Zeit 
vergangen als meine Prellzeit ist?
Nein -> Zähler nicht zurücksetzen
JA -> Windgeschwindigkeit berechnen, Zähler zurücksetzen.
Wobei du der ICR1 sich selbst zurücksetzt.
Du müsstest also ab und zu mal was zum windtime dazu Addieren und ab und 
zu windtime zu 0 setzten.

von Reinhard Kern (Gast)


Lesenswert?

Martin H. schrieb:
> Mal
> schauen vielleicht find ich ja auf der arbeit einenen windsensor zur
> Referenz.

Brauchst du nicht. Du fährst einfach mit dem Auto z.B. 100 km/h, hältst 
mit einer Hand den Sensor zum Schiebedach oder Fenster raus (möglichst 
weit, wegen der Strömung an der Karosserie) und liest deinen Wert ab. 
Oder so ähnlich.

Gruss Reinhard

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.