Microcontroller Support gesucht für Wilssen/TiVA

Wireless / Wind Logging System for Sourcing ENergy - "Wilssen" is a modular controller for e.g. a wind turbine, it monitors all parameters like phase voltage and efficiency when the wind turbine is generating power.
Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Do 14. Jun 2012, 03:21

(Beitrag von Alex Shure, vom 05.06.2012, übertragen aus dem alten Forum)

Wir arbeiten an der komplett offenen und modularen Forschungsplattform für Windenergie: TiVA Turbine. -> Tiny Vertical Axis Wind Turbine. Dazu brauchen wir Unterstützung bei der Entwicklung des Controllers (Software und Hardware) für die Windturbine.

Rahmenbedingungen:

* Plattform AVR (Arduino) oder MSP430 Value Line oder eine andere günstige Alternative (chipKIT?)
* Sprache C / Assembler, Quellcode wird unter CC-BY-SA veröffentlicht in unserem git repo.

Hardware:

* Entwicklungsumgebung entweder Arduino (32kb Flash, 8bit MCU) oder Texas Instruments MSP430 Value Line LaunchPad (16bit MCU). Wilssen besteht aus einem oder mehreren Mikrocontrollern sowie Digital- und Analogelektronikteilen, die man bei Bedarf bestücken kann:
* Stromüberwachung via Shunt+OpAmp oder ICs an ADC/SPI von mehreren Phasen (Kostenaufstellung)
* Spannungsüberwachung aller Phasen, (True RMS, Option zur galvanischen Trennung)
* Möglichkeit zum Waveform Sampling
* NRF24L01+ 2.4Ghz Funkverbindung (am Besten via Mesh Network)
* Logging auf MicroSD
* RGB LED PWM Ansteuerung
* Ladelogik strombegrenzt für 4 NiMH Zellen / 1 Blei-Gel Akku (Am Besten Delta-Peak Abschaltung)


Gruß,


Alex Shure

Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Do 14. Jun 2012, 03:23

(Beitrag von Case, vom 07.06.2012, übertragen aus dem alten Forum)

Hi Alex,

ohne selbst allzuviel Ahnung von der Materie bzw. der Realisierung der von Dir aufgelisteten Hardwareanforderungen zu haben, möchte ich zumindest im Hinblick auf die Entwicklungsumgebung für eine AVR-Plattform sprechen, einfach wegen der breiten Verfügbarkeit. Wegen meiner müsste es auch nicht unbedingt Arduino sein sondern könnte auch direkt in C / Assembler programmiert werden, andererseits gilt hier natürlich auch das Argument der Massentauglichkeit.

Ich selbst habe schon etliche AVR-Boards zusammengestrickt und benutze dazu ausschliesslich die Toolchain unter Linux. In den letzten zwei, drei Jahren bin ich aus Bequemlichkeit verstärkt dazu übergegangen, das AVR-Net-Io-Board von Pollin zu benutzen und möchte dies auch gleich als Empfehlung anbringen, da ich denke das es hier eventuell passen könnte:



- Kostengünstig: Gibts bei Pollin für 19,90 EUR als Bausatz oder für 27,- EUR fertig gelötet

- aufwärtskompatibel: kann auch mit 644er AVR oder auch 1284er Atmega betrieben werden

- kann auch als Arduino betrieben werden, allerdings gibts RS232 anstatt USB-Schnittstelle

- mit Ethernetschnittstelle, kann zB. auch als Webserver betrieben werden, aber auch Telnet und sonstige TCPIP-Dienste sind möglich

- dem Produkt von Pollin liegt ein meines Erachtens Open-Hardware Design zugrunde (von U.Radig, ev. nochmal genau prüfen)

- es gibt dazu eine sehr aktive und bis dato erfolgreiche Entwickler-Community, d.h., eigentlich sogar mehrere verschiedene aber von mir besonders favorisiert ist die hier

http://son.ffdf-clan.de

- SD-Card Anbindung ist auch möglich, entweder mittels des Add-On-Boards von Pollin oder per separater Anbindung. Das Addon-Board verfügt noch über weitere Schnittstellen, z.B. kann man per I2C ein LCD-Display dranhängen oder auch ein kleines rfm12-Modul (oder dieses natürlich ebenfalls separat realisieren).



