Aufbau-Doku: System mit Ista Breeze i-2000

... nur Hobby ;-)
 
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 07.01.2023 - 11:14 Uhr  ·  #41
Mit den werten erstelle ich mir ein Excel-Diagram (automatisch): Windspeed, rpm, voltage, power, wind direction usw.

Damit habe ich dann quasi alle zusammenhänge die "einwirken" auf dem Schirm.

Es gibt nämlich noch ein paar effekte die sich negativ auswirken, von denen ich glaube dass man sie besser ausbügeln kann, wenn man sie auch "sieht" - nicht bloß vermutet :P

Die letzten 7 Tage war bei mir "Flaute": Entweder der Wind war zu schwach - oder er kam aus S / SW, wo sich das Rad momentan in vollem Windschatten des Hauses befindet.

Zudem habe ich noch ein Manko bemerkt, dass die Produktion doch erheblich einschränkt: Mein Interimsmast verzieht sich durch die Einwirkung von Sonne und Feuchtigkeit doch täglich in eine andere Richtung (rohes Holz, was soll man erwarten) - die Ista selbst ist bzgl. Ihres Drehpunkts nicht sonderlich gut ausbalanciert - die Spitze dreht quasi immer ins aktuelle Tal (bzgl. des Tagesaktuellen Mast-Horizonts). Wenn der Wind nun so weht, dass Sie in "Tal-Blick-Richtung" drehen kann, dann klappt es recht gut. Kommt der Wind von der Seite oder von hinten, dann braucht es eine ordentliche Böe, dass Sie sich richtig stellt - aber verbleibt nicht wirklich stabil in dieser Position, wenn der Wind kurz nachlässt, sondern "kippt" zurück ins Tal.

Ansonst habe ich mal Werte bis 390 Watt gesehen, beste Stunde "konstanter" Produktion waren 170 Wh.

Bei den Peaks kommt dann eben die Möglichkeit der Drehzahlüberwachung ins Spiel. Ich habe das Gefühl, dass sie oft "hochläuft" und wenn der Inverter dann nachregelt, tut er es mit einem "Sprung" der die Drehzahl der Ista wieder zu stark nach unten befördert. Der Inverter regelt wieder runter auf eine nun viel zu niedrige Stufe, die Ista dreht wieder massiv hoch, und boom, der Inverter haut sie wieder runter.

Diesen "Jojo-Effekt" versuche ich mit Beobachtung der Spannung/Drehzahl-Kennlinie zu minimieren.

Hierfür ist es denke ich hilfreicher sagen zu können: "Aha, 42V hat sie 500 rpm, dann 45V plötzlich 300rpm" - besser zumindest als zu sagen vorher war "Zzzzzzzzttttt" und bei mehr wind nur nuch "Schnnrrrrrrrrrr" :D
FamZim
*!*!*!*!*
Avatar
Geschlecht:
Alter: 75
Beiträge: 2099
Dabei seit: 08 / 2014
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 07.01.2023 - 14:00 Uhr  ·  #42
Hallo

Die Belastungsstufen scheinen zu groß zu sein, sie sollten klein Anfangen und erst bei Starkwind weiter und gröseren Sprüng die Leistung vergrössern.

Zu den Windkanalmessungen -- kann man die irgentwo sehen?
Es wäre interessant was überhaubt gemessen wurde.

Gruß Aloys.
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 07.01.2023 - 17:51 Uhr  ·  #43
Zitat geschrieben von FamZim

Hallo

Die Belastungsstufen scheinen zu groß zu sein, sie sollten klein Anfangen und erst bei Starkwind weiter und gröseren Sprüng die Leistung vergrössern.

Zu den Windkanalmessungen -- kann man die irgentwo sehen?
Es wäre interessant was überhaubt gemessen wurde.

Gruß Aloys.


Denke ich auch, dass die Stufen so für die "Reale Welt" zu groß sind. Im Windkanal - hier kann Benutzer Che etwas sagen - hat man ja nicht den Effekt kurzfristiger Böen, sondern man erhöht die Windgeschwindigkeit, und damit ist es okay, den Inverter so nachzuregeln, dass er wieder optimal Leistung abruft.

In der realen Welt passiert leider genau das Beobachtete.

Hier werde ich demnächst mal ans Optimieren gehen, ich denke auch, dass ich die Kurve im unteren Bereich viel flacher gestalten werde und erst auf den letzten 3 oder 4 Stufen dann "anziehen".
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 07.01.2023 - 18:05 Uhr  ·  #44
8.) Drehzahl- und VDC-Überwachung (Teil 2)

Heute habe ich den Inverter mal zerlegt um eine Quelle für die VDC-Spannung zu finden. War nicht weiter schwierig, der Inverter ist im Prinzip ein DC-Inverter mit vorgeschaltetem Gleichrichter. Direkt in der Deckplatte befand sich schon ein praktisches Löchlein für das Mess-Kabel :D

 
 


Die Auswertung der VDC funktioniert wie erwartet / berechnet / gewünscht und wird fortan mein Diagram bereichern :)

 


Bei der Drehzahl-Auswertung gibt es noch ein oder 2 Problemchen: Was in der Theorie funktioniert hat, haut in der Praxis nicht so ganz hin. Bei tatsächlicher Rotation sind die "lows" extrem kurz und fallen nicht bis auf 0V ab, sondern nur auf ca 2V - was beim Shelly immernoch als Input-High gilt.

 


Das habe ich zwar versucht mit einem weiteren 50:50 Spannungsteiler zu adressieren - aber dennoch reicht die kurze Zeitspanne nicht aus, damit das Shelly im Real-Betrieb registriert dass es eine Input-Änderung gab. Schade.

Daher habe ich noch kurzer Hand ein 5V Netzteil verbaut und schonmal ein Raspberry ins Gehäuse gezwängt :)
Dann wird das Raspberry halt den Teil der Drehzahlauswertung übernehmen müssen. (Habe es nicht von Anfang an genommen, da das Raspberry wiederrum keinen Analogen Input hat)

Sobald das ganze technisch finalisiert ist, werde ich das ganze nochmal ordentlich aufbauen und verkabeln - solange die finale Lösung aber nicht steht, macht das wenig Sinn, man ärgert sich dann nur jedesmal, wenn wieder etwas umgebaut werden muss.

Viel Platz ist nun aber ohnehin nicht mehr :D

 


Damit habe ich wohl das erste Windrad der Welt, das 5 IP Adressen hat XD

Ich werde weiter berichten.
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 09.01.2023 - 15:17 Uhr  ·  #45
8.) Drehzahl- und VDC-Überwachung (Teil 3)

So, nachdem ich das Raspberry verbaut habe, war auch die Drehzahlauswertung (remote) mehr oder weniger ein Klacks:

- Der Hall-Sensor liefert konstant 8V und zieht das Signal bei "triggern" auf Masse (0V)
- Das Rasperry darf maximal mit 3.3V befeuert werden, für die detektierung gibt es etwa folgende grenzen: 0 - 0.8V -> LOW; 1.3 - 3.3V -> HIGH.
- Also habe ich die Schaltung um einen weiteren Spannungsteiler (50k / 10k) erweitert, dies liefert dann für das HALL-Signal theoretisch folgende Werte: 1.4V für High und 0V für Low. In der praxis sind es auf Grund der Toleranzen der Widerstände "bequeme" 1.6V. (Hatte keine anderen Widerstände da, sonst hätte ich eher auf 3V anvisiert)

Zu Beginn hat das Raspberry noch leichte Probleme mit dem sogenannten "Switch-Bounce" gehabt - also noch ein 10pf Kondensator dazu gelötet, damit ist die Kurve ausreichend "glatt" gebügelt.

 
 


die Drehzahlerfassung durch das Raspberry erfolgt nun auf die Umdrehung genau. Würde das Windrad mit 1000ms drehen, entspräche dies einer länge von 60ms zwischen 2 Trigger-Punkten. Das Raspberry misst diese Zeit nun im Millisekundenbereich, das ist ausreichend präzise. Zwar könnte man mit dem PI auch in den Nano-Sekunden-Bereich gehen, ist aber nicht nötig, +/- 0.5ms Rundungsfehler entspricht +/- 8 rpm :

Code

