Hauptmenü

ASEQ-Spektrometer

Begonnen von Horst Wörmann, Mai 18, 2021, 17:55:49 NACHMITTAGS

Vorheriges Thema - Nächstes Thema

Horst Wörmann

Frage an die Spektroskopiker:

Hat jemand außer Hugojun, Holger Adelmann und mir ein ASEQ-Spektrometer in Betrieb und eigene Software dazu erstellt?

Viele Grüße aus Bonn
Horst

MiR

#1
Hallo Horst,

ja, in der Tat, auch ich benutze ein LR1 bzw. LR1-T (etwas älteren Datums, jene mit 2^14 Bit Auflösung) mit selbstgeschriebenem Programm. Anbei eine Abbildung des Anwendungs-Fensters. Es werden alle Hardware-Funktionen unterstützt, nebst den "üblichen" Sachen  zur Spektroskopie (glätten ...). Damit mir nicht dauernd Licht auf den Detektor fällt, wird ein FTDI-Wandler (TTL-USB) angesteuert, um die Blende der Lichtquelle (via TTL) schalten zu können. Gelegentlich kommen auch USB-Relais zu Einsatz.  Fragen sind immer wiillkommen ...

Viele Grüße aus Berlin,
Michael

PS: Ich benutze mal die forenübliche und lockere Anrede, müsste sonst den Cursor wieder ganz an den Anfang des Textes bewegen :-)



Horst Wörmann

Hallo Michael,

das sieht schon sehr gut aus.
Ich habe Probleme mit den dürftigen Unterlagen zum ASEQ, vielleicht kannst Du mir auf die Sprünge helfen.
Weil das nur eine mikroskopisch kleine Minderheit im Forum interessieren dürfte, alles weitere per PN.

Viele Grüße
Horst

Stuessi

Zitat von: Horst Wörmann in Mai 19, 2021, 11:55:23 VORMITTAG

Weil das nur eine mikroskopisch kleine Minderheit im Forum interessieren dürfte, alles weitere per PN...


Hallo Horst,

schade, die kleine Minderheit hat sicher auch Interesse!

Gruß,
Rolf


Peter V.

Hallo Horst,

so klein ist die Minderheit nicht!! Bitte gerne hier diskutieren!

Danke

Herzliche Grüße
Peter
Dieses Post wurde CO2-neutral erstellt und ist vegan. Für 100 Posts lasse ich ein Gänseblümchen in Ecuador pflanzen.

Horst Wörmann

Liebe Kollegen,

da habe ich mich ja doch über das Interesse getäuscht... fühle mich immer von Schnibblern und Tümplern umzingelt.
Aber laßt mich erst mal das Problem in Ruhe lösen, dann werde ich berichten. Versprochen.

Viele Grüße
Horst

hugojun

Hallo Michael,

wenn es sich bei der Software nicht um LabVIEW handelt, würde es mich auch interessieren.
Ich betreibe ein LR1 der ersten Stunde und es reagiert auf die Hersteller Software CheckTr_2.
Welche Optionen und / oder Vorteile bietet ein ,,DIY"-Software?


LG
Jürgen

Horst Wörmann

Hallo Jürgen,

der Vorteil selbstgestrickter Software liegt für mich auf der Hand: kostet nix außer Zeit.
Ganz im Gegenteil zu LabView, aber auch da muß man sich was zusammenbasteln. Vorteil LabView ist die Verfügbarkeit mathematischer Funktionen, sagt Holger.
Die beim ASEQ mitgelieferte Software ist sehr minimalistisch und für mich unbrauchbar. Spectragryph kann mit dem ASEQ kommunizieren, ist aber mit Funktionen überladen, wird auf meinem Bildschirm nicht richtig angezeigt, und ich verheddere mich immer wieder in dem Programm.
Beim Selbstgebastelten kann man dagegen alles so auf dem Bildschirm anordnen, wie es am besten in den eigenen Arbeitsablauf paßt. Optionen: alles, was sich programmieren läßt. Zum Beispiel einen Shutter steuern oder ein Filterrrad.
Deshalb versuche ich ja, das ASEQ mit meiner vorhandenen Software (für Zeiss/tec5 MCS) zu nutzen, da braucht man sich nicht umzugewöhnen (was für einen alten Knacker ein Vorteil ist...).

