Half-wave plate control and sensing
The hardware, electronics, and computers involved in controlling and
checking the SPARO half-wave plate ("hwp") are as follows:
Hwp motor. This is mounted onto the SPARO dewar.
This is a stepper motor that drives the hwp. It is heated
via Masterman's system.
Indexer. This small electronics module lives in the blue SPARO data-system
enclosure on the telescope. It converts "move commands" that come in on a
serial line from the SPARO data-system Mac into pulses that travel to the
SPARO hwp stepper motor. In 1998, one of these indexers died due to sparking
during plugging-and-unplugging of the AC cord. So we don't power it on and off
in this way anymore. Instead we use an AC switch, such as the one in the
control room that controls the power to the blue data-system enclosures.
Also, three spares for the indexer are in SPARO closet
on shelves labelled "computer stuff". Links are now available to the
Indexer Software Manual and a
brief description of the Indexer.
SPARO Data-system Macintosh. The "SPARO" program that runs on
this Mac can generates serial "move commands" for the Indexer at
the push of a (graphical software) button on the "hwp window", or automatically when
under computer control and in polarimetry mode (see
Mac's "nod window" for buttons to switch between auto and manual mode).
There is a menu option to reinitialize the Indexer from the Mac. It
used to be the case that this was done automatically on startup of
the "SPARO" program on the Mac, but this is no longer the case in
the latest versions of the code.
The reinitialize command makes both the Mac and
the Indexer think that the hwp is at zero degrees and also sets the
velocity and other indexer motion-control parameters such as maximum
stepper-motor current and off-state stepper motor current. There is also
a menu option that
sets the "positive direction of motion" of the hwp. In the past, we have never
to use this option.
This is a resistive element that is mounted
adjacent to the half-wave plate. It serves as an absolute encoder: the
resistance measured across the device (accessed via a BNC connector
in the control room labelled "encoder signal") is linearly related to the encoder
angle. The actual definition of what point is defined to be zero is
arbitrary but it is a good idea to pick a convention and stick to it.
Several choices of convention are written on a piece of paper taped
to the wall in the Viper control room.
There are two ways to read the hwp encoder:
The direct method is to hook
an Ohm-meter to the BNC labelled "encoder signal" and read the resistance
in kOhms. In this case nothing should be connected to the BNC connector
directly above the "encoder signal" BNC. (I think this one is
labelled "encoder power" or "+5 Volts to encoder" or somthing like
The computerized method for reading the angle involves using the
(a.k.a. "national") to temporarily apply
a +5 Volts TTL signal to the "encoder
power" BNC (using one of the cryocontroller computer's TTL outputs:
specifically, using the one that is
labelled as being dedicated to this purpose) and
then using the cryocontroller computer's A/D inputs
to read two voltages: the voltage
on the "encoder signal" BNC and the voltage on the "encoder power" BNC
directly above it. The ratio of these two voltages is linearly
proportional to the hwp angle, and the cryocontroller computer can do the
conversion to hwp angle using parameters stored by this computer (and
displayed by the "cryocontroller program"). There are two distinct
programs, both resident on the cryocontroller computer, that use this
The "cryocontroller program", that is also used to
monitor cryogenic temperatures and pressures. This program,
in addition to all the cryo-monitoring features, has
a graphical button that will temporarily set the appropriate TTL level
high, then make the required voltage measurements
and output the hwp angle in degrees.
The labview program that Matt Newcomb wrote, called "hwpclient.vi".
This program also lives on
the cryocontroller computer, (e.g. "national") in "C:\hwp".
(Dale modified this program in Feb. 2000.)
"hwpclient.vi" simply sits there waiting for the control computer
to ask it what the hwp angle is. It then measures the angle
using the hwp encoder in precisely the same fashion as when the
"cryocontroller progam" does this measurement - except that
this measurement on command from the control computer, instead
of at the push of a graphical button. "hwpclient.vi"
cannot be run simultaneously with the "cryocontroller
program" that we use to monitor the cryogenic temps and pressures.
The command that needs to be sent out by the control computer to
tell $s hwp "measure"
and the response is:
hwp angle: (less-than-sign)floating point number(greater-than-sign)
Cryocontroller computer ("national"). As described above
the cryocontroller computer can read the hwp encoder.
Control computer . This computer can be scripted so as to accomplish
the important job
of measuring the hwp position after every move. Then this angle
can be passed to the Macintosh for storage with the data. This
functionality can be implemented via modifications to the polarimetry
script. Details will be added here later.
Contact firstname.lastname@example.org. Last updated March 31, 2000.