PDA

View Full Version : Question 10-bit analog output from servo input, anybody have a canned solution available?


EddieB
Mar 03, 2005, 04:26 PM
I am not sure if this is the correct place to ask this question but at the same time it seems if there were a group of people most likely to know the answer off the top of their heads that this would be the place. :) Actually I've been digging through a lot of the sticky links and the volume of information is huge, and any kind of search is fustrated by my not really knowing what proper name to call the device I am looking for. I am hopeful (wishing) that someone who has been active in this forum for awhile might just go hey I remember so-and-so posted something like that and at least point me in the correct general direction.

Ok so what I am looking for is a canned, that is something that can be purchased as an assembly, circuit that will take a servo output from a receiver and generate a proportional voltage out that is 10-bit resolution (or better but 10 bit is fine.) The obvious and straight forward approach is to tie the output shaft of a servo to a pot, add a little DC amplification, and go but I am not certain how repeatable that would be long term. So I think a more direct solution will be required. Anybody got any ideas off the top of their head where I might find such a beasty?

Thanks,
EB

Mr.RC-CAM
Mar 03, 2005, 05:54 PM
Yes, I have seen tiny little devices that take a servo signal and convert it to an analog voltage. In fact, I have seen lots of them. They are everywhere. Really. :)

It's called a brushed motor electronic speed control (ESC). I doubt any are 10-bit (I suspect they are 6 to 8-bit designs). Send an email to Castle Creations and see if they will share their step resolution with you.

BTW, are you sure you need 10-bit? If you don't mind me asking, what is the target load?

RC-CAM

AndyOne
Mar 03, 2005, 06:01 PM
Eddie,

You could consider this...

Take the PCM output from a PCM1024 receiver. To get this signal you would need a PCM radio system and you would have to dig around in the receiver circuit to find the raw data signal. There is an explanation that I have seen somewhere on the web that shows exactly how Futaba PCM decoding works. If you could create a circuit that could decode this signal you could have 10bit resolution without having to go through the analogue stage which would inevitably reduce the resolution.

Andy.

EddieB
Mar 03, 2005, 06:25 PM
RC-CAM, yeah I'm sure they need 10-bit resolution. I suppose I could look for an ESC that doesn't use PWM and regulate I and V across the motor load but I think that is not going to be very common. Target load is, well, it is sort of a big servo (about 200W) and I am being asked for a simple way to replace the handheld input control with a servo type input. 10-bits resolves to about 1 degree per bit which is acceptable in the application. While I am capable of "creating" a solution as you have suggested, I was asked to see if something existed that would do the job as is before going that route.

Andy, you mention something I had not considered in that an inexpensive/standard tx/rx might not be producing a 10-bit answer at the servo. I do not know exactly what is being used for equipment but that is something I will float as a question tomorrow.

Thanks for the thoughs so far guys.
:)

lazy-b
Mar 03, 2005, 10:46 PM
Guys: a long time ago, have build an analog speed controller ESC, I guess an analog will give more than 10 bits resolution.....Its look like those cheap analog Radio FM or AM, give better resolution.....Theoretically, analog give infinite resolution....I thinks resolution will depend on the mechanical back-slash of the servo.

Say a PCM 1024 will give a 90 degree divided 1024 step = 0.0878 degree per step on a SERVO, and assume a servo has a back-slash of 0.1 degree, this will give a +/- 0.1 degree, and effective lower the resolution in half. 1024 become 512 steps.

Mr.RC-CAM
Mar 03, 2005, 11:51 PM
I suppose I could look for an ESC that doesn't use PWM and regulate I and V across the motor load but I think that is not going to be very common.An RC (res/cap) low pass filter will convert the ESC's PWM voltage to analog. From there, you buffer it with a simple OPAMP stage. Using PWM to generate high quality analog voltage is very common.

RC-CAM

