View unanswered posts | View active topics It is currently Mon Dec 10, 2018 6:42 am



Reply to topic  [ 3 posts ] 
 Use Utilite To Control a RC QuadCopter-Well Sort Of 
Author Message

Joined: Mon Jan 09, 2012 3:16 am
Posts: 351
Post Use Utilite To Control a RC QuadCopter-Well Sort Of
Overview

Recently my wife gave me an Estes Syncro Quadcopter (really a Hubsan Q4) which is the world's smallest and is really fun to fly. One thing led to another, and I was soon the proud owner of a larger Heli-Max 1Si (really a Nine Eagles Galaxy Visitor 2). The Heli-Max is also fun to fly and it includes a 720P still/video camera.

Attachment:
Quadcopters.jpeg
Quadcopters.jpeg [ 126.74 KiB | Viewed 3859 times ]


After a bit of time, I began to wonder if it might be possible to control one of my Quadcopters with Utilite. What I had in mind was to initially use a game controller in conjunction with Utilite and a radio to duplicate the function of a Radio Control Transmitter. A future goal would be some form of autonomous flight controlled by Utilite with no human input.

After a bit of online research, I discovered there has been significant work in the open source community concerning microcontroller and computer control of flying, radio-controlled craft. Finally, I decided to pursue the Heli-Max 1Si option.

Theory

After a bit of digging, I discovered the Heli-Max iS1 RC control transmitter and receiver communicate at 2.4 GHz using a frequency hopping scheme which communicates all control data using a form of encoding known as Pulse Position Modulation (PPM).

In Pulse Position Modulation (PPM), various human inputs such as throttle position, rudder position, aileron position, and elevator position, are encoded by the remote contoller into a serial string of varying width/position pulses which are transmited via rf to a radio control receiver. The typical PPM frame is around 20 mSec in length and repeats about 50 times per second. Each PPM frame consists of a series of pulses (1 per channel of data) followed by a blanking period. The value of each channel is propotional to the duration of the corresponding pulse (leading edge of present pulse to leading edge of next pulse).

Sample PPM Output from Hitec Optic 6 Remote Control Transmitter
Attachment:
ppm_scope_view_1.gif
ppm_scope_view_1.gif [ 226.99 KiB | Viewed 3856 times ]




On the receiver end, the train of incoming PPM data is demultiplexed into individual pulses on individual signal lines. The widths of the resulting individual pulses (Pulse Width Modulation/PWM) determine things such as servo positions.

Attachment:
PPM Theory.jpeg
PPM Theory.jpeg [ 110.54 KiB | Viewed 3858 times ]


In my case, what is needed is a way for Utilite to generate controllable PPM output and a radio system which will accept Utilite's PPM output and transmit it to the Heli-Max Quadcopter. Fortunately both solutions exist.


Last edited by hassellbear on Tue Aug 05, 2014 6:56 am, edited 3 times in total.



Tue Aug 05, 2014 4:33 am
Profile

Joined: Mon Jan 09, 2012 3:16 am
Posts: 351
Post Use Utilite To Control a RC QuadCopter-Well Sort Of
Implementation

Hardware

Attachment:
QuadCopterCombined.jpeg
QuadCopterCombined.jpeg [ 240.71 KiB | Viewed 3856 times ]


1. Utilite

2. Nine Eagles NE-480192 (same as Tactic Anylink2) 2.4 Ghz RF Link - Accepts PPM control input and is compatible with Heli-Max 1Si quadcopter.

3. Helimax 1Si Quadcopter.


Software

1. Python based PPM generator named ppm.py which uses the sound output of Utilite to generate surprisingly good PPM output. Software can be found here:

https://github.com/kangsterizer/Audio_PPM_Linux


Equipment Interconnection

The data link between Utilite and the Nine Eagles 2.4 GHz RF Link is simple. It consists of an audio cable with a 3.5 mm stereo plug on one end and 2 - 3.5mm mono plugs on the other end (1 left channel and 1 right channel). Plug the stereo plug of the cable into Utilite's audio output and the left channel mono plug into the PPM input of the 2.4 Ghz radio. Increase Utilite's volume level until the Nine Eagles Radio beeps and wakes up. Shortly thereafter, the Nine Eagles RF Link connects to/binds with the Quadcopter.


Results

The initial results of this endeavor were encouraging. PPM.PY runs well on Utilite and produces high quality PPM output as can be seen in the images shown below.

PPM.PY Running on Utilite

Attachment:
ppmpyloop.gif
ppmpyloop.gif [ 117.63 KiB | Viewed 3853 times ]


Utilite PPM Output
Attachment:
Utilite_PPM_Loop.gif
Utilite_PPM_Loop.gif [ 245.37 KiB | Viewed 3853 times ]



Fortunately, I managed a very brief flight of the Quadcopter controlled by Utilite. Actually, I think neither I nor Utilite was really in control as it is virtually impossible to adequately control the Quadcopter using the sliders the software provides. What is really needed is a gamepad controller.

Also, I think some of the channels must be mixed and slaved to one another by the Quadcopter's real remote control. Obviously, PPM.PY does not provide that coupling of channels.

Further, I found that in using PPM.PY there is a significant time lag between the adjustment of a control input and the corresponding change in the PPM data stream. Obviously, this lag doesn't provide adequate control of a nimble craft which quickly zips from place to place. I think to overcome the lag it will be necessary to use a compiled program as opposed to an interpreted Python routine.


Last edited by hassellbear on Sun Dec 21, 2014 2:36 am, edited 1 time in total.



Tue Aug 05, 2014 6:22 am
Profile

Joined: Mon Jan 09, 2012 3:16 am
Posts: 351
Post Re: Use Utilite To Control a RC QuadCopter-Well Sort Of
Conclusions



1. This project does illuminate some intersting possibilities. However, faster software and some form of game controller are a must for a successful project.

2. Utilite once again demonstrates its versatility.

Attachment:
Helimax 1Si Flying.jpeg
Helimax 1Si Flying.jpeg [ 3 KiB | Viewed 3849 times ]



Further Reading

https://www.insecure.ws/fpv/audioppm_linux.html

http://www.andrewhazelden.com/blog/2011 ... m-signals/

https://flyingeinstein.com/index.php/ar ... -explained

http://www.endurance-rc.com/ppmtut.php

http://www.mftech.de/ppm_en.htm

http://abottravel.blogspot.com/2011/12/ ... -with.html

http://www.rcgroups.com/forums/showthread.php?t=1773853


Tue Aug 05, 2014 7:30 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.