Forum: Mikrocontroller und Digitale Elektronik Windrichtung-Sensor mit I²C-Bus


von S. B. (polemon)


Lesenswert?

Hallo, ich würde gerne einen Windrichtung-Sensor haben, den ich über I²C 
abfragen kann.

Anemometer sind ja Wingeschwindigkeits-Messgeräte, da gibt's auch welche 
mit I²C-Schnittstelle.

Alle anderen Sensoren die ich mir ausgesucht habe, haben auch den 
I²C-Bus und da der relativ einfach zu benutzen ist, würde ich auch gerne 
dabei bleiben.

Der Windrichtung-Sensor (fals jemand die korrekte Bezeichnung dafür 
weis, so bitte ich darum sie hier zu vermerken), sollte eine möglichst 
hohe Auflösung haben. Ich habe schon daran gedacht aus einer 
Computer-Maus (optische Sensoren für Mausrad) etwas zu Bauen, aber ich 
lies es nach einer Weile sein. Ich habe nun immer wieder mal nach sowas 
im Internet geschaut, aber nie etwas ausser magnetischer Kompass-Module 
gefunden, die aber sehr ungenau sind (16 Richtungen).

Könnte mir da jemand weiterhelfen?

von Wolfgang (Gast)


Lesenswert?

Wenn du wirklich hoch auflösen möchtest, kannst du z.B. eine AS5043 
Winkelencoder nehmen, dem du dann mit einem kleinen µC I2C beibringen 
könntest. Nur um zu wissen, wo der Wind herkommt, macht es aber 
eigentlich keinen Sinn, einen Sensor mit sonderlich hoher Auflösung zu 
verwenden, da die Windfahne sowieso wird rumzappelt. Der genaue Wert 
entsteht erst als Zeitmittelwert in der Signalverarbeitung.
Wenn du allerdings die Wirbel wirklich zeitlich auflösen möchtest, 
bieten sich feststehende Sensoren mit Ultraschall an.
http://www.technik.ba-ravensburg.de/~lau/ultraschall-anemometer.html

von S. B. (polemon)


Lesenswert?

Hmm, die Idee mit dem Rotary Encoder ist wirklich gut! Die Genauigkeit 
ist weit höher als ich wollte, ich dachte an 8-Bit als Auflösung, das 
Ding hat ja 10.

Ich muss mich wohl genauer einlesen wie man daran am einfachsten eine 
I²C-Schnittstelle vorsieht. Ich dachte an einen DAC der die analoge 
Spannung in I²C-Daten umwandelt. Der Weg über das analoge Signal ist 
vielleicht doof, aber ich brauche keine aufwendigen Chips, die die Daten 
digital auslesen.

Oder bin ich da auf dem Holzweg?

Nochmal zur Info: Es muss eigentlich schon I²C sein, so haben wir uns 
mit anderen Projekten geeinigt.

von void (Gast)


Lesenswert?

S. B. schrieb
> Oder bin ich da auf dem Holzweg?

Nein bist du nicht. Du verzichtest damit aber auf die voll-digitale 
Signalkette. Mit den daraus resultierenden Nachteilen...

> Ich dachte an einen DAC der die analoge Spannung in I2C-Daten umwandelt.

Du meinst einen ADC, nicht DAC. Die gibt es direkt mit I2C Interface. 
AD7995 um eine Beispiel zu nennen.

von S. B. (polemon)


Lesenswert?

void schrieb:
> Nein bist du nicht. Du verzichtest damit aber auf die voll-digitale
> Signalkette. Mit den daraus resultierenden Nachteilen...
Das ist richtig, aber ich habe bisher keinen Chip gefunden, der dieses 
SSInterface in I²C konvertiert. Bevor ich einen weiteren ATmega dazu 
gebrauche als SSI-I²C-Konverter zu funktionieren, dachte ich nehme 
erstmal den einfachen Weg.

> Du meinst einen ADC, nicht DAC. Die gibt es direkt mit I2C Interface.
Ich meinte natürlich ADC, "DAC" sagt sich leichter.

> AD7995 um eine Beispiel zu nennen.
Ja, ich hab schon mehrere gefunden. Aber wie gesagt, wenn es 
SSI-I²C-Adapter gibt, bin ich selbstverständlich daran interessiert.

von Wolfgang (Gast)


Lesenswert?

S. B. schrieb:
> Die Genauigkeit ist weit höher als ich wollte, ich dachte an 8-Bit als
> Auflösung, das Ding hat ja 10.

