Using the LCVR Driver
How to control liquid crystal variable retarders (LCVR) and nematic LC devices
with the LCVR Driver Wildcard
The LCVR Driver Wildcard (specifications here) may be used to control any nematic liquid crystal device, such as the LC retarders and phase modulators available from Thorlabs, Meadowlark, or Edmund Optics. This user manual shows you how to power, connect to, and control the LCVR driver board. You can easily program the amplitude and frequency of the board's square wave output.
The LCVR Driver Wildcard is intended for use in conjunction with any of Mosaic's single board controllers, for example the PDQ Board, and the Analog I/O Wildcard.
You can embed the LCVR Wildcard in OEM or diagnostic instruments to create optical modulators, to control the polarization angle of light, or as a switch in optical paths.
Connecting and powering the LCVR controller
The board provides three connectors: a Wildcard bus connector for attaching to a Mosaic microcontroller, a right angle field header, and an SMB cable socket for connecting to an LCVR, as shown in the diagram of Figure 1:
The right-angle field header provides the following signals:
H3: LCVR Driver Wildcard Field Header | |||
---|---|---|---|
Signal | Pins | Signal | |
GND | – 1 | 2 – | +5V |
Clock_Out | – 3 | 4 – | +12V Out |
– 5 | 6 – | –12V Out | |
– 7 | 8 – | /Disable | |
Clock_Input | – 9 | 10 – | |
– 11 | 12 – | ||
– 13 | 14 – | ||
DACGND | – 15 | 16 – | DACGND |
Input from DAC12 | – 17 | 18 – | |
– 19 | 20 – | ||
– 21 | 22 – | ||
LCVR Out Rtn | – 23 | 24 – | LCVR Out |
Note: Unlabeled pins are not connected. |
Because unlabeled pins are not connected it does no harm to provide external signals to the connector at those locations.
Mounting the Wildcard
The board plugs into a Wildcard bus at any location. It is not addressed, so it does not decrease the number of other Wildcards you may simultaneously use with your microcontroller. As the board is usually used in conjunction with an Analog I/O Wildcard, it is most easily wired if you mount the board on the Wildcard bus directly above the Analog I/O Wildcard.
You won't normally need to know the pinout of the stacking go-through Wildcard bus header, but for completeness the following pins are used:
H2: Wildcard Bus Header | |||
---|---|---|---|
Signal | Pins | Signal | |
GND | – 1 | 2 – | +5V |
– 3 | 4 – | V+Raw | |
– 5 | 6 – | ||
– 7 | 8 – | ||
– 9 | 10 – | ||
– 11 | 12 – | 16 MHz clock | |
– 13 | 14 – | ||
– 15 | 16 – | ||
– 17 | 18 – | ||
– 19 | 20 – | ||
– 21 | 22 – | ||
– 23 | 24 – | ||
Note: Unlabeled pins are not connected, but they carry signals that are passed through the stacking connector. |
Powering the Wildcard
The board uses onboard regulators to create the +12V and -12V supplies it needs, deriving them from the V+RAW
voltage provided by the Wildcard bus, which in turn is provided by your system power supply or a Docking Panel. Depending on the value of V+RAW your system uses you must configure the board one of two ways:
- For
V+RAW
= 13.5 to 30 VDC: For normal operation anyV+RAW
in the range of 13.5 to 30 VDC will work well. In this case, the onboard regulators create +12V and -12V from the appliedV+RAW
and you do not need to install a bypass resistor. - For
V+RAW
= 10.7 to 12.5 VDC (nominally 12V): If you are providing a 12 volt supply to the system'sV+RAW
you can use that instead of the LCVR driver's onboard 12V supply. In that case you must solder a zero ohm resistor onto the Wildcard at location R20 for Rev 1 boards, or R21 for Rev 2 board. That resistor allows your supplied +12V to bypass the onboard 12V regulator. The supplied voltage must be 2.5V greater than the maximum square wave output magnitude, and less than 12.5V. For a maximum output magnitude of 8.2V your supplied 12V should be in the range of 10.7 to 12.5VDC. In no event should it exceed 13 volts or damage to the board may result.
Providing the input voltage
You should cable a DAC output voltage from an Analog I/O Wildcard to the LCVR Driver's field header, connecting the input voltage to pin 17 and the DAC ground from the Analog I/O Wildcard to either of pins 15 or 16. Do not connect any of the other Analog I/O Wildcard signals to the LCVR Driver field header, as the other signals are not compatible. It is most convenient to use the the Analog I/O Wildcard's DAC7
signal. In that case you can connect pins 16 and 17 (DACGND and DAC7) of the Analog I/O Wildcard field header to pins 16 and 17 (DACGND and Input) of the LCVR Driver field header.
Connecting an LCVR or other nematic LC device
The LCVR controller board includes cable driver hardware capable of driving long coax cables and the capacitive load presented by LC devices, with the circuit's output directed to an SMB type coax connector.
You can plug an LCVR cable directly into the circuit's coaxial connector on the board. The board provides a reverse-polarity1) SMB-socket to mate with an SMB-terminated cable.2) The cable end connector looks like this:
When connecting a right-angle SMB cable end be careful that it does not short against the Wildcard's field header. If there is a chance of shorting, take measures to prevent a short.
For convenience, you can also connect the LCVR to pins 23 (ground) and 24 (LCVR Out) of the field header, H3.
Programming or setting the output voltage/magnitude
To use the LCVR driver you only need to output a voltage on a DAC channel of the Analog I/O Wildcard. You can use either of two DAC output ranges, corresponding to a constant passed to DAC's initialization routine, Init_Analog_IO
:
- By passing the constant
INT_1V_DAC12
toInit_Analog_IO
the DAC produces a full scale range of 0–2.048V and the LCVR Driver produces a square wave of magnitude 0-4.096 Vpeak with 1 millivolt resolution. To set the magnitude you pass an integer in the range 0–4095 to the routineTo_DAC12
. The integer value programs the magnitude of the output waveform in millivolts. - By passing the constant
INT_2V_DAC12
toInit_Analog_IO
the DAC produces a full scale range of 0–4.096V and the LCVR Driver produces a square wave of magnitude 0-8.192 Vpeak with 2 millivolt resolution. To set the magnitude you pass an integer in the range 0–4095 to the routineTo_DAC12
. Twice the integer value gives you the peak magnitude of the output waveform in millivolts.
Accuracy of the output magnitude
The voltage accuracy of the output magnitude is determined by the accuracy of the Analog I/O Wildcard's DAC. Briefly, its zero offset error is typically a few millivolts, but may be as much as ±30 mV over temperature, and its full scale/reference/gain error is as much as ±1.5% for the 1.024V reference or ±2% for the 2.048V reference over temperature.
Changing the LCVR drive frequency
The frequency of the LCVR Driver's output is derived from a 16 MHz clock present on the Wildcard bus. In normal operation it is set to 1953.125 Hz. You can double or half that frequency by placing a zero ohm resistor at one of three locations, leaving the others blank:
Zero ohm location | Frequency (Hz) |
---|---|
R1 | 1953.125 Hz |
R2 | 976.5625 Hz |
R3 | 3906.25 Hz |
none | External clock input |
Alternately, you can remove the zero ohm shorts from R1, R2 and R3 and provide a clock signal to pin 9 of the field header. In that case, you must provide a 50% duty cycle logic level clock of the output frequency you want. You can easily generate a PWM signal of precisely 50% duty cycle at almost any frequency using the PDQ Board's PWM outputs. For help on doing that, see the PDQ Board User Guide's chapter on Pulse Width Modulated I/O.
Disabling the output
For testing or measuring the LCVR controller's DC offset you can disable the square wave output by inserting a jumper on the two pin header at location J1 on the board. The output may also be disabled by applying a logic level low to pin 8 of the field header. That is particularly useful if you need your application program to turn-off LCVR output using an available digital output pin.
You can also turn off the output by programming a zero voltage using the DAC output; however in that case, owing to the DAC's output offset errors of as much as 30 millivolt, you may not get a complete turn-off. On the other hand, applying a logic level low to pin 8 of the field header provides positive shutoff, setting the board's output to zero volts within the DC offset specification of less than 1 millivolt.
Stand alone operation
Although the LCVR Driver Wildcard is intended to be controlled by one of Mosaic's single board controllers and a voltage signal from an Analog I/O Wildcard, you can also use it as a stand-alone board if you provide appropriate signals. Specifically, you must provide:
- Two power voltages, 5 V and 13.5 to 30 V;
- A clock source to control the output frequency.
- An analog voltage to control the output magnitude.
Supplying power
The board requires a 5 V logic supply and a higher voltage for its output amplifier:
- Logic supply – You should provide a clean, well regulated 5 V power source to pin 2 of connector H2, with ground return at pin 1. The board consumes only about 1 mA from the 5 V supply.
- Amplifier supply – Provide a voltage between 13.5 and 26 V to pin 4 of connector H2, with ground return at pin 1. This voltage is regulated onboard to produce the ±12 V needed for its output amplifier. The board draws about 12 mA from this supply.
Controlling the output magnitude
In lieu of using the Analog I/O Wildcard you can provide a DC control voltage to the board to control its output amplitude. Apply the control voltage to pin 17 of the field header, connector H3, with its ground return connected to pins 15 or 16.
An input voltage of 0 to 4 V full scale produces a output symmetric square wave of 0 to ±8 V full scale. That is, a 4 V DC input produces a 16 V peak-to-peak output. The output magnitude scales linearly with the input control voltage. The input impedance is 6 kΩ.
Averaging a PWM signal to use as an input voltage
In some applications, in lieu of using an expensive digital-to-analog converter, you may wish to use a digital output of a microcontroller as a PWM signal which is subsequently averaged to an analog voltage. By averaging the PWM signal using an RC (resistor-capacitor) filter you can obtain a steady analog voltage. To accommodate this method, the board provides sites to mount the resistor and capacitor of the averaging filter.
The circuit diagram of Figure 3 shows the components associated with the control voltage input of the LCVR driver. Generally, most of the components are not installed3) and resistor R7 is a 0 Ω short. In that case, the input voltage is applied directly to the LCVR driver (shown as Vc in the schematic) and applied across its input resistance, shown in the schematic as a 6 KΩ resistor. The rest of the circuit, represented by the amplifier symbol, converts that analog voltage into a symmetric square wave of twice the amplitude.
You can place an RC filter circuit on the board by replacing R7 with a resistor, mounting a zero ohm resistor at location R4, and a capacitor at C3. Choose the values of R7 and C3 to provide a time constant sufficient to filter the frequency of the PWM signal supplied to the input. Keep in mind that the average voltage produced will be reduced by the 6 KΩ input impedance of the LCVR driver, i.e.,
where Vpwm is the amplitude of the input PWM waveform and DC is the PWM duty cycle.
Other input options
If you do use a single supply DAC to provide the input voltage you may find that the DAC you use does not pull its output fully to ground. Often single supply DACs have a zero offset of a few tens of millivolts owing to internal leakage currents. The path through resistor R5 to an onboard -12V supply is provided in such a case to allow for a small negative current. Usually a resistance of 100 KΩ or so is enough to fully pull down the output of such a DAC.
Supplying an external clock
When used with a Mosaic controller the board's output frequency is controlled by a 16 MHz clock from the controller. The clock is divided by selectable factors of 212, 213, or 214 to produce an output frequency of roughly 4 KHz, 2 KHz, or 1 KHz respectively. When operating the board without a Mosaic controller you have several options for controlling the output frequency:
- Supply the 16 MHz clock signal that would otherwise be supplied by a connected Mosaic controller;
- Modify the board slightly to allow more frequency division factors so that a broader range of external frequencies may be used; or,
- Supply a 50% duty cycle clock of the desired output frequency.
We'll discuss each of these options in detail:
Using the onboard frequency divider
An onboard frequency divider takes a nominal 16 MHz clock and divides it by one of three scale factors. You can supply the external logic level clock to pin 12 of connector H2 (using pin 1 as the ground return), the connector that would otherwise connect to the controller (see the pinout above). The clock is then divided to produce the output square wave frequency. The clock's duty cycle doesn't matter – the onboard divider converts it to a precise 50% duty cycle. For example, to produce an output at 2 kHz, you would supply a frequency from the following table:
Clock division factor | Ext clock needed for a 2 kHz output |
---|---|
212 | 8.192 MHz |
213 | 16.384 MHz |
214 | 32.768 MHz |
The factor used is chosen by soldering one of three zero ohm resistors on the board as described above (Changing the LCVR drive frequency).
Of course if you don't need exactly 2 kHz output, you can uses different clock frequencies. For example, when taking the clock from one of our controllers, our standard board uses a clock frequency of 16.0 MHz for an output frequency of 1953.125 Hz.
When you supply an external clock and make use of the board's frequency divider, the duty cycle of the clock you provide doesn't matter. The onboard divider converts it to a precise 50% duty cycle.
Extending the range of the onboard frequency divider
If you're willing to solder a small wire to the board, other outputs of the onboard divider chip may be used. In that case you can have a greater choice of external clock frequencies to achieve a 1 kHz, 2 kHz or 4 kHz output, as summarized in the following table:
Ext clock needed | ||||
---|---|---|---|---|
Clock division factor | U2 pin wired to | for a 1 kHz output | for a 2 kHz output | for a 4 kHz output |
21 | 9 | 2 kHz | 4 kHz | 8 kHz |
24 | 7 | 16 kHz | 32 kHz | 64 kHz |
25 | 5 | 32 kHz | 64 kHz | 128 kHz |
26 | 4 | 64 kHz | 128 kHz | 256 kHz |
27 | 6 | 128 kHz | 256 kHz | 512 kHz |
28 | 13 | 256 kHz | 512 kHz | 1.024 MHz |
29 | 12 | 512 kHz | 1.024 MHz | 2.048 MHz |
210 | 14 | 1.024 MHz | 2.048 MHz | 4.096 MHz |
211 | 15 | 2.048 MHz | 4.096 MHz | 8.192 MHz |
212 | 1 | 4.096 MHz | 8.192 MHz | 16.384 MHz |
213 | 2 | 8.192 MHz | 16.384 MHz | 32.768 MHz |
214 | 3 | 16.384 MHz | 32.768 MHz | NA |
The clock factor used is chosen by soldering a small wire from the appropriate pin of the frequency divider chip (U2) to a pad of R14). Again, you can supply the external logic level clock to pin 12 of connector H2 (using pin 1 as the ground return). Again, the clock's duty cycle doesn't matter – the onboard divider converts it to a precise 50% duty cycle.
Supplying a clock at the output frequency
Another option is to drive the board directly with a clock at the LCVR frequency desired (in the kHz range). In that case, you must provide an exactly 50% duty cycle logic level (5 V TTL or CMOS) clock at the output frequency you want.
- Make sure that resistors R1, R2 and R3 are removed from the board.
- Connect your external clock to pin 9 of the field header H3 (using pin 1 as the ground return).
- Use an exact 50% duty cycle clock source.