PDA

View Full Version : Help! Home made RC TX


kakao
Nov 08, 2007, 05:31 AM
Hi.. i am searching for some info about RC TX - 2 months ago i have found some interestin buildlog about someone who build his own TX. But i can't find the link.. Does anyone remember?

My goal will be to create custom TX - the main idea is to make it small, but yet robust - something you can put in your bag together with some small model (car/boat/plane .. whatever :) )

I will be probably using an old ps2 controler as a base and standart hitec tx modules as signal transmitters. Lipos should drive the whole thing..

Iflyj3
Nov 08, 2007, 06:43 AM
Try these sites http://mstar2k.com
http://groups.yahoo.com/group/mp8k/

kakao
Nov 08, 2007, 06:52 AM
Try these sites http://mstar2k.com
http://groups.yahoo.com/group/mp8k/


That's not it..

The guy was using sticks from some ps controler and the housing was clear plastic...

blanchjd
Nov 08, 2007, 09:17 AM
Actually, those links are half of what you are looking for. You are probably talking about Village Idiot's custom Microstar build documented here:
http://www.rcgroups.com/forums/showthread.php?t=692649

village_idiot
Nov 08, 2007, 09:29 AM
In the lost but not forgotten area of my workbench.

You should note that a standard PS2 controller is too small to house the Microstar controller board. I just shaped mine close to the same because it fits in my hands.

If you want something small and extremely durable, I would suggest a standard pizza box style. If you made it out of 1/8 polycarbonate (thicker than mine) it would be nearly indestructable.

Alps makes the sticks that I'm using, and they have a few styles to choose from.

radio freak
Nov 08, 2007, 01:07 PM
koichi's 4 channel tx also uses a ps2 controller.

andrewm1973
Nov 11, 2007, 04:17 PM
The Kotchi ones are IR not RF are they not ?

chwory
Nov 11, 2007, 04:51 PM
8 ch. computer controled coder & HF modul (http://forum.rcdesign.ru/index.php?showtopic=28745&st=800)

kakao
Nov 22, 2007, 05:36 AM
Actually, those links are half of what you are looking for. You are probably talking about Village Idiot's custom Microstar build documented here:
http://www.rcgroups.com/forums/showthread.php?t=692649

That is exactly what i meant!

kakao
Nov 22, 2007, 06:12 AM
In the lost but not forgotten area of my workbench.

You should note that a standard PS2 controller is too small to house the Microstar controller board. I just shaped mine close to the same because it fits in my hands.

If you want something small and extremely durable, I would suggest a standard pizza box style. If you made it out of 1/8 polycarbonate (thicker than mine) it would be nearly indestructable.

Alps makes the sticks that I'm using, and they have a few styles to choose from.

What i'm planing to do is to create my own microprocesor board that fit's inside.. Meanwhile i have dificulties to figure out which batereis will fit inside of the tx. I'm planing to use LiPo's as this will be by default a travel TX so i don't have to care about the bateries.

village_idiot
Nov 22, 2007, 11:25 AM
You could fit some 3s 500mah packs in the stock PS2 grips and run them as a 2p configuration to get the run time up. If you use surface mounted components, then you might be able to fit everything except the display for the microstar into a standard PS2 controller. Part of the reason the Microstar is so "big" is because he had to make it so that mere mortals could put it together. If you used all surface mounted components I think you should be able to make it much smaller. You can get the programmed MCU from Gordon pretty cheap, or write your own. Recently (the last 2 or 3 months) there was a post from someone that reprogrammed a cheapo Chinese TX to do al lot of different things. This cheapo TX used an Atmel AVR, and he gave the code for his new programming. That would give you a good start on a scratch design using the AVR. Programming tools for AVR are cheap and plentiful, and the free AVR Studio and GCC compiler make it a cheap way to get started.

kakao
Nov 30, 2007, 06:28 AM
You could fit some 3s 500mah packs in the stock PS2 grips and run them as a 2p configuration to get the run time up. If you use surface mounted components, then you might be able to fit everything except the display for the microstar into a standard PS2 controller. Part of the reason the Microstar is so "big" is because he had to make it so that mere mortals could put it together. If you used all surface mounted components I think you should be able to make it much smaller. You can get the programmed MCU from Gordon pretty cheap, or write your own. Recently (the last 2 or 3 months) there was a post from someone that reprogrammed a cheapo Chinese TX to do al lot of different things. This cheapo TX used an Atmel AVR, and he gave the code for his new programming. That would give you a good start on a scratch design using the AVR. Programming tools for AVR are cheap and plentiful, and the free AVR Studio and GCC compiler make it a cheap way to get started.

I have already started to code the program for the AVR (mega16 for the start) to generate the PWM pulses that go to the TX module. A/D conversion is working properly now but i have bit dificulties to set the timers to produce the right PWM in 10bit mode. I have not much time but i'm actualy making some progress.. I think i will publish the whole thing under some GPL later. But that mostly depends on how much time i will get for the hobby this winter :).

The first thing to do is to make the output of the device valid for the TX-PC interface and try it as RC joystick. As first simple joy with 2 sticks + some buttons, later i will add trims / v-mix, if possible some memories(presets),

The TX should be a simple one - i mostly want it to fly my delta wing and have it as a small model pack in the back of my car. Won't be possible to fly something seriously with such small sticks as they are not so precise. Making it a Hi-Tec TX is not the main deal.

About the surface mounted components - i think i will use them but i don't have to as the PCB will be fairly simple - there will be max 20 components ( without sticks and switches) in this TX. The display is not the highest priority as well but is possible for shure.

village_idiot
Nov 30, 2007, 09:32 AM
I bet you can get help on the PWM over at AVR Freaks. I know there is a bunch of code for different RC related things.

mem
Dec 01, 2007, 07:34 AM
Here are the settings I have used with the 16 bit timer on the atmega168 for this kind of app. There are lots of other ways of doing what you want. Hope this helps get you going.

TCCR1A = _BV(WGM10) | _BV(WGM11); // to set Timer 1 for phase-correct 10-bit PWM.
TCCR1A |= _BV(COM1A1); //Clear OC1A on compare match when up-counting, sets OC1A on compare match when down-counting.

TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS11); // div 8 clock prescaler (.5us ticks with 16mhz clock

