SMALL - espritmodel.com SMALL - Telemetry SMALL - Radio
Reply
Thread Tools
Old Dec 31, 2011, 03:45 PM
Registered User
hungary
Joined Jan 2011
113 Posts
Quote:
Originally Posted by mha1 View Post
Can I send you my foam plane TX for analysis? I can not get hold of a logic analyzer.
Sure, but the results will be a little limited since I will not be able to tell you much about binding or any other part of the protocol that requires response from the RX. But I should be able to tell you the address the TX is transmitting to and the format of the packet that it sends out.

I just had an idea. If you configure the SPI on the ATmega of your Arduino to run as slave, and just connect the GND, SCK, MOSI and CSN (all SPI pins except MISO) you might be able to 'eavesdrop' on the SPI communication between the TX micro and the nRF module. This way you would have one master (TX micro) and two slaves (nRF module and your Arduino) on the same SPI, but I don't think it will be a problem as long as you don't connect MISO from the Arduino to the TX module. Of course, you would not be able to read what comes out of the TX module, only the commands that the TX micro is sending to the module, but it's better than nothing. What do you think?
kile is offline Find More Posts by kile
Reply With Quote
Sign up now
to remove ads between posts
Old Dec 31, 2011, 04:47 PM
flying beam
blackmoon's Avatar
through the Looking Glass
Joined Apr 2008
1,765 Posts
Quote:
Originally Posted by kile View Post
Sorry about that, I thought you guys knew

The modules from ebay you linked to have a PCB antenna. Even though they should work, their range isn't very good.
Hi Kile, no need to worry, I would have gutted it anyway, don't want to wait 15 days to make this work.

Concerning the range, I never fly my SP farther than 20 m.

The great wall xieda 9958 has an internal pcb antenna and it is doing very well.
blackmoon is offline Find More Posts by blackmoon
Reply With Quote
Old Dec 31, 2011, 04:55 PM
Registered User
Joined Dec 2011
22 Posts
Quote:
Originally Posted by kile View Post
Sure, but the results will be a little limited since I will not be able to tell you much about binding or any other part of the protocol that requires response from the RX. But I should be able to tell you the address the TX is transmitting to and the format of the packet that it sends out.

I just had an idea. If you configure the SPI on the ATmega of your Arduino to run as slave, and just connect the GND, SCK, MOSI and CSN (all SPI pins except MISO) you might be able to 'eavesdrop' on the SPI communication between the TX micro and the nRF module. This way you would have one master (TX micro) and two slaves (nRF module and your Arduino) on the same SPI, but I don't think it will be a problem as long as you don't connect MISO from the Arduino to the TX module. Of course, you would not be able to read what comes out of the TX module, only the commands that the TX micro is sending to the module, but it's better than nothing. What do you think?
I have to think about that. Thsi would reveal adresses, channels and the TX packets and bind packets to the RX, but not the ACK package from the RX. Should be enough.

Probably I should send you the whole gear
mha1 is offline Find More Posts by mha1
Reply With Quote
Old Jan 01, 2012, 06:24 AM
Registered User
United Kingdom, Bristol
Joined Aug 2008
1,774 Posts
Quote:
Originally Posted by kile View Post
Sure, but the results will be a little limited since I will not be able to tell you much about binding or any other part of the protocol that requires response from the RX. But I should be able to tell you the address the TX is transmitting to and the format of the packet that it sends out.

I just had an idea. If you configure the SPI on the ATmega of your Arduino to run as slave, and just connect the GND, SCK, MOSI and CSN (all SPI pins except MISO) you might be able to 'eavesdrop' on the SPI communication between the TX micro and the nRF module. This way you would have one master (TX micro) and two slaves (nRF module and your Arduino) on the same SPI, but I don't think it will be a problem as long as you don't connect MISO from the Arduino to the TX module. Of course, you would not be able to read what comes out of the TX module, only the commands that the TX micro is sending to the module, but it's better than nothing. What do you think?
Quote:
Originally Posted by mha1 View Post
I have to think about that. Thsi would reveal adresses, channels and the TX packets and bind packets to the RX, but not the ACK package from the RX. Should be enough.

Probably I should send you the whole gear

