Selbstbau Sky Quality Meter - einfach & günstig

Status
Es sind keine weiteren Antworten möglich.
Hallo,
bei so einem Komplettset wäre ich auch sofort dabei.
Und einen vorprogrammierten Arduino wäre noch besser.
Leider habe ich das hier zu spät gesehen, sonst wäre ich jetzt schon bei der Sammelbestellung dabei gewesen.

Gruß
Jörg
 
Das NEO-6M GPS Module ist bei mir angekommen.
Shipping aus China hat bloß 10 Tage gedauert. Ging diesmal sehr schnell.
Mal sehen wie lange die andere Teile brauchen werden.
Viele Grüße
Julien

 
Hallo Miteinander!
Da ich in deutschsprachigen Foren noch nichts zu dem Projekt gefunden habe, möchte hier kurz den Selbstbau eines Sky Quality Meters vorstellen und zum Nachbau animieren, da sehr einfach zu realisieren (auch für Nicht-Elektroniker) und ggü. Kaufvarianten deutlich günstiger.
Dann habe ich aber für "Nicht-Elektroniker" einen sinnvollen Vorschlag. Nach der Schaltung und Beschreibungen ist beim GPS Modul (Neo6MV) der Eingangs-Spannungsbereich zwar 3,3 V - 6 V, aber der Logikpegel liegt bei 3,6 V! Das ist in der Schaltung nicht berücksichtigt und kann zum Problem werden, wenn das Gerät mit dem Arduino (5V Logikpegel) verbunden wird. Während das Ausgangssignal des GPS Moduls TX (3,6V) als High Pegel erkannt wird und sicherlich kein Problem darstellt, sollte man den RX Regel über einen Spannungsteiler realisieren.

Ein ähnliches Problem hatten wir schon einmal mit einem Bluetooth HC06 Modul diskutiert...

Hier würde ich für das RX Signal des GPS Moduls in Reihe einen 4.7K und 10K gegen GND (Spannungteiler ca. 3,4V) beschalten.

Link zur Grafik: http://www.poguntkeweb.de/RXS.jpg

Ansonsten ein schönes Projekt. :super:

LG
Eberhard
 
Zuletzt von einem Moderator bearbeitet:
Hallo,

an alle die ein TSL137 bei mir bestellt haben. Die Lieferung ist heute angekommen. Bitte meldet Euch über PN, damit ich die Bezahlinfos mitteilen kann.

Eberhard vielen Dank für die Info. Werde ich berücksichtigen.

Viele Grüße
Horst
 
Hallo Frank,

es tut mit leid absagen zu müssen. Die Lieferung ist schon da und ich bin beim Versenden. Schau Dir doch mal den Beitrag von Julien an. Es ist ja auch ein durch aus guter Vorschlag alles bei "Aliexpress" zu bestellen.

Mit freundlichen Grüßen
Horst
 
Hallo,

kurze Frage zu der LED-Linse. Welche wäre da zu empfehlen...welche habt Ihr verbaut?

Besten Dank schon mal Vorab...

Kay
 
Hallo Kay,

ich habe meine bei Ebay bestellt:
4.48€ inkl. Versand für 10 Stück
die kommen direkt aus China. Dauert wie immer ein paar Woche.

hier den Link dazu: Link

Viele Grüße,

Julien
 
Zuletzt von einem Moderator bearbeitet:
Hallo Julien,
Du scheinst ja wirklich sehr gut eingekauft zu haben. Magst Du vielleicht die Links zu allen Teilen reinstellen, wie Du sie gekauft hast?
Damit hätten wir in diesem Thread auch eine Art Dokumentation, mit welchen Teilen das Projekt erfolgreich umgesetzt werden kann. Leser können dann entweder direkt Deinem Beispiel folgen (und sich die Suche sparen) oder eigene Einkaufsquellen nutzen.
Ich fände es klasse.

Falls Du es machst, schon jetzt ein großes Dankeschön!
 
Hallo Herwig,

Ich bestelle fast immer bei Aliexpress
https://de.aliexpress.com
wenn ich nichts finde, dann Ebay
http://www.ebay.de/

Ich würde allerdings keinen Link zu den einzeln Items geben, da die Links sehr schnell veraltet werden bzw. die Angebot / Anzeige vom Anbieter nur ein paar Woche dauern. Es gibt aber ständig neue, mit ähnlichen Preise.

