Häufig gestellte Fragen (FAQ)

Was sind Primitive?

Das Grundprinzip hinter unserem Steuerungskonzept ist die Zerlegung aller elektrochemischen Methoden in ihre grundlegendsten Primitive – vor allem Rampen und Polarisationen. Diese elementaren Operationen dienen als grundlegende Bausteine, die Sie kombinieren und aneinanderreihen können, um vielfältige elektrochemische Experimente zu erstellen – von einfachen Polarisationen bei unterschiedlichen Potentialen bis hin zu komplexen mehrstufigen Protokollen.

Dieser innovative Ansatz erlaubt es Forschenden, anspruchsvolle elektrochemische Experimente durch die Kombination dieser grundlegenden Komponenten zu gestalten. Sie können diese Primitive mit dem Custom Experiment Builder zusammensetzen, der eine visuelle Programmieroberfläche bietet und damit beim Entwerfen von Experimenten herkömmliche Programmierkenntnisse überflüssig macht. Für noch mehr Flexibilität beim Zusammensetzen von Primitiven können Sie unsere Python- oder C++-APIs verwenden.

Zahner Lab-Experimente unterscheiden sich von Primitiven, da sie oft mehrere Primitive kombinieren oder voreingestellte Parameter verwenden, die dem Anwender nicht angezeigt werden. Im Gegensatz dazu geben Ihnen der Custom Experiment Builder und die APIs direkten Zugriff auf einzelne Primitive. Das ramp-Primitiv ist beispielsweise in den Softwarekomponenten verfügbar als:

Zahner Lab

Am Ende jeder Zahner Lab-Methode werden die Blöcke/Primitive erläutert, aus denen die Methode besteht, sodass sie sich mit dem Custom Experiment Builder genau wie im Zahner Lab zusammensetzen lassen.

Custom Experiment Builder

APIs

Potentiostatisch & Galvanostatisch

Das System unterstützt sowohl den potentiostatischen als auch den galvanostatischen Betriebsmodus, den Sie beim Einschalten des Potentiostaten festlegen. Der Wechsel zwischen potentiostatisch und galvanostatisch erfolgt ausschließlich beim Einschalten des Potentiostaten. Um den Modus zu ändern, muss der Potentiostat aus- und wieder eingeschaltet werden. Ihre Moduswahl beim Einschalten bestimmt, wie alle nachfolgenden Primitive ausgeführt werden.

Das bedeutet, dass sich Zahner Lab-Experimente und Primitive unterscheiden, weil Zahner Lab-Experimente für den potentiostatischen und den galvanostatischen Betriebsmodus getrennt und unter unterschiedlichen Namen aufgeführt sind.

Wichtig

Ein konkretes Beispiel: Wenn Sie den galvanostatischen Modus verwenden und das Cyclovoltammetrie-Primitiv (zahner_link.meas.CvJob, CV Block) ausführen, wird es zwar als CV bezeichnet, aber ebenfalls im galvanostatischen Modus ausgeführt, und die Umkehrpunkte sind Ströme in Ampere. Für eine potentiostatische CV müssen Sie den Potentiostaten dann ausschalten, falls Sie sich im galvanostatischen Modus befinden, und ihn anschließend im potentiostatischen Modus wieder einschalten.

Primitive vs. Wave

Es gibt zwei verschiedene Möglichkeiten, ein Signal an Ihre Zelle anzulegen, und die Entscheidung zwischen ihnen hängt davon ab, wie schnell sich das Signal ändert.

Langsame Signale: ramp und polarization

Die Primitive ramp und polarization sind für langsame Prozesse ausgelegt. Als Faustregel bedeutet das einzelne Schritte oder Scans, die etwa zehn Sekunden oder länger dauern und mit Ausgabedatenraten im Bereich von 50 Hz oder darunter aufgezeichnet werden.