An other way this could be found http://www.rcgroups.com/forums/showp...&postcount=235
would be nice to add protocols Plans/helis in one module
SadSack is offline Find More Posts by SadSack
Reply With Quote
Old Jan 01, 2012, 07:47 AM
Registered User
Joined Dec 2011
22 Posts
Quote:
Originally Posted by kile View Post
Sure, but the results will be a little limited since I will not be able to tell you much about binding or any other part of the protocol that requires response from the RX. But I should be able to tell you the address the TX is transmitting to and the format of the packet that it sends out.

I just had an idea. If you configure the SPI on the ATmega of your Arduino to run as slave, and just connect the GND, SCK, MOSI and CSN (all SPI pins except MISO) you might be able to 'eavesdrop' on the SPI communication between the TX micro and the nRF module. This way you would have one master (TX micro) and two slaves (nRF module and your Arduino) on the same SPI, but I don't think it will be a problem as long as you don't connect MISO from the Arduino to the TX module. Of course, you would not be able to read what comes out of the TX module, only the commands that the TX micro is sending to the module, but it's better than nothing. What do you think?
I just followed your idea and sketched a poor man's SPI logic analyzer. Not test yet. As I was trying to setup the TX for testing the LA I realized why the plane TXs are different to the heli ones. It seems Nine Eagles is using a different tranceiver for their planes. Maybe for coping with larger flying distances.

