I'm trying to emulate three synchros using Arduino. A synchro is a type of rotary transformer that takes an AC input and generates three amplitude adjusted outputs that represent the angle of the rotor. It looks a lot like a three phase motor winding. My application is to drive this: A 3 axis FDAI (Flight Director/Attitude Indicator).
•••• EDIT ••••(Dec-2021)
I have found the following parts that will most likely be used:• California Instruments 850T Precision Oscillator (salvaged from equipment from previous employer. This is my 400 Hz Sine source.)
• MCP4922 12-bit Dual DAC with Voltage Reference (5 on hand - Supports multiplying functionality)
• 74HC4066 Quad Bilateral Analog Switch (90 on hand - I might have enough)
• TA8251AH 4ch x 18W Audio Amplifier (I have a whole tube of these. Might use 'em, might not)
• LM675 Power Op-Amp (16 on hand... And I don't trust a single one of these. Possibly counterfeits. Dang it China...
)
To reiterate, because it gets missed, a lot, the design I've chosen uses a hardware sine wave generator (California Instruments 850T Precision Oscillator) to generate the 400 Hz sine wave, uses a set of analog switch chips to select whether to use an inverted or a non-inverted sine wave, and feeds that into the voltage reference of a multiplying DAC. The microcontroller only needs to update the attenuation values of the DAC, and the sine wave is attenuated entirely by the hardware.I will NOT in any way, shape, or form, be generating the sine waves from the microcontroller. There is no need. It doesn't need to be suggested. It keeps getting brought up. Enough that I'm going through old posts to strike-through older speculative info that's no longer relevant.Finally, a 115vac 400Hz Power Amplifier has been developed! Special thanks to random internet denizen "Dr. Rockzo" for his crucial aid developing a viable power amplifier capable of taking the precision reference sine wave as an input, and driving the 115vac 400Hz output needed to supply the ADI with power while also retaining the precision required as a reference. I have created a new thread detailing the development of the Power Amplifier circuit, which can be found here:https://www.eevblog.com/forum/projects/28vac-115vac-inverter-that-can-be-driven-by-400hz-analog-sine-wave/•••• END EDIT ••••My goal is to use the Kerbal Space Program SerialIO mod that outputs the game's vessel telemetry to an arduino over USB. I have a nice big pile of meters, switches, and other goodies, but the FDAI is my prize collection piece! Almost no one has done a physical "navball" in Kerbal Space Program. I know that these are very commonly installed in flight simulators. That's actually where mine came from, in fact. A lot of flight sims only use a 2 axis model. 3 axis models are more frequently used in fighter jets, stunt planes, and space craft.
These devices take a reference 115 volt ac, 400 Hz signal for both power and as the reference. Each of the three axes have three inputs that come from the synchros on the gyro gimbals. When the synchro transmitter transformer sends the 400 Hz ac sine wave over the three wires, it represents the angular magnetic alignment of the rotor. Inside the FDAI, three synchro receivers output the null error from their rotor, which feeds into a servo amplifier that drives a servo paired to each synchro receiver to zero out the error.
Anyway,
I'm uncertain if the arduino has the beefiness to pull this off entirely in software emulation. Maybe it does, maybe it doesn't. I'm only just beginning... as in I'm still investigating and studying. I've not coded anything yet. Since I need to drive the reference output at 115 vac 400 Hz, and the synchro outputs at 28 vac 400 Hz, I figure it pays to rely on some support hardware to lighten the Arduino's load anyway.
I'm thinking I could buy a MAX038 off ebay to generate a nice clean 400 Hz sine wave, and go with
digital potentiometers to set the 9 amplitude modulated outputs. The only question I have, is that digital pots seem to come mostly in 256 step (8 bit) varieties, and some 10 bit, 1024 step versions are out there. I need to be able to represent 360 degrees of rotation, and I'd like to avoid a jumpy ball, so I won't even consider the 256 step d-pots. I still wonder if the 1024 step d-pots are enough. The amplitudes I need to represent swing fully positive and negative, and the rate of the swing conforms to the curve of a sine wave, represented by the phase angle of the particular winding vs the rotor. Basically, I do not believe it's linear by a long shot. That more or less means I have to waste steps on the low end, and get lots of fine steps (of fudge it) at the top end. I don't think I'll get the full 1024 steps worth of resolution once the math calculates the amplitude of each sine wave output. mirrored against opposing actions on the other two signal lines, I can get half of 360 degrees (180 + or - degrees, with the + or - representing either a rise or a fall in the wave in relation to the angle of the other two). Between step 1023 and 1022, is 3.58157°, yet between steps 512 and 511 (the mid way point if you consider the center step being 0 volts), there is a change of only 0.11190589°. Not sure how that poor resolution near the peak amplitudes will affect things. There will always be two other amplitudes that are not at peak, in the opposite polarity, when one output reaches that low resolution peak.
Does anyone know of any 12 bit digital pots? I imagine that would give me great resolution for my application, even at those pesky peak amplitudes.
Also, to clarify, there is NOT a phase
shift happening between phases... The amplitude is modulated
in phase with the reference, but the angular difference (0°, 120° and 240° windings) cause the sine wave to be attenuated by the sinusoidal angle of the "misalignment" of the rotor's magnetic field angle with the stator's angular orientation relative to the rotor. Clear as mud, right!
I've seen a design that pairs two 8 bit digital pots together using three op-amps, but that takes me from 6 support chips (assuming at least dual d-pots) plus output drivers to 13 support chips plus output drivers. It more than doubles what I end up having to build! If I can just find 12 bit or higher digital pots, that'd be ideal. Even if I could only get single pots, it's still better than the other method, as it would only require 10 chips in single pot configuration (or still 6 if I can find dual d-pots). The BIG difference, is it simplifies the programming to not have to juggle values calculated and sent out to two chips to represent one number.
Can anyone recommend any higher resolution digital pots, or an alternative part. I need to be able to feed it a sine wave and attenuate it...
And dang it... I just added a few op amps, cause I need to attenuate high impedance "copies" of the sine wave... x9.
Finally, I was thinking of driving the output with the rails at +/-11.5 volts, and feed that through a 1:10 transformer to get my 115 volts ac. In the US, we use 120 vac, so if I find a non rectified 12 volt wall wart, that's a 1:10 ratio right there. I can probably find them surplus. If I find something close enough, I can always adjust my rails to meet the needed ratio. Does that seem like a reasonable method of getting my 115 volt, 400 Hz reverence/power sine wave?
Yeah, I have my work cut out for me!