[Date Prev][Date Next][Date Index]

RE: slew scan vs. step scan





Pete,

> My question is 'Has anyone thought this through
> any further?  Or better still, does anyone have
> slew scanning already in place and will give me
> their code, complete, with the required 
> Engbretson-style documentation set?'

There are 2 classes of solutions to this problem: software and hardware.

On the hardware side, I have used 2 solutions here at the APS.  These are both
multichannel scalers, which are devices which can count pulses into a sequence
of channels, based upon a channel advance signal which is either time or an
external signal, for example stepper motor pulses/N.  

- The Canberra Multichannel Scaler which plugs into the AIM.  This device
  can acquire counts from up to 8 TTL inputs.  The memory size is limited only
  by the AIM memory, about 64,000 channels.  It can only count at a total
  input count rate of 1 MHz over all channels.  The channel advance can be
  internal (from 10 MHz clock) or external.
  I have used this to very rapidly scan a knife-edge through the focus beam of
  our K/B mirrors, catching the counts in the MCA record 'on-the-fly', then
  reading the data into IDL and taking the derivative to get the FWHM of the
  beam.  We then adjust the forces on our mirror bending in a 2-D raster scan
  to make a contour plot of beam size as a function of bender forces.  The
  fast knife-edge scan is typically 10 msec per data point, so it is much
  faster than a step scan.  We are using the clock as the channel advance,
  rather than the motor pulses, only because we don't have a divide by N
  module available to use yet.  We could count the motor pulses on another
  input if it were important to know exactly where the knife-edge motor was at
  each point in the scan (it is not important for this application).

- I have 2 of the new Struck VME multichannel scalers which are sold through
  LeCroy.  I have device support for the MCA record written for these.  They
  have 32 inputs, each capable of running at 200 MHz.  They are going to
  build a new version for us which has a built-in prescaler on its external
  channel advance, so we can feed the motor pulse into it directly, without
  having to prescale first.

The software solution would just use the 'on-the-fly' feature of the scan
record.  You need to set your motor slew speed beforehand so that it will get
to the target position when after NPOINTS data points at your preset counter
time.  The scan record just starts the motor moving and then collects the data
from the detectors and reads the motor position at each point in the scan.
This is probably good enough for many applications:  the motor positions at
each point may not be exactly correct (since it only polls at 10 Hz by
default), but if you are collecting less than 10 points per second it may be
fine.  I have not used this feature in a serious way, but it seems like it
should work.


                                Cheers,
                                Mark