Tja, soweit dieses, vielleicht wäre es geeignet um erst mal ne schnelle und günstige Startmöglichkeit für die Entwicklung zu haben, wobei man die von Dir gewünschten Features zunächst auf einer speraten Lochrasterplatine unterbringen und daran anbinden könnte und sobald die Sache läuft ein eigenes PCB entwerfen kann.

Zumindest denke ich, das das etwa auch der Weg wäre, wie man mit nem Arduino in die Pötte käme.

Andererseits kann man aber natürlich auch das ganze Ding von Grund auf neu und eigenständig entwickeln, Hauptsache AVR als Ausgangsbasis, zumindest wäre das meine Anregung.

Gruss,

Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Do 14. Jun 2012, 03:25

(Beitrag von Alex, vom 07.06.2012, übertragen aus dem alten Forum)

Ich sehe das ähnlich wie du, ich denke AVR hat mit der userbase und den bestehenden libraries die größte Attraktivität.



Das AVR NetIO kenn ich, find ich gut. Ich mache nichts mehr THT soweit es geht, nur SMD. Als Entwicklungsumgebung hinkt es einem Arduino Leonardo, UNO, Duemilanove, einem Pinguino etc ein wenig hinterher bzgl den libraries und shields, hier kann man gerade in der Prototypenphase einfacher was zusammenstecken auf einem Arduino. Die Ethernetschnittstelle finde ich mit dem ENC28J60 via SPI recht mikrig, man muss den ganzen Stack auf dem MCU implementieren. Wiznet W5100 ist da besser. Wie auch immer, Ethernet brauchen wir eh nicht! Wichtig ist NRF24L01 wireless und USB oder eine alternative, die auf jedem halbwegs modernen Laptop läuft :)


cheers
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Do 14. Jun 2012, 03:26

(Beitrag von Case, vopm 07.06.2012, übertragen aus dem alten Forum)

Hi Alex,

dann läufts wohl am ehesten auf Arduino für die schnelle Prototypentwicklung hinaus (und später dann ein PCB-Layout, wenns sein muss auch für SMD, obwohl mir Dinge die ich selbst von Hand löten kann besser gefallen *grins*), ich seh jedenfalls den Punkt mit der Steckbarkeit, USB ist da auch Standard und die Libraries sind umfangreich, wie auch die Userbasis. Ich hab zwar selbst noch nicht mit der Arduino-IDE gearbeitet, aber glaube das ich deren Prinzip soweit verstehe.

Ich hab hier auch noch nen nagelneuen Arduinomega1280 in der Schublade, mit dem ich vielleicht mal das eine oder andere testen könnte falls das hilfreich ist.

Bezüglich der ganzen von Dir beschriebenen Module hab ich nicht so den Plan was das inhaltliche angeht, aber zumindest mit der SD-Card Anbindung könnte ich mich schon mal auseinandersetzen, das hab ich eh schon seit längerem vor. Soweit ich bisher weiss, wird die auch oft per SPI angebunden und es ist dazu eine Pegelwandlung erforderlich, da die SD-Cards mit 3.3V laufen, das Arduino-Board aber mit 5V. Es sind dazu einige Beispielschaltungen mit ein paar Widerständen als Spannungsteilern im Umlauf, ich hörte aber vielfach von schlechten Erfahrungen damit, gut funktionieren soll hingegen der Einsatz eines richtigen Pegelwandlers, wie etwa einem LXV125. Da ich mir so einen auch schon besorgt habe könnte ich mal schauen, ob ich damit was ans laufen kriege bzw. in diesem Zusammenhang auch gleich mal die Arduino-IDE ausprobieren.

Bezüglich ENC28J60 und Net-Io wollte ich noch sagen, das man das Net-Io am besten mit nem 644er AVR oder größer verwendet, da ist dann genügend Platz drauf vorhanden. Da ich bisher noch null Anung von Funkanbindung habe war die Ethernetanbindung für mich immer ein recht guter Weg um auf Boards an exponierten Stellen in Haus und Garten zugreifen zu können, z.B. fürs mitloggen irgendwelcher Meßwerte wie Temperatur. Aber wenns auch kabellos geht solls mir recht sein. Und vielleicht könnte dabei sogar ein NetIo dereinst mal als ne Art Basisstation hilfreich sein. Na, wieauchimmer.

