Hello. I have a garage door opener (GDO) that I'd like to interface to inject commands. As far as I can tell the existing circuit has the GDO act as a 10mA constant-current source, and the wall console buttons put a fixed resistance across the wires creating a known voltage for the GTO to look for.
My first version of this circuit was going to use 3 signal relays to do the same as the wall console. It would look something like:
I can't see any reason this wouldn't work, but I thought maybe there's a better solution. I next looked at using mosfets to switch across a couple resistors. That got a little complicated on trying to make sure the wall console continued to work without a signal from the mcu, but might work. On the 1-board costs that also started to add up a bit, so I thought the best solution was to just pay the $1.50 and buy a DAC with buffered outputs.
The DACs I've found (eg: MCP4725) seem more than happy to sink the 10mA needed to drag the output to >3V, 2V, 850mV, 0V, so I think this should work while hooked up.
The questions I'm having are around the output pin being too high during hook-up. If the wall console is unplugged the GDO shows ~18v across the open circuit. It seems that's the max it can push. The DAC would be very unhappy to get 18v on it's output (and if the output buffer op-amp is configured as a voltage follower, then I guess at that op-amp input too). While the GDO is sitting at 18v it seems there's no real current behind that. If you short it then you only get 10mA. I'm just not sure how quickly things respond and if I need to protect the DAC here, and if I do need to protect the DAC how do I do that.