Developing a universal module

More
02 Mar 2014 20:47 - 02 Mar 2014 20:49 #21106 by jo-loom
Replied by jo-loom on topic Developing a universal module
@PB: Another fantastic activity from your side - great job!

Having browsed through the complete project thread, the sources and the doc I believe to have gained some basic understanding.
In the past I did already modify a couple of transmitters using hardwired RF modules including microcontroller to convert PPM into the needed SPI protocol.

Now I got two remaining questions:

1) What is the reason to go for a ATTiny24 microcontroller solution for chip select signal generation instead of just using a simple binary decoder for the 2 given port pins in the transmitter? With these 2 pins decoding '01', '10' and '00' plus the CS line from the original DEVO RF module it should have been possible to address the 4 target RF modules.

2) I am still wondring whether it is possible to place 4 RF antenna wires in the given antenna plastic tube. 3 out of 4 should always be passive - I would not expect a negative capacitive coupling, but maybe I am wrong. I do agree that any active RF switch solution will not be achievable with acceptable effort. But what is speaking against the described installation? Or is an antenna wire routing along the inner transmitter top case wall suffcient?
Last edit: 02 Mar 2014 20:49 by jo-loom.

Please Log in or Create an account to join the conversation.

More
02 Mar 2014 21:05 #21108 by PhracturedBlue
Replied by PhracturedBlue on topic Developing a universal module
My original design was an encoded 4-way analog multiplexer which had 2 selects and a 3rd signal wire. It worked fine, but there are a few drawbacks:
1) you can only control the CS pin. If you want to control CE or Reset or any other pin, you are out of luck.
2) you need 3 wires, which means you either need to use the Cyrf 'Reset' wire, or you need to hold the CYRF chip in REset while using the CSn wire. Neither is ideal.

I also considered using a 2:4 decoder which would do the same with only 2 wires, but only supports 3 modules ('00' needs to be used to shut all modules off), or uses a 3rd disable signal (in which case the analog mux is superior)

The AVR actually has fewer pins than the other options, only needs 1 extra wire for control (after programming), and provides 7 controllable pins, allowing the use of CE and Reset, or PA/LNA enables as needed.

I've seen a lot of different proposals, but have not yet seen one which requires a smaller package, fewer parts, is significantly less expensive, or provides any significant advantage over the current design.

The only significant drawback to the current approach is that it requires programming. I negate that by using the Tx itself for programming so that no additional hardware is needed. A second potential issue is that it limits maximum transfer rate due to how fast the AVR can react to a CSn change, but that isn't an issue in practice.

There is no reason you can't get 4 wires into a hollow antenna. Of course, some of the Devo radios use a screw-on antenna instead, and for those, you are out of luck.

Please Log in or Create an account to join the conversation.

More
02 Mar 2014 21:38 #21109 by FDR
Replied by FDR on topic Developing a universal module

PhracturedBlue wrote: There is no reason you can't get 4 wires into a hollow antenna. Of course, some of the Devo radios use a screw-on antenna instead, and for those, you are out of luck.

I would debate on this, since even a passive conductive wire has strong effect on any antenna system. Just think about the yagi antenna which is one dipole and a few passive reflectors, and you've got a highly modified radiation pattern...

Please Log in or Create an account to join the conversation.

More
02 Mar 2014 22:51 #21114 by PhracturedBlue
Replied by PhracturedBlue on topic Developing a universal module
Fair enough. I'm going to bet that no one can demonstrate any practical impact on range by placing 4 antennas in one sheath with Deviation.

If you can (and I can reproduce it), I'll donate a fully built universal module :)

Please Log in or Create an account to join the conversation.

More
04 Mar 2014 21:08 #21201 by jo-loom
Replied by jo-loom on topic Developing a universal module
Most likely I overlooked the already given explanation - but as newbie to deviation and universal RF module development I simply ask:

Are both needed SW features (chip select / reset signal support and ATTiny flash programming) already being part of the deviation software package 4.0.1 - or will they be integrated in whatever future release?

