Re: FlySky RM003 RF Module & iA6/iA6B receivers
Posted: 03 Jun 2019, 11:56
Hi Max
If your module works with another transmitter, we should be able to get it working with the S/C encoder. There are a few other possibilities that could be stopping it from working that I can think of.
First, the FlySky module will probably be an arm based processor working on 3V, so unless you've fitted a Schottky diode, you'll be outputting 5V logic and it is expecting 3V logic. The S/C Encoder has no Schottky diode fitted as standard as I was trying to keep the hardware as simple as possible and the modules I thought most would use, FrSky, OrangeRx and the "jumper" type multi-protocol modules don't need one. Try fitting a Schottky diode between the Arduino and module with the band on the diode towards the Arduino. In fact, if you are not using a FrSky or OrangeRx module it would probably best to always fit a Schottky diode. Maybe I should add this warning to the manual?
Next, the polarity may be wrong. Add the following below line 213
TCCR1A |= (1 << COM1B0); // when set non-inverting output
I haven't had a chance to test the code alteration, but from memory, I'm fairly certain that will invert the output (maybe you'd be best to check it on a logic tester or ppm meter before connecting to the module).
Next, if you tried 9 channel outputs there is a chance that it would need a longer frame rate of 22mS or more to accommodate the 9 channels and have a long enough sync pulse. The encoder has a 20mS frame rate by default and many modules need a minimum of a 4mS sync pulse. With 9 channels all at the maximum 2mS output that would be 18mS and not leave enough time for a 4mS sync pulse. I doubt that is the reason why it isn't binding, but you could try making the "extra" channels only 1mS (1000uS) rather than the 1.5mS or better still change the frame rate to 22mS as well.
Again I haven't tested the above but I'm 99% certain that is how to increase to a 22mS frame rate.
If none of the above works then you may have to wait for Phil to get a module to test and find what settings to use.
Mike
If your module works with another transmitter, we should be able to get it working with the S/C encoder. There are a few other possibilities that could be stopping it from working that I can think of.
First, the FlySky module will probably be an arm based processor working on 3V, so unless you've fitted a Schottky diode, you'll be outputting 5V logic and it is expecting 3V logic. The S/C Encoder has no Schottky diode fitted as standard as I was trying to keep the hardware as simple as possible and the modules I thought most would use, FrSky, OrangeRx and the "jumper" type multi-protocol modules don't need one. Try fitting a Schottky diode between the Arduino and module with the band on the diode towards the Arduino. In fact, if you are not using a FrSky or OrangeRx module it would probably best to always fit a Schottky diode. Maybe I should add this warning to the manual?
Next, the polarity may be wrong. Add the following below line 213
TCCR1A |= (1 << COM1B0); // when set non-inverting output
I haven't had a chance to test the code alteration, but from memory, I'm fairly certain that will invert the output (maybe you'd be best to check it on a logic tester or ppm meter before connecting to the module).
Next, if you tried 9 channel outputs there is a chance that it would need a longer frame rate of 22mS or more to accommodate the 9 channels and have a long enough sync pulse. The encoder has a 20mS frame rate by default and many modules need a minimum of a 4mS sync pulse. With 9 channels all at the maximum 2mS output that would be 18mS and not leave enough time for a 4mS sync pulse. I doubt that is the reason why it isn't binding, but you could try making the "extra" channels only 1mS (1000uS) rather than the 1.5mS or better still change the frame rate to 22mS as well.
Again I haven't tested the above but I'm 99% certain that is how to increase to a 22mS frame rate.
If none of the above works then you may have to wait for Phil to get a module to test and find what settings to use.
Mike