<<TableOfContent>>
Beim Eddy-2-Power Windrad verfolgen wir einen Niedrigtechnologie Ansatz. D.h. wir bevorzugen einfache robuste Mechanik und Technologien mit Materialien, die nicht nur in Industrieländern beschaffbar sind und bestenfalls recycelt wurden. Damit wir vergleichbare Messwerte erfassen können, verlassen wir den low tech Weg beim Messen.
Auch hier halten wir es so einfach und praktikabel wie möglich. Alle wichtigen Schritte, Knackpunkte und Fallstricke die uns begegnen werden dokumentiert. Allerdings ist hier etwas mehr Vorwissen und andere Harware notwendig.
Messbereiche
Windgeschwindigkeit
- später evtl. auch Windrichtung, bei Vertikalachsenanlagen nachrangig
Geschwindigkeit des Windrads
- rpm mittels reed switch
- Das kann genauso wie beim [Eddy-2-Power/Windmessgerät]] realisiert werden.
- später rpm counter aka Kilometerzähler für den Rotor
Spannung der Batterien
Ladestrom
- stromführende Leitungen mit Abstand am Hall Sensor vorbei führen, damit keine Messfehler entstehen
ACS714 am Arduino auslesen
* http://playground.arduino.cc/Main/CurrentSensing * http://forum.arduino.cc/index.php?topic=108953.0
Entladestrom
Zustände
- Stand LVD Relay
Temperaturen
- Luft
- Batterien
- Dump
Luftdruck
Hardwaresetup
Aufbau
- WLAN Router - die Verbindung zur Außenwelt; zum "Ablesen" der Messwerte
- Raspberry Pi - Messwerte speichern, Berechnungen, Darstellung
- per Netzwerkkabel mit WLAN Router verbunden
- Anemometer
- Datenbank
- grafische Darstellung mit Munin
- Arduino - Messwerte der Sensoren erfassen
- Der Arduino wird quasi als billiger Analog/Digital Wandler für den Pi genutzt. Der AD Wandler übersetzt die analogen Werte zwischen 0 und 5 Volt in digitale zwischen 0 und 1023 (10Bit).
- Stromversorgung, Kommunikation und Firmwareflash via USB am Pi
- Sensoren - siehe oben
- Stromversorgung - Alle Messgeräte werden unabhängig vom Windrad mit Strom versorgt. So können auch bei Umbau, Wartung, Fehlern etc. weiterhin Daten erfasst werden.
- Software - Die Programme zur Erfassung und Auswertung werden weitestgehend in Python/Micropython geschrieben, für den Mikrocontroller im Arduino C++ Dialekt. Die Datenbank wird zunächst SQLite. Munin dient zur Darstellung der Messwerte. Eine weitere softwaregestützte Auswertung ist vorerst nicht geplant. Die erfassten Daten werden wir zu Forschungszwecken veröffentlichen.
Vorbereitung
Vom Raspi aus kann der Arduino per USB geflasht werden. Entweder über die Arduino IDE oder über die Konsole mittels ino.
ino über pip installieren:
aptitude install python-pip screen pip install ino
- ino läuft nur mit python2
- screen wird später für die serielle Konsole genutzt
Arduinocode flashen
mkdir test cd test ino init vi src/sketch.ino ino list-models ino build -m mega2560 ino upload -m mega2560
Kommunikation zw. Ardu & Raspi
Raspi und Arduino sprechen direkt über USB miteinander. Der Arduino bezieht somit auch seinen Strom aus dem USB Port des Raspis. Alternativ können beide per USB mit Strom versorgt werden und z.B. über I2C oder SPI Daten austauschen.
- screen /dev/ttyACM0 115200
- ino serial (verwendet picocom)
Hier werden Raspi und Arduino per USB verbinden. Letzteres bezieht dabei seinen Strom über den Raspi.
Es ginge auch separat (jeweils getrennt per USB mit Strom versorgen) und dann mittels I2C kommunizieren:
http://fritzing.org/projects/i2c-raspberrypi2-master-to-arduino-slave I2C Verbindung
https://blog.retep.org/2014/02/15/connecting-an-arduino-to-a-raspberry-pi-using-i2c/ Software
http://arduino-pi.blogspot.de/2014/03/speeding-up-i2c-bus-on-raspberry-pi-and.html I2C beschleunigen
Arduino via Raspi resetten
- do this only if Pi and Arduino are on same power via USB; different power sources need a small circuit to prevent burning the hardware
- connect Pi Pin X to reset Pin on Ardunio
- set Pin X HIGH for a few milliseconds to do a reset
Arduino Optimierung
Im alltäglichen Betrieb ist die Arduino Umgebung nicht notwendig, der geflashte Atmega Microcontroller reicht.
- + preislich guenstiger
- + geringerer Stromverbrauch
- - braucht extra Hardware Umgebung zum flashen und fuer serielle console