Forum: Mikrocontroller und Digitale Elektronik Heliostat Spiegelberechnung


von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

Hallo die Damen und Herren!

Hab grade bei meinem Balkonheliostatprojekt, wo ich das Sonnenlicht in 
die Küche aktiv nachgeführt spiegeln will, eine kleine Frage:

Ich kenne meine Zeit, und meinen Aufstellungsort. Daraus ergibt sich die 
Sonnenposition (SonneAlt und SonneAzim).
Ich weiß wo ich mein Ziel habe (TargetAlt und TargetAzim).
Hab da auf 
http://www.cerebralmeltdown.com/arduino-sun-tracking-heliostat-program-download-page/ 
folgendes gefunden, was mir weiterhelfen kann, die Spiegelausrichtung zu 
berechnen:
1
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2
//This code calculates the angles for the heliostat (returnaltaz = 1 will return alt, 2 returns az)
3
void FindHeliostatAltAndAz(float SunsAltitude, float SunsAzimuth, float targetalt, float targetaz, float &machinealt, float &machineaz){
4
5
  float x,y,z,z1,z2,x1,x2,y1,y2,hyp,dist;
6
  
7
  z1 = sin(to_rad(SunsAltitude));
8
  hyp = cos(to_rad(SunsAltitude));
9
  x1 = hyp*cos(to_rad(SunsAzimuth*-1));
10
  y1 = hyp*sin(to_rad(SunsAzimuth*-1));
11
12
  z2 = sin(to_rad(targetalt));
13
  hyp = cos(to_rad(targetalt));
14
  x2 = hyp*cos(to_rad(targetaz*-1));
15
  y2 = hyp*sin(to_rad(targetaz*-1));  
16
  
17
  x=(x1-x2)/2+x2;
18
  y=(y1-y2)/2+y2;
19
  z=(z1-z2)/2+z2;
20
  
21
  dist=sqrt(x*x+y*y+z*z);
22
  if ((dist>-0.0001) && (dist <0.0001)){
23
  dist=0.0001;
24
  }
25
26
  machinealt=to_deg(asin(z/dist));
27
  machineaz=to_deg(atan2(y*-1,x));
28
29
}
30
31
float to_rad(float angle){
32
return angle*(pi/180);
33
}
34
float to_deg(float angle){
35
return angle*(180/pi);
36
}

Scheint auch mathematisch verständlich zu sein.
Jetzt meine Frage:
Da die sin und cos Berechnungen lange dauern, warum nicht einfach so 
berechnen:
1
MaschineAlt = (SonneAlt + TargetAlt) / 2
2
MaschineAzim = (SonneAzim + TargetAzim) / 2

Also Spiegel soll sich auf halben Winkel zw. Ziel und Sonne stellen.

Wo ist mein Denkfehler?
Oder wär das sogar korrekt, und könnte mir den ganzen Spaß mit den sin 
cos sparen?

von mike (Gast)


Lesenswert?

Martin G. schrieb:
> Da die sin und cos Berechnungen lange dauern, warum nicht einfach so
> berechnen:

Was denkst du, wie lange eine Berechnung dauert und wie schnell sich im 
Vergleich dazu die Erde dreht?

von Wolfgang (Gast)


Lesenswert?

Martin G. schrieb:
> Oder wär das sogar korrekt, und könnte mir den ganzen Spaß mit den sin
> cos sparen?

Guck dir dir mal die Berechnung des Sonnenstandes an. Da kommt es auf 
die paar zusätzlichen sin() und cos() Aufrufe für die Spiegelstellung 
auch nicht mehr drauf an.

Die ganze Berechnung findet in Kugelkoordinaten statt. Da funktioniert 
das mit einfachem Winkelhalbieren nur für kleine Winkel halbwegs genau.

von c-hater (Gast)


Lesenswert?

Martin G. schrieb:

> Oder wär das sogar korrekt, und könnte mir den ganzen Spaß mit den sin
> cos sparen?

Kannst du natürlich.

Jedenfalls, so lange du alle drei Winkel in beiden Dimensionen im 
Bereich zwischen 0 und Pi halten kannst, wird es problemlos 
funktionieren...

