Author Topic: Trying to emulate three synchros using Arduino  (Read 62190 times)

0 Members and 3 Guests are viewing this topic.

Offline sbennett1298

  • Contributor
  • Posts: 23
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #50 on: November 27, 2016, 02:02:43 am »
Rerouter,

  There is no phase shift as you would see in three phase power.
The three coils in a synchro stator are in phase or flipped 180. Only the amplitudes are different.
This is because the rotor that provides the excitation voltage is single phase.
The rotation angle of the rotor determines the amplitude and polarity of the stator coils but there is no phase shift.

-Steve
 

Offline richfilesTopic starter

  • Regular Contributor
  • *
  • Posts: 156
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #51 on: November 27, 2016, 05:36:18 am »
Rerouter, I'll be using a few 12-bit MCP4922 DACs. I can feed the sine wave into the reference, so the DAC's output level will scale the reference input. It's all about amplitude and polarity. As for my sine source, I recently dug up an old digital sine wave generator from an old California Instruments Invertron AC power inverter. It's certainly old, but it fits the retro feel of my instrument panel. My only regret, I simply don't have any room left for it on the main panel... I'm gonna have to bury it inside the unit. It's not like I need to change any of the controls anyway. Just a shame to hide vintage equipment.

« Last Edit: November 27, 2016, 08:25:16 am by richfiles »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Trying to emulate three synchros using Arduino
« Reply #52 on: November 27, 2016, 07:18:32 am »
Sorry, my understanding of these devices is rather poor,

I would avoid voltage controlled amplifiers if possible, just because they appear quite expensive per unit.

As for inverting the waveform, then instead you could use an ad9850, it has complimentary sine outputs, which you could use simple and dirt cheap analog switches to select between per channel
 

Offline richfilesTopic starter

  • Regular Contributor
  • *
  • Posts: 156
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #53 on: November 27, 2016, 11:08:08 am »
I actually have a "crude schematic"... more of a block diagram, and all the part numbers that I plan to use on the second page of this thread. To recap:

MCP4922 12-bit Dual DAC with Voltage Reference (5 on hand)
74HC4066 Quad Bilateral Analog Switch (90 on hand)
LM675 Power Op-Amp (16 on hand)
California Instruments 850T Precision Oscillator (salvaged from equipment from previous employer)

As I said, I got the parts, and I have a proposed "layout" for the whole thing. Frustration from problems with the previous build attempt, switching over to working on my mechanical keyboard, and then a long stretch of work has kept me from sitting down and getting back into this. Maybe winter will get me back into it. Haha!  ;D


Updated the crude schematic to show the correct output voltages, and reference the 850T sine generator. I'm going over the documentation for the 850T, and it may actually have an inverted output built in. I'll have to test that out to be 100% sure, but I may not even need the op-amps to invert the sine wave.
« Last Edit: November 27, 2016, 11:34:26 am by richfiles »
 

Offline Rerouter

  • Super Contributor
  • ***
  • Posts: 4694
  • Country: au
  • Question Everything... Except This Statement
Re: Trying to emulate three synchros using Arduino
« Reply #54 on: November 27, 2016, 07:36:20 pm »
I think you will need ac coupling caps either before or after the final output buffer to the transformer. The current needs to reverse each waveform.
 

Offline richfilesTopic starter

  • Regular Contributor
  • *
  • Posts: 156
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #55 on: November 28, 2016, 01:05:21 am »
I think you will need ac coupling caps either before or after the final output buffer to the transformer. The current needs to reverse each waveform.

As I mentioned before, it's effectively a block diagram, not an actual schematic. It's a "crude" representation. I'll certainly need to do the same for the output of the 850T, as I'll have a 0 crossing waveform being fed into a 0-5v DAC... Ah!, and I see that's something I missed when I altered the diagram. I should have changed the 0-5 on the 850T to a +/-2.5v AC out.
« Last Edit: November 28, 2016, 01:09:30 am by richfiles »
 

Offline sbennett1298

  • Contributor
  • Posts: 23
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #56 on: November 28, 2016, 10:13:31 pm »
Richfiles,

  I'm a bit confused by the way you are using the DAC.
What does the VREF input do?
It would make sense to me if the output of the DAC is multiplied by VREF.
But I suspect it is added.
So in other words it looks to me like the output is going to be a 5V sine wave riding on top of the DC value sent to the DAC via the SPI interface.
The amplitude of the sine will never change. You are only changing a DC offset.
I think instead of a DAC you want a digital potentiometer.
I admit I am not familiar with this device or the purpose of VREF.

-Steve
 