Will this release be compatible to both hardware variants with a PCB hosting up to 4 modules plus ATTiny or alternatively directly wiring up to 2 modules to the available TX controller port pins?

Thanks once more for all your help!

Please Log in or Create an account to join the conversation.

More
04 Mar 2014 23:25 #21204 by Birdman
Replied by Birdman on topic Developing a universal module

PhracturedBlue wrote: Assuming the boards I get from china are good enough, I will likely include an AVR chip, since I have a bunch of spares. I'm just not sure about how adding a DIP to the package will affect shipping.


Can I please get 2 boards and 2 AVR?

TIA

Bm

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 00:11 #21210 by PhracturedBlue
Replied by PhracturedBlue on topic Developing a universal module
I am not taking orders. We'll cross that bridge when we come to it.

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 01:35 #21211 by Birdman
Replied by Birdman on topic Developing a universal module
Ok, thanks.

I'm a bit confused, must have missed something.

Can this be made yet? I can get AVR overnight from Farnell, have all the gear to make own board.

Is there a file for AVR?

Bm

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 02:45 #21212 by Birdman
Replied by Birdman on topic Developing a universal module
Is this for any tx with trainer port, ppm out?

Bm

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 02:48 #21213 by victzh
Replied by victzh on topic Developing a universal module
No, it's an SPI based module. PPM does not have a way to signal which protocol to use and can't send telemetry data back to TX, so in general such module that you dream of is impossible.

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 02:59 #21214 by Birdman
Replied by Birdman on topic Developing a universal module
Thanks.

Will it work on wife's Devo7, she wants to get a Proto X.

Bm

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 06:33 #21224 by victzh
Replied by victzh on topic Developing a universal module
Devo 7 - no. Devo 7e - yes. But for Proto X you don't need universal module, you need just A7105 (it uses Hubsan protocol).

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 08:14 #21230 by Birdman
Replied by Birdman on topic Developing a universal module
Midelics Hubsan Tx Module on RCGroups is the answer.

I wonder why this module did not use ppm, all decent tx have ppm?

Bm

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 08:26 - 05 Mar 2014 08:27 #21231 by blackmoon
Replied by blackmoon on topic Developing a universal module
Why use the lesser way when you can have more ?

SPI is the way to go in the case of the devo line for which this module was developed.

Btw midelic is thinking about using the module to make a ppm one, I'll send him a V1.2 board when I receive it from OSH.

So if your patient, you'll have a ppm compatible universal module when it's ready.
Last edit: 05 Mar 2014 08:27 by blackmoon.

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 09:05 #21234 by victzh
Replied by victzh on topic Developing a universal module
PPM is in essence an analog protocol - it encodes servo positions as pulse widths. So it's need to be generated on the TX side and measured on the module. Why bother when you have a perfectly digital transmission line - SPI. Also, by it's nature PPM is one-directional, so no telemetry over the same line is possible. Also, PPM encodes only servo positions, so no way to pass in a reasonable way which of dozens protocols and protocol options to choose, so there is either need to switch it directly on module or pass it in a perverted way - as an analog encoded value. Besides, as this is not supported by any existing TXs, the latter way is impossible.

Are these enough reasons? The SPI is a Deviation-specific, integrated solution. Universal PPM module need to duplicate a large portion of what is already implemented in core Deviation code in the module and nevertheless will lack the elegance of SPI solution.

May be Deviation does not implement all possible functionality for some categories of models, say gliders. But it's becoming better and better, and community development model is very encouraging, for me personally at least, I know I can make a difference. Try to develop for Futaba ;-)

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 09:06 #21235 by Birdman
Replied by Birdman on topic Developing a universal module

blackmoon wrote: Why use the lesser way when you can have more ?

SPI is the way to go in the case of the devo line for which this module was developed.

Btw midelic is thinking about using the module to make a ppm one, I'll send him a V1.2 board when I receive it from OSH.

So if your patient, you'll have a ppm compatible universal module when it's ready.


Cheers

I clearly don't understand the direction of deviation or this module.

I think that has a lot to do with being a pilot, not a programmer.

