I had occasion to need a 0-5V capacity X-Y pen plotter and it occurred to me that I had a PCS10 sitting in a drawer, and that with same and some simple software I could make a virtual X-Y recorder. I set out to do this, however I ran into some significant problems with the PCS10’s accuracy–here’s what I found…
First, here’s a screen shot of my X-Y recorder application, which first made me aware the problem:
The trace shown is a spectral analysis (from the 0-5V X-Y output of an HP 3581A Wave Analyzer) of a 1.0kHz sine wave from a Leader LFG-1300S function generator (0.19% THD). What caught my eye was that the 1.0kHz peak located well before the 0.5V (1.0kHz) point on the X-axis, and that as the swept frequency increased the offset of the harmonic peaks (from where they should be) lessened.
This led me to investigate the PCS10’s behaviour. Using the 6.0V range I sampled the input voltage at each raw input value (0…255), and captured the actual input voltage and the calculated PCS10 voltage. I then used Excel to run some analysis of the numbers, here is the most telling portion of that worksheet (you can download the workbook here).

The columns are:
[ul]the “raw” (0…255) value from the data logger
the applied input voltage
the calculated input voltage fs / (raw/255)
a gross error percentage (ignores the logger’s specs)
two columns showing the upper and lower limits of the logger’s +/-3% fs range
two columns showing the logger’s error in Volts and percent (vs. the +/-3% fs range)[/ul]
It can be seen that at the low end the “out of spec” errors are in the 33% to 95% range, and that it jumps from 0.0V at raw input 0, to 0.39V at raw input 1. I built a lookup table to convert the input values to voltage and got this spectrum from the “X-Y recorder”:
The prime frequency (actually 992Hz) now displays at 1.0kHz, and the harmonics are also in the correct place, however you can also see the ramp from raw value 0 (0.0Hz) to 1 (780Hz)–were there should be at least 5 or 6 “steps”.
This initial “jump” can also be seen in the charted data,
I tracked this down to what is apparently a flaw in the PIC or it’s programming. This is a screen shot of a 0-5V applied input voltage, and the voltage at pin 2 of the PIC:

The voltage at pin 2 is displayed at 416mV/division so that the slopes are comparable, as you can see they track perfectly. This leaves only the PIC itself or the firmware as the source of the error.
I did not extensively examine all four channels, however I did find that they all behave similarly, once again pointing to the PIC or the firmware.
This is not a big deal for me, in fact I had already ordered a 12-bit ADC board when the need arose, however the unit should be capable of better performance than this.
On a related topic, in examining the circuit I find that it would be possible to have full scale 0-5V and 0.2V ranges, by modifying the firmware to enable selection of the 27k and 6.8K op-amp gain resistor (Rb[011] for 0-5V) and all three resistors for a 0-2V range (RB[111]). Can the PCS10 firmware be field updated?
PS: This is what happens when you retire and have nothing but time on your hands!


