Service Note #6 Where to Find Things About The Mark IV in the QBasic Code Author: Tom Droege Date: Aug 20, 2002 1) What are the 16 DACs used for? When you start the QBasic code, the sixteen DACs are displayed on the left of the screen under the column labeled DAC Commands. this table displays the command values for the 16 DACs. They are: VHH Dac 0 The high horizontal CCD clock level. VHL Dac 1 The low horizontal CCD clock level. VRL Dac 2 The high reset CCD clock level. (Note VRL is actually higher then VRH) VRL Dac 3 The low reset CCD clock level. TR ADC3 Dac 4 The trim pedestal voltage for ADC channel 3 - not used. This voltage could be picked off the board and used. TR ADC2 Dac 5 The trim pedestal voltage for ADC channel 2 - not used. VVL Dac 6 The low vertical CCD clock level. VVH Dac 7 The high vertical CCD clock level. TR ADC1 Dac 8 The trim pedestal voltage for ADC Channel 1. (I channel) Can be used to trim the pedestal level of a bias frame. TR ADC0 Dac 9 The trim pedestal voltage for ADC Channel 0. (V channel) T COM 3 Dac 10 Not used T COM 2 Dac 11 Not used. VCO Dac 12 Trims the VCO value about 2% Spare Dac 13 Come out on the auxiliary connector T COM1 Dac 14 Temperature command for the I channel T COM0 Dac 15 Temperature command for the V channel The command voltages for the dacs are found in the QBasic code as d!(0) to d!(15) 2) What are the 32 ADC channels measured? Besides the two high speed ADC channels that digitize the two cameras, there is a low speed multiplexed data system that reads out 32 things useful to analyze the system performance. I will not type them here, but they are listed in the QBasic code in the assignment of values to N$(0) to N$(31) found near the beginning of the program. The values read out are listed in the right hand table when you start the program. The a!(n, m) array contains offsets and scale factors for each ADC channel. Someone might fixt this up to include limits and alarms. 3) There are 4 temperature connectors available on the motor board. How do I use them? The first one is used to measure the cooling water temperature. Channel 1, 2, and 3 are available. You need an AD590 type of sensor. See the drawings as to how to wire it up. Note that on all connectors I have drawn a double bar on the ground end. 4) There are 8 MA servo connectors on the motor board, how do I use them? The first two, 0 and 1 are used for the V and the I shutter. The other six are available for use by model airplane servos. To figure out how to drive a particular channel, you will have to look at the drawings. They are driven by the pulse channels. There are 24 pulses that the stamp board can put out. See drawing ST1 to figure out which channel you want to pulse. See the MAServo subroutine to figure out how to drive the servo. See the select case code in the PulseIt subroutine to see how to pulse the channel selected. There is no logic for what you do to cause a pulse to come out of a particular channel. It is hard wiring, and you have to look at the decode in PulseIt. 5) There are 16 sense channels, how do I sense a limit switch? Read the code for the main code "ReadTheLimits". The sixteen limit switches are read back as four bits in each of d$, e$, f$, and g$. You just have to decode the hex and look. I do not have a table of these, so you just have to plug in a limit switch, loop on ReadTheLimits, and see which one changes. ----------------------- Questions and Answers ----------------------------- > The CCD clock levels. Do they need to be changed, or will the defaults from > the QBasic code always suffice? If they are are to be changed, what would > indicate the need for changing? No. Just make sure they are within a couple of tenths of a volt of the commanded values. They need to be changed if the CCD does not move charge properly. I figure you need to take a CCD class somewhere, or work with them a couple of years before you have the slightest idea how to change the clock levels. But it is safe to move them anywhere it the +/- 10 volt range of the DACs. If you want to study system noise, it is convenient to set them all to the same voltage - zero or 10 volts will do. Then everything works as usual, but no charge is moved. This allows you to separate system noise from the noise coming from the CCD pixels. > What is a "trim pedestal voltage", and how does it affect the bias frame? > I'm a software guy... OK, the CCD puts out a voltage level about 9 volts that changes about .2 volts with the light. Say it is 9 volts for full dark and 8.8 volts for full light. But there are all kinds of clock pulses around the part of the curve that one wants to measure. There is clamping and dual slop circuitry that brings this down to near zero volts. The ADC has an input range of -10 to +10 which translates to -32768 to +32767 at the output. An offset voltage is added to the CCD voltage so that the equivalent count for dark (pedestal) is about -25000 counts. Full useful scale for a saturated star is then around +15000 counts. So there is a real range of 40,000 counts at 2.5 e- per count. But note that it may be linear only from -25000 to + 7000 or so counts (by spec sheet). After that it may be non linear. (Note to Michael, saturation may be earlier than we think - this could explain some problems with the error distribution of bright stars.) I have never trimmed the pedestal. One could take bias frames and take the mean or look at the covered pixels and adjust the trim pedestal voltage so that the covered pixels have a constant value. This would possibly be a way to get a constant dark frame. But there are other things that a dark frame does. This would just be a way to hold it constant. Not yet implemented in my code. > If you give me a limit and alarm range for the ADC channels, I'll update > your service note with them. I'll also add them to the code I'm writing. A couple of tenths of a volt for most items. You might limit the two reference voltages to say 0.005 volts. Then alarm if anything goes out of limit. Of course the temperatures are another matter. They move all over the place. So you want to say compare the command and the resulting temperature and give a "temperature not regulating" warning somewhere in your run time display. > In your QBasic code, the strings you print out, one of them is "TEC Power" > (ADC channel 28). Is this the voltage available to the TEC units? It rises > slowly when the current to the TEC's drops (~12)... Yep. Note that this is on the "Power Supply Voltages" list that I display. +/- .2 volt wander is ok from some nominal value. (What it usually is) except for the two reference voltages which should be rock solid.