chipmonk
Mar 04, 2005, 03:53 PM
no reciever produces a 10 bit output to the servo , only a pulse of approx 1 to 2 msecs
whether it is PPM or PCM and the pulse width aproximates to -60 deg`s to +60 deg`s
with 0deg`s being about 1.5 msecs. 10 bit resolution allows the 120 deg`s (=1ms pulse difference) to be resolved to 0.1172 deg`s per bit and is used in PCM systems
to transmit the stick pos.`s to the reciever and on to the servo after being de multiplexed and converted to an analogue output(1 to 2 ms)

JMP_blackfoot
Mar 04, 2005, 04:48 PM
no receiver produces a 10 bit output to the servo , only a pulse of approx 1 to 2 msecs
Any simple receiver using a shift register decoder (4015, 4017, 40164) gives a resolution as high as the transmitter is able to generate.
Any simple transmitter with an analog coder (for example NE5044) generates pulses with as high a resolution (and linearity) as the stick potentiometer can manage.
At the other end of the cost spectrum, PCM systems are supposed to generate 10 bit resolution or better. They too ultimately depend on the quality of the stick potentiometers.

jkmadsci
Mar 04, 2005, 05:22 PM
Use a pic chip and read in pulse width and send out 10 bit pwm on another pin.
Use a resistor and cap and you have your entire circuit for 5 bucks. If you like this idea
and need more help, just shout out!!!!

Mr.RC-CAM
Mar 04, 2005, 05:25 PM
High end PPM transmitters can provide 10-bit resolution too. An o-scope will tell you what the resolution is; 1uS step size, with no more than 1uS jitter, is a good indication of 10-bit performance (or nearly so). As mentioned, the stick pot's performance will affect linearity and other issues.

RC-CAM

EddieB
Mar 04, 2005, 06:46 PM
I put the filtered ESC output out there so we shall see how it works for them. Do they make PCM output radios for car/boat stuff? I don't know much about r/c cars and their equipment really. Since no one can recall seeing a canned answer to this I bet it will wind up being a PIC kind of thing. No biggie to do really but I think they would have just prefered buying something. Thanks for the input guys.
EB
:D

