SMALL - espritmodel.com SMALL - Telemetry SMALL - Radio
Reply
Thread Tools
Old Feb 07, 2013, 01:35 PM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
Yeah, that's where I was going to get them. But they've been out of stock almost 2 months, and they keep moving the "new stock soon" date out. I've heard elsewhere that Hitec had decided to stop selling them. We'll see I guess.
R_Lefebvre is offline Find More Posts by R_Lefebvre
Reply With Quote
Sign up now
to remove ads between posts
Old Feb 07, 2013, 06:38 PM
Registered User
Illinois, USA
Joined Aug 2009
968 Posts
I saw them some were else, let me see if I can find them.
here is another place, not sure on stock.
http://www.lynxmotion.com/p-839-aurora-9-gimbal.aspx
vertcnc is offline Find More Posts by vertcnc
Reply With Quote
Old Feb 09, 2013, 10:37 PM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
Here you go Ian, this is where I'm at. Now for the wiring and programming. Well, I started the programming already but, lots more to do.

I'm really happy so far. I attempted to lay out the switches ergonomically, and I think I succeeded, everything feels great.

R_Lefebvre is offline Find More Posts by R_Lefebvre
Reply With Quote
Old Feb 11, 2013, 07:33 PM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
So has anybody yet hooked this system up to an FrSky module? I'm just at about that point, and am not sure what to do.

I don't know what I don't know.
R_Lefebvre is offline Find More Posts by R_Lefebvre
Reply With Quote
Old Feb 12, 2013, 09:20 AM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
I guess what's worrying me, is I initially thought that this was as simple as hooking up the FrSky module PPM input into the Pin 10 output from the Arduino. But I saw in Ian's first thread, that people were talking about using a transistor or FET between the two systems?
R_Lefebvre is offline Find More Posts by R_Lefebvre
Reply With Quote
Old Feb 25, 2013, 11:49 PM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
Well, I thought this thing was ready to go, but I tried to fire it up, no go. The FrSky DHT Tx module bound to the receiver fine, but servos won't move.

I tried looking at the signal out of the Arduino with a borrowed Pico Scope, but I can't see anything. Just a seemingly random waveform at +/-50mV which doesn't seem right?

Not sure what to do now.
R_Lefebvre is offline Find More Posts by R_Lefebvre
Reply With Quote
Old Feb 26, 2013, 07:08 AM
Registered User
Aberdeen, Scotland, UK
Joined Dec 2007
607 Posts
Quote:
Originally Posted by R_Lefebvre View Post
Well, I thought this thing was ready to go, but I tried to fire it up, no go. The FrSky DHT Tx module bound to the receiver fine, but servos won't move.

I tried looking at the signal out of the Arduino with a borrowed Pico Scope, but I can't see anything. Just a seemingly random waveform at +/-50mV which doesn't seem right?

Not sure what to do now.
Is the LCD displaying, i.e. is the software running. If you go to the TEST menu can you see the variables changing as you move the sticks.
With the above done you should be getting an output, so the next thing to try is disconecting any connection to the PPM output and scope it then.

BTW, which code are you using........just to confuse things......this thread is really for the USB version of my code, i.e.

RC Joystick Tx V3 - USB Version - PPM is on Arduino Pin 12
RC Joystick Tx V2 - Analogue Version - PPM is on Arduino Pin 10

The analogue version is here:-
http://www.rcgroups.com/forums/showt...ht=rc+joystick

And don't forget my website for more info:-

USB Version:-
http://www.ianjohnston.com/index.php...bbies&Itemid=8

Analogue Version:-
http://www.ianjohnston.com/index.php...bbies&Itemid=8

Ian.
IanJ is offline Find More Posts by IanJ
Reply With Quote
Old Feb 26, 2013, 07:38 AM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
Oh yeah, the code is running. I've done substantial modifications, but I did not touch the PPM generation stuff. That should be fine. And yes, it was based on the old analog code. I know this is the wrong thread but the old thread is a bit stale and you had said the PPM stuff is unchanged.

Do I need a pulldown resistor on Pin 10 or something? Something to pull the pin down? To stop it floating around 5V?

I did try scoping it, and there's just a seemingly random signal, +/- 50mV. I'm just not sure if that was centered at 0, or maybe the scope auto-zoomed in on 5V. I don't really know what I'm doing as I haven't touched a scope in 15 years, and the one time I did was in an intro lab in university.

I wonder if it matters, I'm using an Arduino Mega, maybe those timers settings don't work on a Mega?

Either that or maybe I've blown something on the chip. I did blow a couple of the pullup resistors way over on like pins 40 and 42 or something. But only those two seem effected now. The others work fine. I'm using almost all the pins on the Mega.
R_Lefebvre is offline Find More Posts by R_Lefebvre
Reply With Quote
Old Feb 26, 2013, 10:05 AM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
Ok, so what I see so far is that on the new code, you're using Pin 12 as the PPM output. On the old code for the Uno it was Pin 10. I'm still using Pin 10 on the Mega. Maybe this is the problem? What's behind the change from 10 to 12?

I'm trying to figure out the PPM code stuff, and I don't get it at all but, what I'm really curious about is what is the connection between the PPM Generation timers, and the output pin? I can't see any connection.

This stuff is the same between both pieces of code:

// Initialise ISR Timer 1 - PPM generation
TCCR1A = B00110001; // Compare register B used in mode 3
TCCR1B = B00010010; // WGM13 & CS11 set to 1
TCCR1C = B00000000; // All set to 0
TIMSK1 = B00000010; // Interrupt on compare B
TIFR1 = B00000010; // Interrupt on compare B
OCR1A = PPMFreq_uS; // PPM frequency
OCR1B = Fixed_uS; // PPM off time (lo padding)


And so it this part:

// *********************** TIMER 1 **************************
ISR(TIMER1_COMPA_vect) {
PPM_len = *(PPM_pointer++);
if(PPM_len > -1) {
OCR1A = PPM_len; // Set pulse length
ACC_PPM_length += PPM_len; // Add pulse length to accumulator
} else {
PPM_pointer = PPM_array; // Reset table position pointer
OCR1A = PPMFreq_uS - ACC_PPM_length; // Calculate final sync pulse length
ACC_PPM_length = 0; // Reset accumulator
}
}

But I don't understand how these link to Pin 10 or 12 as output?

Maybe I just need to hook the output to Pin 12 on this Mega and it will magically work?

This is the only part of the code I don't really understand at all.
R_Lefebvre is offline Find More Posts by R_Lefebvre
Reply With Quote
Old Feb 26, 2013, 10:23 AM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
Ah hah, this probably explains it!

Quote:
Note that timer1 can be used on a Mega but does not support all three output pins OCR1A, OCR1B & OCR1C. Only A & B are supported. OCR1A is connected to pin 11 of the Mega and OCR1B to pin 12. Using one of the three calls that specify a pin, 1 will map to pin 11 on the Mega and 2 will map to pin 12. Timer3 has only been tested on the Mega.
That's why I don't see the connection, it is internal and "hardwired". And is linked to pin 11 or 12 on the Mega?

I'm guessing the +/-50mV signal I saw on 10 was just a ghost signal from whatever else was going on in the processor. The timescale was super short, I think in the nano-seconds.

Edit: Sorry to spam the thread, but just in case anybody else is learning along with me, yes, this exactly the issue. My PPM stream is probably on pin 12. I'll test it tonight.

http://www.mythic-beasts.com/~markt/ATmega-timers.html
R_Lefebvre is offline Find More Posts by R_Lefebvre
Last edited by R_Lefebvre; Feb 26, 2013 at 10:57 AM.
Reply With Quote
Old Feb 26, 2013, 12:07 PM
Registered User
Aberdeen, Scotland, UK
Joined Dec 2007
607 Posts
Hi,

I know you are doing some good, good work on your stick but please use the other thread........all this talk about the analogue version is just messing up this USB version thread.

Ian.
IanJ is offline Find More Posts by IanJ
Reply With Quote
Old Feb 26, 2013, 02:48 PM
Arducopter Developer
R_Lefebvre's Avatar
Joined Oct 2010
2,324 Posts
Sorry, I thought most of the technical details here was agnostic to USB/Analog and/or you wouldn't mind a little diversion showing alternative use of your code and general Arduino learning.
R_Lefebvre is offline Find More Posts by R_Lefebvre
Reply With Quote
Old Feb 27, 2013, 02:23 AM
Registered User
Aberdeen, Scotland, UK
Joined Dec 2007
607 Posts
Quote:
Originally Posted by R_Lefebvre View Post
Sorry, I thought most of the technical details here was agnostic to USB/Analog and/or you wouldn't mind a little diversion showing alternative use of your code and general Arduino learning.
Actually, I was starting to get confused as to what code you were running when you were asking about the PPM output pin and ended up having to dig back to find out........so it'd be much easier for me to support and I suppose others to chime in if the correct thread is used...........

Ian.
IanJ is offline Find More Posts by IanJ
Reply With Quote
Old May 07, 2013, 12:03 AM
Registered User
Joined Mar 2013
4 Posts
My Attempt

So I'm pretty excited about this. When I found Ian's posts on RCGROUPS regarding the PC joystick TX I had a Eureka moment. You see the two stick transmitters that are typically used for RC aircraft (planes, and copters) have always kept me away from the hobby. I have used plenty of simulators with this type of arrangement with not much success. So Joystick it is!

The goal is to build an FPV Quadcopter. First I will start small with the TX to control my RC Cars as a proof of concept then go on to the quadcopter.

Bought the following:
Logitech Extreme 3D Pro Joystick
Arduino MEGA 2560 R3
USB Host Shield
16X2 LCD
Corona DIY 2.4Ghz TX

Could I get a sanity check on my circuit? Didn't notice that I got a backlit LCD until too late. I was planning on powering the tx on a 3s 2200mah battery (input voltage is 8v to 12v) and then using a 5v UBEC to power the Arduino. Also given that i'm doing this how would I wire the circuit for Analog Pin 1. Am I correct in assuming that is for voltage monitoring?

sagz is offline Find More Posts by sagz
Reply With Quote
Old May 07, 2013, 02:35 AM
Registered User
Aberdeen, Scotland, UK
Joined Dec 2007
607 Posts
Hi,

Ana Pin 0 is for detecting the battery voltage. It needs scaled down to the voltage range of the analogue input.



R1 = 5.6k
R2 = 1k
Vin = from battery
Vout = to Ana Pin 0

You will probably need to play with the values a bit, or with the multiplier in the code to get the readout accurate.

The Arduino will run fine off of the 3S Lipo direct, you don't need the 5v UBEC. You wouldn't feed 5v into the DC jack of the Arduino, you need 7 - 12vdc there.
I would recommend disconnecting the backlight on the LCD as you might end up pulling too much from the Arduino 5vdc output.

Ian.
IanJ is offline Find More Posts by IanJ
Reply With Quote
Reply


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion RC Radio Tx - Re-inventing the wheel! IanJ DIY Electronics 345 Mar 18, 2013 03:44 PM
Sold Immersion RC 600mW 5.8 TX Version 1 $50 shipped. nybeechpilot FPV Equipment (FS/W) 2 Jun 02, 2012 07:36 PM
Discussion Re inventing the internal combustion engine UlteriorModem Life, The Universe, and Politics 10 Apr 11, 2012 06:24 AM
Discussion Re-inventing the wheel philgib Blimps 5 May 25, 2006 07:42 PM
Wanted WTB AeroFly Professional Deluxe USB Interface Version RC Flight Simulator for futaba heliguy Aircraft - General - Radio Equipment (FS/W) 0 Oct 20, 2005 03:21 PM