von Yalu X. (yalu) (Moderator)


Lesenswert?

Martin G. schrieb:
> Da die sin und cos Berechnungen lange dauern, warum nicht einfach so
> berechnen:
>
>  MaschineAlt = (SonneAlt + TargetAlt) / 2
>  MaschineAzim = (SonneAzim + TargetAzim) / 2

Einfaches Gegenbeispiel:
1
SonneAlt   =  0°
2
SonneAzim  =  0°
3
TargetAlt  = 90°
4
TargetAzim = 90°

Nach deiner Berechnung käme
1
MaschineAlt  = 45°
2
MaschineAzim = 45°

heraus. Richtig wäre aber
1
MaschineAlt  = 45°
2
MaschineAzim =  0°

Das ist jetzt zwar ein Beispiel, das in der Praxis wahrscheinlich nicht
vorkommen wird. Der Fehler tritt aber auch bei anderen Winkeln auf, nur
ist er dort nicht so offensichtlich.

> Ich kenne meine Zeit, und meinen Aufstellungsort. Daraus ergibt sich die
> Sonnenposition (SonneAlt und SonneAzim).

Wenn du die Exzentrizität der Erdbahn berücksichtigst, ist diese
Berechnung noch viel komplizierter als die der Spiegelorientierung. Da
kommt es auf die paar Sinusse und Cosinusse mehr doch auch nicht mehr
an (s. Kommentar von Wolfgang).

Oder liest du die Sonnenposition aus einer Tabelle? Dann kannst du ja
gleich eine Tabelle für die Spiegelorientierung in Abhängigkeit von der
Zeit anlegen, und der µC muss fast überhaupt nichts mehr rechnen.

Da das Target kein Punkt, sondern eine ganze Küche ist, muss die
Berechnung wahrscheinlich nicht sehr genau sein. Vielleicht ist deine
vereinfachte Formel diesbezüglich genau genug. Du könntest für die
konkrete Targetposition und alle real vorkommenden Sonnenpositionen den
maximalen Fehler ermitteln und dann entscheiden, ob die Genauigkeit
ausreichend ist.

: Bearbeitet durch Moderator
von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

Danke für das Gegenbeispiel!
Sehr aufschlußreich :D

von Simeon H. (simeon_h)


Lesenswert?

Hallo,
Hier mal einen Einblick in unseren Heliostat im Rahmen eines 
Studienprojektes:

https://youtu.be/3E1OmophBaM?si=ZXqAMzV-OQ5HF9N4

bei Fragen gerne melden!

von Axel R. (axlr)


Lesenswert?

Dazu hab ich tatsächlich ne Frage!
Warum wird in Hannover nicht deutsch gesprochen?!? Weil man Englisch 
kann und auf 'ner Hochschule ist? Für mich völlig unverständlich. Wenn 
man untereinander in dieser Mundart kommuniziert, um irgendwie auf einen 
Nenner zu kommen, so kann ich das aus praktischen Gründen 
nachvollziehen. Man hat sogar die Chance, sich etwas von den native 
Speakern abzuschauen und/oder die Möglichkeit, sich deren Dialekt 
anzunehmen. Offensichtlich wird dort aber nur deutsches Englisch 
gesprochen. Für ein Youtube-Video ist das für den Zuhörer einfach nur 
anstrengend.
Aber schön, unter allen "Heliotstat-Artikeln" hier im Forum den Link zu 
platzieren, egal, wie alt die Beiträge sind.

von Carlos (Gast)


Angehängte Dateien:

Lesenswert?

Axel R. schrieb:
> ... Hannover nicht deutsch ... Heliotstat ... egal, wie alt

desorientiert in Raum und Zeit?

hier etwas Futter zum Frühstück, Du armer schwarzer Kater ;)

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Hier noch ein Beispiel "in klein" mit Schrittmotoren. Als MC ein ESP32 
...

https://www.instructables.com/Heliostat-Reflects-Sunlight-Inside/

inkl. Code.

von Bernd G. (Gast)


Lesenswert?

mike schrieb:
> Was denkst du, wie lange eine Berechnung dauert und wie schnell sich im
> Vergleich dazu die Erde dreht?

