All usual disclaimers apply. No warranty of any kind provided. follow these advices at your own risk and expense.
This is a project to refine the sound card sampled R/C Transmitter to pc simulator interface cable proposed by SmartPropoPlus. SmartPropoPlus' solution uses the computer sound card to sample tx data.
We are targeting a USB interface with Atmel's AVR microcontroller. This will hopefully give more precise control and less load on the PC. Furthermore the existing solutions had poor de-mixing of the Twister CP transmitter witch resulted in "strange" behaviors like roll affected by pitch, roll and pitch affected by power etc.
Finally it will be a more elegant solution since no drivers are necessary (generic joystick HID is supported by windows)
The Tiny AVR does not have a USB interface, but is powerful enough to bit-bang low-speed usb in software. This is enough for our purpose.
Performance
The interface performs nicely with dead-stable controls (no annoying fluctuations like with SmartPropoPlus) and resolution is satisfying (one click on trims equals one bit).
De-mixing is upto expectations with virtually no coupling between axis ("round shape" in pitch / roll corners due to servo protection in tx is still present).
Application to other kits / transmitters
This particular design is adapted to the twister cp transmitter. E-Sky 6ch uses the same one and this design can be used as is. It is assumed that most other PPM based R/C transmitters can use the same design with different pin out or plug.
To identify the pins on your transmitter's trainer socket a multimeter will do. First with tx turned off measure Ohm between first negative battery cell and each pin in the socket. When you hit 0 Ohms -that is the ground pin.
Secondly turn the transmitter on and measure DC voltage between the ground pin and the others. (with 8 fresh batteries) you'll typically measure +11V on the supply pin. If it is < 9V you must disable the RC power supply circuitry
Finally you'll need to find the signal pin. This will typically measure about 3.5V and change when you move the stick from one extreme to the other.
If you have access to an oscilloscope you'll see something like shown in figure 1:
Twister CP PPM signal on oscilloscope
On the firmware side, you'll probably need to adjust the de-mixing.
BOM - Components
See schematics for now.
Connector pin out
Twister CP Trainer pin out
NOTE: Connector seen "into transmitter"
Schematics
Revision history
- PA4: Moved usb to recommended pins (A0-A1). Added optional switches. USB and PPM hardware verified.
- PA3: Changed to tiny84. 2k memory is not enough, RC_TX moved from INT1 to Input capture (IC0)
- PA2: Added alternate power solution
- PA1: Initial
Non verified features
- 9v Boost converter.
Software
The firmware is simple enough. Oleg Semyonov's driver (gone) (mirror) with replaced sampler and data feeder.
The patch can be found here: Twister CP USB Simulator interface firmware
Reference
- SmartPropoPlus
- PPJoy
- Atmel Appnote AVR309 - Software Universal Serial Bus
- http://www.recursion.jp/avrcdc/ Another tiny software usb
- http://www.mindaugas.com/projects/MJoy/Article.php(gone) mega8 HID joystick interface
- http://symlink.dk/electro/c64key/
- http://www.obdev.at/products/avrusb/index.html
- WHDC
- WHDC USB Technologies
- usb.org cdc specs
- Microchip appnote 00956b