Gruss,

Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Do 14. Jun 2012, 03:27

(Beitrag von Alex, vom 08.06.2012, übertragen aus dem alten Forum)

microSD und ethernet hab ich auch alles schon mal gemacht, SD via SPI und lvc14a als Pegelwandler usw. SPI ist recht langsam, aber einfach und reicht zum loggen auf SD.



Da ich gerne ein-zwei cycles samplen würde über den ADC von Wilssen mit einem kleinen prescaler, bräuchte man wohl entweder viel internen RAM oder man läd das fix in einen externen Speicher. Nulldurchgänge beim Synchrongleichrichter scopen on the fly und sowas. Steht zwar ganz hinten auf der feature Liste (Ich hab eh ein Scope!) aber ermöglicht Schülern und Studenten dann ohne externes Equipment einfach mal die Spannungsform zu visualisieren.
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Do 14. Jun 2012, 03:29

Hi Alex,
microSD und ethernet hab ich auch alles schon mal gemacht, SD via SPI und lvc14a als Pegelwandler usw. SPI ist recht langsam, aber einfach und reicht zum loggen auf SD.
ich interpretier das mal als ein ok, mich da dran zu begeben. ;)
Da ich gerne ein-zwei cycles samplen würde über den ADC von Wilssen mit einem kleinen prescaler, bräuchte man wohl entweder viel internen RAM oder man läd das fix in einen externen Speicher. Nulldurchgänge beim Synchrongleichrichter scopen on the fly und sowas. Steht zwar ganz hinten auf der feature Liste (Ich hab eh ein Scope!) aber ermöglicht Schülern und Studenten dann ohne externes Equipment einfach mal die Spannungsform zu visualisieren.
Wieviel RAM braucht man denn schätzungsweise um eine Spannungskurve zu visualisieren ? Der Atmega644 hat rund 4Kb und der 1280er rund 8 kb, ich würde schätzen, das man mit 1 bis 2 Kb davon wohl locker hinkäme. Das mit dem externen RAM würde mich wohl reizen, weil ich sowas noch nie gemacht hab, aber ich glaub einem kompakteren Design würd ich instinktiv den Vorzug geben.

Und Stichwort Visualisierung, soll die auch auf dem Sampling und Steuerungsdevice stattfinden, oder wäre dafür ein weiteres Board ok ? Soweit ich verstanden hab kann Wilssen ja durchaus aus mehreren Boards bestehen. Natürlich hab ich da wieder sowas wie das NetIo als userinterface im Kopf *grins* wobei es nicht explizit jenes sein muss, aber es erscheint mir zumindest sinnvoll, das modular aufzuteilen: Ein Controlling-Device, welches das Windrad überwacht und aussteuert und derweil nebenbei ein paar Sample-Daten einsammelt und bereitstellt und eben das besagte Userinterface, welches für Visualisierung und sonstige manuelle Eingaben zuständig ist. Was für ein Display schwebt Dir denn vor ? Da es auch um Kurvendiagramme geht solls vermutlich ein graphisches sein, ja ? Oder, Alternative wäre ein einfaches 16x2 LCD für einfache Userinteraktion bzw. Menuführung und dann die Kurvendarstellung etc. per Webbrowser ... wenns draussen windet und stürmt mag mancher ja vielleicht lieber die Visualisierung vom Desktop-PC aus betrachten.

Was das Scope betrifft schätze ich mal damit ist ein Oszilloskop gemeint ? Sorry wenn ich mich hier als Dumpfbacke oute, aber wie schon gesagt hab ich null Ahnung von Elektronik, bin aber imstande, "Kochrezepte" nachzubacken (eagle-PCB-Layout, Platinen ätzen usw.) . Und ein Oszi (20mhz) hab ich auch, auch wenn ichs noch nie für Elektronik benutzt hab. Hab vor rund 16 Jahren damit Synapsen an Hirnzellen gemessen ;)


Gruss,
Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Do 14. Jun 2012, 03:31

(Beitrag von Alex, vom 09.06.2012, übertragen aus dem alten Forum)