Bevor ein Primitiv startet, muss das Gerät es konfigurieren. Dadurch entsteht zwischen zwei aufeinanderfolgenden Primitiven eine kurze Totzeit, in der die Zelle weder geregelt noch gemessen wird. Bei langsamen Signalen ist diese Totzeit vernachlässigbar, weil sie viel kürzer ist als das Primitiv selbst. Beliebig viele Primitive können daher ohne Auswirkung auf das Ergebnis aneinandergereiht werden. Aus demselben Grund erzwingt das Primitiv polarization eine Mindestlaufzeit von 0,5 Sekunden, die Sie davon abhält, es in einem Bereich zu verwenden, in dem die Totzeit nicht mehr vernachlässigbar wäre. Dieser Wert ist eine absolute Untergrenze und kein Arbeitspunkt: Je näher Sie ihm kommen, desto stärker beeinflusst die Totzeit Ihr Ergebnis. Wenn Sie kürzere Schritte benötigen, verwenden Sie das im Folgenden beschriebene Primitiv wave.

Beide Primitive unterstützen Autoranging, und alle ihre Parameter werden direkt im Block oder Job eingegeben.

Schnelle Signale: wave

Bei schnelleren Signalen, etwa Pulssequenzen, kann die Totzeit nicht mehr vernachlässigt werden. Das Aneinanderreihen kurzer Polarisationen würde genau in dem Zeitbereich Lücken hinterlassen, der Sie interessiert. Diese Signale werden daher mit dem Primitiv wave ausgegeben, das die komplette Wellenform als ein einzelnes Primitiv und damit ohne Lücken ausführt. So arbeiten intern auch die Pulsmethoden von Zahner Lab: DPV, NPV und SWV basieren alle auf dem Primitiv wave.

Das wave nimmt eine Liste von Strom- oder Spannungswerten entgegen, die mit einer konstanten Wertrate nacheinander ausgegeben werden. Die Ausgabedatenrate, mit der die Messdaten aufgezeichnet werden, wird unabhängig von der Wertrate eingestellt, sodass pro Ausgabewert mehrere Messpunkte aufgezeichnet werden können, wie in Abtastrate vs. Ausgabedatenrate beschrieben.

Da das wave auf Geschwindigkeit optimiert ist, bringt es zwei Einschränkungen mit sich:

  • Autoranging steht nicht zur Verfügung, weil das Umschalten des Strommessbereichs viel zu lange dauert. Sie müssen einen festen Strommessbereich wählen, der den erwarteten Strom abdeckt.

  • Strom und Spannung können innerhalb eines wave nicht gemischt werden, weil auch das Umschalten des Betriebsmodus zu lange dauert. Ob die Werte als Spannungen oder als Ströme ausgegeben werden, bestimmt der Modus, in dem der Potentiostat eingeschaltet wurde.

Welchen Block oder Job Sie verwenden sollten

Im Custom Experiment Builder steht das Primitiv wave als Block Wave - Custom Waveform zur Verfügung. Der Block liest die Werte aus einer CSV-Datei mit einem Wert pro Zeile und ist damit die richtige Wahl, wann immer Sie eine Wellenform ausgeben möchten, die Sie außerhalb von Zahner Lab erzeugt haben – zum Beispiel eine Pulssequenz aus einer Tabellenkalkulation oder ein mit einem Skript berechnetes Signal.

Wenn Ihr Prozess langsam genug für den Block Ramp oder Polarization ist, verwenden Sie stattdessen diese Blöcke: Sie unterstützen Autoranging und Sie müssen keine Datei vorbereiten.

In den APIs wird das wave mit dem zahner_link.meas.WaveFileJob ausgegeben. Die Wellenform wird einmalig als Ressource hochgeladen, entweder aus einem Binärarray oder aus einer Datei, und kann anschließend beliebig oft ausgegeben werden.

Das Beispiel-Notebook ArbitrarySignal.ipynb zeigt, wie eine Wellenform in Python erzeugt, als Ressource hochgeladen und mit dem zahner_link.meas.WaveFileJob ausgegeben wird.

Abtastrate vs. Ausgabedatenrate

Bei der Arbeit mit Primitiven steuern Sie die Ausgabedatenrate (ODR) – die Frequenz, mit der Sie Messdatenpunkte vom Gerät erhalten. Die ODR bestimmt, wie oft Messergebnisse an Ihre Anwendung geliefert werden.