Ich gebe Euch lieber die Begriffen, die ihr in die Suche Maschine von Aliexpress oder Ebay schreiben könnt:

Aliexpress:
- Arduino Nano: "Arduino Nano V3 ATmega168, CH340, mini USB"
- Ublox NEO 6M GPS Modul: "NEO-6M Ublox/u-blox Gps-modul für MWC/AeroQuad"
- OLED Display: "weiß 0,96 zoll OLED modul 128X64"
- TSL 237 Lichtsensor: "TSL237S-LF Licht Zu Frequency High Responsivity"
- LDR GL 5528 Fotowiderstand: "LDR Foto Light Sensitive Resistor GL5528"

Ebay:
- LED Linsen 20 Grad: "20 Grad Sicht Winkel Lampe LED Optisch Linse mit Schwarz Halter"

mit dem IR-Filter habe ich mich noch nicht beschäfitg. Wollte mir erst mal die Specs anschauen, die das Filter erfüllen muss, um eventuell ein IR-Filter aus einer DSLR Canon zu nutzen (habe ca. 20 Stücke da). Bin leider noch nicht dazu gekommen.

Also, wenn man das IR-Filter ausschliesst, haben mir alle Teile zusammen < 22€ (inkl. Versand) gekostet. Alles wurde innerhalb von 10 bis 20 Tage geliefert.

Montiert habe ich nocht nichts. Muss noch ein paar Dinge für andere Projekte erst mal fertig machen.

Ist jemand schon so weit?

Viele Grüße.

Julien
 
Zuletzt von einem Moderator bearbeitet:
Hallo,

den TSL237 habe ich nun an alle verschickt und sie müssten auch schon angekommen sein. Detlef hat sich allerdings noch nicht bei mir gemeldet. Wenn noch Interesse besteht, bitte eine Info (PN).
Zusammen gebaut habe ich noch nichts. Habe mich aber mal mit dem Programmieren des Arduino Nano beschäftigt. Da gibt es es ein Problem: Wenn ich mit dem Programmer "Arduino 1.8.1" das Programm "v218_OLEDI2C_NGPS_AGPS_NMEA.ino" lade und überprüfe oder hochladen möchte, kommt diese Fehlermeldung: Arduino: 1.8.1 (Windows 10), Board: "Arduino Nano, ATmega328"
F:\Archiv\Astro\SQM Sky Quality\v218_OLEDI2C_NGPS_AGPS_NMEA\v218_OLEDI2C_NGPS_AGPS_NMEA.ino:67:81: fatal error: FreqCounter.h: No such file or directory
#include <FreqCounter.h> // required for frequency measurement of TLS sensor
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board Arduino Nano.

Kann dazu jemand etwas sagen? Bei anderen Beispielprogrammen (z.B. "Blink") läuft alles normal.

Viele Grüße
Horst
 
Hallo Horst,

es gibt ein paar Dateien, wie z.B. die freq.h die ebenfalls mit runtergeladen werden müssen.

Habe den Code gerade nicht vor mir. Wenn Sie im Code per "< >" eingebunden ist, musst du sie als Bibliothek in die Arduino-Software einbinden (Menü unter sketches). Sollte Sie per Hochkomma in den Code eingebunden sein, kannst du sie einfach im entstandenen Verzeichnis des Sketches ablegen.

Wenn Probleme, melde dich gerne.

Beste Grüße,
Alex

 
Hallo Herwig,

ich habe mir in der Bucht diese Linsen besorgt: http://www.ebay.de/itm/370768912675

Müssten heute laut Anbieter ankommen.

Was vielleicht auch nicht schlecht wäre, wenn jemand das Layout für die Platine erstellen könnte und diese dann auch ätzen zu lassen. Eine einzelne geätzte Platine kostet so an die 10.- Euro.
Vielleicht ist ja der eine oder andere auch bereit dazu, gegen einen entsprechenden Obulus dies durchzuführen!?

Habe heute selbst mal versucht mich in EAGLE einzuarbeiten. Ist mir aber einfach zu aufwändig.
Die entsprechenden Module für den Arduino habe ich bisher leider auch noch nicht gefunden.


Grüße
Dieter
 
Hallo Dieter,

das offizielle SQM nutze eine Linse mit 20°. So habe ich meine bestellt. Siehe Post oben.

Du hast aber eine 30° Version bestellt. Wieso?
Ich hoffe diese Unterschied keine große Rolle in der Berechnung der Werte spielt.

Viele Grüße,