Viele Grüße
Horst

Holger Adelmann

Hallo Horst & Jürgen,

sorry für meine Zurückhaltung, ich war / bin ziemlich beschäftigt mit diversen Publikationen (Geol. Jahrbuch Hessen, Internat. Workshop Montanarchäologie, Aufschluss ...), daher konnte ich nicht viel mit dem ASEQ Spektrometer arbeiten.
Man hat in LabView nicht nur einzelne Funktionsgruppen sondern bereits eine einfache Anwendung, die man dann nach Belieben erweitern kann, ich hänge mal einen Screenshot an.
Es gibt auch C++ Bibliotheken die Du verwenden kannst, Horst.
Mit einer Anwendung in LabView kann man natürlich dann auch alle mathematischen / statistischen Nachanalysen machen mit den mächtigen Möglichkeiten von LabView, und natürlich aus der Spektrometer-Applikation heraus direkt Hardware steuern. Es gibt ja wie ich schon mal gezeigt habe schöne LabView Bibliotheken für den Arduino ...

Man kann sich übrigens eine kostenlose LabView Community Edition herunterladen, die für den strikt persönlichen Gebrauch frei ist und keine signifikanten Einschränkungen gegenüber der Vollversion hat.

Viele Grüße,
Holger

Horst Wörmann

Hallo Holger,

das ist ja alles sehr schön mit LabView, aber auch damit muß man sich was zusammenbasteln - für mich hieße das Beginn von ganz vorne.
Mein Ziel ist die Einbindung des ASEQ in die schon vorhandene Software; die Grundfunktionen sind schließlich bei allen Spektrometer gleich (also Integrationszeit einstellen, Mittelwertbildung, Startsiganl etc).
Dazu brauche ich aber Informationen zur Datenübertragung, konkret: getFrame -> Intensitätsdaten für jedes Pixel vom ASEQ in das Array. Die ASEQ-Informationen sind minimalistisch, das Muster-Basic-Programm läuft, gibt aber nur scheinbar Werte aus.
Ich nehme an, für LabView gibt es eine eigene DLL, die mit Basic nicht harmoniert? Trotzdem müßte man doch auch mit LabView herausfinden können, welche Daten man an das ASEQ schicken muß und in welchem Format sie wieder herauskommen.

Viele Grüße
Horst

MiR

#10
Hallo Horst, Jürgen und Rolf,

uii, damit hätte ich auch nicht gerechnet, dass es doch einige Interessenten mehr gibt. Also noch mal meine Antwort an Horst für die "Mikro-Gemeinde" sowie einige zusätzliche Anmerkungen.
Wie sich herausstellte, besitzt Horst ein "HR1"-Spektrometer und andere (wie z.B. ich) ein LR1- bzw. ein LR2-Spektrometer. Nun ist es so, dass das HR1 ein 16Bit-AD-Wandler besitzt und die LR-Typen einen 14Bit-Wandler. Das führt dazu, dass die Basis-DLL's nicht identisch sind. Der Vollständigkeit halber die Namen der Bibo's: "spectrlib-shared.dll" sowie "adcDll1.dll".  Das macht die Sache (für mich)  etwas komplizierter um Horst wirklich helfen zu können.