Beobachte mal eine Windfahne von einem Windmesser und versuche die 
Position auf ein paar Grad genau zu bestimmen. Schon 6 Bit reichen wegen 
der Zappelei der Fahne dicke aus. Dafür kannst du dir auch einfach eine 
Encoderscheibe auf Klarsichtfolie ausdrucken und mit ein paar 
Photodioden die Position ablesen. Um einen µC für die 
Signalaufbereitung, insbesondere für eine vernünftige Filterung der 
Windrichtung, wirst du nicht drumrum kommen, sofern der 
Windrichtungssensor halbwegs fertige Daten liefern soll und nicht mit 
zeitlich hochaufgelösten Winkeldaten den I2C zupflastern soll.

von Edi R. (edi_r)


Lesenswert?

Nur so eine Idee: Wenn man so ein Kompassmodul (z. B. HDMM01 von Pollin) 
verwendet, hat man schon die I²C-Schnittstelle. Das Problem dabei wird 
wohl sein, die Signale vom rotierenden Sensor abzugreifen. Aber 
vielleicht kann man ja auch auf die Messung des Erdmagnetfelds 
verzichten und einen Magneten erkennen, der um den fixiert montierten 
Sensor rotiert.

von NOchnPoster (Gast)


Lesenswert?

S. B. schrieb:
> Hallo, ich würde gerne einen Windrichtung-Sensor haben, den ich über I²C
> abfragen kann.

Low Cost
Wie wäre es mit nem Stück dicken Blech (wg der Trägheit) einem 360° Poti 
und einem I2C A/D Wandler.

High Price
Aus 'nem Yachtladen so`n Ding fertig kaufen (mit Schnittstelle)

von S. B. (polemon)


Lesenswert?

NOchnPoster schrieb:
> Low Cost
> Wie wäre es mit nem Stück dicken Blech (wg der Trägheit) einem 360° Poti
> und einem I2C A/D Wandler.
Potis nutzen sich meist zu schnell ab, die Idee mit dem Kompass-Modul 
finde ich da besser...

> High Price
> Aus 'nem Yachtladen so`n Ding fertig kaufen (mit Schnittstelle)
Die haben eine I²C-Schnittstelle? Ich kenne mich in Yacht-Dingen nun 
wirklich garnicht aus...

von EMA (Gast)


Lesenswert?

Ich habe da unlängst folgendes Modul gesehen,

http://neuhold-elektronik.at/catshop/advanced_search_result.php?keywords=n6600

allerdings noch nicht gekauft.

Als kleinen Bonus gibt es noch Höhen-, Temperatur- und Luftdruckmessung.
Das sollte die rundum sorglos Lösung sein und liefert Daten über die i2c 
Schnittstelle.

von void (Gast)


Lesenswert?

S. B. schrieb
> Aber wie gesagt, wenn es SSI-I²C-Adapter gibt,
> bin ich selbstverständlich daran interessiert.

Ja, gibt es auch. Im Detail suchst du nach einer "I2C Slave to SPI 
Master Bridge" wie der SC18IS602B.

  http://ics.nxp.com/products/sc18/datasheet/sc18is602b.pdf

Allerdings halte ich so ein Bauteil eher für exotisch, da die Aufgabe 
eben typisch von einem Mikrocontroller nebenbei mit erledigt werden 
kann.

Abgesehen davon musst du so auch den SPI Master in der Brücke 
konfigurieren und zwar per I2C. Also zusätzlich zum Daten auslesen per 
I2C.

Eine andere Alternative ist das nachbilden von SPI per "Bitbanging", 
welches du an einem I2C Port Expander Baustein durchführst. Das wird 
dann aber etwas langsamer und etwas mehr Software auf der Seite deines 
I2C Masters.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

S. B. schrieb:
> Die haben eine I²C-Schnittstelle? Ich kenne mich in Yacht-Dingen nun
> wirklich garnicht aus

Meistens haben die Dinger NMEA, seriell, 4800 Baud.

von citb (Gast)


Lesenswert?

EMA schrieb:
> Ich habe da unlängst folgendes Modul gesehen,
>
> http://neuhold-elektronik.at/catshop/advanced_sear...

Das sieht richtig gut aus.

citb

von Christoph M. (joeder3th)


Lesenswert?

Hallo,

ich wollte fragen, ob schon jemand das Neuhold Modul in Verwendung hat??
bzw. etwas darüber sagen kann

lg

von Henrik V. (henrik_v)


Lesenswert?

8DI-> I²C IC
3-8 Lichtschranken
Teilerscheibe mit Graycode, für drei Bit siehe
http://de.wikipedia.org/w/index.php?title=Datei:BCD-Scheibe.svg
Aber bei 13 EUR für das Neuboldmodul ?

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.