Julien
 
Hallo Julien,

in der Teileliste von Robert Brown ist die Linse mit 25 Grad angegeben. Diese konnte ich aber nirgendwo auftreiben. Also entweder 20 oder 30 Grad. Alex hat sogar welche mit 40 Grad verwendet, wenn ich seine Nachricht nach einer Kontaktaufnahme richtig verstanden habe.
Wenn alle Stricke reisen, kann ich mir immer noch die 20er bestellen.

Grüße
Dieter
 
Hallo Alex,
komme erst jetzt zum Antworten. Danke für die Info. Ich denke es ist auch für alle Anderen hilfreich. Es sind aber noch mehr Programmteile, die auf diese Art eingebunden werden müssen. Auf alle fälle funktioniert jetzt das Kompilieren und ich bin momentan dabei das GPS-Modul in Gang zu bringen. Soweit erst mal

Viele Grüße
Horst
 
Hallo,

Ich habe keine genau Specs zu dem UV/IR Filter gefunden. Ich glaube aber das Low Pass Filter #2 einer Canon würde gehen (für die Leute, die z.B ihre Kamera selbst modifizieren und so ein Filter übrig haben). Sonst, kann man bei Ebay eins kaufen (siehe unten).

Ich fasse nun alle Teile wieder zusammen, mit den Preise.

Aliexpress:
- Arduino Nano: "Arduino Nano V3 ATmega168, CH340, mini USB" -> 1.85€
- Ublox NEO 6M GPS Modul: "NEO-6M Ublox/u-blox Gps-modul für MWC/AeroQuad" -> 7.01€
- OLED Display: "weiß 0,96 zoll OLED modul 128X64" -> 2.4
- TSL 237 Lichtsensor: "TSL237S-LF Licht Zu Frequency High Responsivity" -> 4.81€
- LDR GL 5528 Fotowiderstand: "LDR Foto Light Sensitive Resistor GL5528" -> 0.57€

Ebay:
- LED Linsen 20 Grad: "20 Grad Sicht Winkel Lampe LED Optisch Linse mit Schwarz Halter" -> 4.48€
- UV-IR Filter: "9.5mm Pro 2 Optical Circular Blocking UV-IR CUT Filters" -> 1.56€

Kondensator und Widerstand hatte ich schon. Kosten aber < 1€

Also bleibt alles unter 25€ (ohne Gehäuse)

Viele Grüße,

Julien
 
Ich habe den Sensor testweise mal direkt an einen FT232 angeschlossen und sehe abwechselnd ca. 1,3 ms eine hohe Frequenz und 3,5 ms eine niedrige Frequenz. Ist das evtl. die Frequenz meiner LED-Schreibtischleuchte? Mir ist nicht klar, wie die Angabe auf Seite 6 im Datenblatt zu verstehen ist:

Step response to full-scale step input: 1 pulse of new
frequency plus 1us.

Wenn das bedeutet, dass lange Perioden bei Vorliegen einer höheren Frequenz abgebrochen werden, aber die Reaktionszeit darauf wenigstens 1 us länger als die Periode dauert, dann ist der Sensor recht schnell!

Umgedreht würde das bedeuten, dass man gleichmäßiges Himmelslicht von flimmerndem Kunstlicht unterscheiden könnte.

Michael
 
Hallo Astrofreunde,
ich klinke mich mal in die Runde ein. Ich versuche zur Zeit mit einem Arduino Uno und einem Ublox Neo 6m GPS Modul eine mobile Zeit und Koordinatenuhr zu bauen. Ich bekomme am seriellen Monitor mit unten angefügtem Code zwar die richtige Uhrzeit (GMT) angezeigt , allerdings stimmen die Koordinaten Lat/Long nicht mit dem tatsächlichen Standort überein.
Hat einer von euch eine Idee worans liegen kann.
Viele Grüße
Ortwin


#include <SoftwareSerial.h>



SoftwareSerial mySerial = SoftwareSerial(3, 4);
#define powerpin 4

#define GPSRATE 9600
//#define GPSRATE 38400


// GPS parser for 406a
#define BUFFSIZ 90 // plenty big
char buffer[BUFFSIZ];
char *parseptr;
char buffidx;
uint8_t hour, minute, second, year, month, date;
uint32_t latitude, longitude;
uint8_t groundspeed, trackangle;
char latdir, longdir;
char status;