You have more but that means less people can use it.

Bm

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 09:11 #21236 by Mmon77
Replied by Mmon77 on topic Developing a universal module
From my understanding, going the PPM route, you'd also lose the ability to control the LEDs, Auto-flip, Camera, etc. on many of the multirotors like Hubsan, Syma X1, Wl-toys etc.

Using SPI, Deviation currently can. ER9X cannot, since it uses PPM to control the modules.

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 11:17 - 05 Mar 2014 11:20 #21241 by blackmoon
Replied by blackmoon on topic Developing a universal module

Birdman wrote: Cheers

I clearly don't understand the direction of deviation or this module.

I think that has a lot to do with being a pilot, not a programmer.

You have more but that means less people can use it.

Bm


Birdman I'm sorry if I seemed harsh, it wasn't my intention. The thing is that this module is specially developed to capitalize on what deviation has become so far.

As I wrote, midelic will probably implement some of the protocols into the universal module but with ppm input instead of spi.

I don't know how he'll do it, maybe by using a more powerful mcu in place of the Attiny.

Just be patient, in the mean time you can always build the hubsan module in his thread and fly the protoX with that.

If you can solder I can send you a pcb to build the module if you want, just PM here or on RCG.

Only thing is do the Devo7 has ppm out ?
Last edit: 05 Mar 2014 11:20 by blackmoon.

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 14:40 - 05 Mar 2014 14:41 #21250 by PhracturedBlue
Replied by PhracturedBlue on topic Developing a universal module
FYI, I had considered making a module which used a more capable CortexM cores (like the Teensy3.0). By replacing the AVR with a Teensy3.0 module, you could have a universal module with both PPM and SPI. And it could run our protocol stack out of the box. I haven't looked at Midelic's code, but every Arduino solution I've seen (which uses our protocol code) has ended up significantly modifying it to run on Arduino. I don't understand why to be honest, as it means more work for everyone because bug fixes can't easily move between projects.

The main problem is protocol selection, and I've yet to see a good solution for an external module. When using Deviation, we could use a special PPM train to send digital data, but in that case, might as well use SPI which is far superior. When using a closed-source Tx, you'd need to either have switches on the back, or use some stick input to control it. You also end up wanting some sort of display of the current protocol selected, and then some way to input parameters, and ... Now you've got a large, expensive module (and it still can't reliably do telemetry). The way I've gone, Deviation gets all the benefits we want at the lowest cost I can achieve. If someone else wants to hook up a PPM to SPI converter (which I think th9xr is also working on), that's cool, but it isn't my project.
Last edit: 05 Mar 2014 14:41 by PhracturedBlue.

Please Log in or Create an account to join the conversation.

More
05 Mar 2014 15:23 - 05 Mar 2014 15:46 #21251 by midelic
Replied by midelic on topic Developing a universal module

yes it 's true any porting from your code in arduino ends up changed...
One reason because of control.... I need to "feel" I can control the project in all aspects...
Second I use different pinout and bitbanging...free the avr programming pins for more flexibility , integration and compatibility with other systems.

I was thinking long time about a multi protocol project...I wanted to make one ..happy I found this one...a little late...if I was here from the beginning...maybe I could suggest some changes .
For example power supply to each module.IMO it was better not be common but separate connected to a different pin of and avr(more powerful) by means of a transistor controllable the power on/off from software.(for example a command from avr open the gate of a transistor enabling powering the specific module).
Atm all modules are powered on/off at the same time ..which is not good imo.

About PPM ..this doesn't impede using lights or flips control on Hubsan for example using channel 5 and 6.
Blackmoon was kind to give one of his board when arrived I'll use this one with Atmega328(have enough space to fit all protocols).
Because I want to make a stand alone module.I was thinking for protocol selection using DIP multi switch...SMD...small compact and multiple switches on a row.See pic.
Attachments:
Last edit: 05 Mar 2014 15:46 by midelic.

Please Log in or Create an account to join the conversation.

Time to create page: 0.134 seconds
Powered by Kunena Forum