Offline daveatol

  • Regular Contributor
  • *
  • Posts: 136
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #57 on: November 28, 2016, 11:29:43 pm »
Richfiles,

  I'm a bit confused by the way you are using the DAC.
What does the VREF input do?
It would make sense to me if the output of the DAC is multiplied by VREF.
But I suspect it is added.
So in other words it looks to me like the output is going to be a 5V sine wave riding on top of the DC value sent to the DAC via the SPI interface.
The amplitude of the sine will never change. You are only changing a DC offset.
I think instead of a DAC you want a digital potentiometer.
I admit I am not familiar with this device or the purpose of VREF.

-Steve
See section 6.9 of http://ww1.microchip.com/downloads/en/DeviceDoc/21897a.pdf
The VREF is the FSR of the DAC.
 

Offline sbennett1298

  • Contributor
  • Posts: 23
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #58 on: November 29, 2016, 04:02:28 am »
After some more reading I found this formula.
Vout=Vref*(2^n -1)/(2^n) to get the maximum value.
So yea it makes sense. The device is multiplying the ratio of (digital value)/(max digital value) by Vref.
Can Vref take negative values?
If your oscillator is crossing zero that has me a little confused.
Still not sure I understand the transformers shown on the output.
Are the transformers part of your circuit or do they just simulate a load similar to the actual aircraft instrument?

-Steve

 

