@RogerR I’d love to hear more about this setup! can I get the ardiuno code and an idea of what your hardware looks like?
… so how do you get PPM from the 900x to the APilot?
… are you flying via the MP interface?
Here’s a hardware schematic:
I used an arduino nano with long pins and a proto board between the pins to mount the NOR gate and connectors.
A little circuit card would be better (cleaner, easier to duplicate, lighter, and probably more resistant to damage than soldering wires to the pins). I’ve got the above schematic in TinyCAD and it’s dead simple, but I’ve never created a board design. If someone wanted to volunteer, it would be appreciate.
It’s not that difficult to wire up. I can dig into the plane and get a picture of the switcher. Or…I may just wire up another one since I’m building another plane.
Here’s a link to the Arduino code. https://drive.google.com/open?id=12N2UBXTvXxXvL8nzrjtflftlYGx8f31u
I am not very skilled at version control and such, so there’s a small chance that I don’t have the correct library…but I got the code to compile w/o errors on Arduino 1.8.5. with the attached library.
Awesome! Thank you!
NOR Gates… OMG I still had hairs the last time I saw thoses
But it works !! Nice design Roger, it goes qualify as a redundant system with minimized single point of failure
Definitely some “older” tech. I learned digital electronics from Don Lancaster’s TTL Cookbook around 1980 when I was trying to build a “home control” interface for an Apple-II computer. That lead to a Heathkit Oscilloscope…and eventually, a job assembling mini-computers. A few years later, I was an I/O architect for supercomputer systems (multiple Cray J-90s and C-90s).
But, that most basic old and simple function still has its place. I never want to be holding a transmitter that doesn’t work while the plane circles in RTL …waiting for the battery to run down and crash. The odds of a NOR gate failing are vanishingly small…and either of the two possible inputs connects a radio.
I am going to modify my setup. Currently, I connect to the RFD900 thru the FrSky trainer port and a cable. But, that’s a pain (the ground station has a tracker and is moving/rotating…plus I like to be able to walk around). I lost the XSR connection on one flight…and it took way too long to plug in the cable to connect up the RFD900 during my panic. So I’m going to try get one XSR to talk directly to the plane and another XSR in the ground station that connects to the RFD900x uplink.
nice! I can’t wait to see that implemented too
Are you using ardupilot’s Antenna tracker? Our attempts haven’t panned out so well on that yet…
I mixed up my own antenna tracker. My requirements were a bit different.
My tracker has a continuous rotation pan servo. So it has no position feedback. The tilt servo does 90 degrees.
Since it’s continuous rotation, the heading must be determined from a compass. All the electronics and the battery are on the pan section of the tracker. There isn’t any need for slip rings, etc.
The software is fairly easy…the GPS on the plane is already sending a position in the telemetry via the RFD900. I just tapped off the RFD900 RX signal to grab it. The mavlink library code captures the bitstream and gets the plane’s position and altitude. The tracker gets it’s own position and altitude from GPS. The bearing and tilt angle to the plane are calculated. Then the tracker attempts to minimize the delta between its heading and the bearing to the plane…and commands the correct amount of tilt.
I’ve only flown with it once, but it seems to work fairly well. I have a raspberry PI in the groundstation and the telemetry is logged there…and sent via WIFI to my laptop.
Here’s a plot of RSSI/REMRSSI and the noise numbers during that flight. I’m still not perfectly happy with the REM Noise, but the margin is now pretty darn good.
Awesome, thanks for all the info!
I finished my changes yesterday.
I now use 3 RF links. Receivers for link #1 and link #2 bind to the same TX channel.
FRSky TX to R-XSR in plane (8 channel PPM)
FRSky TX to R-XSR in ground station (12 channel SBus)
Ground station to plane via RFD900x (12 channel PPM, I built a converter from SBus to CPPM for ground station)
Link #1, directly to the plane is a standard connection using 8 channel CPPM. Links #2 and #3 transport 12 channels of data. The first hop is on the ground. Since FRSky only supports more than 8 channels with SBus, I have to go SBus for link #2 and then convert it to CPPM (which is all that the RFD900x supports).
At the plane, the previously mentioned circuitry selects one stream or the other and provides it to the PixHawk.
Telemetry was disabled during the binding process for link#2. I currently have minimal FRSky telemetry for link #1 (just the built in RSSI) and plan to add MAVLink to FRSky telemetry on this link. This will give me a redundant telemetry link since the RFD900x implements full bidirectional telemetry back to a laptop (connected thru a Raspberry PI with WiFi on the groundstation).