chipmonk
Mar 04, 2005, 07:40 PM
JMP_blackfoot Hi, maybe my understanding is wrong but the simple rx using
shift registers does so to generate the number of output channels i.e. to dmux the recieved signal into ch1 ,ch2,etc .I am conversant with the
NE5044 used in a number of 4 and 6 channel sets on the market for the last several years and indeed it does mux upto seven input channels but as used in a ppm fm tx it does not generate a 10 bit o/p.you can convert it to a 10 bit o/p as in pcm but you would loose some of the advantages with this wrt
digitally deriving and processing the inputs. and the simple rx still only outputs a 1 to 2 ms pulse.Whether you would gain any advantage to convert this to a 10 bit output and then d2a the signal depends on the servo/application and loads involved (which is unknown) and would be degraded by any backlash and lost motion encountered.
by the by is`nt the 4017 a decade counter and is the 40164 the same as
74164

JMP_blackfoot
Mar 05, 2005, 03:04 AM
I was just trying to point out that the 5044 Tx/shift register Rx link has a theoretically infinite resolution. All depends on the analog source quality (potentiometer) and on manner in which the 1 to 2 ms. output is converted back to an anlog voltage.
If you're using a mid-range computer system, then you will find that the resolution will never be 10 bits, because the transmitter does not convert the stick pot voltage with 10 bit resolution.
To go along with RC-Cam, some time ago, out of curiosity, I checked my Cockpit MM transmitter resolution. I think I saw that is increments the servo pulses in 6 µs steps. Anyone know if that is the correct value ?
This is to say that you should be careful to use either a low-end Tx/Rx link, or a high-end one, not just your run-of-the-mill system. :rolleyes:
At for your original question, I do not know of an off-the-shelf solution, sorry.

Mr.RC-CAM
Mar 05, 2005, 12:54 PM
Here is a $75 R/C-to-Voltage convertor, but it is only 7-bits: http://www.bpesolutions.com/dmxproduct.html#anchor31113

Here is an R/C-to-PWM convertor (no specs on resolution), with notes on how to create an analog voltage: http://www.picobytes.com/PDF/RC2PWM.pdf

But here is the most likely solution; This Vantec servo controller converts the R/C Servo to a 10-bit scaled voltage. You could hack it and steal the voltage from its DAC and ignore the rest of the circuitry. It's nearly off-the-shelf: http://www.vantec.com/RBSA%20Manual.pdf

RC-CAM

EddieB
Mar 05, 2005, 01:52 PM
RC-CAM, all of these look like something these guys can deal with and I will forward them the links, along with the precaution that they might not be transmitting with 10-bit resolution to begin with.
I appreciate the help and suggestions. :)
Thanks again.
EB
:D

AndyOne
Mar 05, 2005, 06:50 PM
Eddie,
The problem with using a purely analogue system and generating the digits at the end the chain is that it probably won't be linear enough to reproduce 10 bit precision.

Is linearity necessary for this project?

Andy.

EddieB
Mar 05, 2005, 07:14 PM
I don't know the limits of what is needed exactly. There is a resonable amount of software power involved downstream of this input.
Basically their initial question was how to take a standard r/c radio servo output and replace their input control, which is a wiper on a fairly high precision pot. wired between +5v and ground. What throws me is the guys working on this thing are supposed to all be upper classmen undergraduates and graduate engineering students of one discipline or another and I swear to god it sounds like none of them has ever played with a rc car or plane in their life. It is either very odd or I'm not hearing the whole story. Heh. On the one hand I am wanting to jump in and help a lot and on the other it is like they are supposed to be figuring this stuff out using what they have learned and what resourses they have. Since I really have not done the hobby part of electronics in several years and I know from reading here that there are several folks who are really into it, well that is why I thought to ask here for anyone who had seen some canned type of answer that might help them along. I really think that if they can't figure it out with what I've sent them at this point (several good points and the links provided by RC CAM) they need to step back and, uh, make sure they really are up to the task (if that is not being too cruel to say on my part?)
Later,
EB
:D

vintage1
Mar 06, 2005, 07:13 AM
I was just trying to point out that the 5044 Tx/shift register Rx link has a theoretically infinite resolution. All depends on the analog source quality (potentiometer) and on manner in which the 1 to 2 ms. output is converted back to an anlog voltage.
.

Himm. Depends on how 'good' your theory is.

The resolution of any analogue system is a function of the signal to noise ratio.

That's just as much an issue with a PWM type analogue system as any other.

If you make yopur (analogue) servos infinitely slow the resolution tends to infinity as the servo response tends to zero :D Likewise as the tranmsitter power tends to infinity and the range tends to zero, the resolution tends to infinity :D


True digital systems like PCM trade all that variability for a fixed resolution, or no resolution at all :D

vintage1
Mar 06, 2005, 07:33 AM
I don't know the limits of what is needed exactly. There is a resonable amount of software power involved downstream of this input.
Basically their initial question was how to take a standard r/c radio servo output and replace their input control, which is a wiper on a fairly high precision pot. wired between +5v and ground. What throws me is the guys working on this thing are supposed to all be upper classmen undergraduates and graduate engineering students of one discipline or another and I swear to god it sounds like none of them has ever played with a rc car or plane in their life. It is either very odd or I'm not hearing the whole story. Heh. On the one hand I am wanting to jump in and help a lot and on the other it is like they are supposed to be figuring this stuff out using what they have learned and what resourses they have. Since I really have not done the hobby part of electronics in several years and I know from reading here that there are several folks who are really into it, well that is why I thought to ask here for anyone who had seen some canned type of answer that might help them along. I really think that if they can't figure it out with what I've sent them at this point (several good points and the links provided by RC CAM) they need to step back and, uh, make sure they really are up to the task (if that is not being too cruel to say on my part?)
Later,
EB
:D


I think the main problem is that they themselves are not asking the question here.

The two times you have phrased the question, to me are two completely different problems. And there may be a third that is implied.

In short, I don't really understand WHAT the problem is.

Your answers come in three basic flavours accoding to the interpreattion of the question...

i.e.

(i) If you want 10 bit resolution on a servo output with an RC transmitter, you need to change the transmitter to something that actually SENDS 10 bit (or analogue equivalent) or better resolution. Most do not. I suspect a LOT of transmitters have an 8 bit encoder from the sticks to the electronics, particulary those that run PCM as well as PWM, as there you need a digital input from the sticks to the encoder anyway. Early PWM transmitters could and did use purely analogue encoders.

So one part of the answer is get a 10 bit or better tranmsitter. Although whose got thumbs that can fly with that precision anyway?

(ii) As far as PWM goes, what comes out of the decoder is an analogue signal. Produced in the only way a digital chip can mimic analog on a single pin. In terms of a variable pulse width. This width has nothing to do with the decoder, and everything to do with the transmitter, and an inevitably small amount to do with the reciever, signal to noise ratio, and some part of its analogue design.

To convert this realtively 'grainy' PWM signal to 10 but digital is simple with a PIC BUT it won't represent a digital signal that can be smoothly varied over all ranges of that 10 bit number: Like as not it will jump between certain values and leave out the values in between.

The only way to get a true 10 bit transmitter to servo type communication channel, is to first of all use a PCM transmitter that actually uses 10 bit or better encoding, and then build a receiver where the PCM decode is under your control.


(iii) If the question is how to take e.g. a model servo and make it respond to e.g. a 10 bit digital signal that is being created other than by an RC set, then its yet another problem: But a very simple one in concept, though tricky in practice. You need to replace some or all of the servo guts with a 10 bit capable PIC and use 10 bit digital input instead analogue input. I would guess transferred as some sort of serial bit pattern.


Now, if you can clearly identify which of the above represents the actual problem, than further assistance can be given. I hope that others feel his is a fair summary of the responses so far.

Oh. I just read what you said, and it looks like they want a servo that has a 10 bit encoder on it to respond to an RC signal? Well just do a D to A on te 10 bits and use it instead of the servo pot...

EddieB
Mar 06, 2005, 01:36 PM
Heh, Vintage I wish it was simple to explain and I have tried to pare down the large picture to as simple of a question as I could in an attempt to keep things from snowballing. Just to give you an idea, because I play with RC stuff I was asked by a coworker (who designed the servo type product) who was asked by our customer who was asked by their customer who is helping (?) some university people work on a project. And yeah I am simplifying it yet again. While I know quite a bit about the servo system, what the very end people "need" from it I do not know with any detail. The sytem itself has a lot of computational ability and is already dealing with certain non-linearity issues among other things. So a lot of what has been said here I have siphoned over to them, including questions about tx and rx resolution and references to this thread, and will just have to wait and see what if anything makes its way back to me (or the forum.)
Thanks again all for the input.
EB

EddieB
Mar 06, 2005, 01:46 PM
Oh, about the different flavors of the question, that is me initially being convinced to ask what sounded like a simple question looking for a canned product, and slowly being drawn in to a much deeper involvement in solving someone elses, and I mean really someone elses problem. I agree that you are quite right in saying the main part of the problem is that they themselves are not asking here. That has also been passed along. :rolleyes:
EB
:D

vintage1
Mar 06, 2005, 07:32 PM
Ohmigawd. Chinese whispers isn't it?

Used to get it all the time in technical sales. Chap A has a problem, but is too important to find the answer or admit he needs help, so delegates it to person B who he carefully keeps in the dark to avoid betraying his ignorance, and person B passes it along because he doesn't even understand the problem to C who phones us up, and gets our salesman, who doesn't understand either so comes to me spouting what by this time is utter gibberish...

We'd all love to help if only we knew what the real situation actually is....:)

westfw
Mar 07, 2005, 04:29 AM
(i) If you want 10 bit resolution on a servo output with an RC transmitter, you need to change the transmitter to something that actually SENDS 10 bit (or analogue equivalent) or better resolution. Most do not.

Vintage1's message is excellent. In addition to the transmitter, I don't
know that I'd believe that the average analog componeny (pot or joystick)
even provides 10 bits worth of precision in any meaningful way. I mean,
most resistors are 5% or 1%. 10 bits is 0.1%. I don't know that you can
take an average variable resistor and get a 0.1% change with the tiniest
physical movement you can make - there are mechanical issues that come
into play. (that's why high precision pots use multi-turn mechanisms...)

BillW

vintage1
Mar 07, 2005, 04:40 AM
Oh, I think you probably CAN get 10 bits or so out of a pot. A decent one anyway.

Multiturn pots still have straight tracks - or most do. However it does equate on say 90 degrees of movment to about a tenth of a degree rotation, which is not something MY thumb can do on the average day with any degeree of relaibility.

lazy-b
Mar 07, 2005, 10:27 PM
Guys : the new Futaba MZ14 transmitter use a 11 bits/2048 steps, I just wonder what kinds of potentiometer it use that gives 1/2048 = .05% Tolerance, WOW, this is more precise that Precision resistor.

I just wonder why those current transmitter still use Potentiometer, the Best Joystick I ever saw is made by Microsoft Joysticks, its uses optical censor, it look like theres a fixed CCD sensor and the lower end of the joystick has 2 IR led, the reason it use 2 IR led cause a single stick has 3 axis, Elevator, Aileron and rudder, there another 1 IR led near the side of CCD that detect the throttle position....image a single CCD sensor can detect 4 axis.

now to produce a 11 bits resolution, we need at least 2048 x 2048 CCD sensor.......I am just wonder if current Digital Servo can produce 2048 resolution.

Mr.RC-CAM
Mar 07, 2005, 11:05 PM
...the new Futaba MZ14 transmitter use a 11 bits/2048 steps, I just wonder what kinds of potentiometer it use that gives 1/2048 = .05% Tolerance, WOW, this is more precise that Precision resistor.In a servo control system, Resolution and Accuracy are two different things. They each are assigned their respective specifications. For example, you can have an accurate low resolution system, a high resolution inaccurate system, or a high resolution high accuracy system. When they interact with sufficient performance, to meet the needs of the application, they are considered to be Precise. Or, at least precise enough.

RC-CAM

kallend
Mar 07, 2005, 11:13 PM
Why not just integrate the servo pulse with an op-amp integrator (or even a one transistor integrator) to get a voltage proportional to the pulse width, and sample and hold until the next pulse ends, ad infinitum. I even had a circuit somewhere that did exactly that.

Andrew0820
Mar 08, 2005, 08:50 AM
Why not just integrate the servo pulse with an op-amp integrator (or even a one transistor integrator) to get a voltage proportional to the pulse width, and sample and hold until the next pulse ends, ad infinitum. I even had a circuit somewhere that did exactly that.

After following this thread for some time, it still is not clear to me what the original poster wanted (it may not be clear to him, either). In any event, here's a PW to voltage conversion circuit. If their servos require 10 bit digital input, hang a 10 bit ADC on the output above and be done with it.

PW to voltage conversiton (http://www.edn.com/article/CA178105.html)

EddieB
Mar 08, 2005, 09:24 AM
After following this thread for some time, it still is not clear to me what the original poster wanted (it may not be clear to him, either). In any event, here's a PW to voltage conversion circuit. If their servos require 10 bit digital input, hang a 10 bit ADC on the output above and be done with it.
PW to voltage conversiton (http://www.edn.com/article/CA178105.html)
Hi Andrew. Heh. What I was looking for was information. Initially the information I was looking for would have been leading to a module, product, or assembly that could be purchased directly and converted a normal servo type signal into an analog voltage that went from 0 to 100% of full scale as the servo signal went from 1 ms to 2 ms. The suggested resolution I was asking for was 10-bits. Along with a couple of quick product suggestions, several folks who know a lot more about the real details of r/c radios have pointed out and discussed that there is a lot more to it than appears on the surface. Since this is not actually MY project and I am not able to get seriously into the details of it, it has been suggested that the "real" people looking to solve this problem pick up the ball and join into the discussion. I have passed a lot of the information here and the link to the thread to them (indirectly since that is the only way I have) but so far I've not even gotten a reply in e-mail much less any indication they are interested or using any of it. Who knows though because by the time stuff gets from a contract manufacturer (me) to the manufacturer to the distributor to the customer... it could be like one of those things where you sit in a circle and whisper a phrase from one person to the next and 15 people later see if the resulting phrase is anything like the initial one. :rolleyes: So I guess, sorry for the false alarm but I will say what was posted and discussed was interesting reading anyway even if I don't have a personal use for it all at the moment.
The circuit you found is pretty neat by the way, but it will be subject to the same potential problem of if you are not sending 10-bits to start with then you are not going to get 10 bits worth of data out.
Thanks for the help.
EB
:D

Andrew0820
Mar 08, 2005, 10:37 AM
<snip> .... but it will be subject to the same potential problem of if you are not sending 10-bits to start with then you are not going to get 10 bits worth of data out.


As both you, RC-CAM and others have pointed out, the resolution coming in is likely going to be problematic -- as we say in western KY, you can't make a silk purse out of a sow's ear. :o

Acetronics
Mar 10, 2005, 08:03 AM
.

now to produce a 11 bits resolution, we need at least 2048 x 2048 CCD sensor.......I am just wonder if current Digital Servo can produce 2048 resolution.

Hi, lazy-b

Surely not !!! ( gears do need some little clearance to work ... so precision only available with no output torque !!! ) but having such a TX make you feel a so much better pilot !!!
That's the most important ...

Have a look here ... for true results: http://osegouin.free.fr/servo/servormances.zip


Alain

PS: Translation is on ...

vintage1
Mar 10, 2005, 04:01 PM
Have you never seen zero lash gears? where two spurs gears are hlsd togoeher with a spring?

Chani dtrive with a tensioner? belt drive...

lazy-b
Mar 11, 2005, 12:44 AM
Alain: Nice Link about Servo Performance....hope there is english version.

Yes, I remember a zero Back-Slash gear use in those old Vacuum tube radio, use Air Gap tuning Capacitor coupled thru a zero Back-Slash gear for tuning.

I guess, the 2048 step resolution is possible, since the Feedback potentiometer is directly connected to the output shaft, a bigger back-slash gear will just make the servo noisy since it will alway make a correction.

I guess, future servo will use optical sensor to read the position, instead of regular Potentiometer.

I guess, the Manufacturer really intend to use a regular potentiometer, so that they can sell more and make money, They do not want to sell you a product good for 20 years.

my only problem with transmitter is those worn-out potentiometer.

Acetronics
Mar 11, 2005, 02:47 AM
Hi, vintage
:rolleyes: Remember your mechanics at school ... if there's a tensionner somewhere, something moves under load ... and gives a gap !!!
Did you forget the calculations for gear teeth ??? flexion? does this sound to you ?
Belt drives can't transmit torque without slipping :eek: ... I learnt that when I was 15 ...

simple to remember: no clearance = no torque !!!

Hi, lazy-b
Yes, old TSF's ... but torque transmitted to the capacitor is negligible ( and ridiculous when ball bearings used on those unaffordable ones !!! ) see the spring work as you are blocking the rotor. some degrees lost here ...

For Tx potentiometer worn out ... I only see one solution: rotary encoders ... Pioneer takes that for 25 years for tuning their High class auto-radios.
But do not forget axles will get loose one day ...

Just note my old MC18 from JR/Graupner is dated 1986 ... and since, I didn't notice any wear or noize ...
mmmhh ... do you know how mayonnaise sauce is prepared ??? That's why I am so called ...

Read you soon
Alain