Of all the projects that are published on my homepages, some of the most popular pages are the Radio Control (R/C) encoder and decoder ideas. I have not flown for many years and the desire to fly is getting strong, so I thought I would take a break and do something "fun". Make some new R/C equipment, make a PCB for it all, and apply a few novel ideas to it. There are loads of new products on the market, and these have prompted a couple of ideas.
The object of the exercise is to fly, so 27MHz AM is out of the question, but I will give you some info on it. The object of this article is not about the radio link, but about the method of control. The radio is nothing more than a medium for transfering data.
I have already published the circuit of an encoder using an IC to select high-value pots, as used in the joysticks of computers. The circuit is quite simple; it is just an oscillator with sequentially selected pots to control the pulse length.
If you want to see the complete articles, then the theoretical pages are at rc-prop.htm and the original R/C receiver I used is to be found at ../rx/zn414.htm. I last flew it in 1994, but the control was all 27MHz AM. I few off the edge of the South Riyadh ridge, which is about 800 feet (250 metres) sheer drop. I found myself gliding the model long after the motor stopped - there was one heck of a lift :-)
But back to the radio gear. This new project can be easily extended, and modern components are a lot more readily available. No ICs are used in the transmitter, which is amongst the biggest complaints I have received. This circuit looks daunting, but it is just one oscillator and several pulse stretchers.
This is the simplified version for two channels, but if you want to have six channels then I have taken the time to draw the complete circuit for you:
Of course, you can decide not to fit TR6 and TR7 to make a four channel circuit. But I am sure that you can work it out. In both circuits, all diodes are 1N4001, but any diode will work here, as long as the reverse leakage is not excessive. TR1 through TR8 can be ANY NPN general purpose device, and TR7 can be ANY PNP general purpose device.
The pots are all the joystick pots and assume that you have a rotation of 90 degrees, which is 33% of the full resistance range. Orient the pots so that they are set so that the center stick is 1250 Ohms, varying from 500 Ohms to 2000 Ohms. The Ohmic value of the pot is not critical, so you can use 10K pots, or even 2K pots. It all works just the same.
TR1 and TR2 form a multivibrator with a 20mS total period time. The collector of TR2 is coupled via a 3n3 capacitor to a common bus, via D1, resulting in a short -ve pulse when TR2 collector falls to 0v.
The collector of TR2 is loaded by the first channel pot, the wiper of which is coupled through a 22nf capacitor to TR3 base. The 22nf capacitor and associated 100K form a time-constant which delivers a sawtooth-shaped pulse to TR3 base, turning it OFF. If the pot is HIGH (close to supply) then the sawtooth pulse is small, and the 0.7v point of the pulse occurs after 0.5mS. If the pot is LOW (collector of TR2) then the sawtooth pulse voltage is much higher, and it takes much longer for the 0.7v point to be reached. It should take 1.5mS.
When the sawtooth pulse voltage falls below 0.7v then the next transistor will turn OFF, the collector voltage across channel 2 pot will rise, and the sequence continues, rippling down the pulse chain. When each pot is varied between HIGH and LOW, the following transistor will therefore be turned OFF for a period of time corresponding to the 22n/100K time-constant, and the 0.7v decay level corresponds to the starting voltage - ie, the setting of the pot.
Each 3n3 capacitor pulse is fed via the diode to a common rail, where they are all summed and cause TR9 to briefly conduct for each pulse. The collector of TR9 is therefore pulled to ground (0v) and pulses to 10v DC. This is the train of pulses that is fed to the radio transmitter.
Battery operation is not recommended directly. You should use a 12v (or more) battery with a 10v regulator. I use a 78L08 8v regulator to power mine. This reduced voltage makes no difference, what is important is that the voltage is constant.
TR9 can supply a good 20mA so it can be used to supply power to small transmitter power amplifiers. This should be more than sufficient to run a small 25mW AM transmitter.
Ah! Yes! Mine is not very neat, and I am still running it on the bench for testing, and photographing. The second unit I built worked in exactly the same without any component changes, so it is quite repeatable. I first tested the unit with pots simply tacked onto the board.
Note that the PCB foil pattern and component overlay show two components that are not to be fitted. These are the capacitor and diode in the BASE of TR9. Simply put a solder-blob bridge on the PCB, or fit a wire link to the board.
I should really go back to the computer and update the drawings, but as I have mentioned a few times on the messageboard, I have a lot of other things to do. But the above picture shows you where I mean.
The decoder is only a simple counter, such as a CD4017 Johnson counter, which has 10 sequential outputs, numbered 0 - 9. Every incoming pulse "clocks" the counter to make it return the present output LOW, then set the next output HIGH. Look at the circuit of the decoder.
The first OpAmp is a comparator with a long time constant that follows any DC bias in the input from the receiver. This is the case if you use the ZN414, or MK484 AM receiver chips. With these chips you should also be aware that the 1.4vDC at the output is also the AGC level, so the DC does shift with signal strength. These devices also give an inverted AF out, so you will need a transistor buffer/amplifier to re-invert and amplify. But the decoder does have a signal sensitivity of 10mV. Note that there is also a 10uf across the 6v supply, not sjown in the drawing, but this does not serve a decoder function. It is only needed for decoupling.
The second OpAmp is a capacitance discharge timer, but the capacitor is always re-filled by each channel pulse. When the frame has ended, then the capacitor will discharge and OpAmp sends a HIGH to the RESET input. The counter therefore stays at count=0 until the next frame starts. The first SYNC pulse starts count=1, and the channel 1 pot determines how long it must remain HIGH until it sends the count=2 pulse.
This is what the first prototype PCB looks like. Yes, there is a PCB foil patern for it, and even a component overlay. The only component not on the circuit is a 1M0 resistor across the first 1uf capacitor (point X in the circuit). This is to ensure that the output of OpAmp1 is always kept low and has a tendency to drift low. In the event of no signal, it can be a good thing to ensure that the counter is not being randomly clocked with noise. This would send the servos Berserk, and your model would become firewood, instead of possibly gliding.
Notice that there are seven servo connections - one of these is for the battery pack. The servo contacts are numberes 1, 2 & 3 from the chip toward the edge of the board. The pin closest the boards edge is the battery negative, 6v +ve is the centre-pin, and the pin closest the CD4017 is the data in. I like this because if you plug the servo in the wrong way round then nothing bad happens.
Servos often use a colour-code, RED = Battery +ve. BLACK = Battery -ve. YELLOW for data. The pin numbering I use is compatible with the old Futaba servos, and most other servos. Sanwa, in their wisdom changed this with the SM-321 servo, they had the DATA pin in the middle, and they use no colour-code. Smart! Swap pins 1 and 2 in the socket and they are back to the normal method. The Sanwa SM-411 servos were wired the correct way round!
Final point, the decoder detects the time between frames to reset the counter to "0". This is the 1uf with 47K in parallel, between the two OpAmps. With the values given it will detect about 6mS, or more, inter-frame space. If all six pots are at full value, and each channel occupies 2mS (1.5 plus margin), then with 12mS for channels, there is only 8mS available. If you wanted to extend to, 8 channels, then the 1uf cap should be replaced with a 0.47uf cap.
To be quite honest, you do not need a radio link. Don't blinker yourself into the coils and crystals syndrome. Yes, you can use my ZN414 receiver, using the new(er) MK484 replacement. This will work nicely with my CW / AM transmitter. But why not use other mediums? For example, here are a few mediums that you could use for local control of indoor models:
If you really must use radio, then there are other alternatives useful for experimentation, although I have no idea about the legality in your country. What about using these 446MHz PMR walkie-talkie radio sets? They have up to 3km range! I want to fly an indoor model that will never be more than 50 metres away from me, but I can get up to 200 metres with these TX and RX modules:
Radio control of models is not as complicated as one would at first immagine. The techniques are old, but you can still improvise using a little thought, and modern materials.
All capacitors I have used are either ceramic, or electrolytic. I found that the tolerances of those I had were sufficient, and I shall not operate my unit in the Middle East, or Sweden in Winter. If you intend to operate in extremes of heat then replace all ceramic timing caps for something more stable and with a tighter tolerance, such as polystyrene, or dipped enamelled capacitors.
The analogue radio control data format is quite a simple process. Although the AM radio transmitter churns out over a watt of power, the average power is only something like 25mW. This is because the coder described above generates only brief pulses of typically 200uS, or less duration. There is one group of pulses encoding all channels, and this is repeated every 20mS. This 20mS can be extended, to allow more channels, but it comes with a slower servo response time.
Each group of pulses, or frame, begins with a sync-pulse, followed by one pulse for each analogue channel. Look! Instead of dwelling on loads of text, here is an animated GIF file showing one frame with four channels. I shall wiggle around joystic pot number 3. See how the time interval between the 3rd and fourth pulse varied. The actual figure is from 0.5mS to 1.5mS.
Small point of operation: if there is any interference, then extra pulses may be added, or pulses missed. Channels 1 and 2 (the first three pulses) are therefore the most reliable channels, and these you normally find on commercial gear as the right-hand stick, for elevator and ailerons. Rudder and gas are somewhat less critical.
If you want to buy models and ready-made servos, then almost any model shop, but if you want joysticks, or servo gears, etc, then I have found only one outlet: http://www.baltechno.se/ is A Swedish company, based in Gotherburg, Sweden.
Baltechno have been repairing RC electronics for nearly 20 years. They have built up a very well equipped work shop and are authorized by, for example, Graupner/JR, Hitec, Thunder Tiger, K.O. Propo, and Kyosho. They repair RC equipment for the whole of Scandinavia and sometimes get repairs from countries like Germany, France, Greece. E-mail . I found them VERY helpful obtaining R/C mechanics that I was unable to get elsewhere.
For just US$10 you can get cheap "GameBoy" joystick, with two dual analogue joysticks, vibrators, blinking lights and a host of switches. The switches you can forget because they are a load of crap. What you do with the vibrators is your own business, but I took off the weights and used the motors as experimental windmill generators. A bit unimaginative, but fun.
The two dual-analogue joysticks have 10K pots. These are good for this project, but you will have to either remove them from the PCB, or cut the tracks. All four 10K pots have their top/bottom contacts wired together. They look like this:
The right-hand pot is still a virgin; still on the GameBoy PCB. The left-hand pot I have de-soldered, and even the knob is pull-offable so you can fashion your own joystick. Small tip: practice desoldering first. EVERY one of the 14 pins must be released from the solder before you try to shift the pot. The pins should waggle freely in the hole where the solder was. These pots are particularly interesting in that the stick movement is only 90 degrees, but the pot varies from 0 to 10K Ohms. This means you will need a slack handful of resistors to restrict the servo swing. If you want to be clever then use a 5K pot as a "trim" control. The pots I used had a bit of "slack", or "play" (movement where no control adjustment happens).
Another useful source of joysticks is the E-SKY 4-channel simulator, supplied complete with FMS flight simulator. You can get a better up-to-date version of the simulator from the web, but for $10 you get a pair of new twin-axis joysticks. The E-SKY simulator is recommended for the range of E-SKY models, such as my helicopter, but the chances of finding the simulator on the market in 10 years is small. These things keep changing, but Baltechno sell a wide range of spare parts, including joysticks.
Very best regards from Harry
This project is not intended for eavesdropping, steering guided missiles around the world, remote lunar landings, fetching keys to prisoners, or filming ducks in flight. If you should be killed by a falling camera-shy duck then I refuse to accept any responsibility. I am merely providing technical information, correct to the best of my imagination.
Dont forget to visit my messageboard if you have any questions about this or any other project. I always look forward to receiving feedback, positive or negative. You do not have to register to post messages.
Very best regards from Harry Lythall
SM0VPO (QRA = JO89WO), Märsta, Sweden.
EA/SM0VPO (QRA = IM86BS), Nerja, Spain.