Multiplexing between two groups of inputs

Hello all! I’m new here, and like many arduino enthusiasts I would imagine are, electronics is not my first subject, been having good progress with the UNO and are about to upgrade to the mega, for more sensors, but I’ve come to a bit of a snag as im unsure what to do for this current system.

I’m building an autopilot system and are trying to make it possible to entirely isolate the processor for manual control, incase of a complete failure of the arduino board or its code. (The code is entirely custom, its my university project)

What I want to be able to do is have a unit that will allow switching between the servo signals the processor is putting out, and the servo signals the radio is putting out. I’ve got two ideas on how to do this -

opto couplers - simply provide power to the anode of one set of couplers to allow them to send a signal forward, and on the other set do not provide power, allowing only one group of signals forward to the servos

Considered couplers -

darlington drivers - provide power to the common to allow the drivers to function as above but what concerns me is looking at the circuit diagrams, i cant see what would stop the drivers sourcing power from the output pins of the other darlington driver and try and let signals through anyway. The way I see it I would need diodes on all output lines to stop that?

Considered darlington array -

I’ll probably use something like a PICAXE08 to drive the isolator, as its quick to program cheap and small. Not powerful, but doesn’t need to be since I only want to decode one servo line off the receiver with it to send out an “on” or “off” pulse.

Any advice? I won’t get a processor to divide the signals, if the processor on the isolator fails, I want it to default to manual.

EDIT : ah, heres an interesting thought i didnt think of.

if I wired the Ground of a darlington array to a pin on a controller, and set it to HIGH, with the same VCC, that should essentially shut down the driver, right? (then again, thats kinda doing the same as not adding a common, isnt it?)

Just out of curiosity, how would you know the code has failed?

Let's say the autopilot says "go straight" but it incorrectly said that. How would you tell the difference between that, and correctly saying "go straight"? Or "turn left"? Or anything?

My understanding of commercial autopilots (like for Jumbo Jets) is that they have 3 autopilots, and a 4th processor that compares the output from the 3 autopilots. If 2 say "go left" and 1 says "go right" it assumes that the one that is different is wrong, and it selects the other two.

But when you say "two groups of inputs" it doesn't sound as if you are planning to go that far.

But if you aren't going to do that level of complexity, an extra processor might do it (like your Picaxe). Something like "if I hear nothing from the radio, take the autopilot input, otherwise use the radio". The Picaxe (or any small processor) could be configured to take input from Port 1 (for example), but if nothing was there take it from Port 2, and then output the results on Port 3.

You still need to define "no input" since a string of zeroes might be valid input.

Hmmm seems my original post wasn't so clear. Heres what I have in mind

one channel from the radio is set to tell the autopilot/manual selector what to do (Big central block), and it is entirely controlled by the human pilot. If the radio fails, the selector automatically sets to manual, and the radio signal (which is now no signal at all) is sent forward. the failsafe modules connected to the servos will then respond and set the aircraft into spiral descent.

The problem is the electronics to switch from signal set A to B and vice versa. I could do it all with a big pile of transistors, but I think that'd be wasteful, take too long, and be too large. And I don't have any prior experience with darlington arrays or optocouplers. I also don't want to make a controller select signals, incase the controller fails.

You haven't said what voltage levels you are dealing with. has a whole series of analog switches that may do what you want. For example COMx is C above NCx is A, NOx is B

Search here for others Looks for SPDT switches

Thanks, I wasn't aware of CMOS switches. had a look around and RS offers a much much cheaper alternative to the MAX333A

so I'm going to order a handful of these.

Ok, just be aware of the on state resistance, up to 1050 ohm for the ON Semiconductor vs 35 ohm for the Maxim part.

Accurately detecting failures in this scenario is, shall we say, a hard problem.