2023-01-08 23:59:58, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 171 => rpm: 350.87719298245617
2023-01-08 23:59:59, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 122 => rpm: 491.8032786885246
2023-01-08 23:59:59, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 72 => rpm: 833.3333333333334
2023-01-08 23:59:59, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 95 => rpm: 631.578947368421
2023-01-08 23:59:59, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 159 => rpm: 377.35849056603774


Allerdings ist die Be- sowie Entschleunigung des Windrads doch viel stärker als angenommen - Um tatsächlichen Nutzen aus der RPM und VDC Erfassung ziehen zu können brauch ich da nicht mit "minütlichen" Werten anfangen.

Hier werde ich meine Auswertungsumgebung umbauen, dass sie - wenn ich auf den roten Knopf drücke - für z.b. 1h lang die Werte sekündlich erfasst und katalogisiert. (Das ganze dann 24/7 laufen zu lassen wird etwas unhandlich)
Che
*!*!*!*!*
Avatar
Geschlecht:
Herkunft: Wurzen
Alter: 69
Beiträge: 3712
Dabei seit: 06 / 2014
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 10.01.2023 - 09:39 Uhr  ·  #46
Wie wär es, die Drehzahl aus der Wechselstromfrequenz vom Generator zu erfassen? Sind dann 2 Drähte weniger, die ansich auch über Schleifringe geführt werden müssten. Oder machst Du Telemetrie?

Auswertung beim Drehstrom auch wieder über die Nulldurchgänge!
EISOL80
*****
Avatar
Geschlecht:
Herkunft: Ostthüringen
Alter: 43
Beiträge: 231
Dabei seit: 07 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 10.01.2023 - 15:16 Uhr  ·  #47
Zitat geschrieben von dognose

Oder er kam aus S / SW, wo sich das Rad momentan in vollem Windschatten des Hauses befindet.


Das ist doch die Hauptwindrichtung für große Teile von Deutschland. Wäre wirklich schlecht, wenn dort später auch noch dein Haus steht?

Zitat geschrieben von dognose

die Ista selbst ist bzgl. Ihres Drehpunkts nicht sonderlich gut ausbalanciert


Das ist leicht untertrieben, denn eigentlich liegt das gesamte Generatorgewicht samt Flügel vor dem Drehpunkt. Allerdings dachte ich ist das mit Absicht so. Zum Einen drückt der Wind das wieder mittig. Und zum Anderen hat die Windfahne hinten einen leichteren Hebel?!

Zitat geschrieben von dognose

Ich habe das Gefühl, dass sie oft "hochläuft" und wenn der Inverter dann nachregelt, tut er es mit einem "Sprung" der die Drehzahl der Ista wieder zu stark nach unten befördert. Der Inverter regelt wieder runter auf eine nun viel zu niedrige Stufe, die Ista dreht wieder massiv hoch, und boom, der Inverter haut sie wieder runter.

Diesen "Jojo-Effekt" versuche ich mit Beobachtung der Spannung/Drehzahl-Kennlinie zu minimieren.


Ich habe das Gefühl, dass Che seine Kurve für die ursprünglichen 3 Flügel das ausreichend berücksichtigt. Denn die Kurve ist schon weit weg von linearem Anstieg. Noch mehr würde der Sache denke ich nicht helfen. Lass mich aber gern von einer neuen Kennlinie von dir überzeugen.

Ich meine, wenn du jetzt sehr flach zu Beginn bleibst nur um bei Böen das Jojo Spiel zu minimieren, geht dir bei konstant niedrigem Wind jede Menge Leistung verloren. Weil die ista dann unnötig hoch dreht.

Auch kommt es mir so vor, dass in einer Böe eben tatsächlich binnen weniger Meter Wind aus 50W Kraft 700W werden können. Und genau so schnell sind die 700W, die gerade noch im Wind steckten wieder weg. Ist klar dass dann kurzzeitig zu viel abgebremst wird. Aber irgend eine Hysterese wirst immer haben. Die auf Kosten der Niedrigwindleistung zu minimieren scheint mir in Summe eher weniger Ertrag zu geben. Auch sind im SUN nun mal 3V Sprünge zwischen den Einstellwerten vorgegeben. Dazwischen wird wohl linear interpoliert.

Aber wie gesagt, bin für weitere Kennlinien zum rum spielen offen.

Zitat geschrieben von Che

Wie wär es, die Drehzahl aus der Wechselstromfrequenz vom Generator zu erfassen?


Stimmt, du hast kein Wort darüber verloren, wie dein Drehzahlsensor mit Kabel die Daten sicher nach unten bringt?
Che
*!*!*!*!*
Avatar
Geschlecht:
Herkunft: Wurzen
Alter: 69
Beiträge: 3712
Dabei seit: 06 / 2014
Betreff:

Üb-Kennlinie SUN-1000-WAL G2 an i-2000 48

 · 
Gepostet: 11.01.2023 - 09:58 Uhr  ·  #48
Vermute sehr, dass sich um Kennlinienoptimierung keine Gedanken gemacht wurde. Jeweils der eingetragene Standard verwendet wurde.
Daher im Anhang nochmal der Unterschied.
Anhänge an diesem Beitrag
Dateiname: Üb-Kurve_SUN-1000-WA … 48V.xlsx
Dateigröße: 21.19 KB
Titel:
Heruntergeladen: 111
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 11.01.2023 - 10:02 Uhr  ·  #49
Zitat geschrieben von Che

Wie wär es, die Drehzahl aus der Wechselstromfrequenz vom Generator zu erfassen? Sind dann 2 Drähte weniger, die ansich auch über Schleifringe geführt werden müssten. Oder machst Du Telemetrie?

Auswertung beim Drehstrom auch wieder über die Nulldurchgänge!


Das ist im Prinzip eine hervorragende Idee. Das werde ich direkt mal auf die Todo-Liste schreiben, denn - wie du schreibst - erspart es später die Problematik ein weiteres Kabel des Drehzahlmessers zu verlegen.

Kabellos habe ich mir überlegt, aber naja: Wenn es mal in 7-8m Höhe steht, ist auch ein sporadischer Batteriewechsel doch eher nicht so prikelnd. (Hier war noch die überlegung so ein Mini-5Watt-Solarpanel nebst akku und laderegler auf die turbine zu kleben.)

Aber die Lösung über die Drehstromfrequenz hat deutlich mehr charme.
Che
*!*!*!*!*
Avatar
Geschlecht:
Herkunft: Wurzen
Alter: 69
Beiträge: 3712
Dabei seit: 06 / 2014
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 11.01.2023 - 10:15 Uhr  ·  #50
Zitat
Aber die Lösung über die Drehstromfrequenz hat deutlich mehr charme.
Aber auch mehr Herausforderungen.

Wenn wie bisher, aber mit Telemetrie, ist es auch elegant. Evtl. auch noch mit Übertragung der Gen.-Temp..

Stromversorgung: Ansich erzeugt das Windrad ja selbst welchen. Müsstest nur 2 Phasen anzapfen, vor den Schleifringen, und daraus Gleichstrom machen.
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 11.01.2023 - 10:20 Uhr  ·  #51
8.) Drehzahl- und VDC-Überwachung (Teil 4)

Die von Che vorgeschlagene Lösung doch direkt die Drehstrom-Frequenz auszuwerten gefällt mir sehr gut - das werde ich definitiv aufgreifen.

Trotzdem hier nochmal ein Nachtrag zur Optimierung des Hall-Sensors:

Wie beschrieben, ist der Signal-Pegel des Hall-Sensors 0-8,4V, weswegen ich ihn für das Rasperry mit einem 50:10 - Spannungsteiler auf 0-1.4V gezogen habe. (Rechnerisch wären es 1.3V, durch toleranzen und co ergeben sich ca 1.4)

Das habe ich wie gesagt so gemacht, weil ich nur 50 und 10k Widerstände da habe.

In der Theorie passt das dann zur Schaltschwelle des Raspberries (1.3V):

 


In der Praxis aber natürlich nichts so hübsch wie im Lehrbuch - die tatsächliche Signal-Kurve sieht eher so aus, und sorgt bei jedem 3ten, 4ten Vorgang leider doch noch für 1 oder 2 zusätzliche "False-Positives" (Da sieht man mal, wie schnell das Raspberry abtasten kann ;) ):

 