Niedrigere ODR-Einstellungen ermöglichen der IM7 eine stärkere interne Mittelung zwischen den Ausgabepunkten, was das Rauschen in Ihren Messungen verringert. Höhere ODR-Einstellungen liefern häufigere Datenaktualisierungen, allerdings mit geringerer interner Mittelung.

Das Gerät bestimmt seine interne Abtastrate automatisch anhand der von Ihnen konfigurierten Messkanäle. Diese Kanäle können Sie über die API oder Zahner Lab konfigurieren, wie im Kapitel Channels beschrieben. Diese Abtastrate ist typischerweise deutlich höher als die von Ihnen festgelegte ODR. Das Gerät tastet kontinuierlich mit dieser hohen internen Rate ab, mittelt mehrere Abtastwerte und liefert das gemittelte Ergebnis dann mit der von Ihnen gewählten ODR. Für eine optimale Datenqualität sollten Sie nur die Kanäle messen, die Sie tatsächlich benötigen, und nicht alle verfügbaren Kanäle, da das Aktivieren unnötiger Kanäle die interne Abtastrate senkt und sowohl die Mittelungsfähigkeit als auch die gesamte Datenqualität verringert.

Beispiel: Bei einem langsamen OCV-Scan mit einer ODR von 10 Hz tastet das Gerät intern möglicherweise mit 100 kHz ab. In diesem Fall entspricht jeder Datenpunkt, den Sie erhalten, dem Mittelwert aus 10.000 internen Messungen, die zehnmal pro Sekunde geliefert werden.

Autoranging

Die meisten Primitive unterstützen Autoranging, das den Strommessbereich automatisch an das gemessene Signal anpasst. Das Wechseln des Strommessbereichs dauert jedoch einige Zeit – typischerweise mehrere zehn Millisekunden, abhängig von Ihrem konkreten Gerät.

Aufgrund dieser Verzögerung funktioniert Autoranging nur bei langsameren Messprozessen effektiv. Bei schnellen elektrochemischen Prozessen kann Autoranging sogar dazu führen, dass Ihnen wichtige Daten entgehen.

Beispiel: Betrachten Sie eine Cyclovoltammetrie (CV) mit sehr schnellen Scanraten. Wenn eine elektrochemische Reaktion auftritt und Strom zu fließen beginnt, erkennt das Gerät dies und wechselt in einen passenden Strommessbereich. Während des Bereichswechsels kann das Gerät keinen Strom messen. Gleichzeitig läuft der Potentialscan weiter, sodass der Strompeak möglicherweise bereits vorbei ist, wenn der Bereichswechsel abgeschlossen ist.

Wichtig

Wenn Sie den erwarteten Strombereich für Ihr Experiment kennen, wird empfohlen, Autoranging zu deaktivieren und den passenden Bereich manuell auszuwählen. Das gilt auch für galvanostatische Methoden: Obwohl Sie den Strom des Primitivs vorgeben, ist der Strommessbereich eine separate Hardware-Einstellung, die Sie – sobald Autoranging deaktiviert ist – dennoch manuell an Ihren angelegten Strom anpassen müssen. Dieses Vorgehen liefert eine bessere Datenqualität und verhindert, dass transiente Ereignisse verpasst werden.

Aufwärmen & DC-Kalibrierung

Alle Zahner-Geräte benötigen mindestens 30 Minuten Aufwärmzeit, bevor Sie mit dem Messen beginnen. Diese Aufwärmphase ist unerlässlich, damit das Gerät optimale Präzision und Stabilität erreicht.

Nach der Aufwärmphase empfehlen wir, eine DC-Kalibrierung durchzuführen, um die Messgenauigkeit sicherzustellen. Die IM7 führt diese interne DC-Kalibrierung bei Ausführung des Befehls automatisch durch; externe Anschlüsse sind nicht erforderlich. Die IM7 führt niemals selbsttätig Kalibrierungen durch – diese müssen stets manuell ausgelöst werden. Dies unterscheidet sich von Thales, wo an verschiedenen Stellen automatische Kalibrierungen durchgeführt wurden, etwa beim Auswählen eines EPC-Geräts.