void setup()
{
if (powerpin) {
pinMode(powerpin, OUTPUT);
}
pinMode(13, OUTPUT);
Serial.begin(GPSRATE);
mySerial.begin(GPSRATE);

// prints title with ending line break
Serial.println("GPS parser");

digitalWrite(powerpin, LOW); // pull low to turn on!
}


void loop()
{
uint32_t tmp;

Serial.print("\n\rread: ");
readline();

// check if $GPRMC (global positioning fixed data)
if (strncmp(buffer, "$GPRMC",6) == 0) {

// hhmmss time data
parseptr = buffer+7;
tmp = parsedecimal(parseptr);
hour = tmp / 10000;
minute = (tmp / 100) % 100;
second = tmp % 100;

parseptr = strchr(parseptr, ',') + 1;
status = parseptr[0];
parseptr += 2;

// grab latitude & long data
// latitude
latitude = parsedecimal(parseptr);
if (latitude != 0) {
latitude *= 10000;
parseptr = strchr(parseptr, '.')+1;
latitude += parsedecimal(parseptr);
}
parseptr = strchr(parseptr, ',') + 1;
// read latitude N/S data
if (parseptr[0] != ',') {
latdir = parseptr[0];
}

//Serial.println(latdir);

// longitude
parseptr = strchr(parseptr, ',')+1;
longitude = parsedecimal(parseptr);
if (longitude != 0) {
longitude *= 10000;
parseptr = strchr(parseptr, '.')+1;
longitude += parsedecimal(parseptr);
}
parseptr = strchr(parseptr, ',')+1;
// read longitude E/W data
if (parseptr[0] != ',') {
longdir = parseptr[0];
}


// groundspeed
parseptr = strchr(parseptr, ',')+1;
groundspeed = parsedecimal(parseptr);

// track angle
parseptr = strchr(parseptr, ',')+1;
trackangle = parsedecimal(parseptr);


// date
parseptr = strchr(parseptr, ',')+1;
tmp = parsedecimal(parseptr);
date = tmp / 10000;
month = (tmp / 100) % 100;
year = tmp % 100;

Serial.print("\nTime: ");
Serial.print(hour, DEC); Serial.print(':');
Serial.print(minute, DEC); Serial.print(':');
Serial.println(second, DEC);
Serial.print("Date: ");
Serial.print(month, DEC); Serial.print('/');
Serial.print(date, DEC); Serial.print('/');
Serial.println(year, DEC);

Serial.print("Lat: ");
if (latdir == 'N')
Serial.print('+');
else if (latdir == 'S')
Serial.print('-');

Serial.print(latitude/1000000, DEC); Serial.print((char)176); Serial.print(' ');
Serial.print((latitude/10000)%100, DEC); Serial.print('\''); Serial.print(' ');
Serial.print((latitude%10000)*6/1000, DEC); Serial.print('.');
Serial.print(((latitude%10000)*6/10)%100, DEC); Serial.println('"');

Serial.print("Long: ");
if (longdir == 'E')
Serial.print('+');
else if (longdir == 'W')
Serial.print('-');
Serial.print(longitude/1000000, DEC); Serial.print((char)176); Serial.print(' ');
Serial.print((longitude/10000)%100, DEC); Serial.print('\''); Serial.print(' ');
Serial.print((longitude%10000)*6/1000, DEC); Serial.print('.');
Serial.print(((longitude%10000)*6/10)%100, DEC); Serial.println('"');

}
//Serial.println(buffer);
}

uint32_t parsedecimal(char *str) {
uint32_t d = 0;

while (str[0] != 0) {
if ((str[0] > '9') || (str[0] < '0'))
return d;
d *= 10;
d += str[0] - '0';
str++;
}
return d;
}

void readline(void) {
char c;

buffidx = 0; // start at begninning
while (1) {
c=mySerial.read();
if (c == -1)
continue;
Serial.print(c);
if (c == '\n')
continue;
if ((buffidx == BUFFSIZ-1) || (c == '\r')) {
buffer[buffidx] = 0;
return;
}
buffer[buffidx++]= c;
}
}
 
Hallo in die SQM-Runde,

scheint, als wenn der ein oder andere Probleme mit dem initialen GPS fix bzw. Inbetriebnahme des GPS Moduls hat.

Hat es, bei denen von Euch, die das SQM schon gebaut haben problemlos geklappt, dass das GPS die Daten ausspuckt/anzeigt?

