Forum: PC-Programmierung Leistungserfassung einer Solaranlage


von Peter42 (Gast)


Lesenswert?

Hallo,
ich soll für ein Schulprojekt mit einem AVR-Mikrocontroller die Leistung 
einer Solaranlage messen, speichern und die Daten bei Bedarf am Pc 
ausgeben lassen (zb. in Excel). Jetzt hat die Anlage aber schon eine 
Datenerfassung. Diese erfasst die Gleichstomleistung am 
Wechselrichtereingang und die Wechselstromleistung am 
Wechselrichterausgang über eigenständige AC- und DC-Module und erzeugt 
daraus dann Impulse. Nun werde ich wohl meine Schaltung, anstelle der 
Datenerfassung, an die beiden Module anschließen müssen. Leider bin ein 
absoluter Anfänger in solchen Sachen und wollte deshalb mal fragen, ob 
hier vielleicht jemand ein paar Tipps hat zB. mit welcher 
Programmiersprache sowas am leichtesten geht.

MfG Peter

von Εrnst B. (ernst)


Lesenswert?

> mit welcher Programmiersprache sowas am leichtesten geht.

Mit der die du bereits kennst...

Wenn du noch nie Programmiert hast, evtl Basic oder C.
Basic ist wohl schneller gelernt, C wird man früher oder später eh 
lernen, wenn man sich fürs Programmieren interessiert.

von Peter42 (Gast)


Lesenswert?

Erstmal danke für die Antwort. Ich weiß nur leider überhaupt nicht wo 
ich anfangen soll.

von Εrnst B. (ernst)


Lesenswert?

Naja, einfach stückchenweise vortasten, so gibts zwischendurch immer mal 
wieder ein Erfolgserlebnis.

Also erstmal AVR+Programmer ans laufen kriegen, LED blinken lassen.
Dann MAX232 dazu, Serielle Kommunikation AVR->Hyperterminal ans laufen 
kriegen.
Danach evtl Excel die Serielle Schnittstelle bekannt machen 
(VBA+ActiveX...)
usw...

Fang am besten mit dem AVR-GCC-Tutorial an...

Viel Erfolg.

von Karl H. (kbuchegg)


Lesenswert?

Peter42 wrote:
> Erstmal danke für die Antwort. Ich weiß nur leider überhaupt nicht wo
> ich anfangen soll.

Mit einem Stufenplan. So wie immer. Wenn eine Aufgabe zu schwer
ist, dann zerlegt man sie in Einzelteile und macht sich erst
mal über diese Einzelteile schlau. Ist ein Einzelteil immer
noch zu kompliziert, dann wird er wiederrum in einzelne Teile
zerlegt.

Du willst ein Auto bauen.
Das ist zunächst mal ziemlich schwierig, vor allem deshalb, weil
du dich mit Autobau nicht wirklich auskennst.
Also zerlegst du die Aufgabe:
Du brauchst einen Motor, ein Getriebe, einen Karosserie, die
Elektrik und Sonstiges.

Vom Motorenbau hast du nicht viel Ahnung. Also zerlegst du die
Aufgabe: Du brauchst den Brennraum, die Kolben, die Zündung,
die Einspritzung, Schmierung und andere Nebenaggregate.
Um die Dinga anzutreiben brauchst du einen Keilriemen.

Da du keine Ahnung von Keilriemen hast, beschäftigst du dich erst
mal mit dem Keilriemen. Wie wird er benutzt, welche Dinge gibt
es zu beachten. Du wirst vielleicht erste Versuche mit einem
Keilriemen machen und dir mal das Handbuch des Riemens durchlesen.

Der springende Punkt: Wenn du dich mit dem Keilriemen beschäftigst,
ruht erst mal die Aufgabe "Auto bauen". Du verschwendest erst
mal keinen Gedanken daran. Du konzentrierst dich erst mal nur auf
dieses scheinbar winzige Detail: Keilriemen.

Und wenn du darüber alles weißt, kommt das nächste winzige Detail
dran. Das machst du solange, bis du aus diesen winzigen Details
eine größere Baugruppe zusammensetzen kannst und ev. irgendwann
den Motor fertig hast.

Und so gehts dann mit den anderen Bausteinen weiter. Solange zerlegen
bis man kleine, überschaubare Themen hat, die erschöpfend behandelt
werden können. In diese Themenkreise arbeitet man sich dann ein.
Zb. in dem man Tests durchführt, die nur dazu dienen Einsichten
zu erlangen.

