Anforderungen

Unabhängig von den Projektprinzipien sollen, folgende allgemeingültigen Einzelanforderungen erfüllt werden:

1.  Alle für die Nachführung benötigten mathematischen Formeln und Grundlagen sind zu dokumentieren (Gestellformeln)

2.  Die Gestellsicherheit ist zu gewährleisten[1].

Hardware

Antrieb

1.  Es soll ein Schema, bzw. eine Schablone, zur Antriebskategorisierung erstellt werden

2.  Mögliche Antriebe sollen ausgewählt und Informationen über diese zusammengestellt werden

3.  Für jeden Antrieb soll eine Empfehlung, bzgl. der nachführbaren Fläche ausgesprochen werden[2], die Empfehlungen sollen von bis in gegliedert sein

4.  Alle Antriebe sollen über das im Prototyp verwendeten Zeitpositionierungsverfahren angesteuert werden

5.  Falls möglich, sollen passende Kalibrier- und Initialisierungs-Strategieen für die Antriebe aufgezeigt werden

Controlshield

Das zu konzipierende Controlshield, als Schnittstelle zwischen Netduino und Antrieb, soll folgende Anforderungen erfüllen:

1.  Eine variable Antriebsspannungsversorgung (DC-IN) von 6−24V

2.  Die Antriebsspannungsversorgung und die Sensoreingänge sollen vom Netduino elektrisch entkoppelt werden, um Beschädigungen zu vermeiden

3.  Die Antriebsstromversorgung soll nicht überwacht werden, das Shield und seine Bauelemente sind trotzdem, sofern möglich, vor Stromschäden zu schützen

4.  Das Shield muss kompatibel zu den in  Antriebsempfehlungen ausgewählten Antrieben sein

5.  Es muss eine Anleitung für den Bau des Shields erstellt werden

6.  Das Shield muss den Anschluss von einem Reed-Anemometer vorsehen

7.  Die Bauteile des Shields müssen mit allen Antrieben aus Antriebsempfehlungen kompatibel sein

Software

Die Anforderungen an die Software sind dreigeteilt, in die der Firmware, der zu erstellenden Client-Anwendung und die, an die zu veröffentlichte Webseite, mit den darauf enthaltenen Anleitungen.

Jedoch gilt für alle Software-Projekte:

1.  Der Quellcode der Firmware und der Client-Anwendung soll offen gelegt werden

(a) Alle im Zuge dieser Arbeit erstellten Software-Projekte, sollen auf  codeplex veröffentlicht werden.

2.  Die externen Abhängigkeiten, in Form von (wieder-)verwendeten Bibliotheken, soll so gering wie möglich gehalten werden.

3.  Direkt im .NET Micro Framework vorhandene Funktionalität ist immer einer externen Quelle vorzuziehen

4.  Sowohl der Code, die Code-Dokumentation, als auch die Ausgabesprache der Firmware und der Client-Anwendung sind in Englisch zu halten

Firmware

Die zu erstellende Firmware soll die in Tabelle 4.1 abgebildeten Betriebsmodi unterstützen.

 
Tabelle 1 OST - Betriebsmodi
Name des Modus Internet? Netzwerk?
Online (Zeitsynchronisierung mit NTP) Ja Ja
Isolated (über Client steuerbar) Nein

Ja

Offline (nur über Speicherkarte konfigurierbar) Nein

Nein

 

Allgemeines  

1.  Jede Konfiguration soll ihren eigenen Namen besitzen können

2.  Um eine softwaretechnische Inkompatibilität zu vermeiden solle die Struktur der Konfiguration versioniert werden, falls sich diese in der Zukunft verändern sollten

Logging-Einstellungen  

Darin soll festgelegt werden, wie viel und wohin die auflaufenden Log-Meldungen im System geschrieben werden sollen

Standortinformationen  

Die GPS-Koordinaten des Trackers

Zeitkonfiguration  

1.  Ob die Zeit über NTP synchronisiert werden soll (Siehe Online-Modus in Tabelle 1 OST - Betriebsmodi)

2.  Welcher NTP-Server verwendet werden soll

3.  Welche Zeitzone dem Standort zugeordnet ist

4.  Welcher Zeitstempel als Systemzeit verwendet werden soll, falls das Nachführsystem im Isolated- oder Offline-Modus läuft

Gestellgeometrie  

1.  Muss alle für die Gestellformeln benötigten Parameter enthalten

2.  Muss den Schwellwert, des Windgeschwindigkeits-Mittelwertes enthalten (in Folge als Wind-Alarm bezeichnet)

