HobbyKing.com New Products Flash Sale
Reply
Thread Tools
Old Apr 04, 2010, 08:37 PM
have foam, will fly
waqa's Avatar
San Diego
Joined Dec 2008
278 Posts
Arduino + HK Satellite Receiver Works Great

First I want to thank Reinhard for doing most of the work to make my Arduino receiver possible.

I've been working on my Arduino autopilot for some time and have an a couple Ardupilots from DIYDrones.com which I've used with much success. I'm no micro-controller guru like Reinhard and others here and the best I'll probably be able to master is something like the Arduino platform so I decided to build my own Arduino autopilot. But, rather than use custom made PCB's I'm going to use standard Arduino boards readily available anywhere. I've managed to damage the Atmega's on all my Ardupilot boards and like the idea of using a socketed DIP Atmega's I can replace easily. I plan on building the components for my autopilot separately and have them communicate via an I2C bus.

So, the first order of business for me was to build a receiver/servo controller module as I want the main autopilot to not be limited by any radio decoding/encoding or servo timing demands. All control between the main autopilot Arduino and the radio and servos will be via the I2C bus. I've ran plenty of tests and have found Arduino at 16mhz and can move 100Kb at the 400khz bus speed, which is 10 times more bandwidth then I'll need for all control to be handled by the I2C, including data from my simple IMU, Datalink, and other modules.

With the data provided by Reinhard in this thread I was able to write a crude sketch that does the binding, and decoding of the HK Satellite Receiver. I've got a box of these and only managed to toast 2 in the processes of getting this done. If you try it, my best advice is to change the color coding on the wires. My stock satellites have the ground wire as red and hot wire as black. I burned up 2 before rewiring my third. As others show in images earlier in the thread, the main receivers have an identical satellite receiver which can be removed. This Ardiono+HK Satellite idea could easily be used with 2 or more satellites receivers for diversity and redundancy, I plan on going with 2 and switch whenever a signal is lost for some reasonable amount of time.


http://www.youtube.com/watch?v=xZan9ENIdBw
waqa is offline Find More Posts by waqa
Reply With Quote
Sign up now
to remove ads between posts
Old Apr 04, 2010, 08:50 PM
have foam, will fly
waqa's Avatar
San Diego
Joined Dec 2008
278 Posts
Arduino + HK Satellite Receiver Works Great

Attached is the sketch I mentioned. I didn't have a fully functional Arduino to develop and test it so the pins may be confusing. The use of timers and interrupts should give anyone a basic idea how to make it work, the times are based on the atmega 328/1280 at 16mhz.

With this setup the decode/servo control easily runs at 50hz and has the same update speed as the original receiver when put side by side.

This solution is really nice and avoids having to decode servo positions from the main receiver in to provide data to the autopilot and flight mode controller. Arduino has a limited number of timers and interrupts and they affect other features when used. I'll probably use an Arduino Pro Mini from Sparkfun plus one of their Pro Mini shields to build the receiver.

My other reason for this project was to learn Arduino! I've tried PICAXE, Basic Stamp, Propellor, PICs, ARM, and find Arduino to suit me best.

The core of my autopilot will be a Arduino board with a GPS shield from sparkfun.
waqa is offline Find More Posts by waqa
Reply With Quote
Old Apr 05, 2010, 04:06 AM
Registered User
Joined Jul 2009
650 Posts
Quote:
Originally Posted by ReSt View Post
Does anybody know, what commands T6Recalibrate sends to the transmitter?
In the meantime, I have found the answer by my own.

"Start Adjust" sends the command string 85 153 (0x55 0x99) to the TX
"Stop Adjust" sends the command string 85 136 (0x55 0x88) to the TX

As long as recalibration is active, there is no output on the PPM pin of the trainer port.


Reinhard
ReSt is offline Find More Posts by ReSt
Reply With Quote
Old Apr 05, 2010, 04:11 AM
Registered User
Joined Jul 2009
650 Posts
Quote:
Originally Posted by waqa View Post
First I want to thank Reinhard for doing most of the work to make my Arduino receiver possible.
Thank you for the flowers

Quote:
I'm going to use standard Arduino boards readily available anywhere.
This really look promising.

Do you know, if a MicroChip ICD2 debugger/Programmer can program Atmel processors (via ICSP) ? I'm afraid it won't work?

Reinhard
ReSt is offline Find More Posts by ReSt
Reply With Quote
Old Apr 05, 2010, 04:18 AM
Registered User
Joined Jul 2009
650 Posts
Palm_TX vers. 1.74 with Recalibrate function

I have added the recalibrate function to the Palm_TX program