Für das Samplen mit 10 bit Auflösung (der ADC hat halt 10bit nativ) braucht man dann bei einer sampling rate von 20kHz=20kSps (Samples per second) wohl 20k*10bit=200kbit=25kbyte pro Sekunde. Nimmt man eine Generatorfrequenz von 5...100 Hz an je nach Drehzahl der Turbine, braucht man also mindestens 25kb/5=5kb, um eine Periode einer einzigen Phase aufzuzeichnen. Auf das triggern sei verzichtet. wie du siehst kommt man mit einem großen Atmega aus, wenn das Hauptprogramm viel RAM frei lässt. Möchte man auf 100khz samplen, braucht man 5 mal so viel Speicher. Das ganze Array kann dann jedenfalls "langsam" via SPI oder wireless oder zum debuggen via serial ausgegeben werden, zum beispiel auf eine SD card, an einen laptop via kabel oder wireless...

Visualisierung erfolgt ausschließlich auf dem Computer, kein grafisches Display an der TiVA! Maximal ein 16x2 LCD für ein paar grobe werte, aber auch das nimmt schon zu viel Ressourcen und Kosten auf sich denke ich.

PS: ein smartphone reicht ja evtl schon anstatt seinen laptop mit rauszunehmen
Hab vor rund 16 Jahren damit Synapsen an Hirnzellen gemessen ;)

interessant, wie sieht denn da die Hardware aus? Also wie kommt man an die Synapsen? Und da reich ein einfaches Oszi ohne Vorstufe?

Ich hab übrigens noch ein SD-card Modul, das darfst du gerne haben falls du möchtest.
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Do 14. Jun 2012, 03:36

(Beitrag von Case, vom 14.06.2012, übertragen aus dem alten forum)

Hi Alex,
Für das Samplen mit 10 bit Auflösung (der ADC hat halt 10bit nativ) braucht man dann bei einer sampling rate von 20kHz=20kSps (Samples per second) wohl 20k*10bit=200kbit=25kbyte pro Sekunde. Nimmt man eine Generatorfrequenz von 5...100 Hz an je nach Drehzahl der Turbine, braucht man also mindestens 25kb/5=5kb, um eine Periode einer einzigen Phase aufzuzeichnen. Auf das triggern sei verzichtet. wie du siehst kommt man mit einem großen Atmega aus, wenn das Hauptprogramm viel RAM frei lässt. Möchte man auf 100khz samplen, braucht man 5 mal so viel Speicher.
Ja, gut., aber da die Abtastrate frei wählbar ist könnte man ja auch statt mit 20 oder 100 KHz mit weniger, also etwa 10KHz samplen, was auf 2.5Kb RAM hinausliefe und somit bei dem großen Atmega mit 8Kb RAM mit 6.5 KB noch reichlich Platz liesse. Mir ist auch nicht ganz klar welchen Vorteil eine so hohe Auflösung bei der Abtastung bringt, denn hinterher in der grafischen Darstellung wirds doch eh auf die Pixelanzahl des Diagramms runtergebrochen, oder ? Soll heissen ein Diagramm mit 1000 oder 1600 Pixeln Breite (je nach Bildschirmauflösung) wäre schon ganz ordentlich und ausreichend um eine Periode darzustellen, d.h. man würde sogar mit 1KHz oder 1.6 KHz Samplingrate auskommen. Falls ich damit richtig liege, dann könnte man bei Einsatz eines großen Atmegas auf externes RAM verzichten, daher würde ich auch vorschlagen, das ruhig erst mal so zu versuchen.
Das ganze Array kann dann jedenfalls "langsam" via SPI oder wireless oder zum debuggen via serial ausgegeben werden, zum beispiel auf eine SD card, an einen laptop via kabel oder wireless...

Visualisierung erfolgt ausschließlich auf dem Computer, kein grafisches Display an der TiVA! Maximal ein 16x2 LCD für ein paar grobe werte, aber auch das nimmt schon zu viel Ressourcen und Kosten auf sich denke ich.