Ohne ordnungsgemäße Kalibrierung kann die Messpräzision beeinträchtigt sein. Zudem führt eine DC-Kalibrierung an einem kalten Gerät zu Messdaten geringerer Qualität. Die Kalibrierung dauert etwa drei bis fünf Minuten, abhängig von der Anzahl der verwendeten Erweiterungskarten.

EIS: Waves & Duration

Um Messzeit und Datenqualität für jeden Frequenzpunkt in der EIS zu optimieren, werden zwei Parameter verwendet: waves und duration.

  • waves legt die Mindestanzahl der zu messenden Sinusperioden fest.

  • duration legt die Mindestdauer (in Sekunden) der Messung fest.

Für die Einschwingphase vor der Messung und für die eigentliche Messung gibt es getrennte Einstellungen:

  • pre_waves und pre_duration: steuern die Einschwingphase vor der Hauptmessung.

  • meas_waves und meas_duration: steuern die eigentliche Messphase.

Das Gerät misst immer mindestens meas_waves Perioden. Ist die meas_duration nach diesen Perioden noch nicht erreicht, wird die Messung fortgesetzt, bis die Zeitvorgabe erfüllt ist. Bei niedrigen Frequenzen ist die Anzahl der gemessenen Wellen oft größer als die Dauer in Sekunden.

Beispiele:

  • 1 Hz Messfrequenz, meas_duration = 9, meas_waves = 3 ➡️ es werden 9 Wellen gemessen (da 3 Wellen nur 3 Sekunden dauern würden)

  • 1 Hz Messfrequenz, meas_duration = 0, meas_waves = 3 ➡️ es werden 3 Wellen gemessen

Abbruchbedingungen

Mit Abbruchbedingungen können Sie ein Primitiv anhand von Ihnen festgelegter Kriterien automatisch vor dem regulären Ende beenden. Diese Funktion verleiht Ihren Versuchsprotokollen eine intelligente Steuerung und macht sie reaktionsfähiger gegenüber Echtzeitbedingungen.

So funktionieren Abbruchbedingungen

Abbruchbedingungen werden bei jedem Datenpunkt entsprechend der von Ihnen festgelegten Ausgabedatenrate (ODR) ausgewertet. Das bedeutet, dass Ihre ODR-Einstellung direkt beeinflusst, wie schnell eine Abbruchbedingung erkannt und darauf reagiert werden kann. Achten Sie bei zeitkritischen Abbruchbedingungen darauf, eine ausreichend hohe ODR einzustellen.

Praktische Anwendungen

Abbruchbedingungen ermöglichen anspruchsvolle Versuchsanordnungen, die sich an das Verhalten Ihrer Probe anpassen:

  • Laden mit konstantem Strom: Verwenden Sie einen zahner_link.meas.PogaJob mit einer spannungsbasierten Abbruchbedingung, um den Ladevorgang automatisch zu beenden, sobald Ihre Zielspannung erreicht ist

  • Überwachung der Ruhespannung (OCV): Richten Sie einen OCV-Scan ein, der automatisch stoppt, sobald sich die Spannung innerhalb Ihrer festgelegten Toleranz stabilisiert

  • Sicherheitsgrenzen: Verhindern Sie Schäden, indem Sie Experimente stoppen, wenn Strom, Spannung oder andere Parameter sichere Bereiche überschreiten

Verfügbare Abbruchbedingungen

Eine vollständige Dokumentation der Abbruchbedingungen ist für jede Plattform verfügbar:

Impedanz- und Kanalstatistik

Die IM7 stellt umfassende Statistiken zu den Ergebnissen der Impedanzmessung bereit. Für jeden an der Impedanzmessung beteiligten Kanal werden Kennwerte für den Klirrfaktor (THD) und die Drift erfasst.

Für Impedanzen und Phasen, die aus zwei Kanälen berechnet werden, liefert das System jeweils Statistiken zu Standardabweichung und Drift.

THD

Der Klirrfaktor (Total Harmonic Distortion, THD) quantifiziert die durch Oberschwingungen verursachte Signalverzerrung. Nach den üblichen Berechnungen der Signalverarbeitung ist der THD definiert als das Verhältnis der Summe der Leistungen aller Oberschwingungskomponenten zur Leistung der Grundfrequenz.

Standardabweichung

