The Nanoscale World

thermal tune for cantilever stiffness disagree /questions on 'practical advice on the determination of cantilever spring constants'

rated by 0 users
Answered (Not Verified) This post has 0 verified answers | 1 Reply | 3 Followers

Top 150 Contributor
7 Posts
Points 82
Fei Liu posted on Fri, Jun 22 2012 8:03 AM


I am trying to  rectangular calibrate cantilevers by thermal tune in air. The fit model is Lorentan. The correcting factor I used in the thermal tune dialog box is 1.106 as suggested Ben Ohler .The stiffness I get is ~5.6N/m. 

Then I  record the thermal noise by HSDC at 500kHz and do the analysis myself. But what I get is 8.2N/m. The error is over 40%.

Here is how I analyze the recorded thermal noise in air.

0. import HSDC file to matlab by following the suggestion from the link :

and convert  is form  volt to nm, by multiplying the data with the deflection sensitivity.

1. Fourier transform to get power spectrum of the thermal noise. The data length for Fourier Transform is 64K.

2. Fit to Lorentian Equation.

3. Calculate the area under the fitted curve subtracting the noise baseline.

4. Use the equation 16 from 'practical advice on the determination of cantilever spring constants'

The cantilever resonance frequency is 150kHz.

Why is the stiffness different from that given by the software?

My AFM is Multimode with Nanoscope V controller.

Does the software do something different?




  • | Post Points: 12

All Replies

Top 10 Contributor
75 Posts
Points 3,652
Suggested by Ben Ohler


The first thing to check is that the data scaling is correct. I would recommend collecting a normal force curve with HSDC and compute the deflection sensitivity yourself using the same data path and file import method that you're using for the thermal tune data. Any errors there will have a big effect.

The other thing to check is your calculation of the PSD. It's easy to get scaling errors due to different window functions and simply other errors in the calculation. Also be clear that calculating the PSD is not the same as just calculating the FFT. I've only done the calculation in Igor Pro, not MatLab. Igor has a PSD function that calls their FFT function. Maybe MatLab has something similar. One thing that I found pretty critical is to use some averaging of the PSD. You can segment the original time data and average the results from each segment. This is also implemented in the Igor routine.





Page 1 of 1 (2 items) | RSS
Copyright (c) 2011 Bruker Instruments