----- Zitat aus der Email an Horst:
"Darüber hinaus verwende ich (überwiegend) eine MS-ferne Programmiersprache was die Vergleichbarkeit auch nicht einfacher macht. Ich habe allerdings mal die Inhalte der Bibo's verglichen und festgestellt dass die Übergabeparameter identisch sind. Ich kann an deinem Aufruf kein Problem entdecken. So weit so gut, nutzt uns aber letztendlich auch nichts, da ich keinen echten Test durchführen kann.
Allerdings kann ich mich erinnern, ein sehr ähnliches Problem gehabt zu haben, letztendlich hat sich herausgestellt, dass das Setzen der, nicht unbedingt voneinander unabhängigen, Parameter stimmig sein muss. Also der Fehler nicht bei dem eigentlichen Abholen der Spektren bestand.
Und generell funktioniert doch die Werteübergabe, du erhältst Werte, wenn auch nicht jene die du erwartest. Auch das spricht m.E. eher dafür, das ,,Getframe"  genau jenes macht, was es soll. In dem von dir verlinkten Beispiel gibt es doch eine bereits kompilierte Fassung des VB-Net-Beispiels, funktioniert diese Applikation (auch) nicht ?  Ich kann zumindest im Original-Sourcecode nichts Problematisches entdecken. Das Projekt wird klaglos in Visual Studio 12 geladen und ausgeführt. Ob sich ein Fehler in deinen ,,Nachbau" eingeschlichen hat, kann ich ohne Kenntnis deines Programms nicht sagen."

Zitatende-----------

Sicherlich wird es immer die Diskussion geben, welche Programmierumgebung denn nun am geeignetsten wäre ... , was aber abschließend kaum zu klären sein dürfte :-)

Jürgen wollte wissen, ob meine Software mit LAbVIEW erstellt worden ist. Nein, ist sie nicht! Ich benutze "GFA-Basic 32", eine C-nahe Basic-Variante mit Assembler. Früher mal eine kommerzielle Software, inzwischen frei verwendbar, wird aber trotzdem noch durch Sjouke Hamstra ( http://gfabasic32.blogspot.com/ ) gepflegt.
Software, u.a. für Geräte, erstelle ich deshalb selber, weil die beigelegte oder zu erwerbende Software, nie wirklich das macht, was und wie man sich es wünscht. Was natürlich auch nicht zu erwarten ist (siehe Windows :-) ). Sicherlich kann man so etwas in Auftrag geben, leider ist aber mein Programmier-Geldbäumchen seit vielen Jahren außer Betrieb (Reparatur¬anleit¬ungen sind natürlich willkommen .-) ), so dass sich dieser Weg nicht ergibt. Außerdem ist es gar nicht so einfach, seine Wünsche in einem Auftrag zu formulieren, na gut, ich schweife ab. 
Einige wesentliche Punkte zu meinem Programm für das LR1 bzw. LR2 (Übrigens: ja Jürgen, die checktr (2).exe kommt mir sehr bekannt vor ... )
1) alle Funktionen auf einem Fenster platziert, ohne jede Menge von (Unter)-Menüs ...
2) Cursor für Auslesen (einstellbare WL, Auswahl des Spektrums) während einer Messaktion ... (in der oberen Abbildung nicht sichtbar)
3) zeitgesteuerte Aufnahme (via Tabelle) möglich                                                                          (Funktion in der oberen Abbildung nicht sichtbar)
4) automatisches Abspeichern mit Datei-Inkrement (Einzelspektrum) bzw. das manuelle Abspeichern aller "gehaltenen" Spektren in einer Datei bzw. Einzeldateien
5) Glätten u. a. gängige math. Operationen möglich (siehe Abbildung)
6) Einbindung von weiterer Hardware (siehe vorherige Antwort an Horst), sowie auch eine Motorsteuerung für polarisierte Messungen (Drehversteller) bzw. die Ansteuerung eines Mikroskoptisches (MCL von Lang)  (Option in der oberen Abbildung nicht sichtbar)


Viele Grüße aus Berlin
Michael


PS: Sollte ich jemande(n) in der Anrede vergessen haben, bitte ich im Voraus um Entschuldigung  ...

Horst Wörmann

#11
Hallo Michael,