TIMSK1 = _BV(OCIE1A); //Enable output compare interrupt for timer 1

With an 8 mhz clock, set OCR1A to the pulse width in microseconds in the interrupt handler, with a 16mhz clock, multiply the value by two. The TIMER1_COMPA_vect will be called each time the count matures and you will need to load in the values for each successive channel interleaved with a short inter-channel delay. Searching on google for TIMER1_COMPA_vect should bring up examples of how the interrupt is used.

If you use this technique, read up on how to safely access 16 bit register values in interrupt handlers.

I would be interested to see how your project progresses, please let us know how you are getting on.

kakao
Dec 03, 2007, 03:03 AM
Here are the settings I have used with the 16 bit timer on the atmega168 for this kind of app. There are lots of other ways of doing what you want. Hope this helps get you going.

TCCR1A = _BV(WGM10) | _BV(WGM11); // to set Timer 1 for phase-correct 10-bit PWM.
TCCR1A |= _BV(COM1A1); //Clear OC1A on compare match when up-counting, sets OC1A on compare match when down-counting.

TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS11); // div 8 clock prescaler (.5us ticks with 16mhz clock

TIMSK1 = _BV(OCIE1A); //Enable output compare interrupt for timer 1

With an 8 mhz clock, set OCR1A to the pulse width in microseconds in the interrupt handler, with a 16mhz clock, multiply the value by two. The TIMER1_COMPA_vect will be called each time the count matures and you will need to load in the values for each successive channel interleaved with a short inter-channel delay. Searching on google for TIMER1_COMPA_vect should bring up examples of how the interrupt is used.

If you use this technique, read up on how to safely access 16 bit register values in interrupt handlers.

I would be interested to see how your project progresses, please let us know how you are getting on.

Thanx alot, i will try this configuration next time i get to dev :) .. i will report later. The project will be compiled using CodeVision AVR, i will post source codes later ;)

kakao
Dec 03, 2007, 03:12 AM
Definitly worth reading :)

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

village_idiot
Dec 03, 2007, 10:43 AM
There is another thread up there by Andrew(some numbers Ican't remember) about his RX and TX IR project all built with AVR and going to have assembly code, or maybe C code for AVR Studio.

eijo
Dec 06, 2007, 06:23 AM
Hi,

Have you checked the project "X3M 0701" described here:
http://www.rcgroups.com/forums/showthread.php?t=763114

It uses also the Atmega168. All source code is available at sourcforge. The source code contains PPM and Walkeras PCM coding. It should be easy to modify it to any PCM/PPM specific coding you want. Everything is in there, including setting up registers etc.