Readback values not matching commanded values.


  New little stars were installed on tiedowns 4 and 8. The programs for all 3 tiedowns were recompiled with the latest zworld compiler.
    When running the tiedowns, a command Speed error would appear on the monitor display. This error occurs when the velocity read back from the amplifier differs from the commanded velocity by more than 50 a/d counts (this is a parameter set in the eeprom).
Resolved:problem always present, but old dynamic C compiler abs() function probably always returned 0).

10feb12  changed voltage divider resistor for spdMonitor from 46.2 K to 22K.
02feb12:ran tiedowns 3=>22 inches. measured the output voltages at the tiedowns , and then compared the readbacks
25jan12: looked at some readback value while tiedowns moved. no voltages were measured at the tiedowns.

10feb12: spdMon 46.2K resistor -> 22K. Command speed errors alway present.

    The analog input signal conditioning board had a 46.2K resistor used for the spdMonitor input. This is supposed to map the maximum output of the amplifier speed monitor (8volts) to the 2.5 volts input of the a/d (in mode 0). The previous days measurements showed that this wasn't happenning. Using a power supply and pot it was found that a 22K resistor generated the maximum a/d counts (2047) when 8 volts was applied to the input of the a/d signal contiditioning board. For a voltage divider to give this:
   The little star program reports a command speed error (st_fault bit B2 counting from 0) whenever the difference between the commanded velocity and the spdMonitor readback is greater than a predetermined value read from  eeprom. This value has historically been  50 counts.
Looking back over data from 2005 to 2012 , this diference has always been greater than 50 counts many times, but the fault status bit was always 0.
Looking at the little star code, the program uses the statement  abs(cmdSpdReq - spdMonReadback) < 50 counts. --> set spdCmdErr.

After recompiling the little star program with the new compiler (5.24) the status bit error started to appear. My guess is that the abs() function did not work in the previous versions of the little start compiler and always returned 0.

The  plots show the ReqVelCmd - SpdMonReadback for 10feb12 and 11mar11 (.ps) (.pdf):

What we should do:

processing: x101/120210/

02feb12: Move tiedowns, measure voltages, compare readbacks.

    On 02feb12 jorge and company moved the tiedowns from 3" to 22", 22" to 3", and 3" to 22".
While moving the voltages at the various tiedowns were measured:

Velocity cmd Voltage at amps
SpdMonitor voltage at amps
Direction moved
3" to 22"
22" to 3"
3" to 22"
    The status readback from the tiedowns was plotted during these moves (.ps)   (.pdf):


processing: x101/120202/

25jan12: Look at readback values when tiedowns moving.

    The plots show the commanded and amplifier speeds  while the tiedowns were moved (.ps) (.pdf):

A cmdSpdErr will occur if the difference is greater than 50 counts.
The red plots (difference) are about equal to the amp speed (green). It might be that the a/d converter is configured incorrectly and it is reading a factor of 2 too little.

processing: x101/120126/

<- page up