Das hätte ich zwar programmatisch ausbügeln können, aber sinnvoller war es, noch einen widerstand in den Spannungsteiler zu löten - nochmal 50k parallel zum bestehenden 50k Widerstand ergibt hier dann einen 25:10 Spannungsteiler - und einen Pegel für das RPI von ~ 2,28V (gemessen 2,6). Das behebt natürlich nicht, dass das Signal nicht ideal ist - aber es verschiebt den Ripple in einen Bereich, wo er irrelevant für die Auswertung ist:

 


 


Zusätzlich habe ich die Kurve "etwas" geglättet: Ich messe nicht mehr länger die Zeit "von pulse zu pulse", sondern die Zeit von jedem 10ten zu jedem 10ten pulse. Das ergibt je nach Drehzahl immernoch eine Neuberechnung alle 1-2 Sekunden, aber eine deutlich glattere Kurve. (Wenn ich 10 Werte pro Sekunde berechne und wieder nur einen davon cherry-picke ist das eben wieder nicht mehr sooo sinnvoll)

Code

DEBUG: 2023-01-11 10:00:36, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 2541 => rpm: 236.12750885478158
DEBUG: 2023-01-11 10:00:39, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 2529 => rpm: 237.24792408066432
DEBUG: 2023-01-11 10:00:41, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 2469 => rpm: 243.01336573511543
DEBUG: 2023-01-11 10:00:43, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 2272 => rpm: 264.0845070422535
DEBUG: 2023-01-11 10:00:46, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 2428 => rpm: 247.11696869851727
DEBUG: 2023-01-11 10:00:48, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 2193 => rpm: 273.5978112175103
DEBUG: 2023-01-11 10:00:50, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 2224 => rpm: 269.7841726618705
DEBUG: 2023-01-11 10:00:52, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: ms: 2299 => rpm: 260.98303610265333


Auch mein Skript die Daten nun sekündlich zu erfassen ist fertig - Allerdings geht mir hier jetzt die Windgeschwindigkeit ab, die meine Wetterstation nur alle 60 Sekunden liefert - da muss ich wohl nochmal (selbst) ran :D

ps.: Die Magneten halten sich von selbst auch bis Drehzahlen von 800 rpm einwandfrei.
EISOL80
*****
Avatar
Geschlecht:
Herkunft: Ostthüringen
Alter: 43
Beiträge: 231
Dabei seit: 07 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 13.01.2023 - 18:31 Uhr  ·  #52
Zitat geschrieben von Che

Daher im Anhang nochmal der Unterschied.


Ok, jetzt ist die Kennlinie von dir für die i2000 öffentlich. Also dieser Beitrag ist eigentlich mit Markierstift zu versehen. Finde ich gut, dass du sie veröffentlicht hast. Nun kann man generell hierher verweisen.

Ich teste aktuell aus Spaß mal die Standard Kennlinie vom 1000er SUN. In deinem Diagramm sieht man die, wie ich finde, enormen Unterschiede. Untenrum noch flacher und die oberen 40% der Leistung über die letzten 2V. Das kann eigentlich nicht gut sein.

Dank meiner Wetterstation und hoffentlich vergleichbaren Windverhältnissen versuche ich am Ende mal einen Unterschied zu ermitteln.

Die Auswertung ist bei mir allerdings auf viele Böen beschränkt, denn Dauerleistung über 200W habe ich nach wie vor nicht...

Ich werde berichten, falls ein erkennbarer Unterschied für mich raus kommt.
Che
*!*!*!*!*
Avatar
Geschlecht:
Herkunft: Wurzen
Alter: 69
Beiträge: 3712
Dabei seit: 06 / 2014
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 14.01.2023 - 10:05 Uhr  ·  #53
Sowas gehört in die Öffentlichkeit. Dass sie sich bewährt, voraus gesetzt.

Ansich die Messungen im Windkanal auch noch. Aber da hat deren Autor ja Sorge, dass ISTA ihn verklagt.
Zudem scheinen es 3 Blätter zu sein. Denn 5,8 m/s Anlauf lassen darauf schließen.
EISOL80
*****
Avatar
Geschlecht:
Herkunft: Ostthüringen
Alter: 43
Beiträge: 231
Dabei seit: 07 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 15.01.2023 - 00:30 Uhr  ·  #54
Kurzes Update 24h Test Standard SUN Kurve: auf keinen Fall. Untenrum noch weniger und bei Böen kommt der SUN kaum hinterher. Ich bin vorhin vor dem stärkeren Wind wieder zurück zur Che Kurve. Wenn ich mir das anschaue, wie schnell das jetzt von 30 auf 500W schnellt, nur weil mal wieder eine große Böe durchkommt, will ich mir gar nicht ausmalen, wie oft der dumpload käme, wenn ab 500Watt nur noch die letzten 3V Regeln... Nein nein, das ist mir zu heiß zum testen. Im wahrsten Sinne des Wortes dann.

Ich finde auch man hat gesehen (flattern) und gehört (mehr zischeln), dass das ista viel zu frei drehte mit der flachen Kennlinie. Ich denke ich, bzw. Che hat meine Einstellung gefunden, auch wenn die eigentlich für 3 Flügel war.

Bin gespannt, was @dognose noch so ermittelt...

Übrigens hat "Toys for Watts" auf YouTube nun auch einen 2000er SUN im Einsatz. Er hat ja das Heli 2.0 und die i2000. Er hat schon die ersten geplatzten Kondensatoren umlöten müssen. Den dumpload Anschluss gekillt und so weiter. Er hatte zunächst nicht mal auf Wind Firmware gestellt sondern auf PV. Halt alles drunter und drüber bei ihm. Wie gewohnt. Hab schon paar mal Kontakt mit ihm über die Kommentare gehabt. Er will sich vielleicht noch mal nen zweiten SUN zulegen. Wenn ich ihn überreden kann mal unser Setting zu testen gibt's vielleicht mal ein richtiges Video mit 500+ Watt Dauerleistung. Denn der hat richtig Wind bei sich.
EISOL80
*****
Avatar
Geschlecht:
Herkunft: Ostthüringen
Alter: 43
Beiträge: 231
Dabei seit: 07 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 16.01.2023 - 00:15 Uhr  ·  #55
@dognose und seine Leser hier, ich hab mal ein Splitscreen Video bei mir gedreht. Was macht die Ista zwischen meinen Häusern bei welchem Wind und wieviel kommt dabei aus dem SUN. Ist aber auf denglisch: https://youtu.be/9JVuEhQ26CE
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 02.02.2023 - 10:45 Uhr  ·  #56
Zitat geschrieben von EISOL80

@dognose und seine Leser hier, ich hab mal ein Splitscreen Video bei mir gedreht. Was macht die Ista zwischen meinen Häusern bei welchem Wind und wieviel kommt dabei aus dem SUN. Ist aber auf denglisch: https://youtu.be/9JVuEhQ26CE


So, auch mal wieder etwas Zeit zum Basteln gefunden (Update folgt) und auch erstmal wieder etwas lesen hier.

Das Thema des "Verbrauchs" hat mich auch ein wenig geärgert.

- Der Inverter braucht kontinuierlich 5 Watt
- Die Schütze die ich verbaut habe ziehen zusammen 6,9 Watt. (Bremse & Inverter-Verbindung)
- Raspberry und shelly etwa 2 Watt.

Alles in Allem kam ich hier auf 333 Wh täglich. Das ist in einem Umfeld, wo ich mich erfreue wenn die Anlage mal 500 Wh am Tag produziert schon sehr sehr nervig.

Das habe ich mittlerweile optimiert: Meine Steuerung ist nun so programmiert, dass es einen "Windturbine-Hibernate" gibt. Hierfür habe ich mir eine Grenze (Windgeschwindigkeit) gesetzt. Wird diese überschritten, geht das System an. Wird diese für länger als 15 Minuten unterschritten, geht das System weitgehend aus. (Dies aktiviert dann auch die Generator-Bremse)

Das funktioniert sehr gut, und eliminiert den "Rucksack" bei der Bilanz. Einzig das Raspberry und das Shelly PM 2 laufen weiter, diese brauchen zusammen aber nur etwa 2 Watt - einen Tod muss man sterben ;)