PS: ein smartphone reicht ja evtl schon anstatt seinen laptop mit rauszunehmen
Ich denke auch das sich das Board ausschliesslich auf die Mess- und Steueraufgaben konzentrieren sollte, Display und Tastatur I/O würde die Sache in Bezug auf Timing und Interrupts komplizierter und damit fehleranfälliger machen. Es reicht ja wenn das Array sowie sonstige Messwerte immer standardmässig und pauschal am wireless-Ausgang anliegen und wie man die dann abfragt ist dann ein anderes Ding. Soll heissen das kann direkt per Laptop erfolgen oder ich kann mir ja auch ein Zwischending basteln, also etwa ein Net-Io mit Wireless-Interface, dass ich dann bequem über Lan abfragen kann, wenn ich keine Lust habe, mit meinem Laptop draussen im Regen rumzurennen. Btw. Ich habe gar kein Laptop oder Smartphone *grins*
"Hab vor rund 16 Jahren damit Synapsen an Hirnzellen gemessen ;)"
interessant, wie sieht denn da die Hardware aus? Also wie kommt man an die Synapsen? Und da reich ein einfaches Oszi ohne Vorstufe?

Ich hab übrigens noch ein SD-card Modul, das darfst du gerne haben falls du möchtest.
Man braucht dazu noch einen entsprechenden Vorverstärker, da die gemessenen Ströme der einzelnen Rezeptorkanäle unter der Synapse im Bereich von 5 PicoAmpere liegen. Siehe dazu auch
http://de.wikipedia.org/wiki/Patch_clamp
Diese Technik kann nur auf in vitro kultivierte Neuronen angewendet werden, in vivo, also am lebenden Organismus, können dagegen nur Summenaktionspotentiale (also Signale mehrer Neuronen) gemessen werden.

Bezügl. SD-Card-Modul: Danke, aber ich hab alles an Material was ich dazu brauche vorrätig, da ich wie gesagt ohnehin schon seit längerem vorhatte damit mal was zu machen. Das einzige was mir noch fehlt ist ein passendes USB-Kabel um den Arduino am PC anklemmen zu können ;) aber das werde ich mir in Kürze hier lokal im nächstbesten Shop besorgen.

Gruss,Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
shure
Beiträge: 373
Registriert: Mo 11. Jun 2012, 16:15

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von shure » Do 14. Jun 2012, 16:15

case hat geschrieben: Ja, gut., aber da die Abtastrate frei wählbar ist könnte man ja auch statt mit 20 oder 100 KHz mit weniger, also etwa 10KHz samplen, was auf 2.5Kb RAM hinausliefe und somit bei dem großen Atmega mit 8Kb RAM mit 6.5 KB noch reichlich Platz liesse. Mir ist auch nicht ganz klar welchen Vorteil eine so hohe Auflösung bei der Abtastung bringt, denn hinterher in der grafischen Darstellung wirds doch eh auf die Pixelanzahl des Diagramms runtergebrochen, oder ? Soll heissen ein Diagramm mit 1000 oder 1600 Pixeln Breite (je nach Bildschirmauflösung) wäre schon ganz ordentlich und ausreichend um eine Periode darzustellen, d.h. man würde sogar mit 1KHz oder 1.6 KHz Samplingrate auskommen. Falls ich damit richtig liege, dann könnte man bei Einsatz eines großen Atmegas auf externes RAM verzichten, daher würde ich auch vorschlagen, das ruhig erst mal so zu versuchen.
Das Samplen hat erstmal nichts mit der Darstellung zu tun, die Werte werden als array ausgegeben und damit kann man dann machen was man möchte: simple Frequenzanalyse, Fouriertransformationen, Spektrumanalyse, harmonische usw.., je nach Interesse kann man damit Matlab, Excel, (...) füttern. Die grafische Darstellung bei einem Pixelmapping von 1:1 braucht bei 1024 Samples (also Pixeln) etwa 1280byte. Das ist aber unabhängig von der Samplingrate! Die 1024 Samples kannst du innerhalb von 3 Tagen aufsammeln oder aber wärend einer Periodendauer. Mit 1Khz Samplingrate kann man keine Periode darstellen die bei 500Hz Generatorfrequenz erzeugt wird.