Motorkonfiguration  

Muss alle Parameter für die Antriebsempfehlungen ausgearbeiteten Antriebe und deren Ansteuerungsimplementierung enthalten

Netzwerkeinstellungen  

Muss den Betrieb über eine statische IP-Adresse oder eine dynamisch vergebene Adresse von einem DHCP-Server zulassen

Um den laufenden Betrieb beeinflussen zu können und Systeminformationen abzufragen, soll eine Laufzeitschnittstelle implementiert werden:

Systemstatus  

1.  Abfrage der aktuellen Systemzeit

2.  Abfrage der aktuellen Firmware-Version

3.  Abfrage der aktuellen Position des Antriebs

4.  Abfrage der aktuellen Windgeschwindigkeit

5.  Abfrage des 10-Minuten-Mittelwertes der Windgeschwindigkeit

6.  Abfrage der aktuellen Systemmeldungen

Antriebssteuerung  

1.  Start der Kalibrierung, sofern sie für den jeweiligen Antrieb vorhanden ist

2.  manuelle Positionierung an einen bestimmten Punkt

3.  Anfahren der Gestell-Null-Stellung[3]

4.  unmittelbarer Stop des Antriebes (NOT-HALT)

5.  manuelles Ausfahren des Antriebes

6.  manuelles Einfahren des Antriebes

Systemsteuerung  

1.  Neustart des Systems

2.  Aktualisierung der Systemzeit, sowohl über NTP, als auch mit einem übergebenen Zeitstempel

Nachführung  

1.  Stopp der Nachführung

2.  (Neu-)Start der Nachführung

3.  Rückgabe des Trackingverlaufs, für den aktuellen Tag

4.  Rückgabe des nächsten anzufahrenden Tracking-Schritts

5.  Rückgabe des WindAlarm-Status, bei dessen Überschreitung das Gestell in die Mitte zu fahren ist (Gestell-Null-Stellung), um eine gleichmäßige und möglichst minimale Aufnahme der Windlast[4] zu gewährleisten

Konfiguration  

1.  Abfrage der aktuellen Konfiguration, auf der Speicherkarte

2.  Verändern der aktuellen Konfiguration, mit Speicherung auf der Speicherkarte

  Client

1.  Soll vorrangig auf den meisten Windows-Betriebssystem laufen

2.  Soll den Systemstatus anzeigen

3.  Den Antrieb manuell steuern können

4.  Die aktuelle Konfiguration abfragen und anzeigen können

5.  Die aktuellen Konfiguration verändern können

6.  Die aktuellen Systemmeldungen nach Datum sortiert anzeigen

7.  Das Zielsystem neu starten können

(diese) Webseite

Die zu erstellende Webseite als Informations- und Projekt-Plattform dieses Projekt, soll:

1.  Grundlegende Informationen zu Sonnennachführung und Sonnenpositionsalgorithmus beinhalten.

2.  Die für den Anwender relevanten Informationen enthalten:

(a) (Diese) Anforderungen

(b) das Grobkonzept

(c) Eine Materialliste für den Bau des Controlshields

(d) Die Antriebsempfehlungen

(e) Die in ausgearbeiteten Gestellformeln

3.  Folgende Anleitungen:

(a) die Anleitung für den Controlshield-Bau, wie auch in Controlshield gefordert

(b) eine Anleitung für die Softwareinstallation

(c) eine für die Inbetriebnahme:

i.   Mit Beschreibung der Konfiguration

ii.  Anleitung für das Vorgehen bei der Antriebsmontage

iii. allgemeine Montagehinweisen und Empfehlungen

(d) und eine für die Bedienung im laufenden Betrieb, bzw. den Client

4.  Informationen zu dem Testgestell beinhalten

5.  Die, für die Reproduzierbarkeit, benötigten Anleitungen sind zum Download und zur Einsicht anzubieten

6.  Der Download der benötigten Software (Firmware und Client) auf dieser Webseite möglich sein

Dabei soll, um Aufwand zu sparen, soviel, wie möglich aus dieser Ausarbeitung übernommen werden.


[1] unter Berücksichtigung der Abgrenzung

[2] wobei dies nur eine Empfehlung darstellt, keine absolute Aussage, da in jedem konkreten Fall die Bestückung der Fläche, das Gewicht und der Höhenwinkel zu berücksichtigen ist.

[3] in Gestellformeln auch Motor-α=0° genannt

[4] im Prototyp [Ste13] wurde in 3.4.3 Gestellsicherheit auf die Schnee- und Windlast eingegangen.