(For newer readers:

My Palm_TX program allows a PDA of Palm type (Palm OS 3.3 or higher) and a serial COM port (by means of an additional TTL to RS232 Converter) to program the FS-CT6A and compatibles.)


T6Recalibrate has the special function to recalibrate the A/D converter of the transmitter


Additionally to adjusting the A/D converter, this function also may reanimate your transmitter in such situations, where it seems no longer to react to the movement of the sticks, and reloading of a known good configuration does not solve the problem. (the receiver goes online as usual, but servos don't move when a stick is beeing moved).


I found, that this functions work this way:

"Start Adjust" sends the command string 85 153 (0x55 0x99) to the TX
"Stop Adjust" sends the command string 85 136 (0x55 0x88) to the TX


I have implemented this function into my Palm_TX program Version 1.74


I'm providing the hex file and the full source code


Reinhard
ReSt is offline Find More Posts by ReSt
Reply With Quote
Old Apr 05, 2010, 09:18 AM
I like things :3
bongmaster's Avatar
Tromsų
Joined May 2007
190 Posts
Quote:
Originally Posted by waqa View Post
Attached is the sketch I mentioned. I didn't have a fully functional Arduino to develop and test it so the pins may be confusing. The use of timers and interrupts should give anyone a basic idea how to make it work, the times are based on the atmega 328/1280 at 16mhz.

With this setup the decode/servo control easily runs at 50hz and has the same update speed as the original receiver when put side by side.

This solution is really nice and avoids having to decode servo positions from the main receiver in to provide data to the autopilot and flight mode controller. Arduino has a limited number of timers and interrupts and they affect other features when used. I'll probably use an Arduino Pro Mini from Sparkfun plus one of their Pro Mini shields to build the receiver.

My other reason for this project was to learn Arduino! I've tried PICAXE, Basic Stamp, Propellor, PICs, ARM, and find Arduino to suit me best.

The core of my autopilot will be a Arduino board with a GPS shield from sparkfun.
kool this is what im after but i dont want to risk borking up my satalite board..
any idea where i can get more satalites? (mine is the flysky ct6a version set)

I have a few arduino bords kicking about, mainly boarduino and RBBB, tho i do have a Dual core arduino board, bit big tho, but the 2 atmegas on it run fromt he same ocsilator/crystal, and they can communicate via i2c.
bongmaster is offline Find More Posts by bongmaster
Reply With Quote
Old Apr 05, 2010, 09:48 AM
Registered User
rimshotcopter's Avatar
United States, CA, Los Angeles
Joined Aug 2009
11,707 Posts
Quote:
Originally Posted by ReSt View Post

My Palm_TX program allows a PDA of Palm type (Palm OS 3.3 or higher) and a serial COM port (by means of an additional TTL to RS232 Converter) to program the FS-CT6A and compatibles.)
Please, can you show me a picture of this cable and where I can purchase one from?

Thank you.
rimshotcopter is offline Find More Posts by rimshotcopter
Reply With Quote
Old Apr 05, 2010, 11:12 AM
Registered User
Joined Jul 2009
650 Posts
Quote:
Originally Posted by reverendrichie View Post
Please, can you show me a picture of this cable and where I can purchase one from?

Thank you.
These are some post numbers dealing with the cable. (180, 874,1152,1618)
In post 1201 the file Interface.zip shows the necessary wiring diagram.

The plug at the TX side is a so called DIN SVHS plug. For the circuit to work, you need a wire, connected to the shield of the plug (Battery minus).

Most normal cables for TV usage do not have this wire!

The cable, and the required electronics, do a Level and polarity shift from TTL (at the TX side) to RS232 at the Palm side.

Reinhard
ReSt is offline Find More Posts by ReSt
Reply With Quote
Old Apr 05, 2010, 12:03 PM
Aircraft re-kitter
ergocentric's Avatar
15NM from CYYZ on 06L
Joined Feb 2007
632 Posts
Quote:
Originally Posted by ReSt View Post
The plug at the TX side is a so called DIN SVHS plug.
one of the many cables available at the local dollar store