Da die Last ein Schaltregler ist, sollte man eigentlich sogar schneller als der samplen um wirklich genaue Ergebnisse zu bekommen ;) Um aber zu sehen, wie die Sinusspitzen abgeflacht werden durch die Wandlertopologie reicht auch eine niedrige Samplerate (übrigens durch die vielen Schaltnetzteile heutzutage auch beim normalen Hausanschluss zu beobachten).

Man sollte einfach von dem Arduino scope Projekt Code übernehmen.
case hat geschrieben: Ich denke auch das sich das Board ausschliesslich auf die Mess- und Steueraufgaben konzentrieren sollte, Display und Tastatur I/O würde die Sache in Bezug auf Timing und Interrupts komplizierter und damit fehleranfälliger machen. Es reicht ja wenn das Array sowie sonstige Messwerte immer standardmässig und pauschal am wireless-Ausgang anliegen und wie man die dann abfragt ist dann ein anderes Ding. Soll heissen das kann direkt per Laptop erfolgen oder ich kann mir ja auch ein Zwischending basteln, also etwa ein Net-Io mit Wireless-Interface, dass ich dann bequem über Lan abfragen kann, wenn ich keine Lust habe, mit meinem Laptop draussen im Regen rumzurennen.
Man sollte generell in Intervallen samplen, z.B. 2 Hz wenn möglich, und dann versuchen, daraus die Amplitude und Frequenz mit FFT zu errechnen, damit dann den Generator zu steuern. Ich hab irgendwie das Gefühl, dass da ein 8bit AVR nicht reicht :( Er soll ja auch noch funken.

Aber genug vom Waveformsampling, das steht ganz unten auf der Liste.
“With great power come great heat sinks.”

Benutzeravatar
case
Beiträge: 741
Registriert: Mi 13. Jun 2012, 01:12

Re: Microcontroller Support gesucht für Wilssen/TiVA

Beitrag von case » Sa 16. Jun 2012, 23:21

Die grafische Darstellung bei einem Pixelmapping von 1:1 braucht bei 1024 Samples (also Pixeln) etwa 1280byte. Das ist aber unabhängig von der Samplingrate! Die 1024 Samples kannst du innerhalb von 3 Tagen aufsammeln oder aber wärend einer Periodendauer. Mit 1Khz Samplingrate kann man keine Periode darstellen die bei 500Hz Generatorfrequenz erzeugt wird.
Ja, verstehe, die Abtastrate richtet sich natürlich nach den Erfordernissen und nicht nach der Darstellung. Ich weiss nicht genau ob ich da nen Denkfehler gemacht oder mich falsch ausgedrückt habe, aber mir gings halt um den Platzbedarf im RAM um die Rohdaten zwischenzuspeichern und was ich meinte war wohl ungefähr folgendes: Angenommen die Drehfrequenz des Generators beträgt wie Du sagtest 100Hz, also 100 Perioden in einer Sekunde, dann bräuchte ich doch nur bei einer genügend hoch aufgelösten und entsprechend schnellen Samplingfrequenz von sagen wir mal 10KHz (und an dieser Stelle hast Du natürlich völlig recht, dass die Samplingrate schnell genug sein muss) für insgesamt 2 hundertstel Sekunden lang zu samplen um mindestens eine komplette Periode mit aufgenommen zu haben. Diese wäre dann mit 100 Punkten aufgelöst, ich denke/hoffe mal, das wäre ausreichend um die Charakteristik sehen zu können. Und im RAM müste man für diese gesamte Momentaufnahme dann nur 200 Samplewerte zwischenspeichern. Soll heissen, was ich vorher gesagt habe, dass die Abtastrate ja frei wählbar ist, ist natürlich Unsinn, bzw. hilft hier nicht weiter, ich hätte mich wohl eher auf die Dauer der Abtastung beziehen müssen, d.h., um eine Periode zu erwischen muss ich ja nicht die ganze Sekunde lang samplen. (Ich hoffe mal ich hab jetzt nicht schon wieder nen Denkfehler gemacht.)
Man sollte einfach von dem Arduino scope Projekt Code übernehmen.
Ich hab mal danach geschaut, anscheinend gibts da mehrere Projekte für Arduino Oszilloskope, wobei mich da weniger der Code als eher die Hardware-Umsetzung interessiert hat. Ich hab nur grob geschaut, aber hatte den Eindruck, dass bei diesen Projekten eher niedrige Samplefrequenzen erreicht werden, so um die 5 KHz (hab aber wirklich nur ganz grob geschaut und es war schon sehr spät ;)).