Die Standardabweichung misst die Streuung bzw. Variabilität der Impedanzmessungen an einem bestimmten Frequenzpunkt.

Diese Berechnung folgt den üblichen wissenschaftlichen Verfahren. Die Standardabweichung lässt sich jedoch nur bestimmen, wenn pro Impedanzpunkt mehrere Wellen gemessen werden.

Drift – Kanäle

Berechnet als Prozentsatz des ADC-Vollausschlags, normiert als Drift pro Periode der angelegten Sinusschwingung. (100 % = 1,0 = Vollausschlag pro Periode)

Drift – Impedanz & Phasen

Die Drift steht für die gesamte Drift, die während der Messung eines einzelnen Impedanzpunkts bei einer bestimmten Frequenz auftrat – ohne die Prewave-Phase.

Die Werte werden als Drift in Ohm bzw. Grad pro Messung eines einzelnen Impedanzpunkts angegeben.

Stationarität und Linearität in der EIS

Die elektrochemische Impedanzspektroskopie (EIS) beruht auf zwei grundlegenden Annahmen über das zu untersuchende System: Stationarität und Linearität. Wird eine dieser Bedingungen verletzt, führt dies zu unzuverlässigen oder aussagelosen Impedanzdaten.

Warum Stationarität und Linearität wichtig sind

Stationarität bedeutet, dass sich das elektrochemische System während der Messung nicht verändern darf. Da die EIS viele Frequenzen nacheinander durchläuft, kann die gesamte Messung erhebliche Zeit in Anspruch nehmen, insbesondere bei niedrigen Frequenzen. Wenn das System in dieser Zeit driftet, korrodiert oder sich anderweitig verändert, beschreiben die bei verschiedenen Frequenzen gemessenen Impedanzwerte nicht mehr denselben Systemzustand. Dadurch wird das resultierende Spektrum in sich inkonsistent und schwer zu interpretieren.

Linearität bedeutet, dass das System linear auf das angelegte Anregungssignal reagieren muss. Die EIS legt bei jeder Frequenz eine kleine sinusförmige Spannungs- oder Stromanregung an und misst die Antwort. Ist die Anregungsamplitude zu groß, gerät das System in einen nichtlinearen Bereich. In einem nichtlinearen Bereich ist die Antwort keine reine Sinusschwingung mehr bei der Anregungsfrequenz. Stattdessen treten im Antwortsignal zusätzliche Frequenzkomponenten auf, sogenannte Oberschwingungen. Diese Oberschwingungen verzerren die Impedanzmessung und machen die Ergebnisse unzuverlässig.

Linearität anhand der Wellenformdaten überprüfen

Die IM7 stellt für jeden Frequenzpunkt während einer EIS-Messung die Rohdaten der Wellenform (Spannungs- und Strom-Sinusschwingungen) bereit. Zahner Lab bietet zwei eigene Dashboard-Anzeigen, mit denen Sie die Linearität während der Messung in Echtzeit überprüfen können:

  • Das Wave Display zeigt die gemessenen Spannungs- und Stromwellenformen (durchgezogene Linien) zusammen mit ihren extrahierten Grundwellen (gestrichelte Linien).

  • Das FFT Display zeigt die Zerlegung der Wellenformen im Frequenzbereich und macht dabei etwaige Oberschwingungskomponenten sichtbar.

Diese Dashboards sind leistungsstarke Werkzeuge, mit denen Sie die Signalqualität live während der laufenden Messung beurteilen können, sodass Sie Probleme sofort erkennen und die Amplitude bei Bedarf anpassen können.

Die folgende Abbildung zeigt ein Beispiel für eine verzerrte galvanostatische EIS-Messung, wie sie in den Zahner Lab-Dashboards dargestellt wird:

Verzerrte Sinusschwingungen und ihre FFT-Analyse mit Oberschwingungskomponenten in einer galvanostatischen EIS-Messung

Im linken Diagramm (Wave Display) weicht die Spannungswellenform (blau, durchgezogene Linie) deutlich von ihrer extrahierten Grundwelle (blau, gestrichelte Linie) ab. Da es sich um eine galvanostatische Messung handelt, ist der Strom das Anregungssignal und bleibt eine saubere Sinusschwingung, während die Spannung das Antwortsignal ist. Die sichtbare Verzerrung der Spannungswellenform zeigt an, dass das System durch die angelegte Stromamplitude in einen nichtlinearen Bereich getrieben wurde.

