Home
Open Access - Lund University Publications
Contents
1. 78
2. TIME CONSTANT The longer timeconstant the narrower the lock in amplifiers noise bandwidth will be and the better signal to noise ratio The price is an increased respond time RESERV Selects the dynamic reserv that gives 20 40 or 60 dB respectively Reserve and output stability are tradeoff parameters HI STAB gives an output stability of 5 ppm C NORMAL 50 ppm Celsius and HI RES 500 ppm C EXPAND Expands the output 10 times after offset OFFSET Select the offset value AUTO OFFSET Offsets the output to zero automatically SLOPE Selects the timeconstants filter s rolloff rate 6 or 12 dB octave 12 dB is better but can t be used in all experiments 1 e feed back loops OUTPUTS Six different outputs is possible FS Shows the lock in output in of full scale for all sensitivities This is default SIGNAL Shows the actual output in volts OFFSET Shows the selected offset value Range 1 5 FS NOISE Shows the rectified output noise in of full scale RATIO Indicates the ratio between the lock in s OUTPUT to the level applied to the rear panel CH ADC AUX INPUT LOG RATIO Shows the log of the ratio READ OUTPUT Reads the selected display output and display s it every 250 ms AUTOINIT Trigger s all auto function s but leaves all other parameters unaffected AUTOMESURE Makes an automesure on the lock in This autofunction changes some parameters like the filters and t
3. ibent Ox Hex ibent Chr 13 Chr 10 Chr 13 Chr 10 End Function Me Return explanation of Errorbit Function Addlberr As String If ibsta And EERR Then If iberr EDVR Then Addlberr Chr 13 Chr 10 iberr EDVR DOS Error If iberr ECIC Then AddIberr Chr 13 Chr 10 iberr ECIC Not CIC If iberr ENOL Then Addlberr Chr 13 Chr 10 iberr ENOL No Listener If iberr EADR Then AddIberr Chr 13 Chr 10 iberr EADR Address Error If iberr EARG Then Addlberr Chr 13 Chr 10 iberr EARG Invalid argument If iberr ESAC Then AddIberr Chr 13 Chr 10 iberr ESAC Not Sys Ctrlr If iberr EABO Then Addlberr Chr 13 Chr 10 iberr EABO Op aborted If iberr ENEB Then AddIberr Chr 13 Chr 10 iberr ENEB No GPIB board If iberr EOIP Then AddIberr Chr 13 Chr 10 iberr EOIP Async I O in prg If iberr ECAP Then AddIberr Chr 13 Chr 10 iberr ECAP No capability If iberr EFSO Then AddIberr Chr 13 Chr 10 iberr EFSO File sys error If iberr EBUS Then AddIberr Chr 13 Chr 10 iberr EBUS Command error If iberr ESTB Then AddIberr Chr 13 Chr 10 iberr ESTB Status byte lost If iberr ESRQ Then AddIberr Chr 13 Chr 10 iberr ESRQ SRQ stuck high If iberr ETAB Then AddIberr Chr 13 Chr 10 iberr ETAB
4. Dim choice As String Select Case combo Filters Text Case OFF choice 0 Case 2F choice 1 Case F choice 2 Case 2F F choice 3 Case choice null End Select If choice lt gt null Then Call Send 0 lock number LF amp choice amp Chr 13 DABend gReject Val choice Set As Default End If Call ErrorTest 1 End Sub nn Select s rejection filter if clicking Sub combo Filters Click Dim choice As String Select Case combo Filters Text Case OFF choice 0 Case 2F choice 1 Case F choice 2 Case 2F EF choice 3 Case choice null End Select If choice lt gt null Then Call Send 0 lock number LF amp choice amp Chr 13 DABend gReject Val choice Set As Default End If End Sub eel Select s output display contents Sub combo OutputDisplay Click Dim choice As String Select Case combo OutputDisplay Text Case FS choice 0 Case Signal choice 1 Case Offset choice 2 Case Noise choice 3 Case Ratio choice 4 Case Log R choice 5 Case choice null End Select If choice null Then Call Send 0 lock number D2 amp choice amp Chr 13 DABend gOutDisplay Val choice Set As Default End If Call ErrorTest 1 End Sub E Select s the sensitivity Sub combo Sensitivity Click Dim choice As String Dim auto As Integer auto False
5. 12 Case 3000 s choice 13 Case choice null End Select If choice lt gt null Then Call Send 0 lock number XTC amp choice amp Chr 13 DABend gTimeConst Val choice Set As Default End If Call ErrorTest 1 End Sub Sub Form Load ee Initialize combo lists combo Sensitivity AddItem AUTO combo Sensitivity AddItem 100 nV combo Sensitivity AddItem 300 nV combo Sensitivity AddItem 1 uV combo Sensitivity AddItem 3 uV combo Sensitivity AddItem 10 uV combo Sensitivity AddItem 30 uV combo Sensitivity AddItem 100 uV combo Sensitivity AddItem 300 uV combo Sensitivity AddItem 1 mV combo Sensitivity AddItem 3 mV combo Sensitivity AddItem 10 mV combo Sensitivity AddItem 30 mV combo Sensitivity AddItem 100 mV combo Sensitivity AddItem 300 mV combo Sensitivity AddItem 1 V combo Sensitivity AddItem 3 V IMPORTANT sub when the window loads into memory combo Filters AddItem OFF combo Filters Addltem F combo Filters AddItem 2F combo Filters AddItem 2F F 50 combo TimeConst AddItem 1 ms combo TimeConst AddItem 3 ms combo TimeConst AddItem 10 ms combo TimeConst AddItem 30 ms combo TimeConst AddItem 100 ms combo TimeConst AddItem 300 ms combo TimeConst AddItem 1 s combo TimeConst AddItem 3s combo TimeConst AddItem 10s combo TimeConst AddItem 30 s combo TimeConst AddItem 100 s comb
6. DABend scroll change 1 g VoltOrUm2 VOLT Set default value delay PD End Sub TM Set s piezo channel 3 to volt mode Sub opt Volt3 Click Value As Integer Call Send 0 Piezo Number M3 0 amp Chr 13 DABend scroll change 2 gVoltOrUm3 VOLT Set default value delay PD End Sub MMee l Send s new positionlvolt to piezo Sub scroll change index As Integer Dim Value opt As String opt Str index 1 Value Str 2 scroll index Value Call Send 0 Piezo Number O amp opt amp amp Value amp Chr 13 DABend delay PD DisplayReadings index 1 End Sub aad Get readings from piezo every 1 2 sec Sub timer Read Timer Dim x As Integer For x 1 To3 Call DisplayReadings x Next x End Sub OE ok KR OK KR RO SK eK ke ke Ke KR oK ke 2 a ke ke 2 SR SR ke ke ke Re ke HR SR SK ke ke ke KR Ke OK CR SE CK k k k k k CK E cR cR CK CK CK OK k k CK k k k k k k OK k k k k k k k k kkk k E THE GPIB doctor fGPIB frm Investigates GPIB problems tKckckckck ck ck KR ck ok ok oK ok Re ok ke ok 2 SK ck k cR cR SE cR SK cR cR E SK CK k CK ke CK ke ke SK E SK ke ke ke ke ke HR CR SK SK cR CK CR SK k k CK CK CK CK CK CK CK CK ke k k ck ck ck c cR cR kkk Dim Loading As Integer e Start ibconf program Sub c Advanced Click Dim dummy dummy Shell c windows control exe 4 End Sub Clear all devices Sub c ClearAIl click Call DevClear 0 NOADDR Sends Device Clear t
7. OUT amp Chr 13 DABend End Sub hour Low the grid Sub Low grid1 Top grid1 Top 20 grid1 Left grid1 Left 10 panel Picture BevelInner 2 panel Picture BevelOuter 2 End Sub meme nn n ne Make a grayscale test on grid Sub MakeGrayScaleTest Dim kol rad As Integer Dim GrayNbr As Integer Dim x As Integer GrayNbr 0 For x 1 To NbrOfPixels NbrOfPixels GrayNbr GrayNbr 1 If GrayNbr 63 Then GrayNbr 0 PixelPicture x CInt GrayNbr 255 63 Next x DrawPixelPicture End Sub MMe e Make a randomtest on grid Sub MakeRandom Test Dim GrayNbr x As Integer Randomize For x 1 To NbrOfPixels NbrOfPixels GrayNbr 255 Rnd PixelPicture x GrayNbr Next x DrawPixelPicture End Sub mme Set grid color Sub menu Backcolor Click index As Integer Dim color Value As Integer Select Case index Case 1 colorValue 7 Case 2 colorValue 8 Case 3 colorValue 1 Case 4 color Value 0 End Select panel Picture BackColor QBColor color Value End Sub nn Make call for clearing grid Sub menu ClearGrid Click Call ClearGrid End Sub eamnnenaananoo Set grid back color Sub menu GridColor Click index As Integer Dim color Value As Integer Select Case index Case 1 colorValue 7 41 ae High Speed mode Get lock in output Store in global array sue Convert to range 0 64 Draw pixel on form if not overload Disconnect High Speed mode Case 2 color
8. BitInfo biSizeImage NbrOfPixels NbrOfPixels Bitinfo biXPelsPerMeter O BitInfo biYPelsPerMeter O BitInfo biClrUsed 256 BitInfo biClrImportant 256 ee Create Palette For x 0 To 255 GrayShade x rgbBlue x Gray Shade x rgbGreen x GrayShade x rgbRed x GrayShade x rgbReserved 0 Next x EE Transform because a Bitmap begins lower left and PixelPicture begins upper Left x 0 For rad NbrOfPixels To 1 Step 1 For kol 1 To NbrOfPixels x x 1 BitData rad kol PixelPicture x Next kol Next rad Save as file ActiveFile text RecFileName Text amp bmp Open ActiveFile For Binary As 1 Put 1 BitHead Put 1 BitInfo For x 0 To 255 Put 1 GrayShade x Next x For rad 1 To NbrOfPixels For kol 1 To NbrOfPixels Put 1 BitData rad kol Next kol Next rad 63 Close 1 rennes Transform to only 1 Bytelpixel Path dir1 Path If Right Path 1 lt gt N Then Path Path amp N Open ActiveFile For Binary As 1 Open Path amp slask bmp For Binary As 2 Put 2 BitHead Put 2 BitInfo pos 55 For x 1 To 256 4 NbrOfPixels NbrOfPixels Get 1 pos GoodNumber Put 42 GoodNumber pos pos 2 Next x Close 1 Close 2 Kill ActiveFile Name Path amp slask bmp As ActiveFile TheEnd Exit Sub If an error occurs BasicError Dim dummy As Variant dummy MsgBox ERRORINF 48 Error Resume TheEnd End Sub EE Save selected file as DataFile dat Sub
9. Global Const IbaComPortBase amp H20A System COM port s base I O address Global Const IbaSingleCycleDma amp H20B Does the board use single cycle DMA Global Const IbaSlotNumber amp H20C Board s slot number Global Const IbaLPTNumber amp H20D Parallel port number Global Const IbaLPTType amp H20E Parallel port protocol These are the values used by the 488 2 Send command Global Const NULLend amp HO Do nothing at the end of a transfer Global Const NLend amp H1 Send NL with EOI after a transfer Global Const DABend amp H2 Send EOI with the last DAB This value is useds by the 488 2 Receive command Global Const STOPend amp H100 Stop the read on EOI The following values are used by the iblines function The integer returned by iblines contains The lower byte will contain a monitor bit mask If a bit is set 1 in this mask then the corresponding line can be monitored by the driver If the bit 1s clear 0 then the line cannot be monitored The upper byte will contain the status of the bus lines Each bit corresponds to a certain bus line and has a corresponding monitor bit in the lower byte 1 t t t Global Const ValidEOI amp H80 Global Const ValidATN amp H40 Global Const ValidSRQ amp H20 Global Const ValidREN amp H10 Global Const ValidIFC amp H8 Global Const ValidNRED amp H4 Global Const ValidNDAC amp H2 Global Const ValidDAV amp H1 Global Const Bus
10. Next X Case LockIn Call Send 0 Lock Number REMOTE 0 amp Chr 13 DABend Call ErrorTest 4 End Select End Sub kkkkkkkkkkkkkkkkkkkk Gef reading from piezo and display it Index wanted channel Sub DisplayReadings index As Integer Dim range buffer As String Dim spaces As String Dim display As Single buffer Space 10 Call Send 0 Piezo Number I amp Str index amp Chr 13 DABend delay PD Call Receive O Piezo Number buffer STOPend range Mid buffer 2 1 If Mid buffer 3 1 Then spaces Else spaces buffer Right buffer 8 If range H Then display Val buffer 32768 200 Else display Val buffer 32768 20 End If Select Case index Case 1 label XDisplay Caption spaces amp Format display 000 00 amp um Case 2 label YDisplay Caption spaces amp Format display 000 00 amp um End Select End Sub P RRREEREERE Jyifialise the program and form when the window is loading into memory Sub Form Load Dim X x2 As Long Dim DelayTime As String Uk 2 ok ok ok ok ok ok ok ok ok oko ke ok 2 k ok ok oe k OK k k k k k K kK Initialize combolists combo Pixel AddlItem 1x1 combo Pixel AddItem 2x2 combo Pixel AddItem 4x4 combo Pixel AddItem 8x8 combo Pixel AddItem 12x12 combo Pixel AddItem 16x16 3 combo Pixel AddItem 20x20 combo Pixel AddItem 24x24 combo Pixel AddItem 32x32 combo Pixel AddItem 40x40 combo Pixel AddItem 60x60 comb
11. Select Case combo Sensitivity Text Case AUTO auto True Case 100 nV choice 0 Case 300 nV choice 1 Case 1 uV choice 2 Case 3uV choice 3 Case 10 uV choice 4 Case 30 uV choice 5 Case 100 uV choice 6 49 Case 300 uV choice 7 Case 1 mV choice 8 Case 3 mV choice 9 Case 10 mV choice 10 Case 30 mV choice 11 Case 100 mV choice 12 Case 300 mV choice 13 Case 1 V choice 14 Case 3 V choice 15 Case choice null End Select If choice null Then If auto Then Put s the lock in sensitivity in auto mode Call Send 0 lock number AS amp Chr 13 DABend Else Call Send 0 lock number AA amp Chr 13 DABend Call Send 0 lock number SEN amp choice amp Chr 13 DABend If combo Sensitivity lt gt AUTO Then gSensitivity Val choice 1 Set As Default End If End If Call ErrorTest 1 End Sub Select s the fime constant Sub combo TimeConst Click Dim choice As String Select Case combo TimeConst Text Case 1 ms choice 0 Case 3 ms choice 1 Case 10 ms choice 2 Case 30 ms choice 3 Case 100 ms choice 4 Case 300 ms choice 5 Case 1 s choice 6 Case 3 s choice 7 Case 10 s choice 8 Case 30 s choice 9 Case 100 s choice 10 Case 300 s choice 11 Case 1000 s choice
12. gExpandx10 gSlope gReadOutput gOutDisplay Input 1 gVoltOrUm1 g VoltOrUm2 gVoltOrUm3 Input 1 gInputl1 gInput2 gInput3 Close 1 End Sub Iure Save current date to FILE Sub SaveDate Open c windows system date ini For Output As 2 Write 2 gSavedDate gNbrOfSavings Close 2 End Sub 74 encencaneneanaaa Save default parameters to FILE Sub SaveDefaults Open c windows system tpom ini For Output As 1 Write 1 gSensitivity gFilter gSetFrq gReject Write 1 gTuneValue gHertz gInternal gFx2 Write 1 g TimeConst gResolution gOffsetOn gOffsetV alue Write 1 gExpandx10 gSlope gReadOutput gOutDisplay Write 1 gVoltOrUm1 gVoltOrUm2 gVoltOrUm3 Write 1 gInput1 gInput2 gInput3 Close 1 End Sub aurum Transform um to binary value 0 65535 Function UmToBin um As Single As Long UmToBin CLng um 65535 200 End Function eru Make a serial poll and return when device signal ready for new command or breaking manually Sub WaitForDevice Dim PollByte As Integer Dim turns As Integer Waiting True Do turns turns 1 Call ReadStatusByte 0 Lock Number PollByte DoEvents Loop While PollByte And 1 0 And Waiting True Waiting False End Sub 15 Appendix F The GPIB software configuration GPIB PCHA Hardware Settings GPIB Address Use this Board Secondary 3 Termination K Terminate Read on EOS
13. gNbrOfSavings t nee nn ooo ooo General variables IMPORTANT Global Piezo Number As Integer GPIB address of piezo controller Global Lock Number As Integer GPIB address of lock in amplifier Global NbrOfPixels As Integer Dimension of the picture Global PixelPicture As Integer Array containing the pixels of the picture Global ErrorCounter As Integer Stores the numbers of errors in GPIB transmission Global HardChecking As Integer Boolean defining the errorchecking method hardlsoft Global DelayTime As Long Delay between readings while scanning Global XStep As Single Decides the step in x direction Global YStep As Single Decides the step in y direction Global SquareScan As Integer Decides type of scan square line Global ScanType As Integer Decides one of three types of SquareScans Global GlobalMsg As String Contains ErrorMessage Global Waiting As Integer Flag to show serial pollning in progress Global XAsBin As Long Contains current x position in binary value Global Y AsBin As Long Contains current y position in binary value Global TimePassed As Long Contains the time for the current scan Global CompX As Single Compensates XStep for unlinearity if any Global CompY As Single Compensates YStep for unlinearity if any M Return number of counts sent in an Errorbreak Function AddIbcnt As String AddIbcnt Chr 13 Chr 10
14. grid1 Picture picclip1 GraphicCell CInt 63 PixelPicture x 255 Next kol Next rad Exit Sub ErrorHandling3 Resume Next End Sub mn Refresh grid parameters Sub Form Activate On Error GoTo ErrorHandlin g4 ReDim PixelPicture 1 To NbrOfPixels NbrOfPixels Dimension array that contains scandata ZoomDegree 1 Call ScaleGrid NbrOfPixels ZoomDegree Remove these 2 lines if you want to disable the graphics Call UpDateData Exit Sub ErrorHandling4 MsgBox Pixelpicture is out of range Exit Sub End Sub uerum Init variables and call for drawing grid and fresh data Sub Form Load ZoomDegree 1 ZoomChoice 1 25 OldZoomChoice 1 Call ScaleGrid NbrOfPixels ZoomDegree tam Remove these 2 lines 1f you want to disable thegraphics Call UpDateData End Sub I Makes a movement from start gt finish with NbrOF Pixels steps Sub GoBackSlowly Start As Long Finish As Long Dim x As Integer Dim Position As Long Position Start For x 1 To NbrOfPixels Position Position XStep Call Send 0 Piezo Number O1 amp Position amp Chr 13 DABend Go back one XStep delay 25 Wait 25 ms between steps Next x Call Send 0 Piezo Number 01 amp Finish amp Chr 13 DABend Move to exact startposition delay 100 Wait 100ms at start to reduce vibrations when reversing direction End Sub Me Display chosen pixel Sub grid1 click Dim x y As Integer x grid1 Col
15. 2 Resolution measurments c ss 14 5 EXDermental Tesu sin edo for ds 17 3S4 CONSHUCHON OF test objects aisi ie ee E UO don e ero IN aaa 17 O CONCEUSIONS a aire incas as ET AS ee 17 7 ACKNOWLEDGEMENTS 18 REFERENCES dt ipa DES codd 19 Appendix A Instructions for general use of the program 20 PEON GUS D HIS sus sessao a te mini 21 Appendix C Installing the program 21 Appendix D The on line help file 22 Appendix E TPOM controller source code 27 Appendix F The GPIB configuration 76 Appendix G The program interface anus 77 1 Introduction This introduction is an overview of different microscopical techniques focusing especially on the Scanned Near field Optical Microscope and its design Also a non intrusive scanned near field microscope will be described 1 1 Overview The quest for finding a way to make the smallest things in nature visible to the eye tests the malleability of the laws of nature Since Abbe in 1886 constructed a high resolution microscope only minor progress in optical imaging has been made Development of this traditional design has mostly focused on new types of optical lenses and on minimising glass deficiency and surface imperfections The limitation is no longer technical but rather due to the physical nature of light Since light can be described as an electromagnetic wave the diffraction limits the resolution R to R 0
16. 4 Measurements with the Heidenhain shows that the piezo is behaving acceptable in the x direction but not in the y direction The new interferometer readings shows that the x direction was significantely improved However the y direction still exibits significant hysteresis See Fig 5 4 and 5 5 ELAL EDDC LALAT LCL PET CCC LENCO CT302Y C CE C 103337 LLL HIS CCCUHI x direction 13 19 25 31 37 43 49 55 61 67 73 79 movement y direction 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 movement Fig 5 5 The new measurements shows that the stage is moving well in the x direction but that hysteresis 1s still present in the y direction Distance between points 24 4 nm 16 5 3 Experimental results Even though the performance of the piezo controller has been somewhat disappointing it should be possible to test the capability of the microscope As the x direction is working well at least a line scan can be made A square scan could also be performed It will however be difficult to make any conclusions of the resolution in the y direction Using the interferometer and scanning the same linescan while moving in the orthogonal direction shows that the piezo is returning to almost the same startpoint every time with an error of approx 50 nm Fig 5 6 However a stage controller with better resolution should be discussed A factor 10 better performance 5 4 Construction of test object To be able to investigate the
17. Chr 10 amp 1 x direction amp Chr 10 amp 2 y direction Line Scan Timei Timer If retur 1 Then Call LineScanning x Elself retur 2 Then Call LineScanning y Elself retur lt gt Then MsgBox Wrong input try again End If End If fScanning MousePointer 0 TimePassed Timer Timel label Time Caption Time amp TimePassed amp s Low End Sub Set Halt for stopping scanning Sub c Stop Click Halt True End Sub Irure Call for TestMenu Sub c Test Click PopupMenu menu Testmenu End Sub Open scanT ype form Sub c TypeOfScan Click fScanType Show End Sub mme Set form to Zoom mode on off Sub c Zoom Click Static toggle As Integer toggle Not toggle If toggle True Then Zoom True fScanning MousePointer 5 Else Zoom False fScanning MousePointer 0 End If End Sub Iure remm Clear the grid Sub ClearGrid Dim x y As Integer For x 1 To NbrOfPixels gridi Row x For y 1 To NbrOfPixels grid1 Col y grid1 Picture LoadPicture Next y Next x End Sub 38 Dummybutton for communicatin with the open file form Sub Command1 Click Call ScaleGrid NbrOfPixels 1 DrawPixelPicture End Sub TL Draws the array PixelPicture 0 255 on the screen Sub DrawPixelPicture Dim rad kol x As Integer On Error GoTo ErrorHandling3 For rad 1 To NbrOfPixels grid1 Row rad For kol 1 To NbrOfPixels x x 1 grid1 Col kol
18. End If EEE Move with chosen steps in input direction Select Case Direction Case UP NewPosition UmToBin YCurrent Stepp 1000 29 Call Send 0 Piezo Number 02 amp Str NewPosition amp Chr 13 DABend label SentY Caption Format Y Current Stepp 1000 HH H amp um Case DOWN NewPosition Um ToBin Y Current Stepp 1000 29 Call Send 0 Piezo Number 02 amp Str NewPosition amp Chr 13 DABend label SentY Caption Format Y Current Stepp 1000 amp um Case RIGHT NewPosition UmToBin xCurrent Stepp 1000 62 Call Send 0 Piezo Number O1 amp Str NewPosition amp Chr 13 DABend label SentX Caption Format xCurrent Stepp 1000 f amp um Case LEFT NewPosition Um ToBin xCurrent Stepp 1000 62 Call Send 0 Piezo Number 01 amp Str NewPosition amp Chr 13 DABend label SentX Caption Format xCurrent Stepp 1000 amp um End Select DoEvents Delay PD End Sub nestes Ena bables Disables joystick handling Sub check Joystick Click Value As Integer If Value True Then timer joyX Enabled True timer joy Y Enabled True Else timer joyX Enabled False timer joy Y Enabled False End If End Sub ERA Decides if x step should equal y step Sub check SameStep Click Value As Integer If Value True Then combo Step 1 Text combo Step 0 Text End If End Sub aee e REE EERE EKER EEE Controls the timer that rea
19. F Then text_Tuning Text amp Format gTuneValue fixed Set internal and double freq If gInternal True Then check Internal Value True Else check Internal Value False Call WaitForDevice If gFx2 True Then check 2F Value True Else check 2F Value False Call WaitForDevice n Set TimeConstant combo TimeConst ListIndex g TimeConst combo TimeConst Click Call WaitForDevice prom Set Slope 5l label Slope Caption gSlope c OutputSlope click Call WaitForDevice Set resolution Select Case gResolution Case HI opt HiRes Value True Case NORM opt NormRes Value True Case STAB opt_HiStab Value True End Select Call WaitForDevice E Set OutDisplay combo OutputDisplay ListIndex gOutDisplay combo OutputDisplay Click Call WaitForDevice TM Set off set If gOffsetOn True Then label Offset Caption Off SetOffset True Else label Offset Caption On SetOffset True End If Call WaitForDevice Set expand on off If gExpandx10 True Then check Expand Value True Else check Expand Value False Call WaitForDevice Set continues reading If gReadOutput True Then check_ReadOutput Value True Else check ReadOutput Value False End If Call WaitForDevice End Sub nn Makes auto initialize Sub menu Autolnit Click Dim X As Variant eee Do automatic sensitivity text Information Visible True text Information Text Doing aut
20. Get reading from channel index and display on display index Sub DisplayReadings index As Integer Dim range buffer As String Dim selected As SSOption Dim display As Single buffer Space 10 a Get reading and format Call Send 0 Piezo Number I amp Str index amp Chr 13 DABend delay PD Call Receive O Piezo Number buffer STOPend range Left buffer 1 buffer Right buffer 8 57 Get current status on option button for channel index Select Case index Case 1 Set selected opt Volt1 Case 2 Set selected opt Volt2 Case 3 Set selected opt Volt3 End Select a Evaluate reading depending on status volt um high low If selected Value True Then display Val buffer 32768 100 Elself range L Then display Val buffer 32768 20 Else display Val buffer 32768 200 Display reading on display index Select Case index Case 1 text_Output1 Text Format display 00 00 Case 2 text_Output2 Text Format display 00 00 Case 3 text Output3 Text Format display 00 00 End Select End Sub Pp RS ARNS Set piezo to saved default s Sub Form Load InitPiezo End Sub N E AES Put the piezo in saved default mode Sub InitPiezo If gVoltOrUm1 VOLT Then opt_Volt1 Value True Else opt_um1 Value True If gVoltOrUm2 VOLT Then opt_Volt2 Value True Else opt_um2 Value True If gVoltOrUm3 VOLT Then opt Volt3 Value Tru
21. Integer If index O Then c_ConnectPiezo 0 Visible False c ConnectPiezo 1 Visible True Call InitGPIB Call Connect Piezo Else Call Disconnect Piezo c ConnectPiezo 0 Visible True c ConnectPiezo 1 Visible False End If End Sub PAR xekolekokekeieieiekeieleieieieieieee Command button that is used to communicate with the fArrow form Sub c Down Click Call ChangePosition DOWN Y Step text SetY Text label SentY Caption End Sub 24 PRIE Lounches the different windows Sub c Launchers Click index As Integer Select Case index Case O fLock Show Case 1 fPiezo Show Case 2 fScanning Show Case 3 fGPIB Show End Select End Sub MRR RE eee de et irc Command button that is used to communicate with the fArrow form Sub c Left Click Call ChangePosition LEFT XStep text SetX Text label SentX Caption End Sub Rek kkk kkk kkk Command button that is used to communicate with the fArrow form Sub c Right Click Call ChangePosition RIGHT XStep text SetX Text label SentX Caption End Sub PERRIER Decides the scantype square ot line Sub c ScanType Click index As Integer Value As Integer If index 1 Then SquareScan True Else SquareScan False End If End Sub FREE kkk kkk kkk kkk Send s the current wanted position to the piezo Sub c Send Click Dim Finish As Single Dim Start As Single Dim Direction As String Finish Val text SetX Text Feet Ger wanted position If Finis
22. Piezo Number 02 amp YAsBin amp Chr 13 DABend End Sub mme nn nee Raise grid Sub Raise panel Picture BevelInner 1 panel Picture BevelOuter 1 grid1 Left gridi Left 10 gridi Top grid1 Top 20 End Sub 42 nm nn nn en Scale numbers and PixelSize on grid Sub ScaleGrid NbrOfPixels As Integer ZoomGrade As Single Dim size cellSize x y As Integer On Error GoTo ErrorHandler3 Calculate the properties of the grid grid1 Rows NbrOfPixels 1 Set number of rows grid1 Cols NbrOfPixels 1 Set number of columns size grid1 Width 400 Compensate for the drawbar cellSize Int ZoomGrade size NbrOfPixels 1 Calculate cell pixel size If NbrOfPixels lt 12 Then cellSize Int cellSize 2 Make smaller grid for small scannings If cellSize gt 140 Then grid1 FontSize 6 Scale font it cellSize lt 140 Then grid1 FontSize 3 Create and draw the grid on screen grid1 Col 0 For x 0 To NbrOfPixels gridi Row x gridl Text x Number rows grid1 RowHeight x cellSize Scale rows Next x grid1 Row O For y O To NbrOfPixels grid1 Col y grid1 Text y Number columns grid1 ColWidth y cellSize Scale columns Next y TheEnd Exit Sub ErrorHandler3 MsgBox Bad values when scaling grid closing scaling Graphic problem GoTo TheEnd End Sub Change picture contrast Note Affects
23. SaveAsData Dim ActiveFile As String Dim x MAX As Integer On Error GoTo BasicError2 If SquareScan True Then MAX NbrOfPixels NbrOfPixels Else MAX NbrOfPixels ActiveFile text RecFileName Text amp dat Open ActiveFile For Output As 1 If SquareScan True Then Print 41 ScanType NbrOfPixels XStep YStep DelayTime TimePassed For x 1 To MAX Print 1 PixelPicture x Next x Close 1 TheEnd2 Exit Sub BasicError2 Dim dummy As Variant dummy MsgBox ERRORINF 48 Error Resume TheEnd2 End Sub Save selected file as RawFormat raw Sub SaveAsRaw Dim GoodNumber As String Dim BadNumber As String Dim ActiveFile As String Dim Path As String Dim x As Integer BadNumber 0 GoodNumber 0 ActiveFile text RecFileName Text amp raw Open ActiveFile For Binary As 1 For x 1 To NbrOfPixels NbrOfPixels Put 1 PixelPicture x Next x Close 1 Transformerar filen till endast 1 byte tal Open ActiveFile For Binary As 1 Path dir1 Path If Right Path 1 lt gt Then Path Path amp N Open Path amp slask raw For Binary As 2 For x O To NbrOfPixels NbrOfPixels 2 Get 14 GoodNumber Put 2 GoodNumber Get 1 BadNumber Next x Close 1 Close 2 Kill ActiveFile D da filen med 2 bytes tal Name Path amp slask raw As ActiveFile Byt dess namn till den aktiva filen End Sub mmm Display current file Sub ShowFileName Dim Path As String Path dir1 Path If Rig
24. Table overflow Else AddIberr Chr 13 Chr 10 iberr Str iberr End If End Function aurum Return StatusB yte Function AddIbsta As String sta Chr 13 Chr 10 ibsta amp H HexS ibsta If ibsta And EERR Then sta sta ERR If Gbsta And TIMO Then sta sta TIMO If Gbsta And EEND Then sta sta END If ibsta And SRQI Then sta sta SRQI If ibsta And RQS Then sta sta ROS If Gbsta And CMPL Then sta sta CMPL If ibsta And LOK Then sta sta LOK 12 If ibsta And RREM Then sta sta REM If ibsta And CIC Then sta sta CIC If ibsta And AATN Then sta sta ATN If ibsta And TACS Then sta sta TACS If ibsta And LACS Then sta sta LACS If ibsta And DTAS Then sta sta DTAS If ibstaZ And DCAS Then sta sta DCAS sta sta AddIbsta sta End Function I Transforms a binary value to um Function BinToUm bin As Long As Single BinToUm bin 65535 200 End Function T Delay for input WaitTime in milliseconds using call to Windows runtime dll s Sub delay WaitTime As Long Dim ElapsedTime Time1 Time2 x Timel GetTickCount Do Time2 GetTickCount ElapsedTime Time2 Timel Loop Until ElapsedTime gt WaitTime End Sub Draws the array PixelPicture at the scanning grid Sub DrawPixelPicture Dim rad kol x As Integer For rad 1 To NbrOfPixels
25. a bitmap for further processing The other limitation is that the array that are storing the picture can have a maximum of 32 768 data points thus limiting the size to be 181x181 pixels However this is not a final limit it s possible to double the capacity if using index s running from 32 768 to 32 768 or you can make the array multidimensional which makes it possible to have an image only limited by the computer s memory These implementations has not been done as the scantime is going by the square of the size and scans gt 181 pixels will take hours or even days to accomplish and is impossible to do with the current TPOM trap 20 Appendix B Hints The following problems has been noticed to appear Sometimes the lock in does not connect in the first try It is a usual problem if you are clicking to fast but it s solved just by trying once again clicking more slowly The program hangs when launching the lock in controller It is probably waiting for the lock in to respond to a serial poll and it can t because you didn t connect or did not turn it on The polling can be stopped by clicking anywhere on the form and answering yes at the message box Then fix the problem and try again The piezo is drifting You have an uncalibrated joystick Calibrate the zeropoint with help of the calibration program or if you have just started Windows calibrate it at the control panel This is done by clicking the advance button at the cal
26. be able to make code changes use disk B which contains the different files that is necessary to make the program work Start a new project and add the following files from the disk Erranal frm Lock 3d frm fArrows frm fPiezo frm Errifo frm Openfile frm fGPIB frm fSaveAs frm Joystick frm Gridl frm fInforma frm fScanTyp frm Loadinf frm Resource frm fMain frm DECLARES BAS HELP BAS INIT BAS NIGLOBAL BAS VBIB BAS Also the following files must be placed under the c windows system directory tpom ini date ini vb lic grid vbx picclip vbx spin vbx threed vbx In both cases the joystick driver must be installed at the Windows control panel Choose the option drivers and add ibmjoy drv from Disk B 21 Appendix D The on line help file This is a copy off the on line help file that is used in the program ON LINE HELP Kok dd koe ok oj ok ok af se fa AC sje ke sk a ek DK D sje ok oe A HE o DK ok ke oe ACC D ok oe bez a aa ok ko ok ok ok ok oko oko koe ok ok ok k k oe k koe k k kkk Case MAIN Window m CONNECTIONS By pressing either picture or text is it possible to connect or disconnect to Piezo Lock In The connection is putting both instruments in remote mode and makes frontpanel controls inoperative Note If an error occurs when connecting is it most likely that you have trying to connect the instruments with to small a time apart Trying once more slower usually solv
27. configuration programs to enable correct communication between talkers and listeners As the program is built with separate modules it is possible to change these instruments while simultaneously creating a new software module and link it to the program However some calls in the other modules must also be changed if the new equipment is not using the same commands in the GPIB calls 13 5 Experiments To be able to verify the performance of the piezoelectric equipment and to investigate the computer software reliability several tests have been performed Experiments has also been done to make sure that the scanning speed or possible vibrations by the transducer is not affecting the trapping Finally testobjects has been constructed and the general ability of the microscope has been investigated 5 1 Resolution and linearity of response of the piezoelectric stage The used equipment was a NanoFlex Integral X Y Flexure Stage Fig 5 1 with long extension piezos This stage provides 5 mm of fine position adjustment without friction or stiction It also features differential micrometers that provides 300 um of precision adjustment with 100 nm resolution In addition internal piezoelectric actuators provides 200 um travel with a resolution of 50 nm It is designed of steel and aluminium which gives it a temperature invariant performance To drive this stage the piezoelectric controller 17PCZ003 from Melles Griot was chosen It is a three chann
28. form Sub UpdateDataOnMain fMain combo_Pixel Text NbrOfPixels amp x amp NbrOfPixels fMain combo Delay Text DelayTime amp ms fMain combo Step 0 Text XStep amp nm fMain combo Step 1 Text YStep amp nm End Sub 2 2K 2K HRK KO ok e ok ae 2 ok ok ae oe oe ae ok ck e o oe e ook e ok ke ae ke ke e o ke ae ok e ok fe oe 2 2k a k e of oe oko 2 Re a ae ade Re ck ade ke e Re k k k e ae SK oe HR k k k k k k kkk kk H THE GLOBAL MODULE NIGLOBAL bas e 2 fe ade ad e ok oe ok ok OK ok e ok ok ae ok ok fe ok ok e he ok e ok ok ae fe oe ae e ok Re ae ode ae ke e ae ok ae e ke ae ae c ae e ck cR fe ode oe 2 Re c ole ode Ck ck ck 2 oe ck ck k k RR k k k ck k kkk Here are the declarations of the Constants Types Functions and Globals that are needed for the GPIB communication LA LLE LE ELLE LES LEE DALLA LDA AAA DD aaa BALLE LE nmi nnn This module contains the variable declarations constant definitions and type information that is recognized by the entire application qtttmmmmmmmmmmmmmmmmmmnmmmmmmmm Global ibsta As Integer Global iberr As Integer Global ibcnt As Integer Global ibcntl As Long Global buf As String Global iarr amp H100 As Integer Global Addresses amp H100 As Integer Global IBresults amp H100 As Integer GPIB Commands Global Const UNL amp H3F GPIB unlisten command Global Const UNT amp H5F GPIB untalk command Global Const GTL amp H1 GPIB go to local Global Const
29. h Sat EOI with EOS on Write MI Ke l 8 bR EOS Compare The dark side of each amp Send EO at end of Write switch should be pressed down on your board peeeoceee oorr oe Poser Po rr TT amp System Controller W Enable Auto Serial Polling i x 1 0 Timeout I Enable CIC Protocol Assert REN When SC Default 58 Parallel Poll Duration Eine Ed I LOCK IN Settings NDA Settings Name Name PAPIR Address 07 Primary Secondary Access Board Access Board GPIBO x p Termination 2 00 5 p Termination i F Terminate Read on EOS F Terminate Read on EOS M Set EOI with EOS on Write f Set EOI with EOS on Write 7 8 bit EOS Compare I 8 bit EOS Compare iV Send EO at end of Write f7 Send EO at end of Write 3 Eos syte i 3 Eos Bye board Type GPIB Board Board Type GPIB PCII GPIB PCILA 76 Appendix G The program interface Exit Errors System Calibrate Help 5 scanning 1995 C3 1996 C3 1997 Pieza Controller Save Help scanning C3 1995 C3 1996 C3 1997 T11 PVE EFT Nt VEO IN OVERS FONE ENO NEON IVA CND OND EVEN PP NEVILLE EOI LAS NEE EL NEV ANY CONLIN ORV NE EL PNL NT ANY LAN NN NE LR La NS CV ENO naa AV SH LN MET A EMI ZU controller Ext Errors System Calibrate BUM Help about TPOM controller l Col 40 Row O
30. is System Controller Global Const IbcSRE amp HB Assert SRE on device calls Global Const IbcEOSrd amp HC Terminate reads on EOS Global Const IbcEOSwrt amp HD Send EOI with EOS character Global Const IbcEOScmp amp HE Use 7 or 8 bit EOS compare Secondary Address Timeout Value Send EOI with last data byte Global Const IbcEOSchar amp HF The EOS character Global Const IbcPP2 amp H10 Use Parallel Poll Mode 2 Global Const IbcTIMING amp H11 NORMAL HIGH or VERY HIGH timing Global Const IbcDMA amp H12 Use DMA for I O Global Const IbcReadAdjust amp H13 Swap bytes during an ibrd Global Const IbcWriteAdjust amp H14 Global Const IbcEventQueue amp H15 Global Const IbcSPollBit amp H16 Global Const IbcSendLLO amp H17 Global Const IbcSPollTime amp H18 Global Const IbcPPollTime amp H19 Swap bytes during an ibwrt Enable disable the event queue Enable disable the visibility of SPOLL Enable disable the sending of LLO Set the timeout value for serial polls Set the parallel poll length period Global Const IbcEndBitIsNormal amp H1A Remove EOS from END bit of IBSTA Global Const IbcUnAddr amp H1B Global Const IbcSignalNumber amp H1C Global Const IbcHSCableLength amp H1F Global Const IbcIst amp H20 Global Const IbcRsv amp H21 Global Const IbcLON amp H22 Enable disable device unaddressing Set UNIX signal number unsu
31. much worse than the manufacturers data The equipment showed both hysteresis and bad repeatability so it was sent back to England for calibration The tests are shown in Fig 5 3 A Photodiod Fig 5 2 The used Michelson interferometer A and D are mirrors B is a compensation 50 filter and C an aperture 6000 XI 55 5000 y direction 4000 3000 2000 1000 1 12 23 34 45 56 67 78 89 100 111 122 133 144 155 166 177 188 199 movement in points 9000 8000 x direction 7000 6000 5000 4000 3000 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 movement Fig 5 3 The interference signal at the photodiod The distance between every point is 24 4 nm Due to hysteresis it takes some periods before the stage 1s responding in a linear way This is unacceptable for our scanning design as we are scanning right in the hysteresis region When the equipment returned 4 weeks later new tests were made using the interferometer but also with a digital length gauge Heidenhain MT12B Fig 5 5 with a resolution of 50 nm The piezo was driven by the computer and a curve was plotted from the readings of the Heidenhain Fig 5 4 measurement head The stage Digital length gauge Fig 5 5 The arrangement for the Heidenhahn measurement T E E z t O o a e a Qa o o 2 e pas 400 600 800 Desired position nm Desired position nm Fig 5
32. resolution of the microscope a testobject with known properties must be used For that purpose a testobject consisting of 205 nm diameter microspheres has been constructed These particles are made of dyed polystyrene with a fluorescent dye and supplied by Duke Scientific Corporation The particles which were dissolved in water were dispersed in PMMA Polymethyl Methacrylate with chlorobenzene As water and chlorobenzene do not mix several other solvents were tried and also centrifugation of the particles to reduce the water content Finally a solution of 0 08g ethanol 0 67g PMMA and 0 02g of the particle solution were shown to give a satisfactory mixture This sample was spin coated at the spinning speed of 4000 rpm 6 Conclusions A computer controlled scanning stage has been constructed The system is able to control a piezoelectrical stage with 25 nm resolution and collect data from a photomultiplier with a maximum speed of 30 readings pixels sec The developed computer software is able to manipulate the collected data present them as a picture and save the data in different should make it easier to work with and should also make possible hysteresis and non linearity less critical Fig 5 6 pixel is 50 nm Dark shows maximum and light minimum for 45 seconds after 5 second prespinning at 500 rpm The result is a slide glass with particles baked in the PMMA Fig 5 7 The thickness of the PMMA layer is difficult
33. to predict as it is mixed with ethanol Used by itself it should spin out to 60 nm but a guess is that mixed with ethanol gives less thickness The important thing is however that the thickness is not exceeding the particle diameter 205 nm as the trapped laser probe must be able to get very close to the particle Measurements using the TPOM on this object were however difficult to perform due to bad stability in the trap 4 microsphere 205 nm 4 PMMA lt 60 nm slide glass F ig 5 7 The test object graphical formats The accuracy of the scanning stage has been tested and documented The performance is not yet totally satisfying due to the manufacturers problem to calibrate the piezocontroller A better calibration will make it possible to use the scanning system for nonintrusive SNOM measurements 17 Repeated linescan using the interferometer Each 7 ACKNOWLEDGEMENTS I am very grateful for all the help I received from the people working at the Division of Atomic Physic Lund Especially I would like to mention the following people Hans Hertz my instructor who supported me from day one and who has a great part on this diploma paper Lars Malmqvist my co instructor who has helped my with so many things that I can t remember them all Every time I was standing in front of a big concrete wall he somehow managed to drive around it Anders Persson the computer expert who is a source of information large
34. x 1 To NbrOfPixels Nbr Nbr 1 grid1 Col x xCurrent xCurrent xStepBin Update y position Update x position Call Send 0 Piezo Number 01 amp xCurrent amp Chr 13 DABend Move to new position delay DelayTime Call Send 0 lock number amp Chr 13 DABend Call Receive O lock number buffer STOPend text Position Text Nbr PixelPicture Nbr Val buffer convert CInt Val buffer 63 15000 grid1 Picture picclipl GraphicCell convert Next x DoEvents If Halt True Then Exit For If Pause True Then Do DoEvents Loop While Pause True End If Call GoBackSlowly xCurrent XasBin xCurrent XasBin DelayTime Set High Speed mode ee Get lock in output ee Store in global array PixelPicture Y Convert to range 0 64 for drawing e Draw pixel on form Get events in queue if any Los Halt scan if stopbutton pressed Pause scan if pausebutton pressed Go from current x to start XAsBin slowly 44 Next y TransformTo255 Transform PixelPicture to 0 255 Call Send 0 lock_number OUT amp Chr 13 DABend fumo Disconnect High Speed mode If ERRO True Then MsgBox There was an overload during scanning Exit Sub ErrorHandling ERRO True Resume Next End Sub E Make a SquareScanning of type 2 NOTE Important sub Sub SquareScanTyp2 Warning This sub is somewhat complicated Dim x y k As Long Dont give up y
35. 61A 1 where is the wavelength making the resolution to be a couple of hundred nm for visible light New techniques must therefore be developed to improve resolution Since the resolution is dependent on the wavelength of the electromagnetic wave a natural approach is to use radiation with shorter wavelengths e g X rays X ray microscopy has shown resolutions 5 10 times better than visible light microscopy The limiting effect is in this case not diffraction but rather the difficulty to construct lens elements that can focus X rays well However a negative aspect of X rays isthat the high energy they carry per quanta could cause radiation damage in the studied object Another approach is to use medium or high energy electrons which have a very short associated de Broglie wavelength thus making them ideal for very high resolution imaging Electron microscopy first described in 1932 has since then reached atomic resolutions The drawback with electron microscopy is the complicated process for studying biological materials They have to be dehydrated stained fixed sectioned and placed in vacuum thus making it difficult to study living objects Different scanning probe techniques which scans very small probes over the material have also been developed An example of this technique is the Atomic Force Microscope AFM which uses the forces between atoms to build an image of the studied surface The Scanning Tunnelling
36. Accurate positioning for nonintrusive near field optical microscopy Diploma paper by Daniel Akenine LRAP 187 Lund November 1995 Abstract In non intrusive scanning near field optical microscopy SNOM an optically trapped microscopic light source is accurately positioned with respect to the studied sample This diploma paper describes the development of a windows based computer interface for the piezoelectric x y scanning stage The resolution speed and linearity of the computer stage system is investigated Finally 200 nm fluorescent test objects are constructed and the system is used as an integrated part in non intrusive SNOM test measurements Table of contents TABLE OF CONTENTS tisane remets 1 INTRODUCTION asas nn 3 LOC IV I OW Re nn en een 3 1 2 Intrusive and nonintrusive scanned near field optical MiCrOSCOPe nets Nine 4 2 SCANNING PROPERTIES eese eene 5 2 1 Theoretical scanning Wm iS sce a oce ve arri e e Les Reda 5 3 SCANNING METHODS 6 2E Diferent tec BBIQUOS uei ir rS RIDE Peta De ce les voe RN RR 7 3 2 Piezoelectric ec HnoloBy iod a is er eU ORE 8 4 COMPUTER CONTROLLED SCANNING STAGE 10 4 1 Description of the software 10 4 2 GPIB COMMUNICATION o D n ER EUR i DON Rania nin danada 11 4 3 Description of the hardware electronics esses 12 SOM APEREVIEN IS unie e reu EEUU Rie dad 14 5 Resolution and linearity of response OL INE piezoelectrie Stage ia need n 14 5
37. AddItem bmp combo Pattern AddItem bmp dat combo Pattern ListIndex O drivel Drive c dir1 Path c scanning End Sub Opens the datafile and sets all parameters fo new values Sub OpenScan Dim ActiveFile As String On Error GoTo BasicError3 Dim x As Integer x Len text FileName ActiveFile Left text FileName x 3 amp dat Open ActiveFile For Input As 1 Input 1 ScanType NbrOfPixels XStep YStep DelayTime TimePassed ReDim PixelPicture 1 To NbrOfPixels NbrOfPixels For x 1 To NbrOfPixels NbrOfPixels Input 1 PixelPicture x Next x Close 1 fScanning Show fScanning Command1 Value True TheEnd3 Exit Sub If an error occurs BasicError3 Dim dummy As Variant dummy MsgBox ERRORINF amp Tip You have probably tried to open a file that don t exist Not all bmp s has an associated dat file 48 Error Resume TheEnd3 End Sub T V Set screen when autosizing Sub opt AutoSize Click Value As Integer If Value True Then c Screen AutoSize 1 c Screen Width 2700 c Screen Height 2700 End Sub Set natural size Sub opt NaturalSize Click Value As Integer If Value True Then c Screen AutoSize 0 End Sub mme Display current filename Sub ShowFileName Dim Path As String Path dir1 Path If Right Path 1 lt gt N Then Path Path amp N text FileName Text Path amp filel FileName End Sub 66 Writes the new paramters on the Main
38. EOI amp H8000 Global Const BusATN amp H4000 Global Const BusSRQ amp H2000 Global Const BusREN amp H1000 Global Const BusIFC amp H800 Global Const BusNRED amp H400 Global Const BusNDAC amp H200 Global Const BusDAV amp H100 This value is used to terminate an address list It should be assigned to the last entry 488 2 Global Const NOADDR amp HFFFF Miscellaneous Global Const S amp H8 parallel poll sense bit Global Const LF amp HA ASCII linefeed character 70 2 A AC AC EK A a ke ok oj ke sk af a oe oj ok sje le oe a ok oe RK a a a a ORK sje ck aa ea a a e ok ae ok a ea kk kkk D THE INIT MODULE INIT BAS sk oe 3 2 sk ae ok oj oj ok ok aaa eae ae ae AC CC de oj de ke de be he de ae ae aee e e oj le sje a sje ke a ke sje a sje ee ae aee ae a a sje ke ke e ok aee ae a e a ae sje ok ok ok k kk kk Here are the declarations of the Constants Types Functions and Globals that are needed for the TPOM program in TypeDeclarations for BitmapF ileF ormat Type BITMAPFILEHEADER 14 bytes bfType As Integer bfSize As Long bfReserved1 As Integer bfReserved2 As Integer bfOffBits As Long End Type Type BITMAPINFOHEADER 40 bytes biSize As Long biWidth As Long biHeight As Long biPlanes As Integer biBitCount As Integer biCompression As Long biSizelmage As Long biXPelsPerMeter As Long biYPelsPerMeter As Long biClrUsed As Long biClrImportant As Long End Type Type RGBQUAD 6 bytes rgbBlu
39. IB doctor form s 59 F The Save As form s 61 G The Open form s 65 H The NIGlobal module Declarations for GPIB communication s 67 I The INIT module Declarations for the TPOM program s 71 The following forms and modules are left out Joystick frm Erranal frm Errinfo frm Loading frm Resource frm fScanTyp frm VBIB bas and Declare bas as they contains either very little routine code or code which is unimportant for the behaviour of the program Me 2k sk ok 2 sk ok sk ok KE SK e ok 2 E SR SK 2 PK 2 DK SK Re cR Re PK 2 ck ke CK ck SR Ke cR k k 2 SK ke ck ck ck ke SK ck ke 2 cK ck 2 cR 2 e CE SK CK HR cK SR k ke c k k k kkk kkk kkk kkk ok ok A MAIN FORM Contains the launching of controllers and the input of scandata fMain frm K e RRR RR SR e KR CK SK SK SR SR SK cR E ck ck E e RC ck cR cK cR KR cR cR cK CK KR ok CK OK CE CK cR cR cR oK CK k k cR k k k ck ck k SK k SR k kk kkk k kkk kk kkk Option Explicit Dim OldX As Single Dim OldY As Single PRREREEEREEEEKEEE Connects index 0 or disconnects index 1 the lock in amphjer Sub c ConnectLockIn Click index As Integer If index O Then c ConnectLockIn 0 Visible False c ConnectLocklIn 1 Visible True Call InitGPIB Call Connect LockIn Else Call Disconnect LockIn c ConnectLockIn 0 Visible True c ConnectLockIn 1 Visible False End If End Sub kkkkkkkkkkkkkkkkk Connects index 0 or disconnects index 1 the piezocontroller Sub c ConnectPiezo click index As
40. If response 1 Then Lock Number combo LockInAdress Text Else Loading True combo LockInAdress Listindex 10 Loading False End If End If End Sub mn Change adress on piezo Sub combo PiezoAdress Click Dim response As Integer If Loading False Then response MsgBox If you change this value to a wrong value nothing will work amp Chr 10 amp You should know what you are doing 49 Warning If response 1 Then Piezo Number combo PiezoAdress Text Else Loading True combo PiezoAdress Listindex 12 Loading False End If End If End Sub 60 TM Search for and display all instruments on the bus Sub FindInstruments Static Instrument 0 To 31 As Integer Static result O To 31 As Integer text DevFound Text Adresses fGPIB MousePointer 11 For X 0 To 30 Instrument X X Next X Instrument 31 NOADDR Call Findistn O Instrument result 30 For X 0 To 30 text DevFound Text text DevFound Text amp amp result X Next X fGPIB MousePointer 0 End Sub lnmnnmnmnnnnnne Initialize combo s and Errorlabel Sub Form Load Loading True timer1 Enabled True For X 0 To 30 combo LockInAdress AddItem X combo PiezoAdress AddItem X Next X combo LockInAdress ListIndex 10 combo PiezoAdress ListIndex 12 label Errors Caption amp ErrorCounter Loading False End Sub Undo update the ErrorCounter when leaving form Sub Form Unload Cancel As Integer timer1 Enabled Fa
41. Microscope STM that use the quantum mechanical effect of electron tunnelling to measure the distance between the probe and the surface has also shown good results Another possibility is to use a technique called Scanned Near field Optical Microscopy SNOM which is discussed in the next section The problem with scanning probe techniques is that they set restrictions on the studied objects properties making some materials more suitable than others 1 2 Intrusive and non intrusive scanned near field optical microscope One way to exceed the resolution of the ordinary optical microscope is the Scanned Near field Optical Microscope SNOM It was first suggested in the late 1920 s but has only for the last two decades been more in focus for researchers The basic idea is that light which is transmitted through a small aperture will act as a lightsource with dimensions limited by the size of the aperture rather than the wavelength If one makes this aperture smaller than the wavelength of the light it will create a very small spotlight say 50 nm diameter that can be scanned over a surface The transmitted or reflected light can then be collected by a detector and give information of the studied material A problem is that the aperture will act as a small point source and emit very divergent light due to diffraction This makes it necessary to locate the aperture in close proximity to the studied object Scanning that close can cr
42. Position Text Nbr PixelPicture Nbr Val buffer Store in global array PixelPicture convert CInt Val buffer 63 15000 Convert to range 0 64 for drawing grid1 Picture picclip1 GraphicCell convert Draw pixel on form Next x If change 1 Then change 1 lt a Reverse direction Nbr Nbr NbrOfPixels 1 Increase arrayindex with one row Else change 1 Nbr Nbr NbrOfPixels 1 End If DoEvents Get events in queue if any If Halt True Then Exit For Halt scan if stopbutton pressed If Pause True Then Pause scan if pausebutton pressed Do DoEvents Loop While Pause True End If Call Send 0 Piezo_Number 02 amp yCurrent amp Chr 13 DABend Next y 45 TransformTo255 Transform PixelPicture to 0 255 Call Send 0 lock number OUT amp Chr 13 DABend Disconnect High Speed mode If ERRO True Then MsgBox There was an overload during scanning Exit Sub ErrorHandling2 ERRO True Resume Next End Sub Me Transform PixelPictures data to range 0 255 mn Use only the range were the data actually was collected Sub Transform To255 Dim x As Integer Dim Max Value As Integer Max Value 1 For x 1 To NbrOfPixels NbrOfPixels If PixelPicture x gt Max Value Then Max Value PixelPicture x Next x For x 1 To NbrOfPixels NbrOfPixels PixelPicture x CInt Abs 255 Max Value PixelPicture x Next x text Position Text Max amp Max Value En
43. S Sato and H Inaba Electron Lett 28 283 1992 7 D W Pohl Advances in Optical and Electron Microscopy C J R Shepard and T Mulvey eds Vol 12 pp 243 312 Academic Press London 1991 13 S Kawata Y Inouye and T Sigiura Near Field Scanning Optical Microscope with a Laser Trapped Probe Appl Phys 33 pp L1725 L1727 1994 19 Appendix A Instructions for general use of the program When using the program the following steps should be followed in an ordinary start up During start up the files tpom ini and date ini will be read and the variables there will be used to set the parameters for the piezo and the lock in The date when the program last was used will be checked so the program can give a correct recommended filename when saving a scan When the program is started it will be in basic mode That means it s not connected to any instruments and as a result no parameters are set yet The first step is therefore to establish a connection to the instruments by clicking the Connect to piezo lock in images at the far left The second step is now to send the default parameters to the instruments That is done by clicking on the buttons that says piezo and lock in thus launching that controller and at the same time sending the parameters Usually the piezo s parameters are not changed from time to time but the lock in parameters probably has to be changed from experiment to experiment dependin
44. SDC amp H4 GPIB selected device clear Global Const PPC amp H5 GPIB parallel poll configure Global Const GGET amp H8 GPIB group execute trigger Global Const TCT amp H9 GPIB take control Global Const LLO amp H11 GPIB local lock out Global Const DCL amp H14 GPIB device clear Global Const PPU amp H15 GPIB parallel poll unconfigure Global Const SPE amp H18 GPIB serial poll enable Global Const SPD amp H19 GPIB serial poll disable Global Const PPE amp H60 GPIB parallel poll enable Global Const PPD amp H70 GPIB parallel poll disable GPIB status bit vector i status variable ibsta and wait mask Global Const EERR amp H8000 Error detected Global Const TIMO amp H4000 Timeout Global Const EEND amp H2000 EOI or EOS detected Global Const SRQI amp H1000 SRQ detected by CIC Global Const RQS amp H800 Device requesting service Global Const SPOLL amp H400 Board has been serially polled Global Const EEVENT amp H200 An event has occured Global Const CMPL amp H100 I O completed Global Const LOK amp H80 Local lockout state Global Const RREM amp H40 Remote state Global Const CIC amp H20 Controller in Charge Global Const AATN amp H10 Attention asserted Global Const TACS amp H8 Talker active Global Const LACS amp H4 Listener active 67 Global Const DTAS amp H2 Device trigger state Global Const DCAS amp H1 Device
45. The figure shows the experimental arrangement for a TPOM microscope 2 Scanning properties 2 1 Theoretical scanning limits To be able to make an automatic TPOM scan one has to consider built in limitations in the design The stability of the trap has to be considered since the trapping is sensitive and must not be lost during scanning An investigation of the maximum scanning speed and resolution must therefore consider the trapping force as well as the movement inside the trap The movement of the particle in the trap is influenced by the radiation pressure from the laser and on the Brownian motion which wil set the maximum resolution As an example the root mean square displacement V lt r gt in the trap using a cw 100 mW 1 06 um focused to FWHM Full Width Half Maximum 450 nm is approximately 25 nm Also the rms in the z direction is important as it sets a limit how close the particle will be able to scan over the surface Typically the rms displacement in the z direction is 50 nm assuming the same conditions as above Another limiting factor is attractive van der Waals forces which are trying to adsorb the particle on the studied surface and are competing with the trapping forces in the laser beam If the particle comes to close to the object the trapping will be lost and it will be adsorbed by the surface The safe distance for this is normally in the range of 250 nm but varies with the test object and the surround
46. Value 8 Case 3 colorValue 1 Case 4 color Value 0 Case 5 colorValue 15 End Select grid1 BackColor QBColor color Value End Sub M Call for help on subject scanning Sub menu Help Click Call HELP SCANNING End Sub MM Open OpenFile form Sub menu OpenScan Click fOpenFile Show End Sub M Open SaveAs form Sub menu SaveAs Click fSaveAs Show End Sub T Call for testing grayscale Sub menu TestGrayScale Click Call MakeGrayScaleTest End Sub Mefyl Call for randomtesting Sub menu TestRandom Click Call MakeRandomTest End Sub mere Select ZoomDegree Sub menu Zoom Click index As Integer menu Zoom index Checked True Select Case index Case 0 ZoomChoice 1 1 Case 1 ZoomChoice 1 25 Case 2 ZoomChoice 1 5 Case 3 ZoomChoice 1 75 Case 4 ZoomChoice 2 Case 5 ZoomChoice 1 End Select If OldZoomChoice lt gt index Then menu Zoom OldZoomChoice Checked False OldZoomChoice index End Sub mme Move the starting point for the scan to upper left Sub MoveToStartPosition XasBin XasBin UmToBin XStep 1000 Int NbrOfPixels 2 Y AsBin Y AsBin UmToBin XStep 1000 Int NbrOfPixels 2 If XasBin 0 Or YAsBin lt 0 Or XasBin gt 65535 Or YAsBin gt 65535 Then MsgBox You will scan out of the range of the piezo I will try a type 2 scan instead Exit Sub End If Call Send 0 Piezo Number O1 amp XasBin amp Chr 13 DABend Call Send 0
47. Windows system directory and are called TPOM INI and DATE INI 4 2 GPIB communication The program is communicating with the instrument via the GPIB General Purpose Interface Bus standard It uses the new IEEE 488 2 standard that was defined 1987 which should insure compatibility between instruments from different manufacturers However the Piezo controller is defined for the old standard The limitations in the connection are Maximal cable length 20 m all in all 2 m between instruments 31 addresses for talking and 31 for listening Maximum number of devices 15 31 if special extenders and electronics are used Maximum transmission speed 1MB s under optimized conditions Normal speed is probably 250 kB s The communications is implemented in Visual Basic and from there going to a DLL that contains the functions for making low level commands direct to the card Fig 4 1 The National Instrument software contains three different possibilities to communicate Via routines functions or an universal language interface The universal language interface is behaving as a I O file thus making it possible to write and read to it from every programming language that has support for this However the communication speed is reduced significantly The functions should be used when there is one or a few instruments connected and the complexity is low The routines gives more powerful commands making it possible to communicate with many in
48. ar Case 4 currentMonth 4apr Case 5 currentMonth Smay Case 6 currentMonth 6jun Case 7 currentMonth 7jul Case 8 currentMonth 8aug Case 9 currentMonth 90sep Case 10 currentMonth 91oct Case 11 currentMonth 92nov Case 12 currentMonth 93dec End Select currentYear Right RecFileName 4 StartPath ciscanningsV amp currentY ear amp N amp currentMonth amp RecFileName Left RecFileName 2 amp amp Mid RecFileN ame 4 2 amp amp gNbrOfSavings 62 text RecFileName Text StartPath amp RecFileName fn Set start path drivel Drive c dir1 Path cNscanning End Sub mme Save selected file as bitmap bmp Sub SaveAsBitmap Dim x Y rad kol As Integer Dim pos As Long Dim BitHead As BitmapFileHeader Dim BitInfo As BitmapInfoHeader Dim GoodNumber As String 1 Dim BadNumber As String 1 Dim ActiveFile As String Dim Path As String Static GrayShade 0 To 255 As RGBQUAD Static BitData As Integer On Error GoTo BasicError ReDim BitData NbrOfPixels NbrOfPixels Create BitmapF ileHead BitHead bfType 19778 BitHead bfSize 14 40 256 4 NbrOfPixels NbrOfPixels BitHead bfReserved1 O BitHead bfReserved2 0 BitHead bfOffBits 1078 EE Create BitmapInfoHead BitInfo biSize 40 BitInfo biWidth NbrOfPixels BitInfo biHeight NbrOfPixels BitInfo biPlanes 1 BitInfo biBitCount 8 BitInfo biCompression 0
49. ave no internal friction high stiffness highload capacity and a high resistance to chock and vibrations making them suitable for applications that can accept certain constraints e g very precise lnm 10 nm mounting and clamping of the flexing element and limited travelling range ROOTS 100 um Imm 10 mm REC CI CCI aUo o 925 I 36 RO taut at SO SE CSP CEE SD EEE ERRAR Re NR e RR RD I ETERNI GERAR DD DR A RE DR A Ju e CROCO RCC RICO rey ee eat eere ete Fig 3 2 Technologies used at different scales 3 2 Piezoelectric technology In the 1880 s Pierre and Jaques Curie discovered that some materials can produce a voltage proportional to the pressure placed upon them Also the opposite effect was noticed Several natural materials have these properties but most common is to use polycrystalline ceramics such as lead zirconate titanate PZT Piezoelectric ceramics must be poled for them to show piezoelectricity Looking close to the material one notice that above the Curie temperature the electric dipoles in the material is randomly arranged If a strong electric field is applied as the ceramics are cooled below the Curie temperature the dipoles remain partially aligned and respond collectively on small field changes thus producing dimension changes in the macro world By looking at these facts some classifications can be done For instance one should refer to devices that operate in the f
50. bo Pattern Text End Sub nn Set path for filel Sub Dirl Change file1 Path dir1 Path Call ShowFileName End Sub uL Set path for drivel Sub Drivel Change dir1 Path drivel Drive End Sub TM Update recommended filename Sub Form Activate Dim currentMonth currentYear StartPath As String RecFileName Date Select Case Month Now Case 1 currentMonth 1jan Case 2 currentMonth 2feb Case 3 currentMonth 3mar Case 4 currentMonth 4apr Case 5 currentMonth 5may Case 6 currentMonth 6jun Case 7 currentMonth 7jul Case 8 currentMonth 8aug Case 9 currentMonth 90sep Case 10 currentMonth 910ct Case 11 currentMonth 92nov Case 12 currentMonth 93dec End Select currentYear Right RecFileName 4 StartPath ciscanningsN amp currentY ear amp N amp currentMonth amp RecFileName Left RecFileName 2 amp amp Mid RecFileName 4 2 amp amp gNbrOfSavings text RecFileName Text StartPath amp RecFileName End Sub nn Set combo s and RecFileName Sub Form Load Dim currentMonth currentY ear StartPath As String combo Pattern AddItem bmp combo Pattern AddItem dat combo Pattern AddItem raw combo Pattern AddItem bmp dat raw combo Pattern ListIndex 3 Construct recommended filename RecFileName Date Select Case Month Now Case 1 currentMonth 1jan Case 2 currentMonth 2feb Case 3 currentMonth 3m
51. ck 1 End If End Sub Pee dee eo Co Is for the calibration form Sub menu CalibrateJoystick Click fCalibrate Show End Sub hkkkkkkkkkkkkkkkkkkkkxkx Gof s errormode to hard Sub menu ErrorHard Click If menu ErrorHard Checked False Then HardChecking True menu FrrorSoft Checked False menu ErrorHard Checked True End If End Sub PR ts Sof errormode to soft Sub menu ErrorSoft Click If menu ErrorSoft Checked False Then HardChecking False menu ErrorSoft Checked True menu ErrorHard Checked False End If End Sub hk sk ok sk ok K K KK cR SR k SE k SE E SE kk K Exit s program Sub menu Exit Click Unload fMain End End Sub nekk Coll for helpfile on MAIN Sub menu Help Click Call HELP MAIN End Sub 99 OE EE eek ade ade SR ok E SE ode oe ae oe te oe te Call for systeminfo form Sub menu SystemInfo Click f Resource Show End Sub Pepsi Moves from start to finish Input in um in 1 um steps Sub MoveTo Start As Single Finish As Single Direction As String Dim Position TheStep As Single Position Start If Direction DOWN Or Direction LEFT Then TheStep 1000 Else TheStep 1000 eee Go with I um step Do While Abs Position Finish gt 1 Position Position TheStep 1000 Call ChangePosition Direction Abs TheStep Loop End Sub Pe eae de e tits Controls if the piezo is going out of it s range Function OutOfRange xCurrent As Single YCurrent As Single Stepp As Single Direc
52. ck handling When starting windows calibrate the joystick by clicking on advance ESCAPE If the piezo for some reason hangs clicking this button resets it LAUNCHERS Clicking these buttons launches selected controller EXIT Exit TPOM from menu should always be done as this insures a correct closing of file s and saving of important parameters IF exiting in other way BAD performance can occur in next login ERRORS Selecting HARD error checking makes an error message with analysing tools occur every time GPIB doctor notice something strange on the bus Selecting SOFT updates only the global variable ErrorChecking that keeps track on the number of errors detected That variable can be checked if 22 launching the GPIB doctor SYSTEM Gives information of the system settings and available resources CALIBRATE Makes it possible to calibrate the joystick so the piezo won t drift HELP Get this help Case LOCK IN eee SENSITIVITY SENSITIVITY Decides the input sensitivity on the lock in Range 100nV 3 V AUTOSENSITIVITY Makes an automatic choice to set output between 30 100 of full scale FILTERS Decide the type of filtration for the input signal before locking on signal BP LP Notch and Flat TRACK If track is selected the filter tunes to the reference frequency MANUAL If manual is selected it tunes to the freq set by the lt and gt keys Best operation is perfor
53. clear state Error messages returned in global variable iberr Global Const EDVR 0 System error Global Const ECIC 1 Function requires GPIB board to be CIC Global Const ENOL 2 2 Write function detected no listeners Global Const EADR 3 Interface board not addressed correctly Global Const EARG 4 Invalid argument to function call Global Const ESAC 25 Function requires GPIB board to be SAC Global Const EABO 6 I O operation aborted Global Const ENEB 7 Non existent interface board Global Const EDMA 8 DMA Error Global Const EOIP 10 I O operation started before previous operation completed Global Const ECAP 11 No capability for intended operation Global Const EFSO 12 File system operation error Global Const EBUS 14 Command error during device call Global Const ESTB 15 Serial poll status byte lost Global Const ESRQ 16 SRQ remains asserted Global Const ETAB 20 The return buffer is full Global Const ELCK 21 Address or board is locked EOS mode bits Global Const BIN amp H1000 Eight bit compare Global Const XEOS amp H800 Send EOI with EOS byte Global Const REOS amp H400 Terminate read on EOS Timeout values and meanings Global Const TNONE 0 Infinite timeout disabled Global Const Ti0us 1 Timeout of 10 us ideal Global Const T30us 2 Timeout of 30 us ideal Global Const T100us 3 Timeout of 100 us ideal Global Const T300u
54. d Sub f Calculate and show new scandata Sub UpDateData Dim sizeX sizeY TrueXStep TrueYStep As Single label NbrOfPixels Caption NbrOfPixels amp Str NbrOfPixels sizeX BinToUm UmToBin XStep 1000 NbrOfPixels TrueXStep BinToUm UmToBin XStep 1000 1000 TrueYStep BinToUm UmToBin yStep 1000 1000 sizeY BinToUm UmToBin yStep 1000 NbrOfPixels If sizeX 10 And sizeY 10 Then label Size Caption True size amp Chr 10 amp Format 1000 sizeX HHH amp x amp Format 1000 sizeY HHHE amp nm Else label Size Caption True size amp Chr 10 amp Format sizeX HHH amp x amp Format sizeY Ht amp um End If label Xstep Caption X Step amp Format TrueXStep HHHI 4 amp nm label Ystep Caption Y Step amp Format TrueYStep HHH amp nm label ScanType Caption ScanType amp Str ScanType label Delay Delay amp DelayTime amp ms End Sub sk sk sk sk oe sje ke ke she sk ok ok obe be ok ok ok ok ode be ke e oe de ke ok sk ok ok obe ke ke ae ae obe ke ae ae fe obe ae ae fe ke ae ok ke he sk ok oe bebe zb sk oe oh ke sk oh ke she sk oe be ke che sk oh oe a sk oe ke ske sk ok ok oj ohh a le de k kk C THE LOCK IN CONTROLLER Lock 3d frm Controls the lock in OR Ae k k k OK 2K k HR SK KK ck ck k k EC RR RR SK SR SK SR cR CK CE CK HR SR k k ER ERR SR CR k CR k ke cR CK CK CK CK CK CK SE HE A ER k SK cR k k ck ck E E KR ck c
55. ds output from the piezo Sub check Start Click Value As Integer If Value True Then timer Read Enabled True Else timer Read Enabled False End If End Sub PRR RR RRR siste FEnablesldisables arrow handling Sub check UseArrow Click Value As Integer If Value True Then fArrows Show Else 29 fArrows Hide End If End Sub CHEREEEKEKEREEEE Controls the positioning with the keys Sub check_UseArrow_KeyDown KeyCode As Integer Shift As Integer If KeyCode KEY LEFT Then spin2 SpinDown ChangePosition LEFT If KeyCode KEY UP Then spin1 SpinUp If KeyCode KEY RIGHT Then spin2_SpinUp If KeyCode KEY DOWN Then spin1_SpinDown End Sub Rek eee tee TF the program logs in a new day than last login reset rec FileNumber Sub CheckDate If gSavedDate lt gt Date Then gNbrOfSavings O End Sub ea tati Gef s the delaytime between two readings when scanning Sub combo Delay Change Delay Time Val combo Delay Text UpdateScanTime End Sub CR RK RR REE EERE Records the chosen delaytime and update calculated scantime Sub combo Delay Click Delay Time Val combo Delay Text UpdateScanTime End Sub eira kate Gef s the dimension of the scan Sub combo Pixel Change NbrOfPixels Val combo Pixel Text UpdateScanTime End Sub Gekcokeiekicieieeieec Records chosen dimensions of the scan and updates calculated scantime Sub combo Pixel Click NbrOfPixels Val combo Pixel Text UpdateScanTime End Sub P
56. e 7 CONTROLS CLEAR INSTR Sends a device clear to ALL instruments on the bus CLEAR GPIB Send an interface clear signal to the GPIB card SERIAL POLL TEST Makes an serial poll to the lock in and analyse how it handles it ERRORS DETECTED Shows numbers of errors detected since the program started If soft error checking is selected one should look at this variable from 24 time to time to ensure the program is running smoothly ADVANCED Connects to the Control Panel there you can start the GPIB IBCONF program to make detailed configuration of the software SPY Starts the GPIB spy program that shows every call made over the GPIB card Case OPEN OPEN SCAN Makes it possible to open a saved dat file containing info of the scan and the scanned picture itself If you have previously saved the scan in both data and bitmap format you can take a quick look at the scan by choosing the corresponding bitmap file Double click the file name in the file list list box If you are looking at the bitmapfile pressing OPEN will open the dat file with the same name Case SAVE SAVE SCAN Before using this program you should create the directory cNscannings You should then create sub directories with names that represents diff
57. e True Set filter to BandPass opt Manual Value True Set frequency to manual combo Filters ListIndex 0 Disconnect line reject check 2F Value False Disconnect double frequency label Slope Caption 212 dB Set slope to 12 dB opt NormRes Value True Set resolution to normal label Offset Caption Off Shut off offset check Expand Value 0 _ Shut off expand x 10 combo OutputDisplay ListIndex O Set Output display to WFS Signal WaitForDevice Read the timeconstant set by automesure and set screenparameter to the same Call Send 0 lock_number XTC amp Chr 13 DABend Call ErrorTest 1 Call Receive 0 lock_number buffer STOPend Call ErrorTest 2 combo TimeConst ListIndex Val buffer text_Information Visible False End Sub AANE Call for help on subject Lock In Sub menu Help Click Call HELP LOCK IN End Sub nm Save current parameters as default Sub menu Save Click Call SaveDefaults End Sub nn Select BP filter Sub opt BandPass click Value As Integer Call Send 0 lock number FLT 3 amp Chr 13 DABend Call ErrorTest 1 gFilter BP Set As Default End Sub TTL Select tuning freq to be ref freq Sub opt FilterRef click Value As Integer Min 0 Max 0 TuningHz 0 Stepp O text Tuning Text Ref F gHertz REF F Set As Default Call Send 0 lock number D1 4 amp Chr 13 DABend Call ErrorTes
58. e As Integer rgbGreen As Integer rgbRed As Integer rgbReserved As Integer End Type Global Const KEY_LEFT amp H25 Global Const KEY UP amp H26 Global Const KEY_RIGHT amp H27 Global Const KEY_DOWN amp H28 Global Const ERRORINF You have made an error that is generally fatal The error is intercepted though and will not cause a crash of the program Note that the program now may act in a peculiar way depending on what you made wrong Declare windows DLL for DelayTime checking Declare Function GetTickCount Lib User As Long Copal Const PD 500 When calling delayprocedure with PD PiezoDelay makes a 500 ms delay eee Declare windows DLL for joystick handling and the structure Type JoyInfo XPos As Integer YPos As Integer ZPos As Integer button As Integer End Type Declare Function JoyGetPos Lib MMS YSTEM ByVal uJoyID As Integer IpCaps As JoyInfo As Integer Mee Declaration of the default variables used to set the instrument s Starting e for recognition Global gFilter gSetFrq gHertz gResolution gSlope As String Global gVoltOrUm1 gVoltOrUm2 gVoltOrUm3 Global gOffsetOn gExpandx10 gOutDisplay As Integer Global gSensitivity gInternal gl imeConst gTuneValue gReject As Integer Global gReadOutput gFx2 gInput1 gInput2 gInput3 As Integer Global gOffsetValue As Variant 71 TT nn mn nn nnn Declaration of variables used for datechecking Global gSavedDate
59. e Else opt_um3 Value True If gInput1 True Then check Input1 Value True Else check_Input1 Value False If gInput2 True Then check Input2 Value True Else check Input2 Value False If gInput3 True Then check Input3 Value True Else check Input3 Value False End Sub d Call for HELP on subject PIEZO Sub menu Help Click Call HELP PIEZO End Sub Tue Save current parameters as default Sub menu Save Click Call SaveDefaults End Sub TT Set s piezo channel I to um mode Sub opt um1 Click Value As Integer Call Send 0 Piezo Number M1 1 amp Chr 13 DABend scroll change 0 gVoltOrUm1 UM Set default value delay PD End Sub Ium Set s piezo channel 2 to um mode Sub opt um2 Click Value As Integer Call Send 0 Piezo Number M2 1 amp Chr 13 DABend scroll change 1 gVoltOrUm2 UM Set default value delay PD End Sub 22 2242 42 Set s piezo channel 3 to um mode Sub opt um3 Click Value As Integer Call Send O Piezo Number M3 1 amp Chr 13 DABend scroll change 2 58 g VoltOrUm3 UM Set default value delay PD End Sub TT Set s piezo channel 1 to volt mode Sub opt Volt1 Click Value As Integer Call Send 0 Piezo Number M1 0 amp Chr 13 DABend scroll change 0 gVoltOrUml1 VOLT Set default value delay PD End Sub mme Set s piezo channel 2 to volt mode Sub opt_Volt2 Click Value As Integer Call Send 0 Piezo_Number M2 0 amp Chr 13
60. e ae e oj a cbe a eae eee ae RR kkk kk D THE PIEZO FORM fPiezo frm Piezo controllern e ae ok ok KO ok ck Rok ck SR 2 fe SR SK e SK SK KR e ae de ke SK SE SK SR o a SR fe SK SK de Re cR Re SK E SK SK E SK fe ck I cR SR Re SR SR SK KR SR SK e SR SK e PK Re e OK k k k k k k k k kkk kkk Option Explicit nn Set s input 1 on channel I on off Sub check Inputl Click Value As Integer If Value O Then Call Send 0 Piezo Number P1 0 amp Chr 13 DABend gInput1 False Set default value Else Call Send 0 Piezo_Number P1 1 amp Chr 13 DABend gInput1 True Set default value End If delay PD End Sub lemme Set s input 2 on channel 2 on off Sub check Input2 Click Value As Integer If Value O Then Call Send 0 Piezo Number P2 0 amp Chr 13 DABend gInput2 False i Set default value Else Call Send 0 Piezo Number P2 1 amp Chr 13 DABend glnput2 True Set default value End If delay PD End Sub nn on Set s input 3 on channel 3 on off Sub check Input3 Click Value As Integer If Value O Then Call Send 0 Piezo Number P320 amp Chr 13 DABend gInput3 False Set default value Else Call Send 0 Piezo Number P3 1 amp Chr 13 DABend gInput3 True Set default value End If delay PD End Sub mm Set s reading the piezo on off Sub check ReadingOn Click Value As Integer If Value lt gt 0 Then timer Read Enabled True Else timer Read Enabled False End If End Sub
61. e for the scanning form GRIDI frm sk ok ke ke be fe sje sje ke ke a sje I ke CIC dee je sj ke ke desk obe bebe RR I AAR ke oe sje oj ole ke obe sh obe ke ese oj ol be ok ose a sk oko ke EDR oko sje k k kkk kk Option Explicit Dim Zoom As Integer Dim ZoomDegree As Single Dim ZoomChoice As Single Dim OldZoomChoice As Integer Dim Halt As Integer Dim Pause As Integer Dim Max Value As Integer E Set gridlines on off Sub c GridLines Click Static toggle As Integer toggle Not toggle If toggle True Then grid1 GridLines False Else grid1 GridLines True End If End Sub mme Make pause in scanning Sub c Pause Click Static toggle As Integer If toggle True Then toggle False Pause True c Pause Caption Start Else toggle True Pause False c Pause Caption pause End If End Sub TM Draw picture with range 255 Maxvalue Sub c PubPaint Click Dim dummy On Error GoTo errorfunc dummy Shell c windows pubpb pubpb exe 4 Exit Sub errorfunc MsgBox Already open Pub Paint Resume Next DrawPixelPicture End Sub desde sde Start an appropriate scanning Sub c Scan Click Dim retur As String Dim Timel As Long 37 Raise fScanning MousePointer 11 If SquareScan True Then Timel Timer If ScanType 3 Then Call MoveToStartPosition If ScanType 1 Then Call SquareScanTyp1 Else Call SquareScanTyp2 End If Else retur InputBox Which direction for Line Scan amp
62. eate additional problems with interactive forces between the atoms or molecules A disadvantage for an ordinary SNOM is that the ar dec DES ee a aT e Pulsed 1 064 um Nd Yag LASER f pee 532 nm Photomultiplier q Q Q Q Wee ee B reir Le Q uu de Ne E E RER ESSA EEE i xyz stage probe requires mechanical access to the object making it difficult to image e g living biological material with intervening membranes without destroying it In an attempt to solve these problems the so called Trapped Particle Optical Microscope TPOM has been developed It uses a very small particle 50 nm that is optically trapped at the focus of a laser beam Fig 1 1 This makes the particle act as a lightsource with no mechanical connection to the environment The optical trapping is created by the refractive and the reflected forces of the light when it interacts with the particle The trapped particle may now be positioned e g behind membranes without damaging the studied object To be able to separate the light that is emitted by the particle from the light in the laser beam a particle of lithium niobate is used This non linear crystal particle frequency doubles the light passing through it if the intensity is strong enough This effect makes it possible to filter out the trapping radiation from the photomultiplier Piezo controller Lock In Amplifier Ed Le Fig 1 1
63. ee e tits T samestep is set then set steps to equal values Sub combo Step Change index As Integer If check SameStep Value True Then If index O Then combo Step 1 Text combo Step O Text Else combo Step 0 Text combo Step 1 Text End If End If X Step CInt Val combo Step 0 Text CompX Y Step CInt Val combo Step 1 Text CompY End Sub eco esc ie If samesfep is set then set steps to equal values Sub combo Step Click index As Integer If check SameStep Value True Then If index O Then combo Step 1 Text combo Step 0 Text Else combo Step 0 Text combo Step 1 End If End If X Step CInt Val combo Step 0 Text CompX YStep CInt Val combo Step 1 Text CompY End Sub 30 Pee e eta Puf wanted device into remote operation Sub Connect Dev As String Dim X As Integer Dim channel As String Select Case Dev Case Piezo ebbeeeeeeek T eave channel 3 in local mode For X 1 To2 channel Str X Call Send 0 Piezo Number R amp channel amp 1 amp Chr 13 DABend Call ErrorTest 4 Next X Case LockIn Call Send 0 Lock Number REMOTE 1 amp Chr 13 DABend Call ErrorTest 5 WaitForDevice End Select End Sub me kkk Puf wanted device into local operation Sub Disconnect Dev As String Dim X As Integer Dim channel As String Select Case Dev Case Piezo For X 1 To 3 channel Str X Call Send 0 Piezo Number R amp channel amp 0 amp Chr 13 DABend Call ErrorTest 4
64. el controller with active closed loop feedback The feedback gives an automatic compensation for any small positional perturbations and eliminates creep and hysteresis The linearity of response which describes the ability of following a linear movement is 0 5 of full scale 200 um meaning 1 um in this case The feedback loop can perform closed loop operation at frequencies up to 300 Hz with a step response of 2 to 3 ms In our case we are using steps around 100 ms making the speed performance very satisfying The controller is also equipped with an IEEE GPIB interface with a 16 bit digital to analog converter To check the manufacturers data experiments have been performed using both a digital length gauge and by building a Michelson interferometer 5 2 Resolution measurments To measure the resolution a Michelson interferometer was built which had the 14 HeNe laser Fig 5 1 The NanoFlex integral flexure stage piezoelectrical stage as one of it s arms Fig 5 2 As a beamsplitter a 50 reflective grayfilter was used To make both arms have a more similar intensity a 50 grayfilter was used in one arm An aperture was also put in the arrangement as it resulted in much higher visibility at the photodiode As the HeNe laser had a wavelength of 632 8 nm a movement by the piezo of 2 317 nm should create one period at the interference pattern Several measurements were made indicating that the piezo had a performance
65. el_SentX Caption End Sub kkkkkkkkkkkkkkkkkkk Sot wanted compensation if CR is pressed in list box Sub text_CompX_KeyPress KeyAscii As Integer If KeyAscii 13 Then CompX Val text_CompX Text 100 XStep CInt Val combo Step 0 Text CompX KeyAscii 0 End If End Sub kkkkkkkkkkkkkkkkkkkk Sof wanted compensation if CR is pressed in list box Sub text CompY KeyPress KeyAscii As Integer If Key Ascii 13 Then CompY Val text CompY Text 100 YStep CInt Val combo Step 1 Text CompY KeyAscii 0 End If End Sub Pk BRK SR SR SK SK SE SE SE CE SE SE GE SE SE GR SE GE k SE RK Get s and sends wanted x position Sub text SetX KeyPress KeyAscii As Integer Dim Finish As Single Dim Start As Single Dim Direction As String If KeyAscii 13 Then Finish Val text SetX Text Fkk Ekk Gef wanted position If Finish gt 199 Then GoTo ending2 Start OldX PARA Gef start position If Start Finish gt 0 Then Direction LEFT Else Direction RIGHT Call MoveTo Start Finish Direction Move form start to finish in small steps XAsBin UmToBin Finish 62 Call Send 0 Piezo Number O1 amp Str XAsBin amp Chr 13 DABend Finetune the position label_SentX Caption text_SetX Text OldX Finish KeyAscii 0 End If Exit Sub ending2 MsgBox Maximum input is 199 um Info Exit Sub End Sub PR RER Gef s and sends wanted y position Sub text SetY KeyPress KeyAscii As Integer D
66. en 43 slaskPixel x slaskPixel x ContrastIndex Elself slaskPixel x gt 32 And Abs 32 slaskPixel x lt Abs ContrastIndex Then slaskPixel x 32 End If End If Draw picture with new contrast x 0 For rad 1 To NbrOfPixels grid1 Row rad For kol 1 To NbrOfPixels x x 4l grid1 Col kol grid1 Picture picclip1 GraphicCell slaskPixel x Next kol Next rad fScanning MousePointer O End Sub MMMUgVl Make a SquareScanning of type 1 Sub SquareScan Typ1 Dim x y k As Long Dim xStepBin yStepBin As Long Dim xCurrent As Long Dim yCurrent As Long Dim buffer As String Dim Nbr convert As Integer Dim ERRO As Integer ERRO False On Error GoTo ErrorHandling ReDim PixelPicture 1 To NbrOfPixels NbrOfPixels scandata Halt False Pause False Dimension array that contains nit startparameters for scan Sefesi Get current position and calculate scanning step buffer Space 10 xCurrent XasBin yCurrent Y AsBin xStepBin UmToBin XStep 1000 yStepBin UmToBin yStep 1000 vem Range 0 65535 erue Range 0 65535 Call Send 0 Piezo Number O1 amp xCurrent amp Chr 13 DABend Call Send 0 Piezo Number 02 amp yCurrent amp Chr 13 DABend Begin scanning For y 1 To NbrOfPixels gridl Row y Call Send 0 Piezo Number O2 amp yCurrent amp Chr 13 DABend yCurrent yCurrent yStepBin For
67. erent month s years Example c scannings 4994 jan feb dec 1995 jan feb dec FILE FORMAT Three different saving format s is possible RAW This format contains the information of the picture saved as binary bytes and can be read by i e Pub PaintBrush BITMAP Saves the information as a device independent bitmap DIB defined by the windows environment Can be read by all design program s that can handle bitmaps The format is uncompressed DATA Saves the info as a dat file containing the pixels as ASCII characters plus information of the scan data This file can be opened by the program or a text editor IMPORTANT The five first data values are used by the program and should not be considered as picture information say if you are using EXCEL for plotting the scan SAVE AS BMP and DAT This is the default setting and enables both saving of scan data and graphic file saving RECOMMENDED The program gives you a recommended name of FILENAME the file which contains of the present day month and a nbr that shows how many files you have been saving This number is updated even if you close and start the program on the same day Starting the program for the first time a new day resets the number e NOTE If you start changing the recommended file name you can t expect the program to give good rec filenames that day Case SCANNING GRIDLINES Switches gridlin
68. erroelectric region below the Curie temperature as piezoelectric and for those operating in the paraelectric region above the Curie temperature as electrostrictive It is also common to name ceramics with an Curie temperature above 300 C as hard and consequently materials with a lower Curie temperature as soft Traditional piezoelectric devices has had the disadvantage of needing voltages up to 2000 V for producing a useful extension thus making them expensive and dangerous to handle The new generation of piezo actuators are able to use much lower voltage 0 150 V or less making them more suitable for connection with standard electrical equipment Unfortunately piezo ceramics has several drawbacks as they are associated with effects of nonlinearity creep and hysteresis Fig 3 3 making them not ideal for voltage to displacement devices On the other hand they are stiction and friction free and able to produce movement from hundreds of microns down to the nanometric scale These capabilities makes it worth the effort in trying to minimize the drawbacks The hysteresis effect can for instance be reduced significantly if the material is preloaded with a force which will not only reduce hysteresis but also saturation effects and making the zero truncation disappear Fig 3 3 Voltage a Voltage b Fig 3 3 a shows a typical hysteresis behaviour of a piezomaterial Note the off set voltage that remains at zero b sh
69. es on off ZOOM Switches the form into zoom mode By moving to the picture and clicking the LEFT mousebutton makes a Zoom In on the picture with the zoomdegree chosen at the menu Pressing the RIGHT mousebutton makes a Zoom Out Clicking the zoombutton once more puts the form back to normal mode TEST This gives you four options GRAYSCALE TEST Makes a grayscale 1 64 test on the grid RANDOM TEST Makes a random test on the grid CLEAR GRID Clears the grid COLORS Makes it possible to change colors on the grid OPTIMIZE Sets the maxvalue in pixelpicture to be white and paints the picture down from that CONTRAST Makes it possible to change the contrast The picture should have a normal spread for best result DATA Shows the scandata of the picture SCAN Starts the scan The scan can be either stopped by pressing STOP or paused by pressing PAUSE Clicking start pause button again resumes scanning COL ROW By clicking a pixel these numbers give the position of that pixel SAVE Calls for saving the scan OPEN Calls for open a scan ZOOM Selects the zoomdegree used by the zoombutton Choosing NORMAL gives the default picture zoomdegree HELP Get this help 26 Appendix E TPOM controller source code This sourcecode is a transcript of the following forms A The Main form s 27 B The Scanning form s 37 C The Lock In form s 46 D The Piezo form s 57 E The GP
70. es this problem 44 m SCANNING PROPERTIES SIZE Input scanningsize in pixels only square size is accepted DELAY Decides the delaytime between to input values pixels during scanning in milliseconds X Y STEP Controls the steps in x y directions while making a scan or when moving around with arrowclicking If Same Step is selected both x and y steps takes on the same value TYPE OF SCAN Selects square line scanning SCAN TIME Gives an estimated time for chosen scan properties COMPENS ATE Makes it possible to compensate for linearly faults in the piezo Example If you write in 50 nm and compensate 100 then the program will act as the input was 100 nm POSITIONING SET x y Input the desired position in um and send that position to piezo either by hitting return sends x OR y pos depending on cursor placement or clicking the SEND button sends both x AND y position POSITION SENT Shows last sent position to piezo POS RECEIVED Reads and displays current position given by the piezo then START RECEIVING is selected NOTE Unfortunately is this reading fluctuating and is not a good indicator for the exact position Instead the sent position should be taken as reference ARROW S By clicking the arrows positioning up down left right can be made with steps chosen with X and Y STEP JOYSTICK Enables joysti
71. fScanning Grid1 Row rad For kol 1 To NbrOfPixels x x 1 fScanning Grid1 Col kol fScanning Grid1 Picture fScanning PicClipl GraphicCell CInt 63 PixelPicture x 255 Next kol Next rad End Sub canne nn Builds the Errormessage and call for Error form Sub ErrMsg msg As String Dim info As String info If you don t understand the error codes you should refer to appendix B in the NI 488 2 User Manual GlobalMsg msg AddlIbsta AddIberr AddIbent info fErrorInfo Show End Sub mme neue Test for error in transmission and in case update ErrorCounter index type of call before calling ErrorTest Sub ErrorTest value As Integer Dim msg As String If ibsta And amp H8000 lt gt 0 Then ErrorCounter ErrorCounter 1 If HardChecking True Then Select Case value Case 1 msg Problems in transmission computer gt instrument Case 2 msg Problems in receiving values from instrument Case 3 msg Problems in polling the lock in amplifier Waiting False Case 4 msg Problems in connecting to Piezo Chr 13 Chr 10 Are cables connected power turned on Case 5 msg Problems in connecting to Lock In Chr 13 Chr 10 Are cables connected power turned on Case 6 msg Problems with initializion of the GPIB card Case 7 msg Problems with initializion of the instruments End Select msg msg Chr 13 Chr 10 An investigation of the transmission on the card gives the
72. following result Chr 13 Chr 10 73 Call ErrMsg msg End If End If End Sub LL Read piezo and return as binary NOTE Assumes using a 200 um positioner Function GetPiezo Bin channel As Integer As Long Dim buffer As String Dim range As String buffer Space 10 Call Send 0 Piezo Number I amp Str channel amp Chr 13 DABend delay PD Call Receive 0 Piezo Number buffer STOPEnd delay PD buffer Right buffer 8 GetPiezo Bin Val buffer End Function TM Read piezo and return as um Function GetPiezo um channel As Integer As Single Dim buffer As String Dim range As String buffer Space 10 Call Send 0 Piezo Number I amp Str channel amp Chr 13 DABend H mta startposition delay PD Call Receive 0 Piezo Number buffer STOPEnd delay PD range Mid buffer 2 1 buffer Right buffer 8 If range H Then GetPiezo_um Val buffer 32768 200 Else GetPiezo_um Val buffer 32768 20 End If End Function lew wen nnn nnnnnann Get saved date and number of savings from FILE Sub ReadDate Open cNwindowsNystemNdate ini For Input As 2 Input 2 gSavedDate gNbrOfSavings Close 2 End Sub X Read saved default parameters from FILE Sub ReadDefaults Open cNwindowsNystemNpom ini For Input As 1 Input 1 gSensitivity gFilter gSetFrq gReject Input 1 gTuneValue gHertz gInternal gFx2 Input 1 gTimeConst gResolution gOffsetOn gOffsetValue Input 1
73. g on signal strength timeconstant etc A fast way to do this is to make an Auto initialisation or an Auto measure where the first choice is making an automatic sensitivity tuning phasing and offset but leaving all parameters as filters etc unchanged while the second choice makes a auto measure as it can be done at the front panel in manual mode thus changing all parameters to a normal setting The instrument s controllers can now be closed and the scanning properties may be set to wanted values When this is done the scanning form is loaded by clicking the scan button which launches the scanner The program is now ready to make a scan If clicking Type different scantypes can be selected Open scan The open scan window contains a possibility to take a quick look at saved bitmaps and to open a dat file Just double click a bitmap and it will show to the left When opening a data file all the scan parameters in the program will be altered to the values they had at the time they were saved Save scan It is wise to save the scan in both bitmap and data format as you then will have both an image as well as the data that was used when the image was created LIMITATIONS The graphics will limit the dimension of the image to be no greater than 400x400 pixels The graphics can be disconnected just by disabling the marked rows in the loading procedure of the scanning form Bigger pictures can then be scanned and saved as
74. ge 3 in Hertz Sub opt Hz3 click Value As Integer Range 2 Min 1 Max 1 2 TuningHz 5 Stepp 001 Autoscale 1000 text Tuning Text amp Format TuningHz fixed amp kHz gHertz HZ3 Set As Default Call Send 0 lock number FF amp TuningHz Autoscale amp amp Range amp Chr 13 DABend Call ErrorTest 1 End Sub mme Select range 4 in Hertz Sub opt Hz4 click Value As Integer Range 3 Min 1 Max 12 TuningHz 5 Stepp 01 Autoscale 100 54 text Tuning Text amp Format TuningHz fixed amp kHz gHertz HZA Set As Default Call Send 0 lock number FF amp TuningHz Autoscale amp amp Range amp Chr 13 DABend Call ErrorTest 1 End Sub arm Select range 5 in Hertz Sub opt Hz5 click Value As Integer Range 4 Min 10 Max 120 TuningHz 50 Stepp 1 Autoscale 10 text Tuning Text amp Format TuningHz fixed amp kHz gHertz HZ5 Set As Default Call Send 0 lock number FF amp TuningHz Autoscale amp amp Range amp Chr 13 DABend Call ErrorTest 1 End Sub aewewennnnnn anna Select s filter to be LP Sub opt LowPass click Value As Integer Call Send 0 lock number FLT 2 amp Chr 13 DABend Call ErrorTest 1 gFilter LP Set As Default re Select s tuning freq to be manual Sub opt Manual click Value As Integer Call Send 0 lock number ATC 0 a
75. ger Button As Integer Shift As Integer X As Single Y As Single Stopp True End Sub uem Set s double freq onloff Sub check 2F click Value As Integer If Value 0 Then Call Send 0 lock number F2F 1 amp Chr 13 DABend gFx2 True Set As Default Else Call Send 0 lock number F2F 0 amp Chr 13 DABend gFx2 False Set As Default End If Call ErrorTest 1 End Sub uere Set s expand x 10 onloff Sub check Expand click Value As Integer If Value lt gt 0 Then Call Send 0 lock number EX 1 amp Chr 13 DABend gExpandx10 True Set As Default Else Call Send 0 lock number EX 0 amp Chr 13 DABend gExpandx10 False Set As Default End If Call ErrorTest 1 End Sub uum Set s internal on off Sub check Internal click Value As Integer If Value 0 Then Call Send 0 lock number IE 1 amp Chr 13 DABend gInternal True Set As Default Else Call Send 0 lock number IE 0 amp Chr 13 DABend gInternal False Set As Default End If Call ErrorTest 1 End Sub ne Set s reading the lock in on off Sub check ReadOutput Click Value As Integer If Value 0 Then timer Display Enabled True gReadOutput True Set As Default Else timer Display Enabled False gReadOutput False Set As Default End If End Sub 48 ERREI DADE Na Select s rejection filter if changing Sub combo Filters Change
76. h gt 199 Then GoTo ending Start OldX eek Ger startposition If Start Finish gt O Then Direction LEFT Else Direction RIGHT Call MoveTo Start Finish Direction Eeieiekeieieiee Move in small steps XAsBin UmToBin Finish 62 Call Send 0 Piezo Number O1 amp Str XAsBin amp Chr 13 DABend Fine tune label SentX Caption text SetX Text OldX Finish kkkkkk kk Save current position Finish Val text SetY Text If Finish gt 199 Then GoTo ending Start OldY If Start Finish gt O Then Direction DOWN Else Direction UP Call MoveTo Start Finish Direction YAsBin UmToBin Finish 29 Call Send 0 Piezo_Number 02 amp Str Y AsBin amp Chr 13 DABend label_SentY Caption text_SetY Text OldY Finish Exit Sub ending MsgBox Maximum input is 199 um Info Exit Sub End Sub Pe dee de e ed REEEEEES Command button that is used to communicate with the fArrow form Sub c Up Click Call ChangePosition UP YStep text SetY Text label SentY Caption End Sub 28 ese es Changes position Stepp in nanometer Sub ChangePosition Direction As String Stepp As Single Dim xCurrent As Single Dim YCurrent As Single Dim NewPosition As Long ese ERREE Ger current position xCurrent Val label SentX Caption YCurrent Val label SentY Caption If OutOfRange xCurrent YCurrent Stepp Direction True Then MsgBox You are going out the maximum range 16 Overload Exit Sub
77. ht Path 1 lt gt N Then Path Path amp text RecFileName Text Path amp RecFileName End Sub Me ole ck ae ok ok e ode zK ke ok 2 ok ke 2 ok E SK ade 2 oe 2 ck 2k 2 ke ade ck k Re 2K ae ke k of k fe ke 2 ae 2E 2 ke 2 ae SK ke 3 k ck ok k ke k ke ale k ke ck ok ck k k k k 2 k a 2k k k k k k kk ak ale KK G THE OPEN FORM OpenFile frm Opens a saved data file Sae a fa e A e e ke ke 2 ke RR ke RA e A 2 2 e k 2 k 2 k k k k k k ke k cR 2 k ke kkk SK Ke c fe KK Option Explicit Dim RecFileName As String RER Exit savingform Sub c Cancel Click fOpenFile Hide End Sub Call for help on subject OPEN Sub c Help Click Call HELP OPEN End Sub RS Open selected file Sub c Open Click OpenScan UpdateDataOnMain fOpenFile Hide End Sub leur Set filedriver to selected pattern Sub combo Pattern Change filel Pattern combo Pattern Text End Sub lennenen Set filedrivers path to dirl path Sub Dirl Change filel Path dirl Path Call ShowFileName End Sub ln Set dirl s path to drivel s drive Sub Drivel Change dir1 Path drivel Drive End Sub NUR Display current file Sub Filel Click ShowFileName End Sub 65 Co Load file to preview if file is doubleclicked Sub File1 DblClick On Error GoTo BasicError c Screen Picture LoadPicture text FileName Text Exit Sub BasicError Resume Next End Sub een nn ennnnnnn Set start path and combo s Sub Form_Load combo Pattern
78. im Finish As Single Dim Start As Single Dim Direction As String If Key Ascii 13 Then Finish Val text SetY Text HAHAHAHAHA Gof wanted position If Finish gt 199 Then GoTo ending3 Start OldY RR rof start DOSILIOR If Start Finish gt O Then Direction DOWN Else Direction UP Call MoveTo Start Finish Direction 9 k Move from start to finish in small steps Y AsBin Um ToBin Finish 29 Call Send 0 Piezo Number 02 amp Str YAsBin amp Chr 13 DABend label SentY Caption text SetY Text OldY Finish Key Ascii 0 End If Exit Sub ending3 MsgBox Maximum input is 199 um Info 35 Exit Sub End Sub eee Reads current X position of the joystick and sends to piezo Sub timer JoyX Timer Dim dummy X As Integer Dim joystick As JoyInfo Dim xpos As Long Dim xforce As Long Dim TheXStep As Single dummy JoyGetPos 0 joystick If joystick button 1 Then TheXStep 2000 Else TheXStep 100 Xpos joystick xpos xforce 32768 Abs xpos If xforce gt 10000 Then timer joyX Interval GetInterval xforce If joystick xpos lt O Then Call ChangePosition RIGHT TheXStep Else Call ChangePosition LEFT TheXStep End If End If If joystick button 2 Or joystick button 2 Then For X 1 To 5 Beep delay 100 Next X fScanning Show fScanning c Scan Value True End If text SetX Text label SentX Caption OldX Val text SetX Text End Sub MHEKEKEREEKEKEE Reads current Y pos
79. imeconstant for example It is the same procedure that can be done from the front panel Automesure doesn t do an auto offset as AutoInit SAVE PARAMETERS Saves the current parameters as default which will be loaded next time the program starts NOTE No autofunctions will be saved instead will the last value before the auto function was performed be saved Case PIEZO PIEZO CONTROLLER INPUTS If these options are checked the Piezo goes into closed loop operation Unchecked they put it in open loop operation NOTE If the stage is not connected these inputs don t work SCROLL BARS Moving these scroll bars changes the um volt on the piezo UM VOLT Sets wanted operation on the piezo START READING Reads all three channels with a refresh rate of 1 3 s SAVE Saves current parameters to file as default Case GPIB GPIB DOCTOR FIND DEVICES Gets out on the bus and makes an investigation of the currently connected instruments The result is presented as an array 1 32 of addresses to the instruments The first address is O which is pointing at the GPIB card ADDRESSES Makes it possible to change the addresses that the program uses to call for the instruments NOTE If you change this address and you don t have the same address configured on the instrument you are asking for troubl
80. ing media However by repulsive short range electrostatic forces this distance can be reduced 10 times Considering that the particle has a lifetime of 3 30 minutes in the trap a fast scan is desirable However as the particle is surrounded with water a fast scan could cause the trapping to fail Therefore it s necessary to get an idea of how strong the trapping really is A calculation of the trapping force can be done using the Rayleigh theory which may be used for particles with dimensions up to 20 of giving an error lt 2 For larger particles Mie theory should be applied It is necessary to calculate both the strength of the gradient force as well as the scattering force of the particle since they both work together in the capturing Using Rayleigh theory the gradient force Fa is identical with the Lorentz force and may be written E do L p V E4 E xB 2 c dt where p is the dipole moment of the particle Using vector analysis and Maxwell s equations the gradient force may be transformed to a E xB 5 P amar where a T is describing the polarizability and c the speed of light Normally the second term is negligible resulting in BEL 2 xt grad EN OVE s 4 Uit de a wie a m 2 where m iS N article Ns urrounding media the radius of the particle and the vacuum permeability The opposite directed force can be calculated by looking at the scattered intensity at
81. ional Instruments configuration program for the card and software fSaveAs Makes it possible to save the scandata in three different formats data raw or as a bitmap fOpen Contains functions for a fast visual scan of previously saved images and makes it possible to open these including the data which they had when they were created 10 The program also contains the following minor forms fSystem Checks the system resources for memory and computer hardware fError Analys Presents an analyse of a GPIB error if one occurs fErrorInfo Notifies that an error has occurred fResource Shows the system settings fInformation Presents the on line help fLoading Contains a loading presentation fScanType Makes it possible to choose between three different types of scan routines The following modules are included INIT bas Contains important functions in the program and also the declaration of variables global constants and Windows DLL s Help bas Contains the on line help text NiGlobal bas Contains global constants that are used in the GPIB communication Vbib bas Contains the declaration of the functions needed for communication with the supplied National Instruments GPIB DLL Declare bas Contains the declarations for the system resources form The program also uses two INI files for storage of the default parameters that are loaded at program start up They are placed in the
82. ions for testing and analysing the GPIB transmission fPiezo controller Sets the piezo s operating parameters Lock In controller Sets the lock in s operating parameters fArrow Gets and sends arrow key events fScanType Handles input for the different scantypes Disk files TPOM INI VBX DATE INI Contains saved default VBX parameters and date for last logout VBX files for communcating with Windows environment Further information of the program can be obtained in appendix A E 4 3 Description of the hardware electronics Besides the computer a standard 386 and the stage which will be described in the next section the used equipment for the scanning control is a piezoelectric controller and a lock in amplifier 12 The lock in amplifier that the software support is the model 5209 from EG amp G Princeton Applied Research The amplifier is equipped with several internal high quality filters for noise reduction and with a variable time constant to compensate for fluctuations in the signal The preamplifier can give a response up to 10 V A that is ideal for our SNOM arrangement where the signals can be very small The piezocontroller used is the model 17 PCZ 013 from Melles Griot in Cambridge with three independent channels Both the lock in and the piezocontroller are equipped with IEEE GPIB interface for communicating with a computer The used GPIB interface is a National Instrument PCII A card and software
83. ition of the joystick and sends to piezo Sub timer JoyY Timer Dim dummy X As Integer Dim joystick As JoyInfo Dim ypos As Long Dim yForce As Long Dim TheYStep As Single dummy JoyGetPos 0 joystick If joystick button 1 Then TheY Step 2000 Else TheYStep 100 ypos joystick ypos yForce 32768 Abs ypos If yForce gt 10000 Then timer joy Y Interval GetInterval yForce If joystick ypos lt 0 Then Call ChangePosition DOWN TheYStep Else Call ChangePosition UP The Y Step End If End If text SetY Text label SentY Caption OldY Val text SetY Text End Sub Peak Rika ok eck Rok Reads current position every 1 2 second Sub timer_Read_Timer Dim X As Integer For X 1 To 2 Call DisplayReadings X Next X End Sub MRR RRR ERE Colculates and displays the approximative scantime Sub UpdateScanTime Dim Timescan As Single Dim min sec As Integer If Scantype 1 Then 36 Timescan 131 DelayTime 1000 NbrOfPixels NbrOfPixels Else Timescan 075 DelayTime 1000 NbrOfPixels NbrOfPixels End If min Timescan 60 sec Format Timescan Mod 60 00 label ScanTime Caption ScanTime amp min amp min amp sec amp s approx End Sub KA ok ae Ae zK ae ok ie SK fe ok OR of 2 2 fe oe OK a 2 2 e 2 e 2k fe e ade 2 Re 2 2 e 2E RR 2 e ke e 2 Re Re e ok ck oe 2 oe 2 OK o 2E ae ole ode ake Re oe k oe ke ae Re c OK e HR k e De ok k k kk OK k kk B THE SCANNING FORM Contains the cod
84. k ck ck Option Explicit Dim Card As Integer Dim DevicelID As Integer Dim TuningHz As Single Dim Range As Integer Dim Stopp As Integer Dim Stepp As Single Dim Min As Single Dim Max As Single Dim Autoscale As Integer 46 lene enennenennn enna Send s AutoOffset command to lock in Sub c AutoOutputOffset Click label Offset Caption On Call Send 0 lock number AXO amp Chr 13 DABend Call ErrorTest 1 WaitForDevice MsgBox Finished with auto offset End Sub TM Send s Autophasing command to lock in Sub c AutoPhasing Click Dim PollByte As Integer text Information Visible True text Information Text Doing automatic phasing to maximum output please wait Call Send 0 lock number AQN amp Chr 13 DABend Call ErrorTest 1 WaitForDevice text Information Visible False End Sub aur LLLLTMMD Send s Autosensitivity command to lock in Sub c AutoSensitivity Click Dim PollByte As Integer combo Sensitivity ListIndex O text Information Visible True text Information Text Doing automatic search for sensitivity please wait Call combo Sensitivity Click WaitForDevice text Information Visible False End Sub MM Sends Autotuning command to lock in Sub c AutoTune Click text Tuning Text Auto Tune Call Send 0 lock number ATS amp Chr 13 DABend ErrorTest 1 WaitForDevice MsgBox Finished auto tuning End Sub ILL Calls for setting offset
85. l Mode 2 NORMAL HIGH or VERY_HIGH timing Use DMA for I O Swap bytes during an ibrd Swap bytes during an ibwrt Enable disable the event queue Enable disable the visibility of SPOLL Enable disable the sending of LLO Set the timeout value for serial polls Set the parallel poll length period Global Const IbaEndBitIsNormal amp H1A Remove EOS from END bit of IBSTA Global Const IbaUnAddr amp H1B Global Const IbaSignalNumber amp H1C Enable disable device unaddressing Set UNIX signal number unsupported Global Const IbaHSCableLength amp H1F Enable disable high speed handshaking Global Const Ibalst amp H20 Global Const IbaRsv amp H21 69 Set the IST bit Set the RSV bit Global Const IbaBNA amp H200 A device s access board Global Const IbaBaseAddr amp H201 A GPIB board s base I O address Global Const IbaDmaChannel amp H202 A GPIB board s DMA channel Global Const IbalrqLevel amp H203 A GPIB board s IRQ level Global Const IbaBaud amp H204 Baud rate used to communicate to CT box Global Const IbaParity amp H205 Parity setting for CT box Global Const IbaStopBits amp H206 Stop bits used for communicating to CT Global Const IbaDataBits amp H207 Data bits used for communicating to CT Global Const IbaComPort amp H208 System COM port used for CT box Global Const IbaComlrqLevel amp H209 System COM port s interrupt level
86. lse End Sub Call for help on subject GPIB Sub menu GetHelp Click Call HELP GPIB End Sub T Update ErrorCounter every 2 sec Sub Timer1 Timer label Errors Caption End Sub amp ErrorCounter 2K 2k 2K 2k 2 ok 2k ck ck 2 ck ae ok ok ke ok ok ok ok 2k k ck ck ok CK ae SK ok cK cR CK SK cK a 2k SK SK SK SK cR cR ke cR CK CK CK CK fe ck ck ck ck ck ke SR SR SR cR SK CK ke CK HK EK HR k k k k ck cR fe HR cR k CK SK SK k kk F The Save As Form fSaveAs frm Handles the saving off the scan to disk 2K 2K of HR 2 of SK ck KR ck c ole SK 2K cR SK SK OK ck i ok ck PK i ole 2K PR SR SK CK SK CK 2 KK ok 2k ke SK CE CK SK OK SK CR SK SK SK SK SK OK cR SK ae OK Re SK SK SK ok CK cR CE OK cK CR CER SE SE CK cR CK CK CK k kk Option Explicit Dim RecFileName As String DRE Exit SavingForm Sub c Cancel Click fSaveAs Hide End Sub Call for help on subject SAVE Sub c Help Click Call HELP SAVE End Sub 61 EE Call appropriate saving format Sub c Save Click fSaveAs MousePointer 11 gSavedDate Date gNbrOfSavings gNbrOfSavings 1 If opt RawFormat Value True Then Call SaveAsRaw If opt DataFormat Value True Then Call SaveAsData If opt Bitmap Value True Then Call SaveAsBitmap If opt DataAndBitmap Value True Then Call SaveAsBitmap Call Save AsData End If fSaveAs MousePointer O fSaveAs Hide End Sub Set correct pattern for filel Sub combo Pattern Change file1 Pattern com
87. med by using track to tune to ref freq and then switch to manual to take advantage of the higher stability in that mode AUTOTUNE If the lock in is in manual mode making an autotune will set the tuning freq to ref freq In track mode autotuning has no effect LINE REJECT Setting Line reject to F puts an extra notch filter on the line frequency 2F puts the filter in double line freq 2F F gives you two filters and selecting NONE gives no filtering These line filters are completely independent of the tuned filters settings een nn TUNING By clicking lt and gt keys changing the tuning freq is possible If Ref F is selected the filters tune to the ref freq If other range is selected Manual mode will be chosen automatically and changing tuning freq will be possible AUTOPHASE Causes the ref channel s phase shift to be adjusted for maximum output REFERENCE INTERNAL If Internal is checked the lock in locks to the internal freq generated by the lock in say when you trigger the experiment with the lock in OSC OUT connector If it is unchecked it locks to the signal applied to the REF IN connector or the TTL REF IN connector 2xF If this choice is selected the ref freq operates on twice the freq of the applied signal If not selected it operates in the same frequency L T MeeeL OUTPUT
88. ment For instance the finest threads yields about 1 um resolution There has been many attempts to try and transfer the well known technology of the macro and micro worlds to the nanoscale but new physical factors makes this technology unsuitable at this level Why Well there are three traditional technologies for linear moving dovetails ball bearings and roller bearings Fig 3 1 Dovetail motion designs are very simple and effective for long travels with high loads However they are not appropriate for nanometric precision because of their high friction and stiction break away friction which creates a bad repeatability In the ball bearing system the sliding motion friction is replaced with the much lower friction of rolling motion The problem is that mounting a high load on the ball willcause permanent damage thus NS o oso a Dovetail b Ball bearing For instance elastic plastic thermal expansion piezo electric and thermoelectric properties However when designing equipment for use in the submicron world one need to consider new problems that are disturbing precise movement For example thermal expansion that can create 100 nm fluctuations per C in a 10 mm bar of steel Also one has to consider that dimensions of components will change by pressure and can change under the influence of electric and magnetic fields Often it is necessary to use several different materials in combination with each other t
89. mp Chr 13 DABend Call ErrorTest 1 gSetFrq MAN Set As Default End Sub mm Select s resolution to be Normal Sub opt NormRes Click Value As Integer Call Send 0 lock number DR 1 amp Chr 13 DABend Call ErrorTest 1 gResolution NORM Set As Default End Sub nn Select s filter to be Notch Sub opt Notch click Value As Integer Call Send 0 lock number FLT 1 amp Chr 13 DABend Call ErrorTest 1 gFilter NOTCH Set As Default End Sub mme Select s tuning freq to be track Sub opt Track click Value As Integer Call Send 0 lock number ATC 1 amp Chr 13 DABend Call ErrorTest 1 gSetFrq TRACK Set As Default End Sub TM Makes it possible to interrupt a serial poll just by clicking the mousebutton Sub panel 1 Click Dim Response As Integer If Waiting 2 True Then Response MsgBox I m trying to wait for the device to signal ready do you want to break this If the autobutton on the lockin is off and you have been waiting for a long time there could be something wrong 68 Poll break If Response 6 Then Waiting False Call Send 0 lock number AA amp Chr 13 DABend End If End If End Sub eeamenenaacoam Set offset value Sub SetOffset automatic As Integer Dim retur As Variant If label Offset Caption Off Then If not in loading mode get offset value If automatic True Then retur InputBoxS Input offse
90. nterval 250 If TheForce gt 20000 And TheForce 25000 Then GetInterval 150 If TheForce gt 25000 And TheForce 30000 Then GetInterval 50 If TheForce gt 30000 Then GetInterval 10 End Function Seek Reads the piezo and returns the position in um as type single Function GetUm index As Integer As Single Dim range buffer As String Dim spaces As String Dim display As Single buffer Space 10 Call Send 0 Piezo Number I amp Str index amp Chr 13 DABend delay PD Call Receive 0 Piezo Number buffer STOPend range Mid buffer 2 1 If MidS buffer 3 1 Then spaces Else spaces buffer Right buffer 8 If range H Then GetUm Val buffer 32768 200 Else 32 GetUm Val buffer 32768 20 End If End Function De RRRRRRRREEEEREE Ty itiqglize the GPIB communication Sub InitGPIB REKEKEEEKEK Ser s interface clear on the GPIB card Call SendIFC 0 Call ErrorTest 6 KEk Conds device clear to ALL instruments Call DevClear 0 NOADDR Call ErrorTest 7 End Sub hkekekeiekeleleieiekeieieieieee Choose to connect or disconnect lock in Sub label ConnectLockIn Click If c ConnectLockIn 0 Visible True Then c ConnectLockIn Click 0 Else c ConnectLockIn Click 1 End If End Sub EEREREEEEKEEEKEEEE Choose to connect or disconnect piezo Sub label ConnectPiezo Click If c ConnectPiezo O Visible True Then c ConnectPiezo click 0 Else c ConnectPiezo cli
91. o Pixel AddItem 80x80 combo Pixel AddItem 100x100 combo Pixel AddItem 140x140 combo Pixel AddItem 200x200 combo Pixel ListIndex 5 For X 0 To 1 combo Step X Addltem 3 nm combo Step X AddItem 6 nm combo Step X AddItem 9 nm combo Step X AddItem 25 nm combo Step X AddItem 50 nm combo Step X AddItem 75 nm combo Step X AddItem 100 nm combo Step X AddItem 150 nm combo Step X AddItem 250 nm combo Step X AddItem 500 nm combo Step X AddItem 1000 nm Next X combo Step 0 ListIndex 4 combo Step 1 ListIndex 4 combo Delay AddItem 0 ms combo Delay ListIndex 0 x2 1 For X 1 To 15 DelayTime Str x2 amp ms combo Delay AddItem DelayTime K2 RL 80 Next X Pode ok ok ode ode 2k 2k ok ck ade ok ck k ok kK k ole ode k k k KK KK Initialize global variables Piezo Number 12 Lock Number 10 ErrorCounter O HardChecking True SquareScan True Scantype 1 XStep 50 YStep 50 CompX 1 CompY 1 OldX 0 OldY 0 RE Ger and check default parameters Call ReadDefaults Call ReadDate Call CheckDate End Sub Skkkkkkkkkkk Saves the current date when the program is quitting Sub Form Unload Cancel As Integer Call SaveDate End Sub Transforms the joystick position into the speed the positioner will move Function GetInterval TheForce As Long As Integer If TheForce gt 10000 And TheForce 15000 Then GetInterval 500 If TheForce gt 15000 And TheForce 20000 Then GetI
92. o ALL instruments Call ErrorTest 7 End Sub 59 Set interface clear on GPIB card Sub c ClearGPIB click Call SendIFC 0 Call Error Test 6 End Sub LLL Call for finding instruments Sub c Find Click Call FindInstruments End Sub mnt Make a SeriellPollTest on the lock in Sub c SeriellPoll Click Dim SRQByte As Integer Dim PollByte As Integer Dim SQRInfo PollInfo buffer As String Call Send 0 Lock Number OUT amp Chr 13 DABend Call Error Test 1 Call ReadStatusByte 0 Lock Number PollByte If PollByte And amp H80 128 Then PollInfo Polling returned a message that there is valid data to read So 0k Else PollInfo Polling response was bad the device signaled it didn t have valid data to send or maybe it s not connected Call Receive 0 Lock Number buffer STOPend Call ErrorTest 2 MsgBox Testing communications found that amp Chr 10 amp Sending a request to get a reading amp Chr 10 amp Chr 10 amp PollInfo amp Chr 10 amp Chr 10 amp Receiving the data O TestResult End Sub TTL Start GPIB spy program Sub c Spy Click Dim dummy dummy Shell c GPIB PCW epibspy exe 4 End Sub nn Change adress on lock in Sub combo LockInAdress Click Dim response As Integer If Loading False Then response MsgBox If you change this value to a wrong value nothing will work amp Chr 10 amp You should know what you are doing 49 Warning
93. o TimeConst AddItem 300 s combo TimeConst AddItem 1000 s combo TimeConst AddItem 3000 s combo OutputDisplay AddItem FS combo OutputDisplay Addltem Signal combo OutputDisplay AddItem Offset combo OutputDisplay AddItem Noise combo OutputDisplay AddItem Ratio combo OutputDisplay AddItem Log R RUN NI Le te Wait 1 2 sec before setting default parameters timer Init Enabled True End Sub MMMMel Set all parameters to saved default parameters Sub InitDevice Fee Set and send sensitivity combo Sensitivity ListIndex gSensitivity combo Sensitivity Click Call WaitForDevice Set and send filter Select Case gFilter Case BP opt BandPass Value True Case LP opt_LowPass Value True Case NOTCH opt Notch Value True Case FLAT opt_Flat Value True End Select text_Tuning Text gFilter Call WaitForDevice Set freq tuning to track or manual If gSetFrq TRACK Then opt_Track Value True Else opt Manual Value True Call WaitForDevice Set LineReject onloff combo Filters ListIndex gReject combo Filters Click Call WaitForDevice Set Hertz and TuneValue Select Case gHertz Case HZ1 opt_Hz1 Value True Case HZ2 opt_Hz2 Value True Case HZ3 opt_Hz3 Value True Case HZ4 opt_Hz4 Value True Case HZ5 opt_Hz5 Value True Case REF F opt_FilterRef Value True End Select Call WaitForDevice If gHertz lt gt REF
94. o minimize these effects Of the various different methods to achieve nanometric precision two techniques has been noticed to give the best results and that s the piezoelectric actuators and flexure stages The piezoelectric devices are using the fact that some materials change their shape when an electric field is applied Piezoelectrics can respond in microsecond time constants and the positional resolution is only limited by the noise of electronic the power supply With different DRE n OD ecsanrasaneto Ox o me Preload x a NE tette c Roller bearing Fig 3 1 Different technologies for linear movement limiting its use In crossed roller bearing stages the point loading of the ball is replaced with a line contact to the bearing making it able to carry greater loads However this means the friction once again increases It is also obvious that any small particle in the bearing could disturb the accuracy of the motion These disadvantages has directed the attention to non friction techniques by exploiting the fundamental properties of various materials controls positional resolution of a few nanometers are obtainable with a linearity of response of 1 or better Flexure stages are relying on the elastic deformation of solid materials The flexing element merely constrains the motion so that the resulting stage moves in the desired direction in orthogonal directions the rigidity is very large Flexure stages h
95. omatic search for sensitivity please wait combo Sensitivity Listindex 0 Call Send 0 lock number AS amp Chr 13 DABend Call ErrorTest 1 WaitForDevice Do automatic tuning text_Information Text Doing automatic tuning to internal or external frequency please wait For X 1 To 200000 Next X Call Send 0 lock_number ATS amp Chr 13 DABend Call ErrorTest 1 WaitForDevice le Do automatic phasing text Information Text Doing automatic phasing to maximum output please wait Call Send 0 lock number AQN amp Chr 13 DABend Call ErrorTest 1 WaitForDevice Do automatic offset text Information Text Doing automatic offset please wait label Offset Caption On For X 1 To 200000 Next X Call Send 0 lock number AXO amp Chr 13 DABend Call ErrorTest 1 52 WaitForDevice text Information Visible False MsgBox Finished 0 AutolInit End Sub mme nn Make an auto mesure Sub menu AutoMesure Click Dim buffer As String text Information Visible True text Information Text Doing an automesure please wait 1 min buffer Space 10 Call Send 0 lock number ASM amp Chr 13 DABend Call ErrorTest 1 WaitForDevice le Set s the screenparameters to automesure standard combo Sensitivity Listindex 2 0 Set sensitivity to auto opt BandPass Valu
96. only screen not actual scandata Sub scroll Contrast Change Dim kol x rad GrayNbr ContrastIndex As Integer Static slaskPixel As Integer ReDim slaskPixel 1 To NbrOfPixels NbrOfPixels Scanning MousePointer 11 Display selected contrast ContrastIndex scroll Contrast Value label _ContrastPercent Caption Int ContrastIndex 32 635 amp 90 EEE Make copy of inscanned data For x 1 To NbrOfPixels NbrOfPixels slaskPixel x CInt PixelPicture x 63 255 Next x Evaluate every pixel For x 1 To NbrOfPixels NbrOfPixels If ContrastIndex gt 0 Then For increasing contrast If slaskPixel x lt 32 And slaskPixel x gt ContrastIndex Then slaskPixel x slaskPixel x ContrastIndex Elself slaskPixel x ContrastIndex Then slaskPixel x 0 End If If slaskPixel x gt 32 And 63 slaskPixel x gt ContrastIndex Then slaskPixel x slaskPixel x ContrastIndex Elself 63 slaskPixel x lt ContrastIndex Then slaskPixel x 63 End If End If If ContrastIndex lt O Then For decreasing contrast If slaskPixel x lt 32 And Abs 32 slaskPixel x gt ContrastIndex Then slaskPixel x slaskPixel x ContrastIndex Elself slaskPixel x 32 And Abs 32 slaskPixel x Abs ContrastIndex Then slaskPixel x 32 End If If slaskPixel x gt 32 And Abs 32 slaskPixel x gt Abs ContrastIndex Th
97. ou will get it Dim xCurrent yCurrent xStepBin yStepBin As Long Dim buffer As String Dim Nbr convert change As Integer Dim ERRO As Integer ERRO False On Error GoTo ErrorHandling2 ReDim PixelPicture 1 To NbrOfPixels NbrOfPixels Dimension array that contains scandata Halt False Pause False Init startparameters for scan Get current position and calculate scanning step buffer Space 10 xCurrent XasBin yCurrent Y AsBin xStepBin UmToBin XStep 1000 Range 0 65535 yStepBin UmToBin yStep 1000 Range 0 65535 Call Send 0 Piezo Number 01 amp xCurrent amp Chr 13 DABend Call Send 0 Piezo Number 02 amp yCurrent amp Chr 13 DABend Begin scanning change 1 For y 1 To NbrOfPixels grid1 Row y yCurrent yCurrent yStepBin wens Update y position For x 1 To NbrOfPixels Nbr Nbr c Increase or decrease arrayindex depending on direction If change 1 Then grid1 Col x on If direction left gt right Else grid1 Col NbrOfPixels x 1 nn If direction right gt left End If xCurrent xCurrent xStepBin change Update x position Call Send 0 Piezo_Number 01 amp xCurrent amp Chr 13 DABend Move to new position delay DelayTime DelayTime Call Send 0 lock_number amp Chr 13 DABend Set High Speed mode Call Receive 0 lock_number buffer STOPend Get lock in output text_
98. ows the effect of preloading the material with a force The hysteresis is reduces and the off set truncation disappears Another problem is that after changing the operating voltage of the device there will be further drift in the same direction following the immediate movement This creep can be several percent of the displacement but decreases with time making it negligible after a few seconds In some application these effects can be accepted while in others they must be investigated and compensated for e g with computer software The most effective method though is to use a closed loop with position feedback sensors that will compensate for any incorrections in movement and making hysteresis and creep of no importance Several different geometry s has been developed for optimising resolution and or travel range Here the three dimensional single Piezoelectric tube is worth mentioning It uses a small dimension tube 12 7 mm long 6 35 mm in diameter and 0 51 mm thick constructed with a piezoelectric material like the PZT and covered with an outside electrode sectioned into four equal areas and a single inside electrode By applying a voltage to a single outside electrode that segment of the tube is made to expand perpendicular to the electric field This causes the whole tube to bend perpendicular to its axis and enables x y movement The z motion is created by applying a voltage to the inner electrode which causes a unifo
99. pported Enable disable high speed handshaking Set the IST bit Set the RSV bit Enable listen only mode Constants that can be used in addition to the ibconfig constants when calling the IBASK function Global Const IbaPAD amp H1 Global Const IbaSAD amp H2 Global Const IbaTMO amp H3 Global Const IbaEOT amp H4 Global Const IbaPPC amp H5 Global Const IbaREADDR amp H6 Global Const IbaAUTOPOLL amp H7 Global Const IbaCICPROT amp H8 Global Const IbaIRQ amp H9 Global Const IbaSC amp HA Global Const IbaSRE amp HB Global Const IbaEOSrd amp HC Global Const IbaEOSwrt amp HD Global Const IbaEOScmp amp HE Global Const IbaEOSchar amp HF Global Const IbaPP2 amp H10 Global Const IbaTIMING amp H11 Global Const IbaDMA amp H12 Global Const IbaReadAdjust amp H13 Global Const IbaWriteAdjust amp H14 Global Const IbaEventQueue amp H15 Global Const IbaSPollBit amp H16 Global Const IbaSendLLO amp H17 Global Const IbaSPollTime amp H18 Global Const IbaPPoll Time amp H19 Primary Address Secondary Address Timeout Value Send EOI with last data byte Parallel Poll Configure Repeat Addressing Disable Auto Serial Polling Use the CIC Protocol Use PIO for I O Board is System Controller Assert SRE on device calls Terminate reads on EOS Send EOI with EOS character Use 7 or 8 bit EOS compare The EOS character Use Parallel Pol
100. program and the clicking the joystick icon followed by Ok Nothing happens when I press stop while scanning Give it some time The scanning routines listens for outside events rather seldom to improve their speed The program gives an error when opening a file That there is a bitmap file that you can see is no guarantee that there are also a data file that the program can open The scanning form don t appear when called upon If you will be making a scan with many pixels the calculations for the graphics can take up to 1 min to get finished with a 386 processor The auto size is not working when looking at saved files This happens for some bitmap files There is no other solution than to use the normal size option Appendix C Installing the program on another computer Installing the executable program on another computer is very simple Just use the installation disk and all necessary files will automatically be installed When starting the program for the first time at a new computer an installation program will create the following directories cNscanningM 995N1jan 2feb 3mar 4apr 5may 6june 7july 8aug 90sep 91oct 92nov 93dec 1996N nnn enn as the program needs them to save it s scanned data The months begins with numbers to get correct sorting If you want to install not only the executable but the Visual Basic code to
101. r than the Internet G ran Werner for giving me education on the grinding and drilling equipment Microsoft for helping me with the drivers for the joystick handling I would also like to thank Magnus Berglund Peter B rmann and Lars Rymell for valuable and or amusing discussions 18 References L Malmqyist Nonintrusive probes for scanned near field optical microscopy Lund Reports On Atomic Physics LRAP 160 1994 L Malmqvist and H M Hertz Trapped particle optical microscopy Opt commun 94 19 1992 L Malmqvist and H M Hertz Second harmonic generation in optically trapped nonlinear particles using pulsed lasers Appl Opt 34 3392 1995 L Malmqvist and H M Hertz Two color trapped particle optical microscopy Opt Lett 19 853 1994 L Rymell and L Malmqvist Optical Trapping Lund Report On Atomic Physics LRAP 123 1991 Nanopositioning Guide by Melles Griot 1993 7 G Binning and D P E Smith Single tube three dimensional scanner for scanning tunneling microscopy Rev Sci Instrum 57 1688 1986 B Drake R Sonnenfeld J Schneir and P K Hansma Tunneling microscope for operation in fluids Rev Sci Instrum 57 441 1986 L Grahm H G Jubrink A Lauber Modem Elektrisk M tteknik del 2 Bokf rlaget Teknikinformation 1994 p 126 1 E Hecht and A Zajac Optics Addison Wesly publishing company 1974 H
102. rm expansion of the tube Typical response is 5 nm V in each direction Other more classical geometry s has been shown to reach resolutions of 4 V X ac electrode inner electrode X dc Fig 3 4 Tube scanner The outside 1s sectioned in four equal areas A small ac signal and a large dc signal 1s separated 180 apart 4 Computer controlled scanning stage For making a controlled TPOM scan a software program has been developed using the GPIB IEEE interface that is implemented in the piezocontroller and the lock in amplifier It not only controls the scanning movement but also the collection of data from the photomultiplier and presents it as an image 4 1 Description of the software The basic idea of the program is 1 Set all parameters of all electronic devices used in the scan 2 Set parameters that controls the behaviour of the scan 3 Control the positioning of the piezo transducer 4 Aquire information from the photomultiplier 5 Present data on screen as a picture 6 Save scanned data in a graphical or data format The program has been developed using the language Visual Basic that has a somewhat object oriented approach and has support for communicating with the Windows environment It is built with 7 major forms windows and 4 modules bas files The modules contains the global declarations for variables used throughout the program and also procedures and functions that can be called f
103. rom every form The structure of the program is not using the ordinary MVC model view controller Simula and Smalltalk but rather a totally event driven model For communicating with the Windows environment the program is using so called VBX files that serves as a buffer between the complex Windows routines and the programmer However in some cases these have been insufficient and calls directly to the Windows so called DLL s direct linking libraries has been made The program is built around one main form that serves as a collector of scandata and as a model which is common in languages as launcher of all other forms in the program The following major forms has been implemented fMain Handles the input from the user regarding the scan parameters and also establishes connections with the piezocontroller and the lock in amplifier and launches other forms Contains the actual scanning routines and also the image processing and the visual presentation of the scanned data fScanning fPiezo Makes it possible to control the piezoparameters and save them as default fLock In Controls the lock in amplifier and has possibilities to make different automatic initialisations The parameters can be saved as default fGPIB Makes it possible to investigate the status of the IERE interface and make several tests of the instruments It also contains links to the GPIB spy that can monitor the traffic on the bus and to the Nat
104. s 4 Timeout of 300 us ideal Global Const Tims 5 Timeout of 1 ms ideal Global Const T3ms 6 Timeout of 3 ms ideal Global Const T10ms 7 Timeout of 10 ms ideal Global Const T30ms 8 Timeout of 30 ms ideal Global Const T100ms 9 Timeout of 100 ms ideal Global Const T300ms 10 Timeout of 300 ms ideal Global Const T1s 11 Timeout of 1 s ideal Global Const T3s 12 Timeout of 3 s ideal Global Const T10s 13 Timeout of 10 s ideal Global Const T30s 14 Timeout of 30 s ideal Global Const T100s 15 Timeout of 100 s ideal Global Const T300s 16 Timeout of 300 s ideal Global Const T1000s 17 Timeout of 1000 s maximum IBLN constants Global Const ALL SAD 1 Global Const NO_SAD 0 IBEVENT constants Global Const EventDTAS 1 Global Const EventDCAS 2 Global Const EventIFC 3 The following constants are used for the second parameter of the ibconfig function They are the option selection codes Global Const IbcPAD amp H1 Primary Address 68 Global Const IbcSAD amp H2 Global Const IbeTMO amp H3 Global Const IbcEOT amp H4 Global Const IbcPPC amp H5 Parallel Poll Configure Global Const Ib READDR amp H6 Repeat Addressing Global Const IDCAUTOPOLL amp H7 Disable Auto Serial Polling Global Const IbcCICPROT amp H8 Use the CIC Protocol Global Const IbcIRQ amp H9 Use PIO for I O Global Const IbcSC amp HA Board
105. struments in one command The program is using the routines as they have been shown to give the best results Visual Basic Application Program TPOM Controller Fig 4 1 How to communicate with the GPIB card a aate QD 11 For correct communication it is necessary to configure the card software This is done using the ibconf program that can be found in the windows control panel The correct parameters can be found in appendix F Fig 4 1 Overview of the program INIT BAS Contains global variables and procedures Contains the on line help fil fSystem fJoystick Shows system resources Handles the joystick fMain form Contains launchers for different windows and handles input for scanning parameters and positioning fScanning form Contains functions for different types of scannings and visual presentaion of scanned data fSaveAs fOpen Contains functions for opening a dat file and viewing a bmp file Contains functions for saving data to disk in different formats Timer Generates periodical events used to trigger different tasks in the program ErrorAnalys Checks for errors after every GPIB call HELP BAS VBIB BAS Contains declarations of the subroutines used to call the National Instrument dynamic link library DLL NIGLOBAL BAS Contains global variables and constants that are used when calling the DLL fGPIB doctor Contains funct
106. t 1 End Sub in OO enenennannanaa Select filter to be flat Sub opt Flat click Value As Integer Call Send 0 lock number FLT 0 amp Chr 13 DABend Call ErrorTest 1 gFilter FLAT Set As Default End Sub leew nnnennnnn nana Select resolution to be High Sub opt_HiRes_Click Value As Integer Call Send 0 lock_number DR 2 amp Chr 13 DABend Call ErrorTest 1 gResolution HI Set As Default End Sub Penn Select resolution to be High Stability Sub opt HiStab Click Value As Integer Call Send 0 lock number DR 0 amp Chr 13 DABend Call ErrorTest 1 gResolution STAB Set As Default End Sub mmm Select range I in Hertz Sub opt Hzl click Value As Integer Range 0 Min 5 Max 12 TuningHz 5 Stepp 01 Autoscale 100 text Tuning Text amp Format TuningHz fixed amp Hz gHertz HZ1 Set As Default Call Send 0 lock number D1 4 FF amp TuningHz Autoscale amp amp Range amp Chr 13 DABend Call ErrorTest 1 End Sub mmm Select range 2 in Hertz Sub opt Hz2 click Value As Integer Range 1 n Min 10 Max 120 TuningHz 50 Stepp 1 Autoscale 10 text Tuning Text amp Format TuningHz fixed amp Hz gHertz HZ2 Set As Default Call Send 0 lock number FF amp TuningHz Autoscale amp amp Range amp Chr 13 DABend Call ErrorTest 1 End Sub ume Select ran
107. t voltage amp Chr 10 amp Range 150V 150V Offset Else retur Str gOffsetValue End If Send offset value If retur lt gt Then retur Val retur retur retur 10 Call Send 0 lock number XOF 1 amp retur amp Chr 13 DABend label Offset Caption On gOffsetOn True a Set As Default gOffsetValue retur ee Set s Default End If Else Else disconnect offset Call Send 0 lock number XOF 10 amp Chr 13 DABend Call Send O lock number XOF 0 amp Chr 13 DABend label Offset Caption Off gOffsetOn False Tu Set As Default gOffset Value 0 Set As Default End If Call ErrorTest 1 End Sub EE Read and display lock in output every 1 2 sec Sub timer Display Timer Dim buffer As String Dim display As Single Dim spaces As String Dim X As Integer Get reading buffer Space 10 Call Send O lock number OUT amp Chr 13 DABend Call ErrorTest 1 Call Receive 0 lock number buffer STOPend Call ErrorTest 2 Format reading for fixed pos for positivinegative values display Val buffer display display 100 If display lt O Then spaces Else spaces text output Text spaces amp Format display fixed End Sub Te Call for initialization when loading form Sub timer Init Timer InitDevice timer _Init Enabled False End Sub 56 e a a se a a aa e oe ade ke be eae a ke ke ke ke oj oh sj oe de be ae ae ae
108. the particle and integrating it over a sphere the particle thus resulting in a total scattered power of i l z a amp amp 3 Pa MI zs ea PAG de sf 5 128a m 1y 34 m 2 where is dipole axis angle to the scattering direction a the particle radius and and the dielectric constants of the particle and the medium respectively The intensity is asummed to be uniform The Rayleigh theory now says that this scattering power results in F n P 4 C which gives 1281 a n m 1y sca 3 C m 2 0 6 At the equilibrium point you now have the resulting force F ca F praa to be zero By calculating the energy it takes to escape from the equilibrium one can get an idea of how willing the particle is to stay in the trap Plotting the total force on the particle shows that a scan that creates forces gt 0 1 pN could cause the trapping to fail This indicates that the viscous forces from the surrounding water on the particle when scanning should not be greater than that As a conclusion these discussions are indicating that the upper limit of resolution due to brownian motion is around 25 nm A positioning resolution in that range should therefore be aimed for Considering the maximum scan speed experiments has shown on stabile trapping at speeds around 100 um s using 200mW trapping power and 60 nm SiO Such speeds are no problem with regard to the linear movement Fig 2 2 The example shows
109. the ratio between Fgaa Fsc R depending on the particle radius a At the equilibrium these forces is equal thus making R 1 3 Scanning methods 1 l m HR Position along beam axis um Fig 2 1 The total force acting on the trapped particle The trapping point is where the total force is zero However there could be accelerations exceeding that speed This should not cause a problem if the movement in each step is small enough say 100 nm This is because the trap has a size of 0 5 um causing the particle to fall back into the equilibrium These results are in good agreement with the assumption that the viscous drag force on the particle is F4 67nv a a is the particle radius n the viscosity of the medium and v the speed of the medium versus the particle M ails 0 lt a lt 50 nm O lt z lt 4 um In order to perform a high resolution scan several different techniques has been developed Wanted qualities are Good linearity of response which insures repeatability of the movement High resolution preferably around 1 nm Fast and stable positioning Large positioning range Some different techniques will be discussed in the next section 3 1 Different techniques During the years high precision movements has been conducted with fine screws and different types of micrometers But these mechanical instruments have their limitations when they are reaching the nanometric environ
110. tion As String As Integer Dim X OutOfRange False If xCurrent Stepp 1000 gt 199 And Direction RIGHT Or YCurrent Stepp 1000 gt 199 And Direction UP Or xCurrent Stepp 1000 0 And Direction LEFT Or Y Current Stepp 1000 lt 0 And Direction DOWN Then OutOfRange True Beep If xCurrent Stepp 1000 gt 199 Then Call Send 0 Piezo Number 01 amp 65000 amp Chr 13 DABend label SentX Caption 199 um Elself xCurrent Stepp 1000 O Then Call Send 0 Piezo Number 01 amp 62 amp Chr 13 DABend label SentX Caption Stop that Elself YCurrent Stepp 1000 gt 199 Then Call Send 0 Piezo Number 02 amp 65000 amp Chr 13 DABend label SentY Caption 199 um Elself YCurrent Stepp 1000 O Then Call Send 0 Piezo Number 02 amp 29 amp Chr 13 DABend label SentY Caption Stop that End If End If End Function PRK sk sk este ea oe se ck ob oe ok oe sk e ok Position down Sub spinl SpinDown Call ChangePosition DOWN YStep text SetY Text label SentY Caption End Sub ekkki Do sition up Sub spinl SpinUp Call ChangePosition UP YStep text SetY Text label SentY Caption End Sub PRIE Do sition left Sub spin2 SpinDown Call ChangePosition LEFT XStep text_SetX Text label_SentX Caption End Sub 34 HERE Position right Sub spin2 SpinUp Call ChangePosition RIGHT XStep text_SetX Text lab
111. value false set it manually Sub c OutputOffset click SetOffset False End Sub LM Set s the slope on the lock in Sub c OutputSlope click If label Slope Caption 6 dB Then Call Send 0 lock number XDB 1 amp Chr 13 DABend label Slope Caption 12 dB gSlope Z6 dB Set As Default Else Call Send 0 lock number XDB 0 amp Chr 13 DABend label Slope Caption 26 dB gSlope 12 dB Set As Default End If Call ErrorTest 1 End Sub mme nee Set the tuning frequency Sub c TuningUpDown MouseDown Index As Integer Button As Integer Shift As Integer X As Single Y As Single Dim potens As String tM Disconnect reference freq Call Send 0 lock number D1 3 amp Chr 13 DABend Call ErrorTest 1 Change tuning freq by selected Stepp while mousebutton is down or until exceeding range 47 Stopp False If Range gt 2 Then potens kHz Else potens Hz Do If Index O Then TuningHz TuningHz Stepp Else TuningHz TuningHz Stepp End If text Tuning Text amp Format TuningHz fixed amp potens Call Send 0 lock number FF amp TuningHz Autoscale amp amp Range amp Chr 13 DABend Call ErrorTest 1 gTuneValue TuningHz Set value DoEvents Loop Until Stopp True Or TuningHz gt Max Or TuningHz lt Min End Sub TTL Stop changing tuning frequency when mouseup Sub c TuningUpDown MouseUp Index As Inte
112. y Nbr Nbr 1 yCurrent yCurrent yStepBin Update position Call Send 0 Piezo Number 02 amp yCurrent amp Chr 13 DABend Move to position Call delay Delay Time o DelayTime Call Send 0 lock number amp Chr 13 DABend oo High Speed mode Call Receive 0 lock_number buffer STOPend eee Get lock in output PixelPicture Nbr Val buffer a Store in global array convert Abs CInt Val buffer 63 15000 1 a Convert to range 0 64 If convert lt 64 Then grid1 Picture picclip1 GraphicCell convert Draw pixel on form if not overload DoEvents If y 600 Then Call Send 0 Piezo Number O2 amp yCurrent 2000 amp Chr 13 DABend Move to position delay 60000 Call Send 0 Piezo Number 02 amp yCurrent amp Chr 13 DABend Move to position End If Next y Else eee nee n Scan in x direction For x 1 To NbrOfPixels eral Cols x Nbr Nbr 1 xCurrent xCurrent xStepBin Update position Call Send 0 Piezo Number O1 amp xCurrent amp Chr 13 DABend Move to position Call delay DelayTime DelayTime 40 Call Send 0 lock number amp Chr 13 DABend Call Receive 0 lock number buffer STOPend PixelPicture Nbr Val buffer convert Abs CInt Val buffer 64 15000 If convert 64 Then grid1 Picture picclip1 GraphicCell convert DoEvents Next x End If Call Send 0 lock number
113. y gridi Row text_Position Text Col amp x amp Row amp y End Sub 39 Co When mousebutton is pressed over grid and zoom is chosen Sub Gridl MouseDown button As Integer Shift As Integer x As Single y As Single Dim size cellSize As Integer If Zoom True Then If button 1 Then ZoomDegree ZoomDegree ZoomChoice Elself button 2 Then ZoomDegree ZoomDegree 1 ZoomChoice End If If ZoomChoice 1 Then ZoomDegree 1 size grid1 Width 400 Compensate for drawbar cellSize Int ZoomDegree size NbrOfPixels 1 If NbrOfPixels 12 Then cellSize Int cellSize 2 If cellSize lt picclip1 Height 11 4 And cellSize gt 2 Then Kontrollera sa att bitmapen r ckerv Call ScaleGrid NbrOfPixels ZoomDegree Else MsgBox Sorry can t zoom to that degree 48 Zooming End If End If Zoom true End Sub lasse Make a line scan in input direction NOTE Important sub Sub LineScanning direction As String Dim x y k As Long Dim xCurrent yCurrent xStepBin yStepBin As Long Dim buffer As String Dim Nbr convert As Integer ReDim PixelPicture 1 To NbrOfPixels buffer Space 10 ON Get current position and calculate scanning step xCurrent XasBin yCurrent Y AsBin xStepBin UmToBin XStep 1000 Range 0 65535 yStepBin Um ToBin yStep 1000 Range 0 65535 grid1 Row 1 grid1 Col 1 c Scan in y direction If direction y Then For y 1 To NbrOfPixels gridi Row
Download Pdf Manuals
Related Search
Related Contents
CHICANE Chicane Chicane medecin generaliste – partenaire d`adeca 68 mode d`emploi HC 750 E(700 W) - TG 750 E (700 W) Copyright © All rights reserved.
Failed to retrieve file