500-Euro-Rastertunnelmikroskop: Unterschied zwischen den Versionen
(→Ablauf der Steuerung - Software) |
(→Kommunikation zwischen Computer und ESP32 - API) |
||
Zeile 77: | Zeile 77: | ||
Das Python PC Programm '''STM500_GUI''' sendet lediglich Komm | Das Python PC Programm '''STM500_GUI''' sendet lediglich Komm | ||
== Kommunikation zwischen Computer und ESP32 - API == | == Kommunikation zwischen Computer und ESP32 - API == | ||
− | Um Programme zu starten, schickt der Computer Befehle über die USB Schnittstelle zum ESP32. | + | Um Programme zu starten, schickt der Computer Befehle über die USB Schnittstelle zum ESP32.<br> |
+ | |||
+ | |||
'''Die Befehle zur Kommunikation zwischen PC und ESP32 ist beschrieben in [[API ESP32]]'''<br> | '''Die Befehle zur Kommunikation zwischen PC und ESP32 ist beschrieben in [[API ESP32]]'''<br> | ||
Version vom 14. Juni 2023, 16:31 Uhr
2015 beschreibt Dan Berard das „Home-Built-STM“ https://dberard.com/home-built-stm/.
Es ermöglicht den Aufbau eines Raster Tunnel Mikroskops RTM, englisch Scanning Tunneling Micoroscope STM mit vergleichsweise einfachen Mitteln. Im Gegensatzt zu professionellen STMs verwedet es für die Bewegung der Prüfspitze einen billigen, einfachen Piezo Piepser, wie er z.B in Glückwunschkarten verbaut wird.
Auf Basis Dan Bernards STM haben wir eine Bauanleitung erstellt, die mit möglichst einfach zu beschaffenden Mechanik- und Elektronikteilen auskommt. Für den Bau der Mikroskop Mechanik brauchen wir entweder eine Standbohrmaschine oder wir bestellen die Teile bei einem Lasercutter Anbieter.
Die Elektronik wird auf einer Leiterplatte aufgebaut, die wir bei einem Leiterplattenhersteller fertigen lassen. Die Steuerung des STM erledigt ein Microcontroller ESP32. Die Messergebnisse werden auf einem PC dargestellt.
Inhaltsverzeichnis
Physikalische Grundlagen des STM
Einen Überblick über die theoretischen Grundlagen der Rastertunnelmikroskopie bietet die Seite Überblick RTM-Technik. Hier wird der Tunneleffekt erklärt: Es fliest ein Strom, obwohl scheinbar keine elektrische Verbindung zwischen zwei Objekten besteht. Außerdem wird gezeigt, wie dieser Effekt dazu genutzt werden kann, eine Oberfläche sehr genau zu analysieren und darzustellen.
Wichtig für das Verständnis dieses Aufbaus des RTM ist auch der Piezoeffekt, durch den Objekte (z.B. eine Spitze) über einen Steurerungsstrom sehr präzise bewegt werden können. Das geschieht mit bestimmten Materialien mit der Eigenschaft, sich bei Anlegen einer Spannung zu verformen.
Mechanische Konstruktion
Hier nur grob die Funktion der Komponenten beschreiben. Details unter: Nachbau Mechanik
Gehäuse
Das Gehäuse des RTM dient dazu die Probe und Spitze im richtigen Abstand zueinander zu halten. In dieser Realisierung wird ein Linsenhalter zum Gehäuse umgebaut. Diese Bauteile sind darauf ausgerichtet zwei Ebenen in einer bestimmten, einstellbaren Distanz zu halten und bieten sich deshalb für diesen Zweck an. Die Probe wird dabei auf einer Ebene durch einen Probenhalter und die Spitze samt Feinsteuerung durch das Piezoelement auf der darüberliegenden Ebene gehalten.
Scankopf
Enthält: Spitze, Piezoelement, Installation des Scankopfes am Gehäuse
In das Modul Scankopf fallen die Spitze und die Feinsteuerung der Spitze. Nachdem die Spitze von den Millimeterschrauben des Gehäuses grob auf den richtigen Abstand zur Probe gebracht worden ist, sorgt das Piezoelement dafür, dass die Spitze präzise an die Probe herangefahren werden und die Probe zum Scannen abrastern kann. Der Einbau in das Gehäuse wird auf der Seite Installation des Scankopfes am Gehäuse erklärt.
Probenhalter
Enthält: Probenhalter, Biasstrom
Der Probenhalter ist auf der untersten Ebene des Gehäuses befestigt. Er besteht dabei aus zwei Teilen. Der eine Teil ist fest mit dem Gehäuse verbunden und dient als Halterung des Probenschlittens. Auf dem Probenschlitten, dem zweiten Teil, wird die Probe befestigt. Er lässt sich leicht in das Gehäuse schieben und wieder herausnehmen und wird im Gehäuse magnetisch vom ersten Teil des Probenhalters festgehalten. Außerdem wird am unbeweglichen Teil des Probenhalters der Biasstrom angeschlossen, der für die für den Tunnelstrom nötige Spannung zwischen Spitze und Probe sorgt. Der Biasstrom kann dabei je nach zeitlicher Planung auch erst im Zuge der Verbindung von Scan- und Steuerungseinheit angeschlossen werden.
Dämpfung und Abschirmung
Die Dämpfung und die Abschirmung des RTM entkoppeln das RTM von Erschütterungen und Bewegungen der äußeren Welt. Jede noch so kleine Schwingung zwischen Spitze und Probe spiegelt sich in der Messung wieder und kann diese verfälschen. Um also brauchbare Messergebnisse zu erzielen muss die Relativbewegung zwischen Spitze und Probe erzeugt durch äußere Umstände wie Erschütterungen oder thermische Bewegungen so gering wie möglich gehalten werden.
Elektronik - Konzept
Blockschaltbild: Computer - Control Elektronik - Mikroskop mit Piezzo Scankopf und Messverstärker
Computer
Der Computer ist die Verbindung zwischen Mensch und Mikroskop. Er ist per USB Schnittstelle mit dem ESP32 auf der Control Elektronik verbunden.
Das Computerprogramm steuert das Mikroskop NICHT direkt. Es stösst lediglich die Aktionen aud dee Controlelektronik an und stellt die Messdaten dar, die es von der Control Electronik erhält.
Funktionen sind
- Messungen auf dem ESP32 starten und Messergebnisse vom ESP32 übernehmen und anzeigen
- Hilfe beim Prüfspitze justieren
- Messparameter einstellen
Control electronic
Die Control Electronic ist auf einer separaten Platine 'AdapterBoard' untergebracht. Die Control Electronic ist die zentrale Steuerung des Mikroskops.
Die Control Electronic enthält
- Den Microconttroller ESP32. Auf dem ESP32 läuft das eigentliche Programm zur Steuerung des Mikroskops
- 3 Digital Analog Converter DAC X,Y,Z. Die Ausgänge X Y und Z werden Spannungs-verstärkt und steuern den Piezo für die Position der Messspitze an
- Analog Digital Converter. Der ADC misst die Spannung, die vom Strom-Spannungswandler preamp erzeugt wird. Der ADC Wert ist somit das Mass für den Tunnelstrom.
Microscope
Das Mikroskop enthält die elektronischen, bzw. elektromechanischen Komponenten
- das Piezo Element das die Prüfspitze bewegt
- Den Strom/Spannungs oder Transimpedanzwandler preamp, der die winzigen Tunnelströme als Spannung an den ADC meldet
Ablauf der Steuerung - Software
Der Computer ist lediglich die Verbindung zum Menschen.
Mit dem Computer können Programme in der Control Electronic gestartet werden und die Messergebnisse dargestellt weerden.
Die eigentliche Steuerung des Mikroskops erledigt die Control electronic, Sie ist das Zentrale Element für die Steuerung des Mikroskops.
Um Programme zu starten, schickt der Computer Befehle über die USB Schnittstelle zum ESP32.
Das Python PC Programm STM500_GUI sendet lediglich Komm
Kommunikation zwischen Computer und ESP32 - API
Um Programme zu starten, schickt der Computer Befehle über die USB Schnittstelle zum ESP32.
Die Befehle zur Kommunikation zwischen PC und ESP32 ist beschrieben in API ESP32
Mess Zyklus
Der Computer sendet "MEASURE" an den ESP32. Daraufhin startet der ESP32 einen kompletten Messzyklus.
Im Messzyklus führt der ESP32 die Prüfspitze test-tip nach und nach über alle X Y Positionen, indem er den Piezo über DAC X und DAC Y ansteuert.
Bei jeder neu eingestellten X Y Position misst der ADC den vom Vorverstärker preamp aufbereiteten Wert des Tunnelstroms.
Die Abstand zur Probe (Z Position) wird solange nachgeregelt, bis der Tunnelstrom im vorgegebenen Messbereich liegt.
Sobald der Tunnelstrom im Limit liegt, wird der zugehörige Z Wert zusammen mit der X Y Position als Messergebnis an den Computer geschickt und die nächste X Y Position kann angesteuert werden.
Parallel speichert der Computer die vom ESP32 empfangenen Daten und stellt sie in einer 3D Grafik dar.
Computer. Programm STM500_GUI
Auf dem Computer läuft das Python Programm STM500_GUI.
STM500_GUI kann geladen werden von LINK.
STM500_GUI bietet folgende Funktionen
Es gibt die Betriebsmodi
- MEASURE
Start eines Messzyklus
wird mit "D die Messdateb
Die Messdaten werden im Verzeichnis data in einer csv Datei gespeichert unter einem Namen, der sich aus Datum und Uhrzeit zusammensetzt. Format YYYYMMDD-hhmmss.csv
- ADJUST
Hilfe bei der Inbetriebnahme und Positionierung der Prüfspitze
- PARAMETER
Einstellung der Messparameter
Anleitung zum Nachbauen
Nachbau Mechanik
Piezotreiber
Der Piezotreiber ist das Modul, dass das Piezoelement mit dem Computer verbindet. Da der ausgegebene Steuerungsstrom des Computers eine zu schwache Spannung hat, muss dieser zunächst verstärkt werden. Außerdem gibt der Computer nur drei Steuerungsströme aus, für jede Raumrichtung einen). Da das Piezoelement jedoch aus vier Piezos besteht, müssen die Steuerungsströme aufsummiert werden. Dabei erhält jedes Viertel der Piezoscheibe die z-Raumrichtung gleichermaßen und immer zwei gegenüberliegende Viertel (jeweils einmal positiv und einmal negativ) die x- und die y-Raumrichtung.
Nachbau Elektronik
Protokoll
Nach dem Poweron-Start sendet der ESP32 zyklisch 'IDLE' über die USB Schnittstelle an den Computer um seine Bereitschaft zur Annahme von Kommandos anzuzeigen Der Computer sendet Komandos an den ESP32. Dies kann aus einer Python App geschehen, oder auch mit einem einfacheren Terminalprogramm, z.B. hterm.
Kommandos werden mit 115200 Bit/s als ASCII Strings gesendet und mit Linefeed = 0x0A terminiert. Mit Senden von CTRL-C (ASCII 3) kann der Computer den ESP32 stoppen und zurücksetzen.
ESP32 Kommando Übersicht
- MEASURE
Startet eine Messreihe indem es das Kommando 'MEASURE ' an den ESP32 schickt. MEASURE empfängt die Messdaten vom ESP32 und stellt sie in Echtzeit in einer 3D Grafik dar.
Die Messdaten werden im Verzeichnis data in einer csv Datei gespeichert unter einem Namen, der sich aus Datum und Uhrzeit zusammensetzt. Format YYYYMMDD-hhmmss.csv
- ADJUST
Im Adjust Modus kann die Prüfspitze gesteuert werden. X Y und Z Werte können gesetzt werden. Der ADC Wert mit der Spannung aus dem Tunnel-Vorverstärker wird zyklisch ausgegeben. ADJUST wird verwendet, um den Abstand der Prüfspitze über der Probe zu justieren.
- PARAMETER
Parameter zeigt die aktuelen Messparameter an und erlaubt, die Parameter zu setzen. Die gesetzen Parameter werden an den ESP32 übertragen und bleiben dort gespeichert. Mit Default werden die Stadard Parameter gesetzt. Bedeutung der Parameter: LINK
- ADJUST
Der Computer sendet 'ADJUST' an den ESP 32. Der ESP32 geht in eine Schleife, in der im Sekundentakt der Tunnelstrom gemessen und ausgegeben wird.
- ADJUST,parameter
Wird zusätzlich ein Parameter angegeben, ändert sich die Z-Position der Prüfspitze. Ein positiver parameter verkleinert den Abstand zwischen Prüfling und Messpitze, ein negativer Parameter vergrössert den Abstand
- MEASURE
'Normaler' Prüfzyklus. Es werden bis zu 200*200 X Y Positionen angefahren und nach Abschluss die Messergebnisse an den Computer geschickt Der ESP32 startet einen Messyklus mit typisch 200*200 Messpositionen. Nach der Hälfte der Messungen schickt der ESP32 das erste Paket mit Messdaten an den Computer, nach Abschluss aller Messung das zweite und letzte Paket. Nach Abschluss der Messung sendet der ESP32 'DONE'
- PARAMETER,?
Nach Empfang von 'PARAMETER,?' sendet der ESP32 seine aktuell gespeicherten Messparameter an den Computer
- PARAMETER,DEFAULT
Nach Empfang setzt der ESP32 die Messparaeter auf die default Werte: kI = 10 kP = 1000 destinationTunnelCurrentnA = 10.0 remainingTunnelCurrentDifferencenA = 0.01 startX = 0 startY = 0 direction = 0 maxX = 199 maxY = 199 multiplicator = 100 • Parameter details: o destinationTunnelCurrentnA: Sollwert für gültige Messung o remainingTunnelCurrentDifferencenA: Maximale Abweichung vom Sollwert, damit eine Messung gültig ist. o multiplicator: Schrittweite ADC-Werte X und Y für einen Scan – Schritt.
• PARAMETER,parameter als csv string Der ESP32 übernimmt die Parameter aus dem csv-string und speichert sie. Beispiel: 'PARAMETER,10,1000,10.0,0.01,0,0,0,199,199,100' setzt die DEFAULT Parameter • Strg C Strg C stoppt jedes Kommando und löst einen Reset des ESP32 aus (Strg C = CTRL C = ASCI 3)
Zusammenbau von Scaneinheit und Steuereinheit
In diesem Abschnitt des Wikis werden Scaneinheit und Steuerungseinheit zu einem kompletten STM zusammengeführt.
Mechanik
Weitere Informationen: Bohrung des Linsenhalters, Zusammenbau des Gehäuses
Das Gehäuse wird aus einem Linsenhalter von Thorlabs gefertigt.
Verdrahtung
Weitere Informationen: Verdrahtung Piezotreiber und Vorverstärker, Verdrahtung Batteriepack und Basisstrom
Mittels der Verdrahtung werden Piezotreiber, Vorverstärker, Batteriepack und der Computer an das Gehäuse angebunden.
Stromversorgung
Weitere Informationen: Stromversorgung für Piezotreiber, Vorverstärker und Computer, Biasstrom
Das STM benötigt verschiedene Stromkreisläufe. Um den Computer zu betreiben, die Steuerungsströme und den Tunnelstrom zu verstärken und letztlich einen Biasstrom für den Tunnelstrom zu liefern, werden jeweils eigene Stromversorgungen benötigt. Dabei wird der gesamte Aufbau an die gleiche Masse angeschlossen, um die Messergebnisse nicht zu verfälschen.
Proben
Letztendlich soll das STM Proben messen. Hier gibt es verschiedene Proben, die man messen kann und es wird erklärt, wie diese aufbereitet werden müssen, um mit dem STM ausgemessen zu werden.
Die Proben an sich werden dann einfach auf einem Magneten festgemacht und "snappen" durch den in den bereits am Probenhalter vorbereiteten Magneten an ihre Position.
Programmierung ESP32
Die Programmierung des ESP32 mit der Firmware ist beschrieben in Programmierung ESP32