------

Ansonst habe ich leider derzeit totales Produktionsloch. Wie weiter oben schonmal beschrieben tut mein "Interrimsmast" jetzt leider genau das was unbehandeltes Holz tut - er hat sich in alle Richtungen verzogen. Die Turbine (ohnehin sehr schlecht ausbalanciert) hängt jetzt ziemlich fest in einem "Tal", Kommt der Wind von einer anderen Richtung schafft sie es mittlerweile gar nicht mehr eine stabile Position einzunehmen, sondern kippt immer links / rechts aus dem Wind.

Im Frühjahr kommt dann der richtige Mast, dann ist das Thema hoffentlich erledigt :)
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 02.02.2023 - 13:08 Uhr  ·  #57
Steuerung 2.0

In den Vergangenen Wochen hatte ich mal wieder etwas Zeit zu basteln. Das Layout des "Steuerkastens" hat sich geringfügig geändert, die meiste Arbeit floss in die Steuerplatine 2.0. Diese ist ein bisschen eskaliert, aber unterm Strich nun eine Super-Sache mit tatsächlich sehr geringem Budget-Aufwand.

Mal der Reihe nach Anfangen

Neues Layout
In Summe besteht mein Schaltschrank nun aus folgenden Komponenten, die ich - denn ich glaube das ist der finale Stand - nun auch wieder etwas ordentlicher verbaut und verkabelt habe.

Hier noch einmal Zusammenfassend die Komponenten die jetzt zum Einsatz kommen:

 
1.) Anschluss-Terminal für die Windturbine

2.) Klemmleisten 230V

3.) SUN-2000 Inverter, über Firmware umgestellt auf "24-60V"

4.) 14V Gleichstrom Netzteil

5.) Zwei handelsübliche Sicherungsautomaten (Bremse und Inverter-Verbindung)

6.) Shelly PM 2: Verbrauchs- und Produktionsmessung, Fernsteuerung der Bremse und Inverter-Verbindung.

7.) Shelly H&T: Temperatur und Feuchtigkeitsüberwachung (Steuerkasten hängt draußen)

8.) Raspberry PI 3 - übernimmt diverse Aufgaben, mehr dazu unten.

9.) ABB ESB25-04N-06 25A ("Öffner") - Wenn unter Strom hält er die Generator-Kurzschluss-Bremse geöffnet.

10.) ABB ESB25-40N-06 25A ("Schließer") - Wenn unter Strim hält er die Inverter-Generator Verbindung geschlossen.

11.) Steuer-und-Überwachungs-Platine 2.0













Steuerplatine 2.0
Hier floss die letzten Wochen etwas Arbeit hinein - aber das Ergebnis ist eine Eierlegende Wollmilchsau wie ich sie mir vorgestellt habe. Das ganze wirkt auf den ersten Blick furchtbar komplex - Ist aber historisch gewachsen und jeder "Teilbereich" ist mehr oder weniger einfach und getrennt operabel.

 


 


Folgende Aufgaben werden von diesem Platinchen in Verbindung mit dem Raspberry/Shelly Uni übernommen:

Messung Inverter VDC
Das Shelly unterstützt über den ADC-Input nur Spannungen bis 30V. Daher habe ich einen Spannungsteiler aus 2* 50kOhm Widerständen eingebaut, und messe mit dem Shelly zwischen den Widerständen - in diesem Fall muss ich dann die gemessene Spannung mal 2 nehmen. (da beide Widerstände gleich sind)

Messung Windgeschwindigkeit
Mit der Möglichkeit "Sekündlich" die Drehzahl und VDC Werte auslesen zu können, war mir die bisherige Wetterstation mit einem Messwert alle 45 Sekunden ein Dorn im Auge. Ich habe mir daher ein Wetter-Stations-Set bestellt, deren Sensoren Kabelgebunden und ohne viel Schnickschnack auswertbar sind.

Die Windgeschwindigkeit ist furchtbar leicht auszulesen: Das Anemometer erzeugt pro Umdrehung einen Pulse - ein Pulse pro Sekunde entspricht 2.4 km/h - der Rest ist ein "simpler Dreisatz".

Das Raspberry läuft hierzu auf dem jeweiligen GPIO im Interrupt-Modus, zählt mit und rechnet.

Für die Logik habe ich eine "justierung" des Zählers angewandt (ebenso beim RPM Auslesen):

- Gestartet wird damit, die Zeit zwischen 2 Pulsen zu messen.
- Liegt dieser Wert UNTER 1000ms, wird das "Zählziel" um 1 erhöht, beim nächsten Messzyklus werden also 2 Pulse gezählt / gemessen, bevor gerechnet wird.
- Liegt dieser Wert ÜBER 1000ms, wird das "Zählziel" um 1 erniedrigt (minimum 1, logisch)

Dadurch erreiche ich, dass ich nicht unnötigerweise 15-20 Messwerte pro Sekunde generiere, sondern meinem Bedrüfnis entsprechend "etwa" einen. Dadurch nimmt auch die Beständigkeit zu, denn es ist leichter die ms zwischen 20 impulsen zu zählen, als dies 20 mal für den selben Zyklkus auszurechnen. (Weniger Schwankung)

Code

2023-02-02 11:56:10, es.gardencontrol.gpio.concrete.AnemometerGPIO: 5 turns: 896ms => rpm: 334.82 => 13.39 km/h
2023-02-02 11:56:11, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 943ms => rpm: 381.76 => 15.27 km/h
2023-02-02 11:56:12, es.gardencontrol.gpio.concrete.AnemometerGPIO: 7 turns: 1212ms => rpm: 346.53 => 13.86 km/h
2023-02-02 11:56:13, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 1064ms => rpm: 338.35 => 13.53 km/h
2023-02-02 11:56:14, es.gardencontrol.gpio.concrete.AnemometerGPIO: 5 turns: 796ms => rpm: 376.88 => 15.08 km/h
2023-02-02 11:56:15, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 860ms => rpm: 418.6 => 16.74 km/h
2023-02-02 11:56:16, es.gardencontrol.gpio.concrete.AnemometerGPIO: 7 turns: 1006ms => rpm: 417.5 => 16.7 km/h
2023-02-02 11:56:17, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 1045ms => rpm: 344.5 => 13.78 km/h
2023-02-02 11:56:18, es.gardencontrol.gpio.concrete.AnemometerGPIO: 5 turns: 868ms => rpm: 345.62 => 13.82 km/h
2023-02-02 11:56:19, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 1116ms => rpm: 322.58 => 12.9 km/h
2023-02-02 11:56:20, es.gardencontrol.gpio.concrete.AnemometerGPIO: 5 turns: 1121ms => rpm: 267.62 => 10.7 km/h


Messung Windrichtung
Die Windrichtung zu messen war etwas aufwändiger: Der Wind-Richtungssensor besteht intern aus 8 REED-Schaltern (Magnet-Schalter) und jeder ist mit einem gewissen Widerstands-Wert beschalten. An der Achse befindet sich ein Magnet, der je nach Richtung 1 oder 2 Reed-Schalter auslöst.

Damit ergeben sich 16 verschiedene Widerstandswerte, die der Sensor annehmen kann.

In Verbindung mit einem "bekannten" Widerstand im Spannungsteiler (hier 10k) und der gemessenen Spannung kann man damit nun sagen: "Ok, der Sensor hat jetzt gerade 2740 ohm - d.h. er zeigt in Richtung 75°"

Das Messen der Spannung erfolgt über einen 15bit ADC-Wandler, der mit dem Raspberry über den I2C-Bus kommuniziert.

Anmerkung:
Zu Begin hatte ich das Problem - Versorgung des Sensors mit 5V - , dass Zwei Werte immer eine identische Anzeige lieferten: 32767 digits. Dann habe ich "bemerkt", dass dies genau 2^15-1 ist, also den Maximal-Wert des 15bit AD Wandlers darstellt.

Das heißt: Obwohl der Sensor mit 5V gespeist wurde, ergab sich eine gemessene Spannung von über 5V (Antennen-Effekte vermutlich)