das mitgelieferte VB-Net-Beispiel funktioniert nur scheinbar: ausgegeben werden die ersten 10 Daten, und die sehen tatsächlich wie Daten aus. Wenn man das Programm aber auf die Ausgabe von z.B. 500 Daten erweitert, kommt nur Mist raus. Das hat mich doch sehr verwirrt.
Die Lösung war, nach Deinem Vorschlag einfach mal die Parameter anders als im Beispiel zu setzen, die sind wohl falsch. Und siehe da, es funktioniert - Screenshot anbei.

Das ist das Leuchtstofflampenspektrum, wie es aussehen soll. Jetzt geht es an die Feinheiten.

Danke Dir für den Hinweis,
viele Grüße aus Bonn
Horst

MiR

Hallo Horst,

es freut mich, dass das Problem gelöst ist und du weiterarbeiten kannst. Deine Anfrage hat mich übrigens dazu verführt, mich etwas eingehender mit der Spezifikation des HR1 zu beschäftigen.
In dem Datenblatt werden verschiedene Gitter beschrieben. Das Beugungsgitter mit 300 Linien/mm deckt, lt. der Tabelle, einen Wellenlängenbereich von 600nm ab. Und stellt damit auch den größten Bereich dar. Nun ist mir aber unklar wie der Gesamtbereich von 200nm-1100nm ausgenutzt werden kann. Entweder müsste es dann ein Gitter mit weniger Linien als 300/mm geben oder aber das Gitter müsste hinsichtlich seiner Ausrichtung im Strahlengang änderbar sein.  Was hast du in deinem Spektrometer, resp. welchen Wellenlängenbereich deckt dein Gerät ab ?

Viele Grüße aus Berlin
Michael

Horst Wörmann

Hallo Michael,

so richtig arbeiten kann ich immer noch nicht damit, die Angaben zur DLL bringen mich zur Verzweiflung. NumOfScans (also Zahl der gespeicherten Spektren) soll lt. DLL bis zu 137 sein, in der Spezifikation sind aber nur max. 64 genannt, nur mal so als Beispiel. Bisher funktioniert nur Scanmode 0 (cont. scan), sonst noch nichts. Aber immerhin kommt damit ein Spektrum raus, s.o.!

Zum Gitter gibt es keine Angaben, da werde ich beim Stas nachfragen. Bestellt war der Bereich 520 bis 650 nm, geliefert wurde 536 bis 676 nm bei einer Auflösung von 0,12 nm (mit verstellbarem Spalt, habe ich noch nicht nachgeprüft). Also auch da muß ich noch etwas nachjustieren. Das Gitter ist zwar nachstellbar, aber wie Jürgen schreibt, ist das eine große Fummelei.

Wenn ich da an die Unterlagen zu den Software Development Kits von tec5 oder Faulhaber denke - die sind perfekt, da funktioniert alles. Und wenn mal nicht: super Service von denen!

Viele Grüße
Horst

MiR

Hallo Horst,

hinsichtlich des Scan-Modus trat bei mir sofort der Trigger-"Gedanke" auf den Plan. Und nach Studium der HTML-Hilfe komme ich zu der Erkenntnis, dass du in der Tat wesentlich mehr Möglichkeiten hast (im Vergleich zu LRx-Benutzern), mit deinem Gerät etwas nicht so zu machen, wie es durch den Hersteller ersonnen wurde :-).

Schau dir mal "setMultipleParameters()" bzw. ,,setExternalTrigger()" an, da steht, dass im Fall des Scanmode = 1 oder 2 auf den Trigger gewartet wird (bzw. in "enablemode" abgeschaltet werden kann).

Funktioniert eigentlich der Transfer von mehreren (zwischengespeicherten) Spektren vom Spektrometer zum PC ?

Ja, Tec5 und Faulhaber sind mir auch keine Unbekannten, in der Tat sind die Beschreibungen wesentlich besser, bzw. die Testapplikationen. Wenn ich mich recht entsinne, kostete es aber auch ,,etwas" mehr .-)

Viele Grüße
Michael