In der Astrophotografie, wo es ähnlich schnell aber viel genauer sein 
muss, stellen wir mit 100 ... 250 Berechnungen in der Sekunde nach. Das 
erfordert allerdings ein sehr genaues Schrittmotor-System mit 
langgängiger ÜBersetzung.

von Rainer W. (rawi)


Lesenswert?

Frank E. schrieb:
> Hier noch ein Beispiel "in klein" mit Schrittmotoren. Als MC ein ESP32

Hübsch gemacht als Demonstrationsobjekt.
Kleine Kritik: Bei Verwendung von Schnecken an Stelle der kleinen 
Zahnräder wäre das Getriebe selbst hemmend und der Schrittmotoren müsste 
nicht dauernd ein Moment aufbringen, um den Spiegel auf Position zu 
halten.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Bernd H. schrieb:
> In der Astrophotografie, wo es ähnlich schnell ... sein muss ...

In der Astrophotographie muss das Teleskop viel schneller bewegt werden.
Bei einem Heliostat hat der Spiegel mehrere Stunden Zeit, um vom 
Sonnenuntergangspunkt wieder auf den Sonnenaufgangspunkt zu fahren, 
während man beim Teleskop nicht stundenlang warten möchte, bis das 
Teleskop sich zu einem neuen Objekt bewegt hat.
Noch kritischer ist die Geschwindigkeit bei der Verfolgung von 
Satelliten.

von Rahul D. (rahul)


Lesenswert?

[Offtopic]
Rainer W. schrieb:
> Kleine Kritik: Bei Verwendung von Schnecken an Stelle der kleinen
> Zahnräder wäre das Getriebe selbst hemmend und der Schrittmotoren müsste
> nicht dauernd ein Moment aufbringen, um den Spiegel auf Position zu
> halten.

Gute Idee. Das dürfte die Machen von "instructables.com" vielleicht 
sogar interessieren...
[/Offtopic]

von Bernd G. (Gast)


Lesenswert?

Rainer W. schrieb:
> In der Astrophotographie muss das Teleskop viel schneller bewegt werden.
> Bei einem Heliostat hat der Spiegel mehrere Stunden Zeit, um vom
> Sonnenuntergangspunkt wieder auf den Sonnenaufgangspunkt zu fahren,

Nein, falsch gedacht!

Die Sterne bewegen sich praktisch genau so schnell wie die Sonne, 
nämlich mit der Erddrehung. Das Ausgleichen der Position bei Astro muss 
aber so genau sein, dass der Punkt exakt im Fokus bleibt, weil sonst die 
Aufnahme verwackelt. Das käme einer sehr exakten Sonnenstrahljustierung 
bis auf wenige Bogensekunden genau gleich, die es bei der 
Küchenbeleuchtung sicher nicht braucht.

Die Schlussfolgerung ist also eindeutig, dass man bei Astro ein 
Vielfaches genauer sein muss. Da ich eingeführt hatte, dass dort eine 
Positionierung mit maximal 3-4x overscans erfolgt (60 fps guide Kamera 
-> 60 ... 240 fps) folgt daraus, dass man maximal 240 Bilder pro Sekunde 
verarbeiten muss und damit Neupositionen.

Die genauesten und stärksten übersetzen Getriebe mit SMs benötigen dazu 
aber insgesamt immer viel weniger Impulse. D.h. nicht bei jeder 
Berechnung wird der SM neu gesteuert. Meine ZWO z.B. liefert mir 2x60 
Bilder/s und der SM tickt etwa grob gesagt, jedes zweite-dritte Bild 
einen Teilstep weiter. Insgesamt werden bei einer Belichtung von z.B. 
100sec für ein Kamerabild immerhin 12.000 Bilder von der guide CAM 
gemacht und dabei rund 5000 stepper Positionen neu berechnet, um die 
Präzision zu erzielen.

Ein einmal gefasster Stern bleibt damit im Bereich +/- 1-2 Sensorpixel 
im Fokus, obwohl sich die Erde dreht!

