Add min-slope-ratio option to BumpConfig.
authorW. Trevor King <wking@drexel.edu>
Mon, 23 Jan 2012 19:41:10 +0000 (14:41 -0500)
committerW. Trevor King <wking@drexel.edu>
Mon, 23 Jan 2012 19:41:10 +0000 (14:41 -0500)
I was running into trouble moving to the surface with extremely long
cantilevers, as the difference between the contact slope and
non-contact drift was smaller than my hardcoded cutoff.  Now the
cutoff is configurable.

calibcant/bump.py
calibcant/config.py

index 90a4b9250459aba8f53d3a89c6c80a3a2ad2bb20..4d0db8439fe8bc01de3d0ee5b878d1c3d2275c7b 100644 (file)
@@ -86,11 +86,13 @@ def bump_acquire(afm, bump_config):
     Returns the acquired ramp data dictionary, with data in DAC/ADC bits.
     """
     afm.move_just_onto_surface(
-        depth=bump_config['initial-position'], far=bump_config['far-steps'])
+        depth=bump_config['initial-position'], far=bump_config['far-steps'],
+        setpoint=bump_config['setpoint'],
+        min_slope_ratio=bump_config['min-slope-ratio'])
     #afm.piezo.jump('z', 32000)
 
-    _LOG.info('bump the surface to a depth of %g m'
-              % bump_config['push-depth'])
+    _LOG.info('bump the surface to a depth of %g m with a setpoint of %g V'
+              % (bump_config['push-depth'], bump_config['setpoint']))
 
     axis = afm.piezo.axis_by_name(afm.axis_name)
 
index c80e791c1cfe3307a66b67a703bbf39ffc9e518e..2cb32da01338ab9a390619b379167bdfca334b5e 100644 (file)
@@ -88,6 +88,13 @@ class BumpConfig (_config.Config):
             help=('Maximum deflection in volts in case of stepper positioning '
                   'to achieve the initial position.'),
             default=2.0),
+        _config.FloatSetting(
+            name='min-slope-ratio',
+            help=('Set the minimum ratio between the deflection/displacement '
+                  'of the contact and the non-contact regions for bumps '
+                  'seeking the surface.  Bumps without sufficient difference '
+                  'assume they need to move closer to find the surface.'),
+            default=10.0),
         _config.IntegerSetting(
             name='far-steps',
             help=('Number of stepper steps to move "far" away from the '