The chip in my TX seems to be a Cypress one. It says Cxxx936 (scratched) and CYP638435 in the second line. So it should be a Cypress CYRF7936 (http://pdf1.alldatasheet.com/datashe.../CYRF7936.html).

As I haven't found a CYRF7936 breakout I think I have to give up here
mha1 is offline Find More Posts by mha1
Reply With Quote
Old Jan 01, 2012, 09:14 AM
Registered User
hungary
Joined Jan 2011
113 Posts
Quote:
Originally Posted by mha1 View Post
It seems Nine Eagles is using a different tranceiver for their planes. Maybe for coping with larger flying distances.
Bummer
kile is offline Find More Posts by kile
Reply With Quote
Old Jan 01, 2012, 03:46 PM
Registered User
hungary
Joined Jan 2011
113 Posts
I've run a few tests with more than one TX sending data at the same time. It turns out that when switched on, the stock TX runs in RX mode on channel 10 and listens for any other TXs already sending out data. If it finds packets, it will move to channel 11 and start listening. It will do this until it finds a free channel. It then starts broadcasting data on that channel (X), channel X+20 and X+40. For instance if the first available channel is channel number 12, then the TX will transmit data on channels 12,32 and 52. This means that the RX will have to cycle throught all the channels (10-70?) until it finds data from the TX it is bound to.

I've also run tests to see how subtrim works. The TX sends out data in a little modified format. The 7 byte packet's structure changes in the following way: the command byte equals 0xDA and the rudder channels sends the state of the trim buttons. BTW, this is why rudder doesn't work in subtrim mode. Every time the user presses a trim button one bit in the rudder byte is set according to the following table:

Bit 0: elevator down
Bit 1: elevator up
Bit 2: aileron left
Bit 3: aileron right
Bit 4: rudder CW
Bit 5: rudder CCW
Bit 6: gyro up
Bit 7: gyro down

This means that in order to implement proper subtrim, I will have to mimic the 8 trim buttons. That means a total of 9 buttons (one for binding) on a TX module. This is not practical at all, so I thought of a few alternatives:

- Forget about subtrim/EPA. This is something that is rarely used anyway, so leaving it out completely might be a good compromise.
- Think of a way to use the unused PPM channels for subtrim/EPA. I don't know how to do the details of this, so any suggestion is welcome.
- Make a USB or serial interface to the TX module and do the subtrim/EPA from the PC. I've planned to add a USB connection for software updates anyway. On the other hand, setting the subtrim on a PC while flying the heli isn't very practical. And what's the point of having a TX module if it can't do all it's supposed to do on it's own?

Choices, choices...
kile is offline Find More Posts by kile
Reply With Quote
Old Jan 01, 2012, 07:30 PM
flying beam
blackmoon's Avatar
through the Looking Glass
Joined Apr 2008
1,765 Posts
Hi Kile,

How about the following :

Ditch the EPA/Subtrims altogether.

For EPA/Subtrims just use the RTF TX to set them, I only did set them once and never did again.

I don't know if EPA/Subtrims are reset each time you bind the SoloPro to another TX.

Suppose it does...

Every time you will bind the module to the SoloPro no more EPA/Subtrims...

But if it is possible, why not :

1. Put the module in RX mode (Button 2)and listen to the RTF TX.

2. Extract the RTF TX ID from the data exchanged.

3. Store that ID in eeprom (light the debug led, since you are the only one really needing it, once it is stored so we can't let go the button 2).

4. Put module in TX mode and load the new ID.

5. SoloPro ON let it bind and fly.

This way one could use the RTF TX once to set EPA/Subtrims and then fly with the module with same TX ID.

What do you think of it ?

I implemented only one button (bind) because the real estate is hard to get on the JR module case, don't ask me to put nine of them there.
blackmoon is offline Find More Posts by blackmoon
Last edited by blackmoon; Jan 02, 2012 at 01:43 AM.
Reply With Quote
Old Jan 02, 2012, 05:06 AM
Registered User
hungary
Joined Jan 2011
113 Posts
Quote:
Originally Posted by blackmoon View Post
Ditch the EPA/Subtrims altogether.
For EPA/Subtrims just use the RTF TX to set them, I only did set them once and never did again.
Yes, I think that's what I'm going to do.

Quote:
Originally Posted by blackmoon View Post
I don't know if EPA/Subtrims are reset each time you bind the SoloPro to another TX.
That seems very unlikely, but I'll test it.

Quote:
Originally Posted by blackmoon View Post
This way one could use the RTF TX once to set EPA/Subtrims and then fly with the module with same TX ID.
This could be a nice feature even without the EPA/subtrim dilemma. That would mean that you can have the heli bound to the stock TX and the TX module at the same time. It also means that you can not use both at the same time (to fly two helis), but if we put two buttons it would be a good option to have since then you could have a normal bind button and an 'impersonate my RTF TX' button.

Quote:
Originally Posted by blackmoon View Post
I implemented only one button (bind) because the real estate is hard to get on the JR module case
Did you build the circuit and put it into the case? Can you, please, post some pictures if you did.

Quote:
Originally Posted by blackmoon View Post
don't ask me to put nine of them there.
no, that would be a crazy thing to do.

So, at the moment we have 2 LEDs ('PPM signal OK' and binding) and 2 buttons. The extra button/LED could be dropped.
kile is offline Find More Posts by kile
Reply With Quote
Old Jan 02, 2012, 12:37 PM
flying beam
blackmoon's Avatar
through the Looking Glass
Joined Apr 2008
1,765 Posts
/Disclaimer ON : The pics in the following post may hurt your feelings if you are gifted in this area

I didn't yet soldered the leds and their resistor, and only had space for one switch, the Mini Pro takes to much place, I'll go with a custom pcb for the real thing.

If someone with pcb skills could make us a board, I would be a happy camper.

Else I would have to do it myself (and it will take time), because I intend to have something cleaner than this.

Antenna soldered just to test if all is working well, then I will pass it trough the connector hole.

I also did the mistake, of mounting the boards toward the bottom of the case, I was looking to a 35mhz module, and did it like that , it would be much better if the components were facing up.

I also salvaged the 3.3V regulator from the rtf tx and the bind switch.

And I'll will take this NRF module (range shouldn't be a issue) it would fit nicely in the antenna hole of an old DSM module case.

http://www.ebay.com/itm/170691675921...fvi%3D1&_rdc=1

Btw are the zener diode and the 1k resistor mandatory in the PPM line ?
blackmoon is offline Find More Posts by blackmoon
Last edited by blackmoon; Jan 02, 2012 at 12:54 PM.
Reply With Quote
Old Jan 02, 2012, 01:04 PM
flying beam
blackmoon's Avatar
through the Looking Glass
Joined Apr 2008
1,765 Posts
Quote:
Originally Posted by kile View Post
This could be a nice feature even without the EPA/subtrim dilemma. That would mean that you can have the heli bound to the stock TX and the TX module at the same time. It also means that you can not use both at the same time (to fly two helis), but if we put two buttons it would be a good option to have since then you could have a normal bind button and an 'impersonate my RTF TX' button.
Why not ? Bind SP 1 to RTF TX set EPA/Subtrims (I think I read somewhere that they are stored on the RX side), do the same for all your SP's.

Copy TX ID to module fly all your SP's with the RTF and Module TX (you would have to trim them all mechanically, but you should always do that anyway ).

Unless the RTF TX does care to what Helo is bound to, I was under the impression that only the RX did care about which TX he's bound to.

Nevertheless I was also thinking 2 switches, one bind and one 'impersonate my RTF TX', but 3 led (bind, ppm, 'impersonate my RTF TX')

Or if feasible flash the ppm one while copying ID then go solid when done, and then shut it down and use it to show PPM presence.

So we only have two led, one bind and one ppm/copy ID
blackmoon is offline Find More Posts by blackmoon
Last edited by blackmoon; Jan 02, 2012 at 01:14 PM.
Reply With Quote
Old Jan 02, 2012, 02:48 PM
Registered User
hungary
Joined Jan 2011
113 Posts
Quote:
Originally Posted by blackmoon View Post
If someone with pcb skills could make us a board, I would be a happy camper.
I plan to do that next, actually First the manual press&peel/FeCl3 etching, then maybe a batch of PCBs from a fab house. Depends on the interest. Plus, I've never made PCBs through fab houses, it'll be an opportunity to learn something new

Quote:
Originally Posted by blackmoon View Post
I also did the mistake, of mounting the boards toward the bottom of the case, I was looking to a 35mhz module, and did it like that , it would be much better if the components were facing up.
There has to be a compromise between that and the fact that the button needs to lean on something for support when you're pressing it.

Quote:
Originally Posted by blackmoon View Post
Btw are the zener diode and the 1k resistor mandatory in the PPM line?
The zener is there to protect against overvoltage. Not really necessary, but good to have. The 1K resistor is a current limiter. You can do without both of them. I will put them on the final PCB, though.

Quote:
Originally Posted by blackmoon View Post
Why not ? Bind SP 1 to RTF TX set EPA/Subtrims (I think I read somewhere that they are stored on the RX side), do the same for all your SP's.
Yes, that is possible. I meant you can't have two birds in the air at the same time with the stock TX and the TX module because they will both send the same TX ID. And yes, EPA/subtrim are stored on the heli, the protocol is not sending any EPA/subtrim state, only the information about which trim buttons are pressed in subtrim mode. The microcontroller on the heli does all the rest.

Quote:
Originally Posted by blackmoon View Post
Nevertheless I was also thinking 2 switches, one bind and one 'impersonate my RTF TX', but 3 led (bind, ppm, 'impersonate my RTF TX')
Would the 'impersonate' LED light up while the TX is 'searching' for the RTF TX or while the TX is sending out packets with the RTF TX ID? Both make sense...

Those pics are nice, though Personally I don't have patience for the protoboards. For me it's either breadboards or etched PCBs, no inbetween. Not that I have made many PCBs, maybe around a dozen in the last 6 months or so...
kile is offline Find More Posts by kile
Reply With Quote
Old Jan 03, 2012, 01:29 AM
flying beam
blackmoon's Avatar
through the Looking Glass
Joined Apr 2008
1,765 Posts
Quote:
Originally Posted by kile View Post
I plan to do that next, actually First the manual press&peel/FeCl3 etching, then maybe a batch of PCBs from a fab house. Depends on the interest. Plus, I've never made PCBs through fab houses, it'll be an opportunity to learn something new

This would be really nice

Yes, that is possible. I meant you can't have two birds in the air at the same time with the stock TX and the TX module because they will both send the same TX ID.

Ha ok, sometimes I search to much, and tend to complicate things

And yes, EPA/subtrim are stored on the heli, the protocol is not sending any EPA/subtrim state, only the information about which trim buttons are pressed in subtrim mode. The microcontroller on the heli does all the rest.

This is also a good news.

Would the 'impersonate' LED light up while the TX is 'searching' for the RTF TX or while the TX is sending out packets with the RTF TX ID? Both make sense...

I would think of : flash while searching for TX ID then solid when done, same behavior as bind.

Edit: Why not solid when acquiring and shutoff when done, no need to have another 20ma consumption for the all flight(s) time? ( bind led is already sucking 20 ma)
Yup protoboards are a pita, first time I use them and last one

Next time I'll go directly to the "laser print the pcb and etch it at home", I just downloaded kicad sometime ago, but never really get on to it, it's time I think...

I'll try to finish the board tomorrow (to much to do today) and make the first test.

I'll keep you posted.
blackmoon is offline Find More Posts by blackmoon
Last edited by blackmoon; Jan 03, 2012 at 11:14 AM.
Reply With Quote
Old Jan 04, 2012, 07:18 AM
Registered User
hungary
Joined Jan 2011
113 Posts
Quote:
Originally Posted by blackmoon View Post
Edit: Why not solid when acquiring and shutoff when done, no need to have another 20ma consumption for the all flight(s) time? ( bind led is already sucking 20 ma)
Yes, I think you're right. I might make it fade in/out while acquiring (plenty of free PWM pins) and off when acquired. Or maybe a short blink (say, ~200ms) every few seconds when acquired? Just so the user knows if the TX is sending it's own ID or is in copy TX ID mode. But, I'm getting ahead of myself here, I should focus on implementing the basic features first, then add the cosmetics. But it doesn't hurt to route the LEDs to PWM outputs of the ATmega, just in case

I had an idea last night which would allow subtrim/EPA without any extra buttons. Basically, the PPM decoder would have another channel as input. This channel would come from a switch on the TX. Turning that switch on would put the TX module in subtrim or EPA mode. Maybe even two switches, one for subtrim the other for EPA, I'm not sure because I haven't analyzed the EPA protocol yet. In any case, when in this mode, the position of the sticks would be used instead of the 8 trim buttons of the stock TX. For instance, I would turn on the switch and then move the elevator left which would send an 'increase elevator subtrim by 1 increment to the left' packet to the RX. This would not completely mimic the behaviour of the stock TX because you can set the subtrim on the stock TX while the heli is in the air, and you couldn't do that with this solution. But it's a good compromise, I think.

It would also be a good excuse to fill up that program flash of the ATmega. Currently we're at a little less than 2KB of the 8KB on an ATmega8. I would feel bad having so much wasted space - I have to fill it up somehow

It would also be good to have some kind of audio feedback for this or any other feature we might come up with in the future. Maybe add a piezo buzzer to the hardware design? I'll see if I have enough space on the PCB.
kile is offline Find More Posts by kile
Reply With Quote
Old Jan 05, 2012, 06:29 PM
flying beam
blackmoon's Avatar
through the Looking Glass
Joined Apr 2008
1,765 Posts
Something isn't right with the protoboard circuit, I'll go buy a breadboard tomorrow and try again this weekend.

Two question please :

1. In the schematics you show the leds with their cathode connected to the Atmega pins then a resistor and to ground, all schematics of a led connection I found on the net are the other way around (pic1).

Is there something you do with the atmega's pins so you have to put the led as you show ? (pic2)

2. In your schematics (pic2) you don't use the atmega's SS pin, instead you connect the nRF24L01p CSN to PC1 of the atmega.

But in the file hw_setup.h, you define the following :

Code:
// these are the SPI pins of the uC
#define SS_PORT		B
#define SS_PIN		4
I know it's for the atmega644, so why use the PC1 pin in your schematic with the 168, since that MCU also has a SS pin (PB2) that one could define in hw_setup.

Furthermore in the following link the original poster used the MCU's SS pin.

http://arduino.cc/forum/index.php/to...html#msg441969

I'm a little confused here, and I don't know if I am being clear...

Thank you.
blackmoon is offline Find More Posts by blackmoon
Reply With Quote
Reply


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
New Product Nine Eagles Solo Pro 328 (Nine Eagles' answer to the Blade 120 SR?) SoloProFan Micro Helis 1747 Dec 19, 2014 09:56 AM
Sold COX/Nine Eagles Micro 2.4 Radio system RX, TX & Motor ShokWaveRider Aircraft - Electric - Micro & Indoor Airplanes (FS/W) 1 Nov 16, 2011 09:27 PM
Wanted Nine Eagles Tx Michaelpilon Aircraft - General - Radio Equipment (FS/W) 2 Oct 16, 2011 07:19 PM
Sold Nine Eagles / Cox Extra 300 (minus Tx) dhaizli Aircraft - Electric - Airplanes (FS/W) 4 May 01, 2011 08:36 PM
For Sale Nine Eagles 210A TX, Flybar & Battery Klippie Aircraft - General - Radio Equipment (FS/W) 0 Mar 23, 2011 06:04 PM