IrangeX IRX4 PPM Modificatie voor de Frsky Tandem X20(S)
Deze modificatie kan als tijdelijke oplossing worden gebruikt totdat Ethos ondersteuning voor seriële communicatie toevoegt in toekomstige firmware.
Ik gebruik al jaren frsky-zenders en OpenTX, evenals multiprotocol-modules zoals de IrangeX IRX4(Plus) en de IRX4 Lite-versie.
Deze modules worden serieel aangestuurd via OpenTX om ze te configureren volgens het juiste protocol.
Aangezien de X20(s) momenteel nog geen ondersteuning biedt voor seriële aansturing van de IRX4 Lite, is de enige optie om deze met PPM aan te sturen.
De enige module die door PPM kan worden aangestuurd is de IRX4 Plus, en die past niet op de X20(s) 🙁
Om die reden ben ik de hardware van beide modules gaan bestuderen.
De IRX4(plus) en de IRX4 Lite gebruiken exact dezelfde hardware layout/schema.
Ook wordt exact dezelfde firmware gebruikt voor alle 3 de modules.
Daardoor realiseerde ik me al snel dat het makkelijk was om een IRX4 Lite module PPM compatible te maken.
Dit is voorlopig de beste optie totdat Ethos seriële configuratie ondersteunt.
Het enige fysieke wat nog ontbreekt is een 16 standen draaischakelaar en een drukknop.
Positie 0 op de draaischakelaar betekent dat er geen verbindingen worden gemaakt van GND naar de uC.
Dit is ook de seriële modus instelling van de module. Wat een toeval!😉
Aangezien ik geen draaischakelaar had liggen, moest ik iets anders verzinnen.
Ik vond een zak met dipswitches met 4 switches erop.
Laat dat precies het aantal schakelaars zijn dat je nodig hebt om een de draaischakelaar te simuleren.
De draaischakelaar heeft 4 uitgangen.
De binaire combinatie van die 4 posities bepaalt uiteindelijk de selectie op de microcontroller tussen 0-15 in logische thermen.
De pinnen op de microcontroller die naar de Rotary switch en Button gaan zijn respectievelijk:
S1 = Pin 14 (Dispwitch 1)
S2 = Pin 15 (Dispwitch 2)
S4 = Pin 16 (Dispwitch 3)
S8 = Pin 17 (Dispwitch 4)
Knop = Pin 10
Verder zijn de andere kant van de Druktoets en de Dipswitch/Rotary switch verbonden met GND.
Ik soldeerde dit op de behuizing van de RF-module, ook een stevige houvast voor beide.
Het solderen van de draden aan de uC-pinnen kan een behoorlijke uitdaging zijn, maar niet onmogelijk 😉
Als laatste opmerking bij het gebruik van de module, doe je normaal gesproken frequentie-afstemming in OpenTX.
Het beste is om de firmware zelf te compileren en de frequentie-offset handmatig in te voeren in _config.h
Het ziet er ongeveer zo uit:
Dipswitch instellen
0 – Serial mode | 1 | 2 | 3 |
4 | 5 | 6 | 7 |
8 | 9 | 10 (A) |
11 (B) |
12 (C) |
13 (D) |
14 (E) |
15 (F) – Bankswitch |
Serial mode
Dat is de standaard mode zoals de module ook geleverd wordt, mocht ETHOS ooit de mogelijkheid krijgen om serieel te kunnen werken met deze modules dan hier op zetten.
Bank switching
In deze stand is het mogelijk om via de druk knop te wisselen van protocol banken.
Als men de standaard firmware flashed dan zijn er 5 banken van elke 14 protocollen beschikbaar.
Hallo, ik heb de IRX4 Lite-versie met meerdere modules voorbereid voor zover je hebt beschreven. Het binden van een Hott-ontvanger was tot nu toe niet mogelijk. Ik neem aan dat de fijnafstemming moet worden aangepast in de Config_h.
Welke compiler heb je hiervoor gebruikt?
Op dit moment kom ik niet verder.
Is er nog iets waar ik op moet letten?
Ik kijk er naar uit om van je te horen
Vriendelijke groeten
Martin Beckmann
Hoi Martin, Ik gebruik hiervoor Arduino, je zult nog wel even de boardfiles e.d. moeten installeren voor de multi 4in1 module. Dit staat hier beschreven: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Compiling_STM32.md
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Arduino_IDE_Boards.md
Hallo Bjorn,
hartelijk dank voor uw reactie. Ik ben er nu pas aan toe gekomen om het te lezen.
Ik gebruik ook Arduino IDE als compiler, maar bij het compileren van de
“config_h” er treedt een fout op met het commando:
“const PPM_Parameters PPM_prot[14*NBR_BANKS]= {
#if NBR_BANKS 0” enzovoort.
Helaas kan ik deze fout niet herstellen, kun je me helpen?
Vriendelijke groeten
Martin
Hallo Bjorn,
een ander addendum, de fout treedt op in regel 428.
Op dit moment heb ik de “mm-stm-ppm-aetr-v1.3.3.7.bin” op de multi-module geflasht en kan zo een spectrumontvanger binden. In de multimodule onder bank 2, code 2. Dit komt niet overeen met de informatie in het TXT-bestand (nummer 6) van de meegeleverde software. Als ik naar het bronbestand kijk, vind ik Spectrum DSM 2 in bank 2. Helaas kan ik de positie voor de Graupner-ontvanger (Hott) niet vinden. Kun je me vertellen welke bank en code ik moet instellen om een Hott-ontvanger te binden? Ik kan niets doen met positie 57 in het TXT-bestand.
Bij voorbaat hartelijk dank
Groeten
Martin
Probeer eens in bank 1 het volgende aan te passen
#if NBR_BANKS > 0
//****************************** BANK 1 ******************************
// Switch Protocol Sub protocol RX_Num Power Auto Bind Option Chan Order
/* 1 */ {PROTO_HOTT, NONE , 0 , P_HIGH , NO_AUTOBIND , 0 , 0x00000000 },
Hallo Bjorn,
Ik heb de gegevens ingevoerd.
Compileren met Arduino geeft de volgende foutmelding:
uitgangsstatus 1
‘PPM_Parameters’ noemt geen type
Groeten
Martin
Per favore potresti linkare il firmware e tutte le impostazioni che hai usato sul tuo irx4+
Many thanks, great Mod, everything works perfectly with my FrSky X20S!
Let me get this right instea dof doing through the software you have to jerryrig and slop this together with doublesided sticky tape these guys are absolutely rediculous
Hallo Bjorn,
Ik heb al een paar maanden niets met de multi-module gedaan, dus ik kom er nu pas op terug.
Maar gisteren heb ik je tip van 6 februari 2022 geïmplementeerd en het was succesvol.
Ik heb een Graupner-ontvanger kunnen binden.
Helaas is het me niet gelukt om de telemetrie van de ontvanger te activeren.
Misschien kunnen jullie mij een hint geven hoe ik te werk moet gaan of welke instelling ik moet maken om de telemetrie te kunnen gebruiken.
Groeten
Martin