Offline salbayeng

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #59 on: November 29, 2016, 04:51:55 am »
Hi Not sure if anyone mentioned it yet,
But you don't need 3 outputs from your MCU to make the three synchro amplitudes ( or even the 3 x  400Hz signals)
You only need 2 signals sin and cos, these are used in "sincos resolvers"  a two phase relative of the synchro.
So you just generate a 0deg signal and the 90deg signal, and from these two signals, using summing resistors and opamps, make a 120degree and 240 degree signal,
Something like this 120deg = 2/3*90deg -1/3*0deg , and 240deg=-2/3*90deg -1/3*0deg
(The 1/3 and 2/3 aren't exact it's some trigonometric number I'm too lazy to look up)
 

Offline sbennett1298

  • Contributor
  • Posts: 23
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #60 on: November 29, 2016, 02:58:41 pm »
Salbayeng,

  There are some aircraft indicators that use resolvers (sin/cos) but this one uses a synchro. Resolvers and synchros are two different animals.
-Steve
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9914
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #61 on: November 29, 2016, 03:23:59 pm »
When this same subject came up last week, I wandered around looking for 3 phase circuits.  I found one that used some op amps to convert from sin()-cos() quadrature signals to 3 phase but I don't see it this morning.

However, TI has an app note on generating low frequency 3 phase signals:
http://www.ti.com/lit/an/sbfa013/sbfa013.pdf

So, you generate the signals with the UAF42 and then use op amps to modulate the voltage (and boot it).

I don't know if the TI approach will work any better than anything else but at least the chips are in stock at Digikey
 

Offline richfilesTopic starter

  • Regular Contributor
  • *
  • Posts: 156
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #62 on: December 02, 2016, 06:37:06 am »
Can Vref take negative values?
If your oscillator is crossing zero that has me a little confused.

It will be decoupled from the rest of the circuit. Again... The schematic is a crude functional layout, not even remotely close to an actual finalized part by part schematic.

Still not sure I understand the transformers shown on the output.
Are the transformers part of your circuit or do they just simulate a load similar to the actual aircraft instrument?

The transformers are there to both step up the voltage and to float the signals. The normal signal source for the FDAI would be three synchro control transformers. None of these signals are tied to a reference, so I'm floating them. The signals are 28 volts VAC, and the reference is 115 VAC. Having talked to a few people who have built simulators before, even if you under-volt the whole system, you still need around 70 VAC even to get it to run. I'd forgotten i bought them, but I got some 18 watt modular audio drivers from a surplus supplier. I realized I could drive those with some current behind them, and step that up to the required 115 volts, so there's enough power to drive the unit. All operating power is derived from he 115 VAC, 400 Hz reference signal. Here in the US, our mains is 120 volts, so I can pretty much adapt nearly any mains transformer as my step up by just using it in reverse... I'll feed power into the secondary. I just need to find a beefy one that has a sufficiently high enough current secondary to power the FDAI.

I honestly do not know if the signals need to be floated or not, but I'm not gonna take any chances... I paid WAY too much for this FDAI unit... I'm gonna play things by the book when I power it up. I won't have the cash to replace this thing if I manage to screw it up, so if the original application floats the signal inputs, I'm floating my signal inputs.
« Last Edit: November 08, 2019, 05:13:29 am by richfiles »
 

Offline salbayeng

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #63 on: December 02, 2016, 09:18:18 am »
Hi Rich.
You only need two channels ,"North" and "East" and then transform these to UVW.
So If I generate 100% of north and 0% of east, the compass card will point North, I need 100% in the U winding and zero in the other two.
If I want to point at 120degrees around (South of East) then I put -50% in North and 86.6% in East.
(or something like that) Read the maths about page 6 of this: http://www.ddc-web.com/documents/synhdbk.pdf

See attached schematic that replaces , say, your yaw channel.
Its just a Scott T transformer, it works the same with rotating 3 phase power (used in motors) , as well as single phase with 3 amplitudes.
Here's a way of generating the two 400Hz waveforms (N and E) and combining them.

You can do the conversion with resistors and opamps, if you would prefer to use transformers with the same turns ratio.
Note that speaker transformers for use in PA systems, have multiple taps, so you should fins something close enough to 0.866 turns ratio,  (even if this is not exact you can run a look up table for calibration)

So your software would be passed theta, and you output sin(theta) on North and cos(theta) on east.


 

Offline salbayeng

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #64 on: December 02, 2016, 01:22:18 pm »
On eapproach you should consider:
Look at multiplying DACs like  DAC8802 http://www.ti.com/lit/ds/symlink/dac8802.pdf
You can feed a 400Hz sinewave into REFA and REFB , then the amplitude of the sinewave generated by the dac is just the value you enter in the DAC,  so 16383 = full scale sine wave, 8096=half scale , 0 = zero.
Its a dual DAC so you can get "north" and "east" signals out, then mix them (as per my earlier post) to make UVW.
 This only gets you signals that are in-phase with your reference.  To get full 4 quadrant operation,  you need to subtract half the reference voltage , this can be done with a single resistor into your summing amp.

You only need to update the DAC's as fast as your airdata signals change, so maybe 100Hz at most.

Note you can also use sigma/delta dithering to increase your effective resolution. (but not the accuracy).


 

Offline richfilesTopic starter

  • Regular Contributor
  • *
  • Posts: 156
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #65 on: December 02, 2016, 11:33:30 pm »
The DACs I have already support what you describe, and in fact, that's already what I am doing. I'm feeding my sine wave into the reference, and scaling it with the DAC value. The datasheet specifically addresses the use of that part as a multiplying DAC. The DACs I have are even dual DACs.

I'll probably stick to 3 phases though, since I have enough DACs for it, I (more or less) know how to do the conversion from the Kerbal Space Program data to the three phase data, and my transformers are not center tap transformers. I'd have to get all new ones if I switched to your setup. I have more than enough power op-amps and speaker driver modules to build this. It's gonna be easier for me to just add the three extra power drivers, than to source new transformers and build the extra op amp circuits before the power drivers.

Very interesting design though. I might have opted for it instead, had I seen and comprehended it back when I was starting.
« Last Edit: November 08, 2019, 05:15:29 am by richfiles »
 

Offline salbayeng

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #66 on: December 03, 2016, 02:11:17 am »
Oops my apologies, I was familiar with the MCP4822 (Internal reference, I2C) and I thought the MCP49 series was just an interface swap to SPI.

If I re-read your schematic it makes more sense now. It seems a perfectly sensible approach.

I've got a handful of synchro type flight indicators myself, and was contemplating using a 3 "phase" Hbridge to drive the synchros, I've made a similar inverter to drive a BLDC servo motor.  So I'm following your project with interest.
Where do you get the mating connectors to plug into the instruments?, they all seem to be non-standard variants of MILSPEC connectors.

There is another alternative two transformer approach, "grounded delta" , which uses two transformers with equal ratios driving U and V , while W is grounded, might be worth a look.  The drawback is you need double the voltage swing  (i.e. you need +/-100v to get 100v across any winding, as opposed to +/-50v to get 100v across any winding).

 

Offline richfilesTopic starter

  • Regular Contributor
  • *
  • Posts: 156
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #67 on: December 03, 2016, 07:37:01 am »
While I haven't verified it for quality of connection yet, It seemed some Radio Shack DB-25 sockets (the type you crimp to a wire then insert into the plastic housing) would fit the physical pin. My plan was to insert a paper "plug" into the connector, line it with a mold release, and then just pot the pins into the connector... and hope it'll come back out. I'll need to make sure my release is able to be easily cleaned up. Short version, I'm making the connector, unless I actually find one. I have a box of random mil spec connectors from my old job, though i doubt I have a match.  :(

For securing it, I suspect I might be able to salvage at the very least the ring from one of those connectors. There has to be one of those that at least fits from that box.

**EDIT** I found the correct matching connector and bought it off ebay.
« Last Edit: November 08, 2019, 05:18:36 am by richfiles »
 

Offline salbayeng

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #68 on: December 03, 2016, 07:57:39 am »
Ok,  I use a similar method with hot melt glue, it's quicker and you can rework it easily. (but too soft for a locking ring to work properly)

The Dtype connector was originally MILSPEC, so you can use those 1.0mm pins/sockets (same as a milspec 20 contact)
The 1.6mm pins and sockets (milspec 16g ) are also fairly easy to find in commercial parts.
The bigger 12g pin/sockets are more difficult to source 2 or 2.2mm??
 

Offline sbennett1298

  • Contributor
  • Posts: 23
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #69 on: December 05, 2016, 11:37:54 pm »
I had the same idea of using Radio Shack DB-25 sockets. I was thinking use shrink wrap on each individual socket before potting to help keep
the potting from getting into the sockets. It might be worthwhile to make a jig for potting instead of risking the instrument to do it in place.

I was also thinking that maybe instead of potting I could machine something out of hard plastic.
It would be great to find affordable milspec connectors that fit but so far no luck on that. I did find a data sheet for my connector.
Mine takes the rectangular MC28748

http://www.vishay.com/docs/36009/mc28748.pdf

-Steve
 

Offline salbayeng

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #70 on: December 06, 2016, 12:59:37 am »
Steve ,
These are 22g 0.76mm contacts , you need to use the "high density" D types, commercially these would be in the 15pin DB-type videoconnectors (3 rows). Its correctly called a DE15 connector (but may be sold as DB15)
The normal Dtypes are 1.0mm pins

Some of the commercial grade 2.54mm pitch headers/receptacle also use a 30mil pin (but most are square)

Heatshrink would be a good idea. Squirt some Silicone grease (any grease really) in with a syringe after shrinking.
Other useful things :
Wax, you can melt and pour into an existing male plug to ensure the potting compound doesn't run around the pins. Melt out later.
Plasticine for moulding with (it gets a lot thinner when heated too)
Poster adhesive (BluTak)
Latex masking compound, shrinks on drying, withstands solder temperature, and pulled off like a rubber band.
Silastic RTV making moulds etc (This cures a lot faster if left in a warmish oven (60-70C) with a pan of water) (as a substitute for two part silicone mould making compounds), It's thicker, so it stays put.
Hot melt glue.

 

Offline richfilesTopic starter

  • Regular Contributor
  • *
  • Posts: 156
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #71 on: December 06, 2016, 05:46:14 am »
I have to admit... Using heatshrink around each pin before potting to prevent contamination makes a lot of sense... And it never occurred to me...  :palm:
Good call!  :-+

Liking the good ideas here! Thanks!
 

Offline salbayeng

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #72 on: December 06, 2016, 07:32:33 am »
Particularly with sockets you need to allow wriggle room. Some thin silicone rubber tube may be useful too.

5ml syringes with glue nozzles are useful too. (most of those toothpaste tube type greases and RTV's will fit in the back of a 5ml syringe (pull plunger out first))
e.g. kits like these
http://www.ebay.com.au/itm/SMD-PCB-Solder-Paste-Adhesive-Glue-Liquid-Injection-Dispenser-Dispensing-Needle-/131046058700?hash=item1e82f42acc:g:WQMAAOSwd4tTs31j
(I've actually got a real kit of these $$$$ but for disposable use the cheapies are adequate.)

For two pack adhesives I find polyurethane is good, it sets fast, very strong, but is still a bit flexible. Huntsmen chemicals(USA) make "double bubble" sachets

 

Offline sbennett1298

  • Contributor
  • Posts: 23
  • Country: us
Re: Trying to emulate three synchros using Arduino
« Reply #73 on: December 06, 2016, 07:03:47 pm »
I also thought about just using a wire wrap tool to wrap leads directly to the male pins but the only reason I didn't was because the pins were too thick for the wire wrapping tool I have. If there is a need to have a removable plug you could put a plug on the wire wrap leads and secure the wires with some sort of strain relief.
I wonder if they make a wire wrapping tool that will fit over those pins?
It wouldn't be hard to make one.

-Steve
 

Offline salbayeng

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: au
Re: Trying to emulate three synchros using Arduino
« Reply #74 on: December 06, 2016, 09:44:32 pm »
Hi,
I've just tried using a wire-wrap tool on a DE15 connector, and this seemed to work OK, on the 0.76mm (30mil) diameter pins.
(I thought not having round pins would be a problem, you are not going to get the same "gas tight" effect as with square pins, and wire might slip)

The 24mil square wire wrap post is 32mil on diagonal.

Are you sure you have 0.76mm diameter pins?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf