View Full Version : Adding two channels to the Hitec Laser 4 TX
MondoMor
Feb 17, 2004, 12:58 PM
I've been waiting for this forum to be created to make this post! :)
Ever since I bought my Laser 4 and realized I really wanted more channels, I've been thinking about ways to increase the channel count, especially by tinkering. I'm not wealthy by any means, and I like the idea of modifying things to get more out of them than was originally intended.
Some older transmitters have the ability to have more channels, with a little bit of "hacking" - this is not true of this model. The Laser 4 is a microcontroller-based system, and there are no unused inputs on the micro that might be able to take on this function.
So I've designed (and am now breadboarding) a means of adding two channels to the transmitter by tapping the signal from the buddy box port and re-inserting all six back into the buddy box port for transmission.
Once I'm happy with the result, I'll post more details, but here's some basics:
It's a microcontroller-based add-on with a single Atmel ATtiny15 AVR uC. I'm using two A-D channels to convert the outputs of two potentiometers to PPM pulses. These pulses are "added on" to the normal four-channel pulse train.
The circuitry adds about 15uS of delay to the inputs. I'm gambling that this will not be noticeable, because it would be tough to reduce it much further. If anyone has insight on this, I'll be very interested to hear it.
I also only have 64 steps of resolution from limit to limit of stick travel - essentially the PPM pulse width of channels 5 and 6 goes from 1mS to 2mS in 64 steps.
I have a lot of space left over in the device, and could conceivably add channel mixing and exponential throws.
It's actually crossed my mind to use a larger device, and the gimbals and case of an old transmitter, and create my own PPM signal generator, using the Laser 4 as only a modulator and transmitter :)
I'm afraid of the FCC, so I'd like to keep this "modification" limited to outside the transmitter, so as not to risk messing up the modulation.
This is my first "real" microcontroller project, after an aborted attempt with a Motorola 68HC11 years ago to log data for my racing kart. I'm extremely happy with the result.
Some links:
The microcontroller (PDF datasheet) (http://www.atmel.com/dyn/resources/prod_documents/doc1187.pdf)
The most excellent "Buddy Box Principles" site (http://users.belgacom.net/TX2TX/tx2tx/english/tx2txgb1.htm).
A page from which I learned a lot about PPM (http://www.mh.ttu.ee/risto/rc/electronics/pctorc.htm).
Another very helpful site (http://www.rchelibase.com/radio/).
If things go well tonight (having trouble with the transition from channels 4 to 5), I will have a working prototype. I'll need to get a hold of a 6-channel receiver soon! The Hitec 555 just won't cut it. Looks like I'll be digging into adding channels to a GWS pico pretty soon.
arx_n_sparx
Feb 19, 2004, 10:50 AM
I'm not much of a techie myself, as far as electronics go, but I'd be hugely interested in exponential throws for this transmitter. If you come up with anything, please give me a shout, Mondo
Brad
MondoMor
Feb 20, 2004, 10:09 AM
Arx, I hear you. Expo would be really nice.
I'm really reluctant to modify the Laser 4 itself. I'm pretty confident that as long as I keep my soldering iron and such away from the RF section that I wont knock it out of alignment, but I know a lot of people (especially the FCC) don't like that sort of tinkering. I very rarely fly with others, but I'd hate for some modification of mine to be responsible for shooting down someone else's plane.
The idea of making my own 6-channel from the gimbals of an old Futaba radio I have has crossed my mind. Especially if I make it a "buddy box" only, using the "IN" port of the Laser 4, and basically turning the Laser into a dumb slave RF modulator and transmitter.
Then the idea of using rotary encoding (using hardware out of a couple old computer mice) crossed my mind. If it could be attached to a zero-lash geartrain, the whole "analog" part of the equation would be removed, making a lot of things a lot simpler. For all I know, high-end computer radios already do this.
But that's getting waaaay ahead of myself. I haven't worked out how to do mixing yet, and I'm not all that happy with the resolution available with my current method.
I've had some issues with my AVR programming board the past few nights (and a sick pet lizard), and I'm now up against a very strange quirk of this particular microcontroller. I DO have a consistent six-channel pulse train ready to be transmitted, but I'm not happy with how the new channels are getting spliced in.
Anybody familiar with AVR uCs, especially with regards to their timer output compare pin switching? :)
arx_n_sparx
Feb 20, 2004, 10:31 AM
Mondo: I guess I'm a bit confused here. Wouldn't expo be a part of the actual output signal? I can't see why you would need to get into the RF section - but like I said, I'm not a techie.
Brad
MondoMor
Feb 20, 2004, 12:05 PM
Originally posted by arx_n_sparx Mondo: I guess I'm a bit confused here. Wouldn't expo be a part of the actual output signal? I can't see why you would need to get into the RF section - but like I said, I'm not a techie.
Right now, my circuit reads the signal out of the Laser, finds where channel 4 ends, and inserts channels 5 and 6.
If I were to add expo to, say, channels 1 and 2, I'd have to take their signals and "process" them. The process would be basically a lookup table - I'd check where the signal was (i.e. 2/3 down elevator) and figure out what the exponential throw for that position would be, then create my own output. I wouldn't be able to do it right away - I'd have to wait for the next "frame" of data to put it in - so my output signal would be 20 milliseconds delayed from when the operator commanded it. I think that'd be too long a delay although I'm willing to entertain the idea if it is felt that this wouldn't be a problem.
Same problem for mixing within the first four channels. If I were to be mixing one of the first four channels to channel 5 or 6 it would be fine, but I'd need to get inside the Laser to change channels 1-4 in real time.
It's probably worth a try though! I don't have a transmitter with expo to compare it to, so I'm a bit reluctant. I barely know what I'm doing as it is :)
arx_n_sparx
Feb 20, 2004, 02:44 PM
Originally posted by MondoMor
. I barely know what I'm doing as it is :)
I actually have no freaking clue as to what I'm doing, so you're ahead of me!;)
I don't think that 20 milleseconds will matter either for the type of flying I do. I know the pattern guys would howl, but for me it would be great to have expo on this transmitter.
Brad
Mr.RC-CAM
Feb 23, 2004, 01:00 PM
The single frame delay should not be a problem to the sort of sport pilot that would be interested in the add-on gadget. If they are serious competitive pilots then top of the line R/C gear is usually what they will fly with.
Along with expo, you might wish to add servo reversing, ATV, and perhaps V-Tail mix. These sort of features would make the device attractive to the folks that have entry level radios, or ancient gear from the good ol' days (there is a lot of old Kraft stuff still in use).
I see a couple of minor obstacles. (1) The trainer switch needs to be held during use (perhaps a duct tape fix). (2) JR's DSC trainer port is a two wire interface and would not support the device (can't talk and listen at the same time). Modern Hitec and Futaba should be OK, or so I would believe.
RC-CAM
MondoMor
Feb 23, 2004, 04:39 PM
Thanks for your insights, RC-CAM!
I doubt I'm competent enough to make a commercial product out of this. I'm likely going to release what I have as Public Domain once I'm happy with it. Experienced folk seeing my code will likely get a good laugh, but perhaps it will open up other opportunities.
The idea of expo really has been itching at my brain lately, though. I need to sit down and figure out an equation so that I can create my lookup table in Excel.
My thinking is this (keep in mind, I don't own a radio with expo to compare anything to):
The middle-stick and extremes of travel are the same for expo as they are for "linear" travel. So mid-stick is 1.5mS, while low and high are 1.0mS and 2mS, respectively. So I just need to come up with an equation that slows down response near the mid-stick position and accelerates it as it approaches full travel, eventually ending up in the same place.
One problem I can forsee as the feature set increases is the need for a menu/display sort of entry system. I'm not sure how far I'd want to go into that, but if I open everything up it should scale nicely. The AVR instruction set is the same (more or less) from one device to another, so code developed for my lowly ATtiny15 should scale up to a larger, faster, more sophisticated device without a lot of pain and suffering (if I write the code with this sort of expansion in mind :) ).
As for now, I've got six channels, with analog working pretty well on channels 5 and 6 with two potentiometers. I need to refine some of my timing, but most of all I need a six-channel receiver. I've put the cart before the horse! Money is awful tight, so this part might take a while.
vintage1
Feb 23, 2004, 06:14 PM
Oh, go on, rip out everything execxpt the RF module, oscillator and FM modulator, read the sticks on a sampled A-D converter, and build yourself a Royal Evo.
You KNOW it makes sense :D
Heck you could even double the RF output power if you can reverse engineer the power stage :D :D
MondoMor
Feb 24, 2004, 09:31 AM
Vintage, SSSSSshhhhHH! :) Don't tempt me. If it wasn't my only radio, I probably would. Knowing myself and my extreme newbieness with AVRs and uCs in general, I'd end up with a clunky Tx that would make all neighboring flying fields look like an RC version of the Marianas Turkey Shoot.
I spent a little while last night scraping barnicles off my Algebra, and I think I've got a good concept down for expo.
The problem is that in expo mode there will be 100 10uS steps in the PPM pulses. I don't know what the Laser has for resolution, but I bet my circuit would limit it. If it's a reduction in resolution, I'm hesitant to do it, but golly it would be nice to do expo on this thing!
100 steps? Why? Glad you asked! The problem is that I'm implementing everything with lookup tables. This little chip would take all day to do the floating-point math necessary for expo, so I have to create a table in memory for it so when it sees, say, 3/4 stick on a channel it knows to do the expo amount for that stick position. To keep the lookup tables at a reasonable size, I have to limit my input resolution. Right now, I'm sampling the input with a 10uS timer, and I need resolution to get 1-2mS out of it... which equates to 100 10uS steps from 1mS to 2mS. In order to be more accurate (if not precise), I'll probably use a 5uS timer on the input and divide the result by 2.
I've already done this with the A-D converters - the outputs aren't able to be thrown at the timers directly, so I created a 64-step lookup table where the AVR takes the A-D result and finds out what to set the timer for so that the output ends up correct.
So I'll create a table in Excel where I can hash out what I want the values to be, then program that into the device. It looks like I have just enough room in the device to do that... maybe...
Another thing is that I'm running out of pins on this device, so I may kill two birds with one stone: cut it down to 5 channels, and free up a pin for a mode switch. I've got a Hitec 555 Rx, so I could then test it pretty well.
This is a really fun project. I know I'm trodding ground already well-trodden by much smarter people than myself, but I'm learning a shedload of new stuff, which always makes me happy.
vBulletin® Copyright ©2000-2009, Jelsoft Enterprises Ltd.