On Advancement of High Speed Atomic Force Microscope Technology by Kimberly E. SooHoo SUBMITTED TO THE DEPARTMENT OF MECHANICAL ENGINEERING IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF BACHELOR OF SCIENCE AT THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY JUNE 2008 ©2008 Kimberly E. SooHoo. All rights reserved. The author hereby grants to MIT permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole or in part in any medium now known or hereafter created. Signature of Author: - / Department of Mechanical Engineering 05/09/2008 Certified by: / .. S~ Kamal Youcef-Toumi Professor of Mechanical Engineering Thesis Supervisor Accepted by: John H. Lienhard V "• ... Ior of Mechanical Engineering Chairman. Undergraduate Thesis Committee MASSACHL••TTS ] INSTfT OFTEOHNOLOGY AUG 1-42008 LIBRARIES I ARCHENU On Advancement of High Speed Atomic Force Microscope Technology By Kimberly E. SooHoo Submitted to the Department of Mechanical Engineering on May 9, 2008 in Partial Fulfillment of the Requirements for the Degree of Bachelor of Science in Mechanical Engineering ABSTRACT High speed atomic force microscopy (AFM) is a developing process in which nanoscale objects, such as crystal structures or strands of DNA, can be imaged at rates fast enough to watch processes as they occur. Although current generation AFM is already pivotal in many fields of research and industry, slow scan rates inhibit the imaging of dynamic samples. Much advancement has been made in high speed AFM thus far, yet many subsystems remain to be developed. This thesis outlines the development of a feedback controller for the AFM scanner, as well as the filters designed to attenuate high frequency noise. A comparison of the scan signals and scanner output signals are compared, with and without the controller and filters. Post-data acquisition image processing techniques are also described and compared with raw data. Finally, these techniques are applied to the high speed imaging of calcite etched with hydrochloric acid. Thesis Supervisor: Kamal Youcef-Toumi Title: Professor of Mechanical Engineering Table of Contents 1. Introduction ..................................................................................................................... 7 2. Instrumentation and Control ......................................................................................... 10 2.1 Introduction ....................................................................................................... 10 2.2 Piezoelectric Material Feedback Control ........................................... ..... . 10 2.3 Description of PID Control Principle ....................................... ........ 15 2.4 PID Control Verification.............................................. 17 2.5 Scan Signal Filtering................................................................................ 18 2.6 Scan Signal Filtering Verification ........................................ .......... 20 2.7 Summary ........................................................................................................ 20 3. Image Processing .................................................................................................... 22 3.1 Introduction....................................................................................................... 22 3.2 Tilt Removal Principle.......................... ..................................... 22 3.3 Scaling Principle ......................................................................................... 23 3.4 Experimental Verification............................................. 25 3.5 Summary........................................................................................................... 27 4. Application and System Integration................................................................... 28 4.1 Introduction....................................................................................................... 28 4.2 Experimental Setup........................................................ 28 4.3 Imaging Crystal Etching in Calcite............................................................. 29 4.3.1 Imaging Dry Calcite.................................. ... .............. ............. 29 4.3.2 Imaging Calcite in Liquid .............................................................. 32 4.3.3 Imaging Calcite with HC1 ............................................................. .. 32 4.4 Conclusion ........................................ ............................................................ 34 5. Conclusions and Recommendations.................................... ............................... 35 6. Appendices........................................................ ....................................................... 37 Appendix A.................................................................................. .............. 37 Appendix B ........................................ 40 Appendix C .................................................... 42 Appendix D............................................................................................................. 44 MATLAB Tilt Removal, Scaling, and Movie Code.............................. o . ....44 7. Acknowledgements............................................................................. ...................... 46 8. References........................................ ............................. ....... ................ 47 List of Figures Figure 1: Histeresis of piezoelectric material [9].................................... .......... 11 Figure 2: Block diagram of scanner feedback control loop ...................................... . 12 Figure 3: Block diagram of scanner feedback control loop with strain gage correction.. 13 Figure 4: Screenshot of the PID control and strain gage signal correction program in LabV IE W .................................................................................................................. 14 Figure 5: Comparison of scan signal and strain gage signal at 10 Hz ........................... 17 Figure 6: Comparison of scan signal and strain gage signal at 500Hz .......................... 18 Figure 7: High frequency steps in scan signal triangle wave generated by LabVIEW 19 software on a desktop PC................................................................................ Figure 8: Scanner response signals to a 10 Hz Triangle Wave............................... Figure 9: AFM images of a 3pm pitch silicon grating................................................. Figure 10: Zoomed in portion of silicon grating................................ . 20 25 ............ 26 Figure 11: Piezoelectric material layout on the AFM scanner. ..................................... 28 ........ 29 Figure 12: Sample scanning AFM components ........................................ Figure 13: AFM deflection image of 15p~m-by-15p.m area of dry calcite. .................... 30 Figure 14: AFM deflection images of dry calcite at line rates of (a) 1Hz. (b) 10Hz. (c) 20H z. (d) 50H z. (e) 100H z .................................................................................... 31 Figure 15: AFM deflection image of 15pgm-by-15p.m area of calcite in water .............. 32 Figure 16: Progression of calcite etching, imaged at 10Hz line rate. ............................ 33 Figure 17: Outer structure of x-y translation stage ...................................... ...... 38 Figure 18: Inner structure of x-y translation stage ....................................... ....... 38 1. Introduction Atomic Force Microscopy (AFM) is a powerful method of acquiring images with better than nanometer resolution. The process was invented in 1986 by Binnig et al. as an advancement of Scanning Tunneling Microscopy [1]. While other nanoscale imaging techniques are limited to conductive samples (SEM, STM) or a vacuum environment (SEM, TEM), AFM allows for the imaging of insulators at room pressure, as the scanning technique is mechanical in nature. AFM uses a sharp probe at the end of a cantilever which is dragged over the surface of a sample. In sample scanning atomic force microscopes (AFMs), the sample sits on the z-piezo, a stack or tube of piezoelectric material (piezo) which expands and contracts in the z-direction driven by a feedback controller to compensate for the deflection of the probe from a setpoint. The motion in the x and y directions are controlled through x- and y-piezos, respectively. In most AFMs today, probe vertical deflection is measured within the AFM head using the reflection of a laser off the cantilever tip onto a photodiode (optical lever detection). The signal from the photodiode is used to control the z-piezo, causing it to expand and contract in response to the signal in order to return the cantilever angle to its original setpoint angle. As the z-piezo responds to the sample contours, the trajectory in the zdirection is plotted and used to create a topographical image of this sample. The advantages of AFM have led to its prominence in many fields of industry and research, such as semiconductor manufacturing and nanoscience. Furthermore, AFM is widely used for imaging DNA strands, proteins, and living cells. An additional advantage of using AFM to image biological structures is that the process can be performed in air or liquid. In 1992, Hansma et al. achieved higher resolution images of plasmid DNA by imaging samples in n-propanol, reducing the adhesion forces between the probe tip and sample [2]. Although there has been much success in the development and application of AFM so far, there is a high demand for much faster imaging. The slow imaging rates achievable in current AFMs are sufficient (although inconvenient) for imaging stationary structures. However, when the sample of interest is undergoing a process which takes only a few seconds or less, the process can not be observed using a typical AFM with scan rates on the order of several minutes per frame. By vastly increasing the AFM imaging rate, one could acquire images quickly enough to watch the process as it occurs. For example, using a high speed AFM, one could scan a molecular motor [3] and align the single frames of three dimensional data into a real time movie. In an effort to increase the imaging rate from several minutes per image to several frames per second, ongoing research aims to redesign the components of the microscope, and design controllers suitable for imaging biological samples. Running an AFM at high speeds excites resonances within the system. Thus, some of the mechanical components must be redesigned with higher resonant frequencies, and electrical components must include filters to attenuate noise. For example, in high speed imaging, smaller cantilevers are needed because they have higher resonant frequencies for the same spring constant [4]. While these small cantilevers are already in limited production, other mechanical components remain to be redesigned for high speed capabilities. Furthermore, sources of electrical noise must also be amended. High frequency noise also excites resonances in the system, and must be eliminated using filters. In addition to attenuating high frequency signals, adequate control systems must be designed to control the motion of the high speed scanner. Because the imaging process is based on mapping a height to an x-y position, faster controllers must be developed both to ensure that the z-piezos are expanding and contracting in accordance with their feedback signals from the cantilever deflection, as well as to adequately track the input x- and y-trajectories. Many recent developments have contributed to the advancement of high speed AFM. High speed scanners with flexures on the sides of the z-piezo stack have been developed to reduce vibration in the x- and y-directions [5]. Smaller cantilevers with high resonance frequencies have been manufactured [5], while faster control systems have been developed [6]. To facilitate the high speed imaging enabled by component redesigns, faster data acquisition systems have also been developed [7]. Despite the advancement in the research of high speed AFM, many challenges remain to be addressed. Further development of high speed control systems must be designed and implemented. High frequency noise in scan signals must be attenuated. Furthermore, post-data acquisition image processing techniques must be developed to process the raw AFM data. This thesis will discuss the development of scanner feedback control and x-y scan signal filtering. The results of these developments will be verified and discussed by examining the scan signals and scanner response signals. This thesis will then discuss the post-processing techniques used to display the AFM images and align them into movies. The implementation of these developments will be experimentally verified by imaging a crystal calcite structure. Finally, this thesis will describe the conclusions and recommendations learned from this research. 2. Instrumentation and Control 2.1 Introduction Because AFM imaging maps a height value for a given x-y-position, it is crucial that the scanner follows the desired x-y trajectory in order to obtain an accurate image. If the position of the scanner is inaccurate, the height values measured at certain locations on the sample will be recorded as data specific to other locations, resulting in image artifacts. This chapter will outline the approaches used to minimize two major causes of image artifacts, namely the hysteresis observed in the sample scanner and resonant frequencies excited by high frequency signals. Finally, the effects of the discussed solutions in the AFM system are verified experimentally. 2.2 Piezoelectric Material Feedback Control In sample scanning AFM, a major cause of image distortion is the observed hysteresis of the scanner, especially at high scan signal frequencies. The scanner is set up to track scan signals in the x- and y-directions, which in this case are triangle waves generated using National Instruments LabVIEW 8.2 software through an Adlink DAQ2010 data acquisition card [7] and tracked with a National Instruments CompactRIO programmable automation controller. A higher frequency signal drives the scanner back and forth across a line (for example, in the x-direction), while a lower frequency signal simultaneously moves the scanner perpendicular to that motion (for example, in the ydirection) to gather data from all the lines in a frame. Without a control mechanism implemented in the system, the scanner trajectory does not follow a perfect triangle wave, but instead exhibits hysteresis, as illustrated in Figure 1. j2 1 1 1 0 10 20 30 40 50 00 70 80 90 100 Drive Votage IV Figure 1: Histeresis of piezoelectric material [9]. As illustrated in Figure 1, when the voltage signal sent to the piezo increases or decreases linearly, the piezo does not expand or contract in a linear fashion. Instead, the displacement of the piezo differs between increasing and decreasing signals. This hysteresis causes misalignment between the consecutive images, which is particularly troublesome when aligning images into movies. The solution to this phenomenon is to implement a controller so that the scanner can be manipulated to closely follow the generated scan signal. Two possible types of control mechanisms are feedback and feedforward control Feedback control is a method in which the input signal is sent to the system plant, and its output is fed back to the controller. The difference between the input and output is measured, and the controller adjusts the following reference signal accordingly. The advantage of using feedback control is that it operates independently of the causes of the system disturbances and simply adjusts the signal according to the scanner's response to the input. One disadvantage is that for feedback one needs an independent sensor to measure the actual piezo motion. Such a sensor needs nanometer resolution and high bandwidth. The noise of this sensor is a limiting component to the scan accuracy and scan speed. The other option is feedforward control. Feedforward control is a process which accounts for the disturbances that would adversely affect the ability of a system or uses a model of the system to track an input signal, and the input signal is modified accordingly. The advantage of using feedforward control is that no sensor is required in the control system. Not only do sensors add a relatively high amount of noise, but accurate sensors with bandwidths low enough for high speed AFM scanning are difficult to find. Although AFM controllers use a combination of feedforward and feedback controllers for scanner motion in the z-direction, almost all only use feedforward control in the x- and y-directions to avoid the problems caused by noisy sensors. However, the piezoelectric material response is based on many parameters, some of which include scan speed, temperature, and humidity. The parameters input to an AFM scanner feedforward controller are numerous and must be changed frequently in order to get reasonable tracking of the scan signal. Thus, closed loop feedback control is chosen for this AFM scanner. As this method only relies on the scanner input and response for controller action, it eliminates the need to predict the piezoelectric material behavior. A proportional-integral-derivative (PID) controller is programmed into a National Instruments LabVIEW field-programmable gate array (FPGA) module. The PID controller is integrated into the feedback loop as represented in the block diagram in Figure 2. Figure 2: Block diagram of scanner feedback control loop. The reference signals are the triangle waves generated by the LabVIEW software on a desktop PC and sent through a scan control box to allow for signal scaling and offset. Each triangle wave is amplified (using a high voltage amplifier, Fa. Techproject) and sent to the x- or y-piezos, causing them to expand and contract to move the scanner along its trajectory. The output of the scanner is then read by strain gages attached to the x- and ypiezos, and the strain gage signals are fed back to the PID controller. The general form of the feedback loop in Figure 2 assumes equal sensitivities in the strain gages and the scanner, but in fact these sensitivities are different. To correct for this difference, gains and offsets are programmed into the FPGA using LabVIEW. The gain is programmed such that floating point numbers as well as integers can be processed in the FPGA. This is a necessary step in order for the scanner to track the input signal sufficiently well. The feedback diagram then becomes as shown in Figure 3. Figure 3: Block diagram of scanner feedback control loop with strain gage correction. Figure 3 shows the implementation of the strain gage signal gain and offset into the feedback loop. The optimal offset and gain values are determined by comparing the scan control signal to the corrected strain gage signals using a digital oscilloscope (LeCroy Wavesurfer 452). By adjusting the offset value, the strain gage signal can be corrected to lie in the range of the scan signal. By adjusting the gain, the amplitude of the strain gage signal can be closely matched with that of the scan signal. The elements of the feedback loop which are programmed in LabVIEW are enclosed in a dotted box in Figure 3. The LabVIEW program includes PID controllers and strain gage offsets and gains for both the x- and y- signals. A screenshot of the program is shown in Figure 4. .~ .•....... MAIO· M AIl. M AI2. M AI3. M M M AOO AOI A02 t)Fr3) . ·.r .2 · · . ··········1iJ IY gain (floating point) I Figure 4: Screenshot of the PID control and strain gage signal correction program in LabVIEW. The top half of the program corresponds to the x-scan signals and the bottom half corresponds to the y-scan signals. On the left, the x-scan signal, x-strain gage signal, yscan signal, and y-strain gage signal are read in through the analog input block. Each strain gage signal is then corrected with an offset and a gain. The scan signals and corrected strain gage signals are read into their respective PID control blocks, where they are processed and the controller output is sent to the analog output box on the right. After these output signals are sent to the amplifiers and piezos as illustrated in Figure 3, the reference and strain gage signals are again read into the LabVIEW program and the cycle repeats. 14 2.3 Description of PID Control Principle With a completely linear system, the PID controller would be a viable mechanism for tracking the scan control signal. The fundamental idea behind a PID controller is that it corrects an error signal, e, based on three parameters: proportional, integral, and derivative. Each parameter is associated with a gain value, Kp, Ki, and Kd respectively, which can be tuned to adjust the performance of the controller. The proportional part of the controller compensates for the current error, or the difference between the system output and its input (the setpoint) at a moment in time. Based on this comparison, the controller adds a term to its output which takes the form of up = Kp e (1) where up isthe proportional component of the output, and e isthe error signal. The integral component sums the error over time to determine the accumulated error not already eliminated by the controller. The controller multiplies the integral of the error by the integral gain, to obtain the output u, = K,. -e dt (2) where ui is the integral component of the output. Since this error is integrated over time, the accumulation of small persistent errors incites more action from the controller. Thus, the integral component of the controller is designed to minimize the steady state error of the scanner response. This component is also added to the controller output in order to correct for the sum of the error observed by the controller. Finally, the derivative component measures the rate of change in the error with respect to time. The derivative of the error is multiplied by the derivative gain such that Ud = Kd .de dt (3) where ud is the derivative component of the controller output. As Kd is the gain for the dynamic component of the controller, it is adjusted to improve the initial transient response of the scanner. For example, at the moment when the controller is turned on, the error between the scanner output and the scan signal input will be large. The derivative part of the controller will dominate when the scanner tries to quickly catch up to the input signal. However, once the controller has been running long enough for the response to come close to the input signal, the effects of the derivative component become negligible until a large disturbance occurs in the input signal (such a drastic change in sample topography). Each of these three components of the output are summed to get a total controller output equal to u = up +u i +ud = K, e+K, -fe.dt+Kd de dt (3) (3) By adjusting the controller parameters K,, Ki, and Kd, the controller behavior can be changed to find a suitable response to the system error. We are concerned with the long term rather than transient response of the scanner, since the scanner will reach its steady state response very quickly. Thus, we can eliminate the derivative component of the controller, so that Kd =0 (4) u = up +u i = K, e +Ki, - edt (5) This then simplifies Equation 3 to making the controller a PI, rather than PID, controller. The optimal gain values for the proportional and integral components of the controller are obtained by comparing the scan control signal to the corrected strain gage signal both audibly and visually, using the oscilloscope. The main concern is that with excessively high gain values, the controller would try to track noise in the scan signal, resulting in system instability. Thus, the gain values are chosen such that they are low enough to avoid hypersensitivity to noise, but high enough to minimize the steady state error between the two signals. 2.4 PID Control Verification The scan signal and scanner response signal are compared with and without PI control. The derivative component is left out of the controller to avoid system instability as a result of tracking the noise in the signal. By comparing the signals at 10Hz and 300Hz, it is clear that the controller allows for much better tracking of the scan signal at both frequencies, as shown in Figure 5 and Figure 6. Scan and Strdn Gage SIgnal at 10Hzwith PIDOIf time Scn and StrainGage S1gns at 10HzWth PID On 1 Unme Figure 5: Comparison of scan signal and strain gage signal at 10 Hz. a) Signals without PI control. b) Signals with PI control. ScanandStrainGage Signalsat 500HzwithPID On PIDOff ScanandStrainGage Signdsat 500Hz nwth I I .n-3 a. . " time - X 1n3 X Figure 6: Comparison of scan signal and strain gage signal at 500Hz. a) Signals without PI control. b) Signals with PI control. As the scanner hysteresis is more pronounced at higher frequencies, the error between the signals even with the PI controller is slightly more noticeable at those high frequencies. For the 10Hz signals, the maximum error is 0.375V, while for the 500Hz signals, the maximum error is 0.500V. However, given the drastic improvement of the scanner response with the controller on, the scanner is determined to track the scan signal sufficiently well. 2.5 Scan Signal Filtering In addition to feedback control, scan signal filtering is also a crucial component in eliminating image artifacts. High frequency noise in the scan signal can excite resonances which would cause the system to go unstable. A point of concern is the high frequency "steps" observed in the scan signal due to the digital-to-analog (D/A) converter, shown in Figure 7. Scanner Response to 10Hz Triangle Wawe Without Filter scan signal steps .5 time (us) x 104 Figure 7: High frequency steps in scan signal triangle wave generated by LabVIEW software on a desktop PC. The scan signal triangle waves are generated as digital signals, but must be converted to analog voltage signals before being input to the amplifiers and piezoelectric material on the scanner. A D/A converter takes the digital numbers and converts them into voltage outputs. Unfortunately, since the converter has a finite sampling rate, the output signal is discrete rather than continuous. The discontinuities in the converter output appear as high frequency steps in the scan signal. In order to avoid exciting resonances due to the conversion, low pass filters are built for both the x and y scan signals. A low pass filter can be designed for a specific cut off frequency, where signals with frequencies higher than the cut off undergo drastic amplitude attenuation. The filters for the scan signal are designed with adjustable cut off frequencies to accommodate different scanning parameters. With a lower cut off frequency, more high frequency noise signals are attenuated, but the magnitudes of low frequency signals are also slightly attenuated as well. The drawback in this case is that if a filter with a low cut off frequency is chosen, although much of the noise is cut out, the triangle wave is rounded at its peak and the scanner does not scan the full range. Conversely, if the filter has a high cut off frequency, more noise is allowed is to pass through the filter. The effects of different filters are examined by sending the scan signal through each filter and examining the scanner output. 2.6 Scan Signal Filtering Verification The scanner response to a 10Hz triangle wave without any filter is plotted and visually compared to the response with a filters with cut off frequency of 300kHz. While the triangle wave without a filter shows large steps, the filtered wave exhibits a much smoother signal, as shown in Figure 8. tr Tn mO-rR•canoto 10am I 0o5 W" w ho, Ff 94 S.-m R-m- Wth3kmmFil as 04 "I Q.a 0.0 10 StoI xlc Figure 8: Scanner response signals to a 10 Hz Triangle Wave. a) Scanner response without filtering. b) Scanner response with low pass filter with cut off frequency 300kHz. With the discontinuities in the scan signal filtered out, the response of the scanner is much smoother, thereby eliminating much of the high frequency response which would excite resonances in the scanner. Although at higher scan signal frequencies the peaks exhibit more rounding when filtered, for a 10Hz triangle wave, this rounding is not visible. 2.7 Summary This chapter presented solutions to two causes of AFM image distortion. First, the feedback mechanism implemented in the scanner system was discussed, and the PI controller design was examined. The filters designed to cut off high frequency noise were also presented. Finally, this chapter illustrated the effectiveness of each of the methods described above. 3. Image Processing 3.1 Introduction Even after the scanner feedback control and signal filtering during data collection described in Chapter 2, raw AFM data must be post-processed before being displayed as images. This chapter will describe the commonly observed problem of tilt in AFM images, and it will outline two image processing techniques for removing it. This chapter will then describe the scaling technique used for imaging three-dimensional data. Finally, the results will be verified experimentally. 3.2 Tilt Removal Principle The sensitivity of AFM to the height of a sample is what makes it such a powerful imaging tool, yet it is also makes the technique very sensitive to planar tilt. As the sample is set on the scanner by hand using wax for adhesion, the sample will always have some planar tilt relative to the plane of motion of the scanner on which it lays. The simplest way to remove tilt from AFM data is to perform image processing techniques after data collection. After all of the images in a sequence are taken, the raw AFM data is organized into separate matrices, where each entry in the matrix corresponds to a z-value for a pixel location in the image. Each matrix represents one frame of image data. With the data organized into matrices, image processing can be performed using MATLAB computing environment. The idea behind the tilt removal is that the tilt and planar curvature of an image can be approximated using a regression model, such as the least squares method. With the data fit to an approximate polynomial expression, that expression can be subtracted from the raw data to normalize the tilt and curvature in the image. The two methods of applying this idea are either to find best fit curves for each line of data, or to find a best fit surface for the entire frame. In the line by line technique, the best fit curve of each scan line in the frame is calculated using a least squares calculation. These curves are of low order such that the best fit curves do not fit too closely to the raw data, thus eliminating the tilt and planar curvature of the sample plane but not the higher order topographical curves of the actual sample. Each best fit curve is subtracted from its corresponding line in the frame. In the surface fitting technique, a best fit surface of the frame is calculated using a regression model [8]. Again, this surface is of low order such that the topographical information in the data is preserved. That surface is then subtracted from the frame to eliminate tilt and curvature. Performing both operations, the tilt in an image can be sufficiently removed. One option is to eliminate tilt line by line first, and then again using the surface fit. Almost all of the tilt and curvature will be removed by the line fit, as it removes from tilt from every line in a frame individually. The disadvantage to line fitting first is that information about changes in sample height from line to line is lost when the best fit lines are subtracted. The other option is to remove tilt using the surface fit first, and then line by line only if necessary. This allows for the option of preserving as much information as possible, while still eliminating most of the tilt and curvature. Because both methods are valuable for different purposes, both were developed and applied to the AFM images. 3.3 Scaling Principle With the tilt normalized, the next step is to set the scaling of the processed data. The AFM data is a matrix of z-values in which the indices of the matrix correspond to the coordinates of each pixel in an image. In order to display the data as a black and white image, each z-value in the matrix must represent a specific shade on the grayscale spectrum between black and white. In MATLAB, the value 0 appears in a grayscale image as black, and the value 63 appears as white. However, since the z-values in an AFM data matrix will not necessarily fall between 0 and 63, the z-values must be scaled such that they are compatible with the MATLAB grayscale spectrum. Furthermore, the same scale must be applied to all of the images in a sequence so that if the AFM is zoomed in on a high portion of the sample in one frame, the viewer can still interpret that frame as being at a higher range of z-values. Thus, the scale must be set such that in the images, black corresponds to the minimum value and white corresponds to the maximum value over all of the frames in the sequence. The first step in setting the scale in this way is to determine the maximum and minimum values over all of the frames. However, simply finding the absolute extrema of the images would not produce the desired results since AFM data is susceptible to some noise. This noise causes a few random outliers, or points in the image which contain data several orders of magnitude higher or lower than the mean value of the images. Although these points are few enough not to be detectable when viewing a correctly scaled image, their existence does pose an additional challenge in finding appropriate extrema for setting that scale. To find a more appropriate scale for the sequence of frames, the outliers have to be forced back toward the mean. This is accomplished by applying a low pass filter to each frame of data, solely for the purpose of finding the maximum and minimum from the resulting matrices. The low pass filter blurs each image by averaging out an area surrounding a given pixel, and assigning the average value to that pixel. With an averaging area sufficiently large, the outliers are averaged with their surrounding data points and are reassigned values much closer to the overall mean of the matrix, while the surrounding points are only slightly affected by the outliers. Each filtered frame is stored in a multidimensional array. Because the array stores the filtered matrix of every successive frame in the sequence, the maximum and minimum of the array also represent the extrema of the entire sequence. These extrema are obtained and used to normalize the range of z-values in the matrices to that of the grayscale spectrum in MATLAB. With the image data scaled to match the grayscale spectrum, the original matrices (rather than the blurred ones used to obtain the extrema) can be displayed as black and white images. 3.4 Experimental Verification After both the tilt and scaling processes are developed individually, they are combined to process a sequence of raw AFM data. The new function first corrects the frames for tilt (either line by line then surface, or surface then line by line), then scales the processed data and creates black and white images. These images are aligned into an Audio Video Interleave (AVI) file so that the full scanning sequence can be replayed as a movie. To illustrate the combination of tilt removal and scaling, a raw image of silicon grating with a 3pm pitch is processed. For this sequence of images, the line by line method of tilt removal is applied first, then the surface fit method. Each method is applied such that the tilt removed in all of the frames is the same. More precisely, the best fit curve of each scan line in only the first frame is calculated. Then, each best fit curve is subtracted from its corresponding line in all of the frames in the sequence, such that every frame is normalized with the same set of curves. The new images (linecorrected images) are saved and processed with the surface fitting technique. A best fit surface of only the first frame of line-corrected images is calculated. That surface is then subtracted from every frame in the sequence. The resulting sequence of images are all normalized with the same set of lines and the same surface. One frame of tilted data is compared with the same frame after image processing, as shown in Figure 9. I a 10 15 a. 21 20 21 25 b. Figure 9: AFM images of a 3pm pitch silicon grating, a) Scaled but still tilted image. b) Scaled and tilt removed image. For the purpose of comparison, Figure 9(a) is scaled first so that the tilt can be observed, rather than observing a blank image due to lack of proper scaling. As shown in Figure 9(a), the image shows a clear tilt in the sample before tilt processing. The upper right corner of the image appears much lighter than the bottom left corner due to the tilt of the sample plane. However, the processed data shown in Figure 9(b) was both normalized to a flat plane and scaled such that the features of the sample were visible and the image looks similar to a black and white photograph. Zooming in with the AFM on a portion in the grating, the contrast in heights is shown clearly after scaling the image properly, as shown in Figure 10. 500 :·~e~ 100 100 20 25 20 200 250 . 250 a. I D. Figure 10: Zoomed in portion of silicon grating. a) Scaled but still tilted image. b) Scaled and tilt removed image. In the tilted data, a scale is chosen that fits the wide range of z-values, which includes the tilt. This means that the highest point in the image is at the height of the grating at the top of the slant, while the lowest point is between the gratings at the bottom of the slant, giving the scale a much larger range of z-values. Thus, when the AFM zooms in, the difference between the height of one grating and its nearby vacancy is not very apparent. However, when the image tilt is removed, the range of z-values to fit to the grayscale becomes much smaller. This results in clearer contrast when zooming in on one grating in the image. Each of the frames in the processed sequences appears flat and clearly shows the features of the grating. Thus, the movies also appear as if the grating had been filmed on a flat surface with a black and white camera. 3.5 Summary This chapter illustrated the need for tilt normalization and color scaling of raw AFM image data. This chapter described the development of a MATLAB function which corrects sequences of AFM images for tilt and scaling, as well as aligns those images into an AVI movie. Finally, this chapter presented the experimental results of the program with sample AFM data. 4. Application and System Integration 4.1 Introduction To test the effectiveness of the image processing techniques described in Chapter 3, a dynamic sample was imaged with the AFM and post-processed. This chapter outlines the approach to imaging a block of calcite as it is being etched with hydrochloric acid (HC1). Finally, the results of the experiment after image processing are presented. 4.2 Experimental Setup A calcite sample is set up on the sample scanning high speed AFM. The calcite is placed on the z-piezo of the scanner (Figure 11), and the AFM head is placed above the sample, sitting on an x-y translation stage (Figure 12). kinematic mount x piezos z piezo y piezos Figure 11: Piezoelectric material layout on the AFM scanner. head translation stage scanner Figure 12: Sample scanning AFM components. Rough x-y positional adjustments are made using the screws on the sides of the translation stage, which sits on the kinematic mounts on the scanner. With the sample on the scanner and the head in place, the AFM was ready for imaging. 4.3 Imaging Crystal Etching in Calcite 4.3.1 Imaging Dry Calcite Before imaging the calcite etching with HCl, the sample is imaged dry to ensure that its nanoscale features are clearly visible, and to determine a good approximate imaging speed and resolution. With slower speeds, higher resolution can be obtained. However, if the scan speed is too slow, substantial etching will occur within single frames, and the process can not be accurately imaged. A small block of calcite is placed on the scanner, and various areas of the calcite are imaged using a Nanoscope V controller and software. A 15pm-by-15rm area with visible crystal layers as well as larger steps on the surface is chosen for imaging. These nanoscale features can be seen in an image taken at 10Hz, shown in Figure 13. Crystal layers Larger steps- 50 100 150 200 250 300 350 400 450 500 Figure 13: AFM deflection image of 15pm-by-15pm area of dry calcite. By finding an imaging speed which maintains the resolution to show these features, the pits that form in the crystal surface as a result of etching (etch pits) expected in the experiment should also be clearly visible. The chosen area is scanned several times in contact mode, at line rates of 1Hz, 10Hz, 20Hz, 50Hz, and 100Hz. images are shown in Figure 14. The resulting a° a. D. L U. 5 10 10 10 15 20 2 26 I a. C. 2 2 e. Figure 14: AFM deflection images of dry calcite at line rates of (a) 1Hz. (b)10Hz. (c)20Hz. (d)50Hz. (e) 100Hz. The resolution at 1Hz gives very good resolution of the sample topography, but takes several minutes to obtain a full image. A line rate of 10Hz also shows the sample features clearly, and only takes approximately 25 seconds per frame. Already at 20Hz the resolution decreases such that the crystal layers in the calcite are much less clear. The scans at 50Hz and 100Hz are too blurred and noisy to obtain good images of the crystal layers, despite being very fast. With this information, a scan speed in the range of 110Hz is chosen to obtain high resolution. The exact scan speed is determined during the etching AFM imaging. 4.3.2 Imaging Calcite in Liquid Before imaging the calcite in acid, the sample is imaged in water to verify that the imaging parameters are still valid and that a good image can be obtained in liquid. Water is added to the surface of the sample, and a 15pm-by-15gm area is scanned at 10Hz in contact mode. The features of the sample are still clearly visible when imaged in water, as shown in Figure 15. Figure 15: AFM deflection image of 15pm-by-15pm area of calcite in water. As Figure 15 shows, the surface features are still visible in water, and it is determined that the sample can be imaged in liquid at 10Hz while still maintaining good resolution. This suggests that if the sample is imaged in acid, the etch pits on the surface will be seen in the AFM image. 4.3.3 Imaging Calcite with HCI After choosing the scan area and speed and verifying that the sample can be imaged in liquid, 200ul of 0.06 Normal HCl solution is added to the top surface of the sample and the etching process is imaged. As expected, when scanning in the range of 110Hz, the etch pits are clearly visible in the scan area. A scan rate of 10Hz is chosen so that the etch pits can clearly be seen changing in time over several frames. The progression of the etch pits is shown in Figure 16. Figure 16: Progression of calcite etching, imaged at 10Hz line rate. The progression shows clear etch pits in regions of the scan area. In the circled regions of the images in Figure 16, the calcite topography changes throughout the progression. The topmost layers of the surface show recession as time progresses due to the crystal etching. However, large portions of the images showed rough surface features at much higher z-values than the etch pits. Although the cause of these features is currently unknown, one possible explanation is that they are crystal layer edges in which the calcite is dissolving much more aggressively. Regardless of their origin, these features affect scaling in the post-data acquisition image processing. Because they are at much higher heights than the etch pits, setting the maximum scale value by these features conceals the more subtle changes in height of the etch pits. This issue was resolved by increasing the size of the filter described in Section 3.3. This blurred the scaling image much more, thereby drastically reducing the effects of the high "outliers," which in this case were the high features rather than only noise. The results of the image processing are shown in Figure 16, where the higher structures are less clear, but the etch pits can be clearly seen changing over time. 4.4 Conclusion This chapter outlined the implementation of image processing in a high speed AFM experiment. Using a calcite sample being etched with HC1, the effects of different imaging speeds were examined using the post-processing techniques outlined in Chapter 3. Furthermore, a lack of visible contours in the etch pits was addressed and resolved using a larger blurring filter during image scaling. The final result was a sequence of high resolution etch pit images with clear progression over time. 5. Conclusions and Recommendations This thesis presented instrumentation and control methods for the AFM process useful in minimizing image artifacts. Furthermore, post-data acquisition image processing techniques were developed to display a sequence of high speed AFM images as a movie. These developments in high speed AFM technology were motivated by the need for increased system stability and image quality at high speeds. The feedback control system for the x-y trajectory of the scanner was designed with a PI controller and implemented into the AFM. The controller design was influenced by the need for the scanner output to track its input signal as closely as possible without also tracking noise in the signal. The closed loop scanner response was compared to the open loop response, showing that the control system did greatly improve the scanner's ability to track the scan signal, even at frequencies as high as 500Hz. The other development in instrumentation was the implementation of low pass filters for the scan signal. Discontinuous steps in the scan signal due to the D/A converter introduce high frequency noise to the scanner input. Thus, low pass filters were used to attenuate these steps. The filters were designed with adjustable cut off frequencies, which could be selected based on the scanning frequency of the AFM. While the filters with lower cut off frequencies attenuated more high frequency noise, rounding at the peaks of the scan signal was also more prevalent. However, a comparison of the scan signal with and without filtering showed a clear attenuation of the steps in the scan signal using all of the filters. Next, the image processing techniques for tilt removal and scaling were described. The line by line and surface fitting techniques were both implemented in the tilt removal of AFM images. Scaling was set by filtering the entire sequence of image data and setting the extrema of the sequence to a color bar in MATLAB. The individual frames were then aligned and converted into movies. These image processing techniques were tested and verified using AFM image data of a grating. Finally, a high speed AFM experiment was performed, in which a calcite sample being etched with HCI was imaged. At a line rate of 10Hz, the resolution was very good, but extra post-processing was needed to maintain the clarity of the etch pits in the image. For further advancement of high speed AFM, much development remains to be done. For example, as the strain gages discussed in this thesis exhibited nonlinear behavior, more advanced control systems must be implemented for better tracking of the x- and y-scan signals. Mechanical components must be redesigned for higher resonant frequencies, while the motions of the AFM components which excite high frequency dynamics should also be reduced. Finally, image processing techniques which gradually readjust scaling over time can be implemented so that when sample topography changes over a sequence of images, the topographical features remain clear throughout the video. As more of these systems are developed, AFMs can be operated at even higher speeds, with even better image resolution. 6. Appendices Appendix A x-y Translation Stage In the sample scanning AFM, the sample sits on the z-piezo stack and is translated in the x-, y-, and z-directions to be scanned by the AFM probe. The AFM head, which contains the cantilever, photodiodes, and optical equipment, sits on an x-y translation stage above the sample. The stage is used to manually position the head roughly over the area of interest in the sample. Conventional translation stages are on the order of tens of millimeters thick (in the z-direction). Since the z-piezo stack must be taller than the thickness of the stage in order for the sample to reach the head, the z-piezo stack must be very tall compared to its width. Unfortunately, this geometry gives the z-piezo stack a low resonance frequency, which makes it susceptible to vibration in the x- and y-directions during high speed scanning. To enable the use of shorter z-piezo stacks, a new x-y translation stage was designed. The new stage consists of an outer structure (Figure 17) which holds the inner structure inside (Figure 18). ' screw hole 0.Pjmj1Su1V.%, Figure 17: Outer structure of x-y translation stage. Figure 18: Inner structure of x-y translation stage. The head sits on the inner structure in Figure 18, which is translated in the x- and y-directions using the screws set into the screw holes of the outer structure in Figure 17. Springs connecting all four sides of the outer and inner structures help maintain the orientation of the AFM head. Small rare earth magnets are glued into the magnet pockets of the outer structure to maintain the stability of the inner structure as it slides over the magnets. The bottom surface of the outer structure is only 2.5mm thick, while that of the inner structure is 1.5mm thick. This design is expected to greatly reduce the requisite height of the z-piezo stack, and is currently in the manufacturing process. Appendix B MATLAB Line by Line, then Surface Fitting Script function [frameuntilti = lineplane(Z, directory) %%% untilts AFM image data by taking the best fits of every line in the %%%first frame (PID offi) and subtracting them from the lines in image Z, %%% then the best fit surface of the first frame and subtracting it %%% from image Z. %%% Written by Kimberly E.SOOHOO %%% May 2008 filename= sprintf(['IMAGES\\' directory '\\filel '); framel = dlmread(file_name); frame = abs(f ramel(:,1:256)); % % % ------------------------------------------------------ ------------------ %%% Find best fit of PID offl line by line and subtract from original data %%% of any frame Z x line = [1:2561; frame linel =zeros(256, 256); frame line = zeros(256, 256); for k= 1:256, fit= polyfit(x_line,frame(k,:),3); framelinel(k,:) = frame(k,:)-(fit(1)*x line + fit(2)); frame_line(k,:)= Z(k,:)-(fit(1)*x line +fit(2)); end % % % -----------------------------------------------------------------------%%%Use polyfitn.m to find a best fit surface for line-corrected frame 1. %%% Arguments of polyfitn.m are: %%% (1)matrix with column 1 = x values, column 2 = y values %%% (2)column vector of dependent variable (z) %%% (3)variables of best fit surface A= [1:2561; B = A'; x= repmat(B, 1, 256); xcol = x(:); y= repmat(A, 256, 1); ycol =y(:); xycol = cat(2, xcol, ycol); frameT=frame'; zcol=frame_T(:); % Use polVfitn to fit a surface to the line-corrected frame 1. % The orders on the independent variables can be changed here (x^3, xv^4, % etc.) polymodel = polyfitn(xycol, zcol, 'x xA2 x*y V^2 v constant'); yval =x; xval =y; z sub = polymodel.Coefficients(1)*xval ... + polymodel.Coefficients(2)*xval.^2 ... + polymodel.Coefficients(3) *xval.*yval ... + polymodel.Coefficients(4)*yval.^2 ... + polymodel.Coefficients(5)*yval ... + polymodel.Coefficients(6); frameuntilt= frameline-z sub; Appendix C MATLAB Surface, then Line by Line Fitting Script function [frame_untilti = planeline(Z, directory) file name = sprintf(['IMAGES\V directory '\\filel ']); framel = dlmread(file_name); frame = abs(f ramel (:,1:256)); % %--------------------------------%%% Use polyfitn.m to find a best fit surface for frame 1. %%% Arguments of polyfitn.m are: %%% (1) matrix with column 1 = x values, column 2 = y values %%% (2)column vector of dependent variable (z) %%% (3)variables of best fit surface A= [1:2561; B = A'; x= repmat(B, 1, 256); xcol = x(:); y= repmat(A, 256, 1); yCol = y(:); xycol = cat(2, xcol, ycol); frame T=frame'; zcol= frame_T(:); % use polyfitn to fit a surface to the data from frame 1. The orders % on the independent variables can be changed here (x^3, x*y^4, etc.) polymodel = polyfitn(xycol, zcol, 'x x^2 x*V y^2 v constant'); yval = x; xval =y; z sub = polymodel.Coefficients(1)*xval ... + polymodel.Coefficients(2)*xval.^2 ... + polymodel.Coefficients(3)*xval.*yval ... +polymodel.Coefficients(4)*yval.^2 ... + polymodel.Coefficients(5)*yval ... + polymodel.Coefficients(6); plane newl frame-z sub; plane_new= Z-z_su b; % % % ------------------------------------------------------------------------ %%%Find best fit of PID offl line by line and subtract from plane %%%corrected frame Z x line =[1:2561; frameuntilt= zeros(256, 256); for k=1:256, fit = polyfit(xline,plane_newl(k,:),3); frame_untilt(k,:) = plane_new(k,:)-(fit(1)*xline +fit(2)); end Appendix D MATLAB Tilt Removal, Scaling, and Movie Code function [1= process_LP(directory) %Performs untilt (line by line, then plane) and scaling on all frames and %aligns into movie (.avi) close all files = dir(['IMAGESV directory '\file *']); A= size(files); numFrames = A(1)-1; w=5; filt = ones(w,w)/(wA2); %%% Read each file (filel, file2, ..., filenumFrames) in sequence. %%%Perform untilting operation: line by line, then surface fit. %%%Save each frame in multidimentional array D. %%%Filter each frame (to later obtain accurate max, min) and save each %%%filtered frame in multidimentional array E. for(count = 1:numFrames) file name = sprintf(['IMAGES\\' directory '\\file%d'],count); framel =dlmread(file_name); frame = abs(framel (:,1:256)); [frameuntiltl=lineplane(frame, directory); %This can be planeline %rather than lineplane %depending on method %of choice D(:,:,count) = frame_Untilt; im_filt= conv2(frame_untilt, filt); E(:,:,count)= im filt; end %%% Find approximate minimum and maximum over all the frames, using blurred %%%frames. F= E(5:256,5:256,:); F dim =size(F); F_new_dim= F_dim(1)*F_dim(2)*F_dim(3); F_vec= reshape(F, 1, F_new_dim); max F= max(F vec); minF = min(F_vec); close all figure(5) %%%Read untilted images (without blurring) from matrix D. Use max and min %%%values to normalize to the colormap (length 64). Make images and save %%%each image as a movie frame. for k = 1:numFrames G = D(:,:, k); new_image= 64*(G-minF)/(max F-min_F); image(new_image); colormap(gray) M(k) = getframe; end rate = 4; figure(6) movie(M,1 ,rate) movie2avi(M,'mov LP'); 7. Acknowledgements First, I would like to thank Professor Youcef-Toumi for taking me in on this project and for offering his advice and encouragement over the course of the year. I would also like to express deep gratitude toward Dan Burns and Dr. Georg Fantner, for spending so much time and effort in teaching me not only about this project, but about various facets of research which will be useful in any field. I could not have done this without their teachings, patience, and generosity. I would also like to thank my good buddies - Clara, Kev, Vic, Dan, Amy, Michi, and Michelle - for keeping my spirits up and always making me laugh. Thank you also to Ani, who helped me with various aspects of my research, and always brought a welcome break to work. And of course, to Yasu, who has stuck with me through everything this past year, bringing me much happiness, encouragement, support, and laughs. Finally, I would like to thank my parents, Steve and Louise, and my sisters, Ally and Wendy, for all their love and support throughout the years. 8. References 1. 2. 3. 4. 5. 6. 7. 8. 9. Binnig, G., C.F. Quate, and C. Gerber, Atomic Force Microscope, in Physical Review Letters. 1986. p. 930-933. Hansma, H.G., et al., Reproducible Imaging and Dissection of Plasmid DNA under Liquid with the Atomic ForceMicroscope, in Science. 1992. p. 1180-1184. Ando, T., et al., A high-speed atomic force microscope for studying biological macromolecules,in Proc Natl Acad Sci USA. 2001. p. 12468-72. Hansma, P.K., et al., Applied physics - High-speed atomic force microscopy, in Science. 2006. p. 601-602. Fantner, G.E., et al., Components for high speed atomic force microscopy, in Ultramicroscopy.2006. p. 881-7. Schitter, G., F. Allgower, and A. Stemmer, A new control strategyfor high-speed atomicforce miciroscopy, in Nanotechnology. 2004. p. 108-114. Fantner, G.E.et al., Data acquisition system for high speed atomic force microscopy, in Review of Scientific Instruments. 2005. D'Errico, J., polyfitn.m MATLAB code http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectld=1 00 65 Image from PI website: http://www.physikinstrumente.com/tutorial/4_20.html