Für die Küchenbeleuchtung braucht es sicher nur 1/1000 der Präzision, 
also einige wenige Positionen je Minute. Das ist ein Klacks für einen 
kleinen Controller.

von Bernd G. (Gast)


Lesenswert?

Rainer W. schrieb:
> während man beim Teleskop nicht stundenlang warten möchte, bis das
> Teleskop sich zu einem neuen Objekt bewegt hat.

Der Schrittmotor kann natürlich auch im Vollschritt und permanent 
laufen. Mein Celestron schwenkt 90° quer über den Himmer in weniger als 
10 Sekunden!

von Rainer W. (rawi)


Lesenswert?

Bernd H. schrieb:
> Der Schrittmotor kann natürlich auch im Vollschritt und permanent
> laufen. Mein Celestron schwenkt 90° quer über den Himmer in weniger als
> 10 Sekunden!

Eben, der Heliostat hat das nicht nötig. Auch bei Nachführung auf die 
Sonne muss er nur halb so schnell laufen, wie ein Teleskop ;-)

Bernd H. schrieb:
> Nein, falsch gedacht!

Doch - hohe Geschwindigkeit braucht man beim Schwenken auf ein anderes 
Objekt oder beim Nachführen auf Satelliten (ISS).

> Insgesamt werden bei einer Belichtung von z.B.
> 100sec für ein Kamerabild immerhin 12.000 Bilder von der guide CAM
> gemacht und dabei rund 5000 stepper Positionen neu berechnet, um die
> Präzision zu erzielen.
[OT]Du willst mit dem Hauptspiegel nicht das Seeing ausregeln, oder?
Zwischen zwei Bildern dreht sich die Erde um 125 mas, während das Seeing 
den Stern um einen Faktor 20 stärker bewegen dürfte. Da musst du kräftig 
filtern, bevor du damit das Teleskop steuerst oder du eierst nur im 
Getriebespiel rum[/OT]

von Norbert (der_norbert)


Lesenswert?

Bernd H. schrieb:
> Die Sterne bewegen sich praktisch genau so schnell wie die Sonne,

Das machen die?
Die machen das?
Das die das machen… ;-)

von Hugo H. (hugo_hu)


Lesenswert?

Norbert schrieb:
> Das machen die?

Ja - Expansion des Weltalls :-)

von Norbert (der_norbert)


Lesenswert?

Hugo H. schrieb:
> Ja - Expansion des Weltalls :-)

Nette Antwort, hatte ich schon mit gerechnet. Wieso hat das so lange 
gedauert?

Hat aber leider mit der ursprünglichen Aussage wenig gemein. ;-)

PS. Hier noch ein Schenkelklopfer: Wenn die sowieso alle abhauen, muss 
man dann ständig den Focus nachstellen?

: Bearbeitet durch User
von Hugo H. (hugo_hu)


Lesenswert?

Norbert schrieb:
> Wieso hat das so lange
> gedauert?

Weil ich nicht all meine Zeit in diesem Thread / Forum verbringe ...

von Bernd G. (Gast)


Lesenswert?

Rainer W. schrieb:
> Doch - hohe Geschwindigkeit braucht man beim Schwenken auf ein anderes
> Objekt oder beim Nachführen auf Satelliten (ISS).

Wie ich erklärt habe, schwenkt die GOTO binnen Sekunden ausreichend 
schnell. Ob ich 2 oder 20 Sekunden waren muss, bis ein Bild anvisiert 
ist, ist ziemlich Wurscht. Die Belichtungen laufen ohnehin über Stunden!

Rainer W. schrieb:
> Du willst mit dem Hauptspiegel nicht das Seeing ausregeln, oder?
Natürlich nicht - wie denn auch? Ich verwende für die Astrofotografie 
auch keinen Spiege (Newton) sondern einen Refraktor.

> Zwischen zwei Bildern dreht sich die Erde um 125 mas,
und die müssen ausgegleichen werden, weil es sonst Striche gibt

> den Stern um einen Faktor 20 stärker bewegen dürfte. Da musst du kräftig
> filtern
das passiert postprozessierend mit PixInsight

> du eierst nur im Getriebespiel rum
Meine GOTO hat praktisch Null Spiel.

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.