Im rechten Diagramm (FFT Display) wird diese Nichtlinearität klar quantifizierbar. Die blauen Balken, die das Spannungssignal darstellen, zeigen erhebliche Energie in der 2., 3. und höheren Oberschwingung, wobei die Pegel der Oberschwingungen nur um einen Faktor 10 niedriger sind als die der Grundfrequenz. Die roten Balken, die das Stromanregungssignal darstellen, zeigen dagegen deutlich kleinere Oberschwingungen. Diese Asymmetrie zwischen den Oberschwingungen von Anregung und Antwort ist charakteristisch für eine nichtlineare Systemantwort.

Der THD-Wert (Total Harmonic Distortion), der im obigen Abschnitt Impedanz- und Kanalstatistik beschrieben ist, quantifiziert diese Verzerrung als einzelne Zahl.

Die richtige Amplitude wählen

Um Linearität sicherzustellen, sollten Sie eine Anregungsamplitude wählen, die klein genug ist, um das System im linearen Bereich zu halten. Als grobe Richtlinie wird die Spannungsamplitude bei der potentiostatischen EIS oft im Bereich von 5 bis 20 mV gehalten. Die geeignete Amplitude hängt jedoch vom jeweiligen elektrochemischen System ab.

Das Wave Display und das FFT Display in den Zahner Lab-Dashboards sind eigens dafür ausgelegt, Sie durch diesen Prozess zu führen. Indem Sie diese Anzeigen während einer Messung beobachten, können Sie die Amplitude iterativ anpassen, bis das System im linearen Bereich arbeitet.

Die folgende Abbildung zeigt die Dashboards für eine Messung, bei der die Amplitude korrekt gewählt wurde:

Saubere Sinusschwingungen und ihre FFT-Analyse, die lineares Systemverhalten bestätigen

Im linken Diagramm überlagern sich die gemessenen Spannungs- und Stromwellenformen weitgehend mit ihren jeweiligen Grundwellen. Es ist keine sichtbare Verzerrung vorhanden, was bestätigt, dass beide Signale saubere Sinusschwingungen sind.

Im rechten Diagramm zeigt die FFT, dass die Oberschwingungskomponenten für Spannung und Strom mehrere Größenordnungen unterhalb der Grundfrequenz liegen. Das bestätigt, dass das System deutlich innerhalb des linearen Bereichs arbeitet.

Wenn die Dashboards ein derart sauberes Signal zeigen, können Sie sicher sein, dass die gewählte Amplitude geeignet und die Impedanzdaten zuverlässig sind. Falls Sie einen erheblichen Oberschwingungsanteil oder eine sichtbare Verzerrung in den Wellenformen feststellen, verringern Sie die Anregungsamplitude und wiederholen Sie die Messung, bis die Dashboards die Linearität bestätigen.

Wellenformdaten mit Python extrahieren und analysieren

Das Beispiel-Notebook EisWaves.ipynb zeigt, wie Sie:

  1. auf die Rohdaten der Spannungs- und Stromwellenform für jeden Frequenzpunkt nach einer EIS-Messung zugreifen

  2. die Wellenformen mit matplotlib visualisieren

  3. die Signalqualität beurteilen, um auf nichtlineare Verzerrungen oder Messartefakte zu prüfen

Das ist besonders nützlich, um nach der Messung zu überprüfen, ob das System während des gesamten EIS-Durchlaufs im linearen Bereich gearbeitet hat.

Es ist sehr wichtig zu beachten, dass sich die Impedanz nicht direkt aus den Wellen berechnen lässt. Dazu müssten die komplexen Kalibrieralgorithmen für die gesamte Signalkette angewendet werden, die das Messgerät intern zur Berechnung der Impedanz ausführt. Die Welle stellt die Aussteuerung der Wandler dar und dient nur dazu, die Signalform abzuschätzen – ob sie verzerrt oder verrauscht ist oder ob andere Artefakte sichtbar sind.