großes Thema in kleinere Themen zerlegen -> aus den Lösungen
für die kleinen Themen dann die Lösung für das große Thema
wieder zusammensetzen.

Manchmal muß man in diesem Prozess auch Umwege gehen! Dazu gehört
auch der Umweg über ein paar Testprogramme die einzig und alleine
den Zweck haben, Einsicht zu erlangen, wie ein bestimmtes Detail
funktioniert oder abzuklären wo einen welche Verfahrensweise
hinführen wird. Hat man das mit diesem Testprogramm erreicht
dann hat der Mohr seine Schuldigkeit getan und das Testprogramm
verschwindet im Dunkeln der Geschichte.

von Karl H. (kbuchegg)


Lesenswert?

Und noch was:
Man kann nur dann ein Programm zur Lösung einer Aufgabe schreiben,
wenn man (zumindest im Prinzip) dieses Problem mit Papier und
Bleistift lösen könnte.
In der Tat ist das ein sehr guter Test ob man die Problemstellung
bzw. den angedachten Lösungsweg verstanden hat: Mit einem
Messgerät deiner Wahl mal die Eingangsgrößen messen (oder
sonst irgendwo die Werte herbekommen) und dann mal am Papier
durchspielen was da rauskommt.

Du sagst, du hast als Eingang irgendwelche Impulse.
Was sind das für Impulse? Was bedeuten sie? Welches
ist die interessante Messgröße? Wie hängen sie zusammen?

In meiner Studienzeit nannte ich das die 3 großen W-s
* /W/as habe ich?
* /W/as will ich?
* /W/ie ist der Zusammenhang?

Erst wenn ich diese 3 Fragen zufriedenstellend beantworten kann,
kann ich mit der eigentlichen Entwicklung loslegen.

Nehmen wir einfach mal an, dass die Frequenz der Impulse die
entscheidende Information ist. Wie errechnet sich dann die
gewünschte Größe aus dieser Frequenz?
Das muss man erst mal im Vorfeld in Erfahrung bringen!
Dann wäre es meiner Meinung nach erst mal angebracht, das auch
mal am Papier zu probieren. Also Frequenzzähler ran, ablesen
und mal in die Formeln einsetzen. Gibt es irgendwelche Sonderfälle?
Wie verändern sich dann die Gleichungen? Kann man das einfach
mal ausprobieren?

Aha: Du musstest also die Frequenz messen. Daraus folgt, dass
dein Programm zumindest mal einen Frequenzmesser benötigt.
Wie macht man sowas? Jetzt ist Literaturstudium bzw. Ideenfindung
angesagt. Wenn du dann endlich weißt, wie man Frequenzen messen
kann, kann man versuchen das mal in einem Testprogramm zu realisieren.
Wenn es dann funktioniert, stellt sich sofort die Frage: Verallgemeinert
das gewählte Verfahren bzw. Programm auch auf 2 zu messende
Kanäle? Wenn nein, wie könnte man das umändern?
Es könnte auch das Gegenteil passieren: Das du zunächst nicht weißt,
wie man einen Frequenzzähler machen kann, weil du gar nicht weißt
wie du die Signale in den Prozessor hineinkriegst. Also wirst
du dich vielleicht zunächst mal damit beschäftigen: Wie kann
ich eine externe Spannung per Programm auswerten und als externe
Spannung benutzt du ev. zunächst mal einen Taster, weil da die
zeitliche Komponente noch nicht mit ins Spiel kommt.

Und so führt dann eins zum anderen.
Mit jedem Schritt wird wieder ein Detail geklärt, bis du dann endlich
ein Programm hast, welches die interessierende Messgröße hinten
rausspuckt.

Merkst du was: Bis jetzt war von Excel überhaupt noch nicht die Rede
und das ist auch gut so. Bevor Excel interessant wird, gibt es
eine Menge anderer Details zu klären, auszuprobieren und in eine
endgültige Form zu bringen. Solange das alles nicht geklärt ist,
ist Excel so interessant, wie wenn in China ein Rad umfällt.

von Milas (Gast)


Lesenswert?

echt super erklärung  Karl

ich bin genau deiner meinung

häpchen für häpchen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.