Habe Robert Brown auch nochmal eine Mail geschrieben, ob da softwaremäßig für den initial GPS fix was zu machen ist.

Grüße,
Alex
 
Hallo Alex,
habe mal gewartet bis sich jemand diesbezüglich meldet. Bei mir funktionierte es auch nicht. Auf irgend einer Google-Seiten habe ich gelesen, dass RX und TX vertauscht werden müssen. das tat ich und dann wurden die Daten angezeigt.
Im Programm sind auch die Anschlüsse so definiert:
#define SerialPortSpeed 9600
#define GPSPortSpeed 9600
// declare pins used for gps
#define rpin 7 (RX)
#define tpin 6 (TX)
Ist schon komisch, dass der Schaltplan dies nicht erkennen lässt.

Viele Grüße
Horst
 
Hallo Alex, hallo Horst und alle anderen Nachbauer,

genau das war´s: nach vertauschen der beiden Pin´s zeigt das SQM endlich die Daten an!

Vielen Dank an euch beide
Dieter
 
Hallo zusammen,

ich komme dabei auch immer leicht durcheinander.

Der RX-Pin vom GPS Modul muss auf den designierten TX Pin vom Arduino und umgedreht. (aber nicht dem richtigen TX bzw. RX Pin am Arduino, da ja Software- und nicht Hardware-Serial genutzt wird)

RX = receive / empfangen
TX = transmit / übertragen bzw. senden

Logischweise muss ein Eingang (Empfang / RX) mit einem Ausgang (TX / Senden) zusammen hängen.

Wenn man das ganze falsch zusammen gelötet haben sollte, könnte man auch die Zuordnung im Code vertauschen.

Gruß,
Alex
 
Zitat von ortwin:
Hallo Astrofreunde,
ich klinke mich mal in die Runde ein. Ich versuche zur Zeit mit einem Arduino Uno und einem Ublox Neo 6m GPS Modul eine mobile Zeit und Koordinatenuhr zu bauen. Ich bekomme am seriellen Monitor mit unten angefügtem Code zwar die richtige Uhrzeit (GMT) angezeigt , allerdings stimmen die Koordinaten Lat/Long nicht mit dem tatsächlichen Standort überein.
Hat einer von euch eine Idee worans liegen kann.
Viele Grüße
Ortwin


Hallo Ortwin,
was bekommst du denn für Lon, Lat angezeigt?


@alle:
Habe meinem SQM mittlerweile auch ein Gehäuse spendiert. Gewinnt keinen Schönheitswettbewerb, funktioniert aber. Der erste GPS fix dauert bei den NEO6M Modulen echt lange.

Bin zwischenzeitlich wieder mit Robert in Kontakt bzw. habe begonnen Teile des Unihedron-Protokolls zuzufügen.

Wenn man Sky Quality Tracking bspw. in APT aktiviert, sendet das einmal die Minute ein "rx" an den COM-Port, erhält aber aktuell natürlich keine Antwort darauf.

Die Antwort muss "nur" so aussehen 'r, SQM-Wert'.

Sollte ich das mit Roberts Unterstützung hinbekommen, poste ich gerne den Code.

In APT lässt sich der SQM Wert dann sogar im Namen der Bilddatei ablegen, was eine spätere Sortierung/Aussiebung, wenn die Monti allein läuft, erleichtert.

Fehlt dann nur noch ein IR-Thermometer und man hat die Himmelsqualität recht gut im Blick :-)


Erstmal schöne Grüße,
Alex
 
Hi Ortwin,

dann läuft scheinbar mit der Umrechnung was nicht richtig. Schau dir mal die Rohdaten des GPS Moduls an und arbeite am besten mit einer GPS Libary, welche die ganze Umwandlung übernimmt und die du einfach per z.B. GPS.funktion, etc. ansprechen kannst.

Gruß,
Alex
 
Hallo zusammen,

heute Abend kommt noch ein Update auf v219 raus.
Das SQM spricht dann auch mit APT via Unihedron SQM-LU Protokoll. Robert war so nett, dass zu implementieren und ich habe es vorhin testen können, funktioniert einwandfrei.

Wichtig nach dem Update, die Geschwindigkeit des COM-Ports auf 115200 baud stellen.

In APT unter T° & Sky auf SQM-LU stellen, COM-Port und gewünschte Auslese-Rate (z.B. 1 min) einstellen.

Beste Grüße,
Alex
 
Status
Es sind keine weiteren Antworten möglich.
Zurück
Oben