Note: Since writing this I have developed another three phase drive, this time for a Papst "Aussenlaufer" motor from an Empire turntable. An article concerning its development can be found on John Atwood and Lynn Olson's Clarisonus blog.
As noted in my article on turntable motors there are considerable advantages to using a three phase synchronous motor driven by a dedicated variable speed power source. The power source needs to provide identical sine wave signals which are locked at 0, 120 and 240 degrees to drive the three coils of the motor. Since the motor is synchronous, if we want variable speed we must also be able to vary the frequency whilst maintaining the phases exactly 120 degrees apart. This is quite easily achieved using digital synthesis schemes but we don't want to do that - what's the point of introducing a digital controller into an all analogue system? Unfortunately any linear oscillator will lock phase to frequency so as soon as the frequency is changed the phase shift will also change. The problem then is to design a variable frequency analogue oscillator which retains perfect phase alignment with changing frequency.
One approach to this is to build a circuit giving quadrature ouput - this can be done with a specialised oscillator (see quadrature drives) or by running the output from a single oscillator into a PLL. If the two resulting phases are then run through inverting amplifier blocks we have four signals signals at 0, 90, 180 and 270 and the required three phases can be derived by summation.
Another approach is to resurrect the old Dippy phase shift oscillator which works on the principle of having three phase shift networks each of which shifts phase by the same amount (eg has the same time constant). If this is then fed back through an inverting amplifier block oscillation will result at the frequency at which the total phase shift of the three networks is 180 degrees, which is logically where each of them has 60 degrees of phase shift. This relative shift stays constant at 60 degrees as long as the three time constants are equal, even when the absolute value of the time constants are changed. If we provide each of the phase shift networks with its own buffer and provide a method of simultaneously varying the time constant of each network we end up with a circuit which will oscillate at a frequency determined by this time constant and produce three signals at 0, 60 degrees and 120 degrees. Inverting the 60 degree signal produces (60 + 180) = 240 degrees so we now have a three phase variable frequency linear oscillator. For convenience we run each buffer so it compensates for the voltage division in the phase shift network (-6dB at 60degrees) so that each phase also has equal voltage.
We must then provide a method of holding this voltage at the desired level. Very high purity oscillation depends on maintaining a high Q circuit which makes it difficult to keep the output voltage constant and also means that the output voltage will "bounce" when the speed is changed. More about this bounce later, let's return to the steady state voltage variation first. To combat this we need to provide some sort of amplitude feedback mechanism. The simple PTC bulb / resistor mechanism we used before (in the single phase Wien bridge) is unfortunately not good enough here, possibly because of the presence of three gain blocks instead of one. The problem is very similar to that of automatic gain control in receiver circuitry so fortunately there are several circuits around that we can use. One very suitable circuit uses a combination of a light dependent resistor in the feedback path of the inverting op amp driven by an LED whose output depends on the voltage of the circuit. After building several of these myself I discovered they are available off the shelf as "Vactrol" parts by Perkin Elmer. One thing to watch with the Vactrols is that they can have alarmingly high tempcos - I started using the VTL5C1 only to find that the resulting circuit output voltage had a tempco of about 5% per degree C. I found that using both halves of a VTL5C3/2 in parallel and placing an appropriate NTC thermistor in the bypass leg gave me a vastly reduced tempco - the voltage variation is now down to about 0.5% over a 10 degree range so it's about 500 ppm.
Like any feedback design it is very important to ensure that it actually achieves its purpose. One problem with the simple form of the LDR/LED circuit is that if driven directly from AC or a rectified AC waveform the LED only lights on the peaks and this gives rise to waveform distortion. Unfortunately this cannot be fixed by passive filtration as the resulting time constant of the feedback loop creates low frequency instability. I tried various schemes with rectification followed by heavy filtering but foundthere was a trade off between the level of filtering to give good waveform purity and the phase shift introduced by the filter giving output instability (a form of motorboating due to lags in the feedback loop) To get around this I developed a circuit which sums the half wave rectified outputs then runs this through a diff amp which has a high pass filter in one leg. The diff amp thus amplifies the level shift between the rectified waveform and its AC equivalent, treating the ripple as common mode. This is followed by a second order Sallen and Key low pass filter with a Chebyshev characteristic. The distortion performance is nothing short of spectacular, better than -100dB.
The accuracy of all the above depends critically on keeping the time constants and the attenuation of each of the amplifier blocks in close tolerance. In particular the capacitors are very difficult to buy with adequate tolerance so we must revert to component selection. Another problem is that three gang potentiometers are very hard to source and will usually be 20% tolerance even if you do find some. Fortunately with a little ingenuity we can overcome this the same way. If we use three separate "through hole" or "pick-a-shaft" trims pots we can afford to buy more than we need and select for matching. Since we only want say +/- 10% adjustment the pot is about 20% of the total resistance value, the remaining part being a plain resistor. If we measure the centre value of each pot we can select resistors to give us very close tolerance on the sum of resistor plus pot. This can be combined with capacitor selection to create resistor / capacitor combinations with very close tolerance - in practice it is fairly easy to select time constants within 0.2%. To do this with commercial tolerance capacitors it is easiest to make each capacitor value up as the sum of two smaller capacitors. As an example for one speed I needed capacitors around 360nF. I made these up using pairs of 180nF capacitors, choosing each pair to give closely matched sums. Similar consideration apply to the gain setting resistors - although 1% tolerance is normal, it is very easy to select pairs accurate to within 0.1%.
To ensure that out carefully selected values don't drift all over the place with temperature I chose to use ordinary metal film resistors, which have a positive tempco of about 100ppm / C and polyphenylene sulphide film capacitors, which have a negative tempco about -100ppm / C. This is further improved by placing the oscillator in its own box and providing that box with a small thermostat based on the LM335Z temperature dependent zener.
All of this applies to one particular frequency band which will give one speed on the turntable. If we want three speeds we need to decide whether we use three sets of resistor/capacitor combinations or three sets of oscillators. Although the first would be simplest and cheapest it presents us with a minor problem. Since this is a synchronous motor it starts at full speed and full torque, and at 78 RPM that creates a huge current draw. Even at 33 1/3 the application of full torque to a stopped platter can cause the idler to bounce. To avoid this I added a fourth speed - the almost unused 16 2/3 RPM. The machine is switched on at 16 2/3RPM and then up to the required speed. If you remember when we were talking about the oscillator I remarked that the high purity oscillator exhibits lots of amplitude bounce when frequency is changed. This makes it very difficult to step speeds within one oscillator - it will take forever to stabilise. My solution to this is to provide four oscillators, one for each speed, and switch their outputs.
The motor I chose to use is the Maxon EC32 serial no 11890 three phase EC motor, which I fitted with an 8mm pulley. This requires about 3V @ 1 A @ 18.5 Hz to run at 1110 rpm (33 1/3), 4V @ 1 A @ 24.9 Hz to run at 1500 rpm (45) and 7V @ 1A @ 43.3Hz to run at 2600 rpm (78). (all per phase). The motor therefore requires some form of power amplifier on each of these three output voltages. The reliable and cheap LM1875T is perfectly adequate here as we are running well within its maxima of 20Watts and 4 amps. For this use it will run very nicely off +/- 12V supplies allowing us to use battery power. The LM1875T is specified to run with a gain of 11 or above but we don't need that much to convert from the 1 volt available from the oscillator. It would be fairly easy to go back and trim the oscillator to provide exactly the correct output but I decided to run each input through a trim pot to allow independent voltage adjustment. This has the advantage of being able to trim the voltage by ear for best performance from the motor.
Power supply is two 12V 65Ah SLA battteries and a charging circuit.
For my prototype I built all this on veroboard type proto boards, using a modular approach to simplify troubleshooting.