January 10, 200422 yr Hi everyone. I've been doing some browsing with a mind to maybe making a panel with 'steam' gauges driven by servos controlled by an OOPic / Basic Stamp / BasicX / something similar.I know it's possible - Simkits instruments are servo driven - but I keep coming across servo info that says that they get a 0 - 255 signal as a position indicator. Is this really as closely as you can control them? It would seem to me that that would mean that a compass, say, would be limited to only a little better than 1 1/2 degrees accuracy. Is this what the simkits ones have, or is there a way round that?Richard
January 10, 200422 yr Richard,There are actually two things going on. The first is how the drive signal delivered to the servo is generated. The second is how the servo itself functions.There are several systems that provide PC control of RC servos. Some of them use only an 8 bit value to determine the control signal pulse width. If you want a finer degree of control, you'll want to avoid these. You may have to develop you own. It's not too difficult. Some of the PIC micro controllers have PWM counters built in to support this.An RC servo has a dead zone to stop the servo from jittering around the commanded position. Basically, this means you have to provide some minimal size change from the current position before the servo will respond. At best this means you cannot have extremely smooth movement. At worst, you may only be able to position the servo at fixed discrete positions.Some of the older RC servos had a mixed analog/digital controller in them. This type may have been able to position the shaft at arbitrary positions as long as the change exceeded the dead zone size.Some of the newer RC servos have an all digital controller in them. They may well only be able to position the shaft at fixed rotational positions.I have been working with inexpensive Futata and Tower Hobbies servos. At one point I taped a 12 inch ruler to the servo's control horn (centered on the shaft) so I could see the step size. I used an HP pulse generator to supply a smoothly changing control signal. I got repeatable and quite noticeable steps. It appeared to have about 256 positions.Higher end servos are advertised to have smaller dead zones, but look much more expensive. Being cheap, I haven't worked with them.I have found RC servos to be quite workable for artificial horizons, for turn coordinators, and CDI needles. To get smoother movement over large arcs, air-core movements and half stepped, 400 step stepping motors or smaller resolution stepping motors with geared outputs seem to work better. It's also possible to build a servo based system from scratch. Mikewww.mikesflightdeck.com
January 10, 200422 yr >I know it's possible - Simkits instruments are servo driven ->but I keep coming across servo info that says that they get a>0 - 255 signal as a position indicator. Hmmm, not sure where you got this info but the way I understand servos (the RC kind) is you send a pulse of a certain width to indicate a rotation position the servo has to move to.So if the servo has a pulse input range of 1ms (0 deg) to 2 ms (180 deg or manufacture
January 10, 200422 yr Richard,If you intend to use stock Simkits parts, I suggest you to use their stock servo and controller.But if you are just like me - who likes to build things from scratch - perhaps we should evaluate the possibilities and look things from a different perspective.Looking Simkits' HS323 modified servo, I've noticed that the internal feedback potentiometer was supressed. The text doesn't state wheter there is any kind of feedback loop inside or not. If the servo doesn't have the feedback loop then your circuitry has to know where the shaft is. In case of the compass, I'd go for a stepper motor with an embedded controller. Driving stepper motors is something off-the-shelf, with a bunch of circuits and programs spreaded all over the web.Browsing Digikey's website I've noticed that the smallest step available is 3.6 degrees. Perhaps some gear reduction can be employed to increase the precision, and the firmware has to take this into account accordingly.Instead of using assembler, I'd use C or any high-level language with 16-bit variables support. This will make your life a lot more easier (remember that 8-bit variables can hold values up to 255). Since the steam gauges usually run slowly, I believe that even a stock 8051 with a compiled C or BS code will be fast enough.After figuring out the gauge shaft driver and interface, it'd be time to analize the controller architecture. This is something that can be implemented in a fast 8051 derivative, or even a CPLD or FPGA (the latter my preferred choice). FPGAs are fast and reprogrammable, but some knowledge of HDL language will be needed (VHDL or Verilog, for example). IMHO using small controllers that control only a few gauges is the way to go, rather than using a high-speed multi-drop bus (i.e. RS485).But when it comes to getting all the FS data and sending it to the controller(s), things can get naughty (at least for me). This is something that I have to check within FSUIPC docs and see wheter it can be used.Well, these are just some thoughts that I had during a boring, lonely flight over the southern atlantic ocean, on my way to South Africa. Regards from Brazil,Ricardo RamosTBA704 Captain - Vatsim 869800Iguassu Falls, Brazil
January 10, 200422 yr >Looking Simkits' HS323 modified servo, I've noticed that the internal feedback potentiometer was supressed. The text doesn't state wheter there is any kind of feedback loop inside or not. If the servo doesn't have the feedback loop then your circuitry has to know where the shaft isTake a look at their site. They use an inside PCB equipped with two pots able to rotate at 360
January 11, 200422 yr If you register on the simkits site, you can download an extra SDK PDF with all the schematics for different instruments, connector pin order etc, which really helps if you for example need to hack your own custom instruments etc. They are using "PIHER" sensors for position feedback for the modified servos.Tuomas
January 11, 200422 yr Author Thanks, Tuomas, I didn't know that - I'll take a look.I've figured out that I'll be able to do the non full rotation instruments such as the Airspeed, Altimeter, Atitude quite easily, but the heading and ADF type ones will be a lot more difficult - mainly due to trying to read where the pointer actually is.Richard
Create an account or sign in to comment