Hey all, this will be the first real problem I have presented this list and I hope SOMEONE can come through for me. Buttering up aside, I have a 12-bit DAC (AD737) interfaced to a PIC16C74. I'm useing the PCW "C" compiler from CCS. I am trying to build a ultra-stable AC synchronious motor driver. So I have a sine wave represented as a 160-point data set that I generated with a basic program and imported into my code as an array. This data-set represents one half of one period of the sine wave. The PIC sends each value in the set out to the DAC and at the end of the set subtracts the numbers from half scale to produce the negative part of the period, then the whole thing loops. The PIC is looking at a 20Khz, 90% duty cycle ttl square wave that comes from the PWM module. This square wave also updates the DAC. The result should be a 62.5 Hz, +5VDC to -5VDC sine wave coming out of the DAC. The PIC loads the new DAC value only after seeing the DAC get updated by the 20 Khz pulse and then waits for the next DAC update before loading the next number. The DAC update is then fed into an APEX high voltage amp to produce a large sine wave. The problem is that the resulting sine wave is really 62.52 Hz (5 us too fast). I have used several different sources for the 20Khz update pulse with no change in performance so I don't think that could be the problem. The device this control is intended for needs stability better than +/- 1us. (Thats less than +/- 1us per revolution at 62.5 Hz) Right now we are running it with a 62.5 hz ttl square wave, being fed into an inverting amplifier, then a transformer to produce a +/- 60 V square wave. Anybody have any suggestions on: 1. What could this problem be? 2. Is there a better/easier way to achieve an ultra-stable sine wave? 3. Is there a ultra-stable motor-driver I can buy ready-made? 4. Is there another solution besides a synchronious motor that could provide a more stable rotation at these speeds? I hope there's someone out there smarter than me! Shawn