Wieauchimmer, vielleicht gibts da ein grundlegendes Problem mit dem ADC vom AVR. Es scheint wohl so zu sein, dass der mit einem eigenen Takt betrieben wird, welcher wiederum durch den CPU-Takt durch einen prescaler generiert wird und laut Datenblattempfehlung zwischen 50 und 200 KHz liegen sollte (zumindest bei 10-Bit Samples, bei kleineren kann wohl auch 1MHz erreicht werden, aber das wird durch die Spezifikation nicht unterstützt.) Für ein Sample benötigt der ADC aber 13 Takte, d.h. es wären maximal 15,4 KSamples pro Sekunde möglich, aber es scheint da noch weitere Faktoren zu geben, warum nicht mal die erreicht werden sondern in der Natur noch weitaus darunter liegen, also eher im bereich um die 5 KSamples.

Vielleicht kann man ja einen separaten AD-Wandler nehmen, der schneller samplen kann. Ich hab ein Projekt gefunden, unter
http://www.ulrichradig.de/home/index.php/avr/avr-dso
wo ein TLC5540 zum Einsatz kommt, allerdings verwendet der da auch noch einen Xilinx CPLD, sowie diverse Verstärker-Bausteine und 32K externes RAM; keine Ahnung ob das wirklich alles so für unseren Zweck vonnöten wäre, ich hab halt einfach mal rumgeschaut (ohne jedoch wirklich etwas von der Sache zu verstehen ;)).
Man sollte generell in Intervallen samplen, z.B. 2 Hz wenn möglich, und dann versuchen, daraus die Amplitude und Frequenz mit FFT zu errechnen, damit dann den Generator zu steuern. Ich hab irgendwie das Gefühl, dass da ein 8bit AVR nicht reicht :( Er soll ja auch noch funken.
Ich nehme mal an Du sprichst jetzt von der CPU-Geschwindigkeit. Ich kann nicht einschätzen wieviel Performance für FFTransformationen und für 2.4GHz-Funk notwendig sind, aber z.B. mit nem 32-Bit AVR erreichst Du auch höhere Geschwindigkeiten. Ich habe hier z.B. ein Grasshopper-Board von InCircuit, das hat nen AVR32/AP7000 Prozessor und ist mit 140MHz getaktet (und hat btw. 64MB RAM). Aber ich glaube 32-Bit AVRs gibts noch nicht als Arduino und Du stösst hier natürlich auch in eine andere Preiskategorie vor; das Grasshopper-Board ist mit 85,- EUR dabei noch eines der günstigsten, eine Alternative wäre vielleicht noch ein FriendlyArm-Board, wobei es sich bei letzterem um ARM und nicht AVR handelt, ist allerdings bis 400 MHz getaktet. Wieauchimmer, das sind für mich ganz andere Dimensionen, wo ich keine Ahnung habe, wie man sowas auf Hardwareebene als Controller-Schaltung programmiert; ich benutze sowas eher um darauf Linux laufen zu lassen ;)
Aber genug vom Waveformsampling, das steht ganz unten auf der Liste.
OK, dann fragen wir doch mal andersrum, was denn für die grundlegenden Windrad-Laderegler Funktionen notwendig ist. Soweit ich die Beschreibung im WIKI verstanden habe war da von zwei Varianten die Rede, einmal Shunt/OPAmp, was wohl eine simplere Variante darstellt oder eine IC-basierte Variante, was ich als eine Art intelligentere und effizientere Form der Regelung interpretiere. Müssen da dann nicht irgendwelche Kennlinien erstellt werden und wenn ja, wie wären da dann die Hardware-Anforderungen für das Sampling ?

Sorry falls meine Beiträge etwas unqualifiziert und oberflächlich erscheinen, aber ich versuche halt ein rudimentäres und laienhaftes Verständnis von Wilssen zu entwickeln und würde mich freuen, falls ich hier und da quasi glückstreffermäßig eine sinnvolle Anregung beisteuern könnte ;)

Gruss,
Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Antworten

Zurück zu „Controller for renewable energies ("Wilssen")“