(I think it's called Svideo, not SVHS)

Eric
ergocentric is offline Find More Posts by ergocentric
Reply With Quote
Old Apr 05, 2010, 12:19 PM
Registered User
Joined Jul 2009
650 Posts
Quote:
Originally Posted by ergocentric View Post
one of the many cables available at the local dollar store

(I think it's called Svideo, not SVHS)

Eric
My fault, You are right

Reinhard
ReSt is offline Find More Posts by ReSt
Reply With Quote
Old Apr 05, 2010, 12:56 PM
Up in smoke!
BlueFFF's Avatar
Greenville, TX
Joined Jun 2007
627 Posts
Is there a recalabrate function on either of the two programs for the Pocket PC? I run my T6 off of my Compaq Pocket PC and don't recall there being a recalabrate feature on the original programs. I would hate to run into trouble with my TX and not have it available to me to fix it.

BlueFFF
BlueFFF is offline Find More Posts by BlueFFF
Reply With Quote
Old Apr 05, 2010, 01:02 PM
G=667x10^-8 cm^-3 gm^-1 sec^-2
dissymmetry's Avatar
Joined Nov 2009
83 Posts
I have been looking around for something to suggest for reciever antennas for these, and I finally found something close enough to what I had in mind:
http://www.amazon.com/Notebook-Bluet...485580&sr=1-39
This is an antenna meant to be an intrenal antenna for a laptop. It has 2 seperate antennas, sine most laptop cards want that, these will normally be positioned to have differing polarities, so that they will have better "diversity", this is exactly what you want to get the best resaults out of these dual reciever recievers. I think, as I mentioned, that this same concept applies, and not perpendicular placement, they just don't know any better. These are also very small, and will hide easily out of sight on the model, as well. I think that these are therefore designed to be the best solution for a dual antenna diversity setup, laptops have dual antenna radios, and dual antennas like that to go with, for the same purpose as these dual reciever recievers, and therefore laptop antennas are a natural upgrade. I'm pretty usre that although the hanging wire originals, and these are both 1/4 wave dipoles, these will work better because of the static placement of the groundplane relative to the driven element, especially if counter polarized on the model correctly.
dissymmetry is offline Find More Posts by dissymmetry
Reply With Quote
Old Apr 05, 2010, 01:50 PM
iPhly R/C with iPhone
iter's Avatar
Silicon Valley, Calif
Joined Jan 2005
1,724 Posts
Quote:
Originally Posted by ReSt View Post
Do you know, if a MicroChip ICD2 debugger/Programmer can program Atmel processors (via ICSP) ? I'm afraid it won't work?
Reinhard, I assume you are talking about reflashing the Atmel chip in the Arduino completely, as in to remove the Arduino bootloader. That your ICD2 programmer probably cannot do. (I can recommend the AVR ISP $35 at DigiKey for that)

But if you are willing to live with the Arduino environment, you don't need a programmer at all. You can upload your binary over a TTL serial. Some boards don't even need that as they include an FTDI USB-to-serial chip on the board. This is the big selling point of Arduino--that you don't need any equipment beyond the board itself.

I am curious about your Palm_TX program. I wonder if you have an estimate of a number of users it has.

Ari.
iter is offline Find More Posts by iter
Last edited by iter; Apr 05, 2010 at 01:56 PM.
Reply With Quote
Old Apr 05, 2010, 01:55 PM
Registered User
Joined Jul 2009
650 Posts
Quote:
Originally Posted by dissymmetry View Post
I have been looking around for something to suggest for reciever antennas for these, and I finally found something close enough to what I had in mind:

Here is what I posted some time ago.
http://www.rcgroups.com/forums/attac...mentid=2825151
Look at the receiver antennas.

http://www.rcgroups.com/forums/showp...postcount=1918

Looks similar

Only difference, I got this solution as replacement for breaking short antennas

Reinhard
ReSt is offline Find More Posts by ReSt
Reply With Quote
Old Apr 05, 2010, 02:00 PM
Registered User
Joined Jul 2009
650 Posts
Quote:
Originally Posted by iter View Post
Reinhard, I assume you are talking about reflashing the Atmel chip in the Arduino completely, as in to remove the Arduino bootloader. That your ICD2 programmer probably cannot do.

.....you don't need a programmer at all. You can upload your binary over a TTL serial.
Thats good news.

Quote:
But if you are willing to live with the Arduino environment,
My problem is, I don't know C++ (and I don't like it )

Quote:
I am curious about your Palm_TX program. I wonder if you have an estimate of a number of users it has..
I don't know. I believe there are some, but not to many.


Reinhard
ReSt is offline Find More Posts by ReSt
Reply With Quote
Reply


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
New Product X8---new 2.4GHz Radio System ASSAN Radios 5713 Nov 23, 2014 11:21 AM
Yippee! New 2.4GHz DSM radio - New standard? PrasadL Scratchbuilt Indoor and Micro Models 12 Jun 03, 2013 08:03 AM
For Sale NEW - 2.4GHZ 2 channel Pistol R/C system SRM Cars - Cars and Parts (FS/W) 0 Oct 22, 2008 10:39 AM
FS: 1x Used 1x New 2.4ghz Wireless video cameras with receiver Nik-rc Aircraft - Electric - Airplanes (FS/W) 4 Nov 30, 2004 07:21 PM