PDA

View Full Version : Question RX Servo control pulse timing


jamesatwork
Dec 11, 2007, 02:30 PM
I Know that the servo control pulses are 50Hz with a pulse consisting of a 1ms + a variable 0 to 1ms for the control value for the servo in question.
But are the pulse on different servo channel from the RX sent simultaneous?

If not do you Know how they are sent?

Many Thanks

James

mem
Dec 11, 2007, 02:46 PM
The channel data is sent consecutively separated with a small gap (typically 200uS) . There is a good explanation on this site: http://www.mp.ttu.ee/risto/rc/electronics/radio/signal.htm

Malc C
Dec 11, 2007, 04:13 PM
James, this is the PPm output from a typical transmitter (in my case a JRx3810). You will see the train of pulses are sent sequentially and repeated every 20ms.

http://www.micro-heli.co.uk/scope.jpg

This train of pulses is similar to that outputted by the receiver after it has de-modulated the signal.

jamesatwork
Dec 11, 2007, 04:36 PM
thanks that's grand

James

Danal Estes
Dec 11, 2007, 09:24 PM
Back to the original question: What would you see with a multi-channel scope hooked up to ALL of the signal pins on an RX? All pulses at the same time? Delay?

Depends on the RX. Old style discrete component RXs with "commutator" style decoders would ouput each channel consecutively with a short delay between each. Newer "DSP" style RXs vary somewhat. Some still output consecutively with the same delay... some consecutively, but with almost no delay between channels... others, most notably Spektrum and XPS, output in a more "parallel" fashion, meaning that you'd see the start of pulse on all channels at the same time (or very, very close).

So the best answer is: It depends!

Malc C
Dec 12, 2007, 01:29 PM
Dan, interesting.

But, is it a case that these new rx's simply wait until they receive each sync pulse before sending out the channel data in one go, ie they still receive each channel pulse width sequencially and effectively build up a "paralell" signal.

MX
Dec 12, 2007, 01:43 PM
The 2.4GHz stuff is digital, so all the data probably arrives in a single packet, so effectively they arrive at the receiver in parallel and then are output in parallel.

MX

AndyOne
Dec 13, 2007, 02:59 PM
The 2.4GHz stuff is digital, so all the data probably arrives in a single packet, so effectively they arrive at the receiver in parallel and then are output in parallel.

MX

This is true of PCM receivers, all the pulses are output starting at the same time although some are now split to output half out of phase with the other half to avoid peak loads by the servos on the battery.

PPM receivers AFAIK all output their pulses sequentially.

Making a device that will decode any and all pulses from all receivers isn't straightforward.

Andy.

Flash1940
Dec 13, 2007, 03:08 PM
So glad you guys are discussing how your systems work. I built my old out-dated Heathkit GD405-S system. My waveforms looked exactly the same....except I have 8 channels. I notice your channel 3 is short in duration...and your channel 5 is long.
For all you guys that haven't really analyzed the pulse train....it's the negative going leading edge that triggers the encoder in the receiver to wake up and begin the output to the servo....for my system this was a positive pulse that stayed positive until it got the positive going leading edge for the next channel.....It sits there & waits for the next channel's negative going edge.
Does this sound about right????

Now....I have a question.....
With all this talk about FM and PPM and positive & negative shift....who here wants to take this on and bring this OM up to date....

Flash

AndyKunz
Dec 13, 2007, 05:28 PM
Flash - you got it right. PPM is edge-triggered, and for AM systems this pulse was the presence of carrier, while for FM it was the frequency shift from high-to-low or low-to-high (depending on brand) that triggered the edge.

Andy - making a device can be quite straightforward if you know how to program an FPGA. You can provide it with a clock signal whose frequency determines the resolution of your measurement, and multiple state machines (1 per chan) which use the servo pulse as a "gate" to a dual counter block. One counter provides a count of pulses for the active period, the other provides the time between leading edges. This provides you with any resolution you want for both duty and period.

To access that data, you can either use a micro in the FPGA (most of the FPGA vendors provide good CPU cores as free downloads, or you could go the Atmel route with a standard micro with a built-in FPGA) or an external micro which communicates with the FPGA over, say, a SPI bus.

With this method, all channels are 100% independent of one another, and all channels provide you with all the data you need to make anything you want. You could also very easily set up a counter to provide a precision, jitter-free pulse as well using the same principle.

That would provide you the information you need for making a mixer or such off a standard receiver. If you were a little more industrious, you could take a single input pin and tap off the incoming PPM signal to make you own mixer/decoder. If I were tasked with making a modern receiver decoder, I would look to doing it in an FPGA with integrated micro.

Andy

AndyOne
Dec 13, 2007, 06:00 PM
I beg to differ on the matter of programming an FPGA, I don't believe there are many hobbyists into them.

Andy.

AndyKunz
Dec 14, 2007, 09:54 AM
That's funny - they're cheap, extremely powerful, and the dev tools are free/cheap. Sounds to me like a perfect option for those who don't want to pay to play.

Andy

kbosak
Dec 21, 2007, 08:39 PM
So what kind of FPGA with CPU inside (or CPU with FPGA inside) would you recommend for this specific task?