Lösung war den AD-Wandler bei 5V Versorgung zu lassen, aber den Sensor nur noch mit 3V zu versorgen. Das verschenkt ein wenig Messbereich - Aber ist unterm Strich hinreichend genau und die beiden Werte die vorher ins maximum liefen sind nun unterschiedlich.

Auch hier ist dann die Auswertung nur ein wenig Rechnen / Übersetzen.

Messung Drehzahl
Die Messung der Drehzahl ist sehr gut geworden. Wie von CHE vorgeschlagen habe ich mich entschieden einfach die Wechselstromfrequenz der Turbine auszuwerten statt irgendwelcher externe Messgeräte anzubringen. Zwar kann man sich für wenige Euro "fertige" Frequenzmesser kaufen - aber der Weg war Teil des Ziels, wollte ich selbst machen ;)

Auf die ganz genauen Berechnungen kann ich hier schwerlich eingehen, das würden Rahmen dieses Posts etwas sprengen - aber das Grundprinzip versuche ich best möglich zu erklären.

Die Aufgabe bestand im Prinzip darin:
Wie verwandle ich den Drehstrom (0-150V; 0-??? Hz) in ein 0-3V DC Signal, das vom Raspberry gezählt werden kann?

Die Spannung 2er Phasen sieht im Prinzip erstmal so aus, wie man es kennt: L1 und L2 sind um 120° Phasenverschoben:

 


Betrachtet man nun die "Differenz" dieser Signale ergibt sich folgende Kurve. Etwas verschoben, etwas skaliert, aber im Grunde vom Verlauf identischer informations-gehalt.

 
 


Bei diesem Signal habe ich nun durch eine Diode dafür gesorgt, dass nur noch die Hälfte übrig bleibt. Es hat sich der "Negative" Anteil ergeben, aber das Spielt für die Auswertung keinerlei Rolle:

 
 


Mit diesem Signal - und einem passenden Vorwiderstand von 35kohm - triggere ich nun einen Optokoppler, der das konstante 3V Signal des Raspberries schält. Herraus kommt eine wunderschöne Rechteck-Kurve - wie aus dem Lehrbuch - deren Frequenz der Frequenz des zu grundeliegenden Drehstroms entspricht:

 


Der Rest ist nun wieder ein bisschen Mathematik, wobei ich mir bei der Multiplikation bzw. Teilung noch nicht ganz 100% Sicher bin - vielleicht hat hier jemand ja input dazu?

- Die Ista besitzt 12 Magnete auf dem Rotor, die abwechselnd angeordnet sind.
- Das bedeuted, pro vollständiger Umdrehung erlebt eine Phase 12 mal eine Pol-Umkehr, erzeugt damit 12 Halbwellen - oder eben 6 komplette Wellen.

d.h. (??):
Dreht sich die Ista-Breeze mit 1 Umdrehung pro Sekunde, erhalte ich 6 Impulse.
Dreht sie sich z.b. mit 500 rpm sind das 8,333 Umdrehungen pro Sekunde - und bei 6 Impulsen also ganz genau 50Hz
(Das erscheint mir zumindest plausibel - Rechnerisch und Physikalisch)

Analog dem oben beschriebenen Zählverfahren skaliert das Raspberry wieder rauf und runter, wieviele Impulse gezählt werden müssen, bis "gerechnet" wird.

Gelegentliche Ausreißer gibt es in folgendem Beispiel noch - da diese aber komplett daneben sind, deuted das für mich eher
auf ein noch vorhandenes "Code-Problem" hin - Ich vermute, dass hier zu zeitgleich zweimal die Auswertung getriggert wird,
und der Zweite Durchlauf daher die absurde Zeit von wenigen Millisekunden für das aktuelle Zählziel annimmt - und ensprechend eine hohe Drehzahl errechnet.

Code

2023-02-01 23:41:02, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 16 pulses: 293ms => rpm: 546.08
2023-02-01 23:41:02, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 17 pulses: 272ms => rpm: 625.0
2023-02-01 23:41:02, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 18 pulses: 25ms => rpm: 7200.0
2023-02-01 23:41:03, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 19 pulses: 300ms => rpm: 633.33
2023-02-01 23:41:03, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 20 pulses: 290ms => rpm: 689.66


Auch mein "Excel-Sheet" das diese Daten auswertet ist nun mittlerweile auf einen möglichen Sekunden-Takt umgestellt... JETZT fehlt mir nur noch der Wind aus der passenden Richtung oder der finale Mast, damit das "Tal-Problem" behoben ist und ich die ersten Auswertungen aller Parameter auf sekündlicher Ebene betrachten kann :)

 


Leider hier auch schön zusehen: Wenn "kurz" die Windgeschwindigkeit einbricht, fällt die Turbine zurück ins angesprochene Tal, damit auch sofort die Drehzahl - und schleicht sich dann wieder in den Stillstand.

Momentan is mir aber zu kalt und zu Nass, da was zu machen :P
Che
*!*!*!*!*
Avatar
Geschlecht:
Herkunft: Wurzen
Alter: 69
Beiträge: 3712
Dabei seit: 06 / 2014
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 02.02.2023 - 16:56 Uhr  ·  #58
Da war kein kleiner Dummer am Werk, und schon garnicht ein großer. :D
Werde mal mit anderer Farbe rein schreiben.


Zitat geschrieben von dognose

Steuerung 2.0

In den Vergangenen Wochen hatte ich mal wieder etwas Zeit zu basteln. Das Layout des "Steuerkastens" hat sich geringfügig geändert, die meiste Arbeit floss in die Steuerplatine 2.0. Diese ist ein bisschen eskaliert, aber unterm Strich nun eine Super-Sache mit tatsächlich sehr geringem Budget-Aufwand.

Mal der Reihe nach Anfangen

Neues Layout
In Summe besteht mein Schaltschrank nun aus folgenden Komponenten, die ich - denn ich glaube das ist der finale Stand - nun auch wieder etwas ordentlicher verbaut und verkabelt habe.

Hier noch einmal Zusammenfassend die Komponenten die jetzt zum Einsatz kommen:

 
1.) Anschluss-Terminal für die Windturbine

2.) Klemmleisten 230V

3.) SUN-2000 Inverter, über Firmware umgestellt auf "24-60V"
Steht bei dem von MarsRock tatsächlich drauf SUN-2000 (-WAL G2...)? Scheint nämlich einige äußerlich sehr ähnliche zu geben, mit Preisen im Netz zwischen 275 bis 450 EUR, sogar noch mehr, bei vermutlich längerer Händlerkette. MarsRock scheint immerhin ein Hersteller zu sein. Können die bezüglich EN4105 mit einem "Einheitenzertifikat" und einem Netzausfall-Zertifikat (NA-Zsertifikat) dienen?
Kommt der WR mit Domp Load Widerstand, mit WiFi auch?


4.) 14V Gleichstrom Netzteil
Eine Notstromversorgung im Sinne USV wäre vermutlich sinnvoll.?

5.) Zwei handelsübliche Sicherungsautomaten (Bremse und Inverter-Verbindung)
Wenn mit Bremse die Dump Load gemeint ist, so wäre ne Si direkt in diesem Kreis eher schlecht.
Wo überhaupt ist die Dump Load?

6.) Shelly PM 2: Verbrauchs- und Produktionsmessung, Fernsteuerung der Bremse und Inverter-Verbindung.

7.) Shelly H&T: Temperatur und Feuchtigkeitsüberwachung (Steuerkasten hängt draußen)
Innen-Temp. vom Schaltkasten? Was erfolgt, wenn die zu hoch wäre?

8.) Raspberry PI 3 - übernimmt diverse Aufgaben, mehr dazu unten.

9.) ABB ESB25-04N-06 25A ("Öffner") - Wenn unter Strom hält er die Generator-Kurzschluss-Bremse geöffnet.

10.) ABB ESB25-40N-06 25A ("Schließer") - Wenn unter Strim hält er die Inverter-Generator Verbindung geschlossen.

A) Unter Strom (Netz) hat der WR die Bremse (n) immer offen, und schließt die bei Netzausfall. Ob nun direkt dadurch oder erst, wenn der Generator Überspannung liefert, da bin ich überfragt.
B) Gerade bei Netzausfall muss die Verb. zum WR gewährleistet sein, sonst kann Dump Load bzw. übergeordenter Gen.-Kurzschluss nicht wirken!


11.) Steuer-und-Überwachungs-Platine 2.0

Steuerplatine 2.0
Hier floss die letzten Wochen etwas Arbeit hinein - aber das Ergebnis ist eine Eierlegende Wollmilchsau wie ich sie mir vorgestellt habe. Das ganze wirkt auf den ersten Blick furchtbar komplex - Ist aber historisch gewachsen und jeder "Teilbereich" ist mehr oder weniger einfach und getrennt operabel.

 


 


Folgende Aufgaben werden von diesem Platinchen in Verbindung mit dem Raspberry/Shelly Uni übernommen:

Messung Inverter VDC
Das Shelly unterstützt über den ADC-Input nur Spannungen bis 30V. Daher habe ich einen Spannungsteiler aus 2* 50kOhm Widerständen eingebaut, und messe mit dem Shelly zwischen den Widerständen - in diesem Fall muss ich dann die gemessene Spannung mal 2 nehmen. (da beide Widerstände gleich sind)

Messung Windgeschwindigkeit
Mit der Möglichkeit "Sekündlich" die Drehzahl und VDC Werte auslesen zu können, war mir die bisherige Wetterstation mit einem Messwert alle 45 Sekunden ein Dorn im Auge. Ich habe mir daher ein Wetter-Stations-Set bestellt, deren Sensoren Kabelgebunden und ohne viel Schnickschnack auswertbar sind.

Die Windgeschwindigkeit ist furchtbar leicht auszulesen: Das Anemometer erzeugt pro Umdrehung einen Pulse - ein Pulse pro Sekunde entspricht 2.4 km/h - der Rest ist ein "simpler Dreisatz".
Versuche mal, auf m/s um zu arbeiten, denn damit arbeiten wir in der Windkraft.
Oder noch ne Parallelanzeige in m/s.

Das Raspberry läuft hierzu auf dem jeweiligen GPIO im Interrupt-Modus, zählt mit und rechnet.

Für die Logik habe ich eine "justierung" des Zählers angewandt (ebenso beim RPM Auslesen):

- Gestartet wird damit, die Zeit zwischen 2 Pulsen zu messen.
- Liegt dieser Wert UNTER 1000ms, wird das "Zählziel" um 1 erhöht, beim nächsten Messzyklus werden also 2 Pulse gezählt / gemessen, bevor gerechnet wird.
- Liegt dieser Wert ÜBER 1000ms, wird das "Zählziel" um 1 erniedrigt (minimum 1, logisch)

Dadurch erreiche ich, dass ich nicht unnötigerweise 15-20 Messwerte pro Sekunde generiere, sondern meinem Bedrüfnis entsprechend "etwa" einen. Dadurch nimmt auch die Beständigkeit zu, denn es ist leichter die ms zwischen 20 impulsen zu zählen, als dies 20 mal für den selben Zyklkus auszurechnen. (Weniger Schwankung)

Code

2023-02-02 11:56:10, es.gardencontrol.gpio.concrete.AnemometerGPIO: 5 turns: 896ms => rpm: 334.82 => 13.39 km/h
2023-02-02 11:56:11, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 943ms => rpm: 381.76 => 15.27 km/h
2023-02-02 11:56:12, es.gardencontrol.gpio.concrete.AnemometerGPIO: 7 turns: 1212ms => rpm: 346.53 => 13.86 km/h
2023-02-02 11:56:13, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 1064ms => rpm: 338.35 => 13.53 km/h
2023-02-02 11:56:14, es.gardencontrol.gpio.concrete.AnemometerGPIO: 5 turns: 796ms => rpm: 376.88 => 15.08 km/h
2023-02-02 11:56:15, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 860ms => rpm: 418.6 => 16.74 km/h
2023-02-02 11:56:16, es.gardencontrol.gpio.concrete.AnemometerGPIO: 7 turns: 1006ms => rpm: 417.5 => 16.7 km/h
2023-02-02 11:56:17, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 1045ms => rpm: 344.5 => 13.78 km/h
2023-02-02 11:56:18, es.gardencontrol.gpio.concrete.AnemometerGPIO: 5 turns: 868ms => rpm: 345.62 => 13.82 km/h
2023-02-02 11:56:19, es.gardencontrol.gpio.concrete.AnemometerGPIO: 6 turns: 1116ms => rpm: 322.58 => 12.9 km/h
2023-02-02 11:56:20, es.gardencontrol.gpio.concrete.AnemometerGPIO: 5 turns: 1121ms => rpm: 267.62 => 10.7 km/h


Messung Windrichtung
Die Windrichtung zu messen war etwas aufwändiger: Der Wind-Richtungssensor besteht intern aus 8 REED-Schaltern (Magnet-Schalter) und jeder ist mit einem gewissen Widerstands-Wert beschalten. An der Achse befindet sich ein Magnet, der je nach Richtung 1 oder 2 Reed-Schalter auslöst.

Damit ergeben sich 16 verschiedene Widerstandswerte, die der Sensor annehmen kann.

In Verbindung mit einem "bekannten" Widerstand im Spannungsteiler (hier 10k) und der gemessenen Spannung kann man damit nun sagen: "Ok, der Sensor hat jetzt gerade 2740 ohm - d.h. er zeigt in Richtung 75°"

Das Messen der Spannung erfolgt über einen 15bit ADC-Wandler, der mit dem Raspberry über den I2C-Bus kommuniziert.

Anmerkung:
Zu Begin hatte ich das Problem - Versorgung des Sensors mit 5V - , dass Zwei Werte immer eine identische Anzeige lieferten: 32767 digits. Dann habe ich "bemerkt", dass dies genau 2^15-1 ist, also den Maximal-Wert des 15bit AD Wandlers darstellt.

Das heißt: Obwohl der Sensor mit 5V gespeist wurde, ergab sich eine gemessene Spannung von über 5V (Antennen-Effekte vermutlich)

Lösung war den AD-Wandler bei 5V Versorgung zu lassen, aber den Sensor nur noch mit 3V zu versorgen. Das verschenkt ein wenig Messbereich - Aber ist unterm Strich hinreichend genau und die beiden Werte die vorher ins maximum liefen sind nun unterschiedlich.

Auch hier ist dann die Auswertung nur ein wenig Rechnen / Übersetzen.

Messung Drehzahl
Die Messung der Drehzahl ist sehr gut geworden. Wie von CHE vorgeschlagen habe ich mich entschieden einfach die Wechselstromfrequenz der Turbine auszuwerten statt irgendwelcher externe Messgeräte anzubringen. Zwar kann man sich für wenige Euro "fertige" Frequenzmesser kaufen - aber der Weg war Teil des Ziels, wollte ich selbst machen ;)
Zumindest mit Multimetern incl. Messzangen ist es mir noch nie gelungen, bei WEA in Betrieb die Frequenz richtig an zu zeigen.
Liegt daran, dass nacheinander alle enthaltenen Frequenzen detektieren, und nicht die Null-Durchgänge auswerten.


Auf die ganz genauen Berechnungen kann ich hier schwerlich eingehen, das würden Rahmen dieses Posts etwas sprengen - aber das Grundprinzip versuche ich best möglich zu erklären.

Die Aufgabe bestand im Prinzip darin:
Wie verwandle ich den Drehstrom (0-150V; 0-??? Hz) in ein 0-3V DC Signal, das vom Raspberry gezählt werden kann?

Die Spannung 2er Phasen sieht im Prinzip erstmal so aus, wie man es kennt: L1 und L2 sind um 120° Phasenverschoben:

 


Betrachtet man nun die "Differenz" dieser Signale ergibt sich folgende Kurve. Etwas verschoben, etwas skaliert, aber im Grunde vom Verlauf identischer informations-gehalt.
Genügt nicht auch einfach nur der Sinus zwischen 2 Phasen, also z.B. L1 und L2?

 
 


Bei diesem Signal habe ich nun durch eine Diode dafür gesorgt, dass nur noch die Hälfte übrig bleibt. Es hat sich der "Negative" Anteil ergeben, aber das Spielt für die Auswertung keinerlei Rolle:

 
 


Mit diesem Signal - und einem passenden Vorwiderstand von 35kohm - triggere ich nun einen Optokoppler, der das konstante 3V Signal des Raspberries schält. Herraus kommt eine wunderschöne Rechteck-Kurve - wie aus dem Lehrbuch - deren Frequenz der Frequenz des zu grundeliegenden Drehstroms entspricht:
Erstaunlich, dass die LED im Optokoppler von wenigen Volt bis 150 mit spielt. Ich hätte da vorgelagert noch ne Z-Diode gehabt, damit die LED die Funktion nicht gänzlich übernehmen muss.

Null-Durchgänge detektieren hätte ich wahrscheinlich mit einem Komperator gemacht, aber wenn es auch so geht, gut.

 


Der Rest ist nun wieder ein bisschen Mathematik, wobei ich mir bei der Multiplikation bzw. Teilung noch nicht ganz 100% Sicher bin - vielleicht hat hier jemand ja input dazu?

- Die Ista besitzt 12 Magnete auf dem Rotor, die abwechselnd angeordnet sind.
- Das bedeuted, pro vollständiger Umdrehung erlebt eine Phase 12 mal eine Pol-Umkehr, erzeugt damit 12 Halbwellen - oder eben 6 komplette Wellen. Ja, dürfte stimmen.

d.h. (??):
Dreht sich die Ista-Breeze mit 1 Umdrehung pro Sekunde, erhalte ich 6 Impulse.
Dreht sie sich z.b. mit 500 rpm sind das 8,333 Umdrehungen pro Sekunde - und bei 6 Impulsen also ganz genau 50Hz
(Das erscheint mir zumindest plausibel - Rechnerisch und Physikalisch) Das auch.

Analog dem oben beschriebenen Zählverfahren skaliert das Raspberry wieder rauf und runter, wieviele Impulse gezählt werden müssen, bis "gerechnet" wird.

Gelegentliche Ausreißer gibt es in folgendem Beispiel noch - da diese aber komplett daneben sind, deuted das für mich eher
auf ein noch vorhandenes "Code-Problem" hin - Ich vermute, dass hier zu zeitgleich zweimal die Auswertung getriggert wird,
und der Zweite Durchlauf daher die absurde Zeit von wenigen Millisekunden für das aktuelle Zählziel annimmt - und ensprechend eine hohe Drehzahl errechnet.
Ausreißer: Es gibt auch Störstrahlung.? Verschiedene Quellen sind möglich.

Code

2023-02-01 23:41:02, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 16 pulses: 293ms => rpm: 546.08
2023-02-01 23:41:02, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 17 pulses: 272ms => rpm: 625.0
2023-02-01 23:41:02, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 18 pulses: 25ms => rpm: 7200.0
2023-02-01 23:41:03, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 19 pulses: 300ms => rpm: 633.33
2023-02-01 23:41:03, es.gardencontrol.gpio.concrete.WindTurbineRPMGPIO: 20 pulses: 290ms => rpm: 689.66


Auch mein "Excel-Sheet" das diese Daten auswertet ist nun mittlerweile auf einen möglichen Sekunden-Takt umgestellt... JETZT fehlt mir nur noch der Wind aus der passenden Richtung oder der finale Mast, damit das "Tal-Problem" behoben ist und ich die ersten Auswertungen aller Parameter auf sekündlicher Ebene betrachten kann :)

 


Leider hier auch schön zusehen: Wenn "kurz" die Windgeschwindigkeit einbricht, fällt die Turbine zurück ins angesprochene Tal, damit auch sofort die Drehzahl - und schleicht sich dann wieder in den Stillstand.
Hast Du 3 oder 5 Blätter?
Was fehlt ist aus meiner Sicht ein händischer Gen.-Kurzschluss. Da brauchts anschließend keine Trennschalter mehr
MPPT steht auf dem WR-Gehäuse drauf. Aber wohl nur bei Einstellung für PV wirksam, oder?
Wenn das so ist, welche Kennlinie hast Du genommen?


Momentan is mir aber zu kalt und zu Nass, da was zu machen :P
dognose
****
Avatar
Geschlecht: keine Angabe
Alter: 37
Beiträge: 65
Dabei seit: 11 / 2022
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 03.02.2023 - 10:24 Uhr  ·  #59
Guten Morgen,

ich picke deine Kommentare mal raus, und versuche sie zu beantworten:
Zitat
Steht bei dem von MarsRock tatsächlich drauf SUN-2000 (-WAL G2...)? Scheint nämlich einige äußerlich sehr ähnliche zu geben, mit Preisen im Netz zwischen 275 bis 450 EUR, sogar noch mehr, bei vermutlich längerer Händlerkette. MarsRock scheint immerhin ein Hersteller zu sein. Können die bezüglich EN4105 mit einem "Einheitenzertifikat" und einem Netzausfall-Zertifikat (NA-Zsertifikat) dienen?
Kommt der WR mit Domp Load Widerstand, mit WiFi auch?


Ja, in den Firmwaresettings finden sich genau diese Bezeichnungen. Auswählbar sind alle Arten von Wechselrichter die man in besagtem Preis-Bereich finden kann. Weiter Vorne habe ich ein Bild, wo ich den WR geöffnet habe - im Prinzip ist es ein PV-Wechselrichter mit vorgeschaltetem Gleichrichter. (Die Anschlüsse, wo der Gleichrichter drauf geht sind auch mit PV1 und PV2 bezeichnet - der Gleichrichter ist parallel auf beide PV Anschlüsse gezogen)

Ob es von "1000 Watt PV-Version" bis "2000 W Drehstrom-Version" außer dem Gleichrichter noch weitere Hardware-Unterschiede gibt, vermag ich nicht zu sagen,
Im Sinne eines möglichst einfachen Produktionsprozesses würde ich nicht davon ausgehen.

Dump-Load ist dabei (im Prinzip ein 8 ohm Widerstand) - der hängt momentan außerhalb am Gartenzaun, soll final in eine "Tasche" im Fundament des finalen Masts eingearbeitet werden. Wifi kann man optional dazu nehmen, hab ich auch - benutze ich aber nicht. Die für den Datenlogger notwendige App ist ziemlich chinesisch und auch absolut auf PV angelegt - benutzt sich nicht sehr schön.

Zertifikate sind dabei, details muss ich hier noch anschauen - die hat wohl der Chaos-Monkey aus meiner Ablage entnommen und irgendwo hingetragen :D

Zitat
Eine Notstromversorgung im Sinne USV wäre vermutlich sinnvoll.?

Meine Solaranlage ist Notstrom-Fähig inkl. All-poliger Netztrennung. D.h. bei einem Ausfall steht binnen 30 Sekunden ein "Notstrom-Netz" - Wenn der WR sich dann mit dieser Netzfrequenz zufrieden gibt, würde er wieder angehen (Notstromnetz sind 52 oder 53 Hz) das habe ich noch nicht getestet.

Zitat

A) Unter Strom (Netz) hat der WR die Bremse (n) immer offen, und schließt die bei Netzausfall. Ob nun direkt dadurch oder erst, wenn der Generator Überspannung liefert, da bin ich überfragt.
B) Gerade bei Netzausfall muss die Verb. zum WR gewährleistet sein, sonst kann Dump Load bzw. übergeordenter Gen.-Kurzschluss nicht wirken!


Das ist richtig, der WR würde dies lt. Beschreibung tun. Das habe ich leider vor dem Aufbau meiner Lösung nicht gewusst - und habe mich entschieden meine Lösung dennoch beizubehalten, weil ich da einem "guten ABB-Öffner" doch einen Tick mehr Vertraue als einem chinesischen WR ;)

Der Öffner tut genau dies: Wenn Netzausfall, Verliert er seinen "geöffnet" Status und alle 3 Phasen werden kurzgeschlossen.

Zitat
Versuche mal, auf m/s um zu arbeiten, denn damit arbeiten wir in der Windkraft.
Oder noch ne Parallelanzeige in m/s.

Ja, sollte ich mal umstellen. Ist Gewohnheit. Meine Autos haben auch alle noch "PS" und keine "KW" :P

Zitat

Zumindest mit Multimetern incl. Messzangen ist es mir noch nie gelungen, bei WEA in Betrieb die Frequenz richtig an zu zeigen.
Liegt daran, dass nacheinander alle enthaltenen Frequenzen detektieren, und nicht die Null-Durchgänge auswerten.

Hängt vermutlich auch ein bisschen vom Multimeter ab, ob es da etwas sinnvolles anzeigen kann. Für diesen Zweck habe ich mir mal
ein relativ günstiges Oszi gekauft (https://www.amazon.de/gp/product/B0B2WHJ3BF/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 ) - Das ist mit Sicherheit nicht hoch-präzise aber für meine Zwecke absolut ausreichend - es tut was es soll.

Zitat
Erstaunlich, dass die LED im Optokoppler von wenigen Volt bis 150 mit spielt. Ich hätte da vorgelagert noch ne Z-Diode gehabt, damit die LED die Funktion nicht gänzlich übernehmen muss.

Null-Durchgänge detektieren hätte ich wahrscheinlich mit einem Komperator gemacht, aber wenn es auch so geht, gut.


Ganz so einfach war es mit dem Optokoppler nicht. Habe viel Gerechnet, und am Ende mit 24 und 230V getestet, hat geklappt.

- Worst-Case habe ich als Maximum mal 150V AC angenommen - Wird das im Betrieb erreicht hat die Anlage aber ohnehin mehr Probleme als ein verbrannter OK für 29 cent ;)
- Die Differenz zwischen beiden Phasen kann damit auf ein delta von 1,73 * 150 = 259V AC wachsen.
- Die Diode killt die Hälfte der Kurve, es ergibt sich dann max 130V DC
- Erster Spannungsteiler 10k/10k holt die Spannung runter auf max. 65V DC
- Der Vorwiderstand des OK ist 39k, damit ergeben sich für den OK Ströme von 0 bis 1.6mA - Vertragen tut er lt. Datenblatt 2mA, erfolgreich schalten ab 0.1mA

Komparator hatte ich auch in Erwägung gezogen, wäre auch gegangen.

Zitat
Genügt nicht auch einfach nur der Sinus zwischen 2 Phasen, also z.B. L1 und L2?

Genau das hab ich letzten Endes gemacht. (Der Sinus zwischen 2 Phasen ist das was ich im nächsten Step als "Differenz" bezeichnet habe)

Zitat
Ausreißer: Es gibt auch Störstrahlung.? Verschiedene Quellen sind möglich.

In diesem Fall war es tatsächlich ein programmatisches Problem:

Weiß nicht, ob man es nachvollziehen kann:
Ich erhöhe ja das Zählziel "um 1", wenn die gemessene Zeit unter 1000 ms liegt. Das führte jetzt zu folgendem Problem:
- Messung "X" kommt an und sagt: "Ich bin der 18te Impuls, für 18 impulse hatten wir jetzt 700 ms -> Berechnung. Oh und Ich erhöhe nun die Anzahl notwendiger Impulszählungen auf 19, sodass wir uns 1 Wert pro 1000ms annähern."
- Messung "X+1" (die zeitlich WÄHREND der Verarbeitung von Messung "X" erfasst wurde) kommt an und sagt: "Ich bin der 19te Impuls - für 19 Impulse hatte ich nun 25ms....

Lösung war jetzt - programmatisch gesprochen - auf die Methode zur Berechnung eine Thread-Synchronisation anzuwenden, sodass nicht 2 verschiedene Threads quasi zeitgleich mit dem Zählwert / Maximum dessen arbeiten.

Damit weiß "Messung x+1" nun wieder korrekt, dass sie jetzt nicht "19/19" sondern "1/19" ist.

Sieht in Java nun so aus - der "smoothnessFactor" ist das Zählziel:

Code
private double rpm = 0.0;
  private Date lastCheckPoint = null;
  private Thread resetThread;
  private int smoothnessFactor = 1;
  private int counter = 0;
  private int wavePerTurn = 6;
  private Object lockObj;

        ......

@Override
  protected void onStateChanged(SimpleGPIOState newState, Date incoming) {
    synchronized (lockObj) {
      if (lastCheckPoint != null) {
        if (counter++ >= smoothnessFactor) {
          long diffMilliSeconds = incoming.getTime() - lastCheckPoint.getTime();

          this.rpm = 60000.0 / diffMilliSeconds * smoothnessFactor / wavePerTurn;
          Log.cf(getClass(), this.smoothnessFactor + " pulses: " + diffMilliSeconds + "ms => rpm: "
              + (Math.round(rpm * 100) / 100.0));

          // Correct the smoothness factor, so we stay around 1
          // measured value per seconds.
          // only change by +/-1
          if (diffMilliSeconds > 1000 && smoothnessFactor > 1) {
            smoothnessFactor--;
          } else if (diffMilliSeconds < 1000) {
            smoothnessFactor++;
          }

          counter = 0;
          lastCheckPoint = incoming;
        }
        Log.cf(getClass(), "Counter: " + counter);
      } else {
        lastCheckPoint = incoming;
      }
    }
  }
Che
*!*!*!*!*
Avatar
Geschlecht:
Herkunft: Wurzen
Alter: 69
Beiträge: 3712
Dabei seit: 06 / 2014
Betreff:

Re: Aufbau-Doku: System mit Ista Breeze i-2000

 · 
Gepostet: 03.02.2023 - 12:25 Uhr  ·  #60
Wenn das beim MarsRock so ist, dann ist alles gut. Aber es gibt eben auch welche im Netz, die haben diesen Firmennamen nicht drauf. Die heißen auch nicht SUN-.... sondern irgendwie abweichend. Sind wohl auch nicht mit Zertifikaten ausgestattet.
Wenn Netzbetreiberaber ihr O.K. geben sollen, wird sicherlich geprüft für welches Produkt die Zertifikate ausgestellt wurden. Wahrscheinlich sogar, ob die Firma stimmt. Hab mal einen Screenshot von einem Einheiten-Zertifikat angeheftet.

8 Ohm Dump Load ist der V. 2000W geschuldet. Da war die Spannungslage fast doppelt so hoch.
Bei 1000W und 23 bis 60V sind es wohl eher um 3 bis 4 Ohm.
Kannst ja mal bei Halogen-"Brennstäben" 2000W oder auch 1000 (230V) den Kalt-Wid. ausmessen....
Ersatzlast ist auch ansich ein zu zahmer Begriff. Eigentlich ist es eine Überlastung im Sinne von Softkurzschluss, durch den die WEA relativ schnell in den Strömungsabriss gebracht werden soll.
Wird Dir mit 8 Ohm nicht gelingen. Gut, übergeordnet gibt es ja auch noch den harten Kurzschluss. Muss aber alles in der Parametrierung auch angewählt worden sein.

In den Mastfuß verbannen halte ich für übertrieben. An der Wand neben dem WR/Schaltkasten genügt.
Braucht nicht mal schutzisoliert zu werden, da bei der V. bis 60V Schutzkleinspannung nicht überschritten wird.

Übrigens WR in Schaltkasten, der ja vorne noch ne Tür/einen Deckel hat:
Trotz Lüftungsgitter li unten und re oben, der kann viel Wärme erzeugen. Ist ansich gemacht für Montage frei an einer Wand.
Nachlässiger Berührungsschutz an den Anschlüssen? Es herrscht auch hier Schutzkleinspannung.

Wenn Optokoppler so großen Üb.-Bereich haben, dann gut. 150V wohl aber etwas hoch gegriffen. Wenn spätestens bei 60V DC der Kurzschluss rein gehauen wird, dann AC nicht mehr als 44,4V (60/1,35).

Notstrom/USV hatte ich so groß nicht gedacht. Sondern nur, um Deinen Rechner bei Netzausfall zu stützen, die geloggten Daten.

Zu guter Letzt: 3 Blatt oder 5-Blatt?
Im Anhang noch ne Kennlinie, gedacht ansich für die 3 Blatt. Scheint aber auch für 5 Blatt ganz gut zu gehen.
Anhänge an diesem Beitrag
Aufbau-Doku: System mit Ista Breeze i-2000
Dateiname: Spezifikation.png
Dateigröße: 1.08 MB
Titel:
Heruntergeladen: 309
Dateiname: Üb-Kurve_SUN-1000-WA … 48V.xlsx
Dateigröße: 21.19 KB
Titel:
Heruntergeladen: 100
Gewählte Zitate für Mehrfachzitierung:   0