Hot-rodding X10's "Ninja" Pan & Tilt Unit      Page 2

It would be nice to be able to control the Ninja directly with an RS232 signal from the PC. So the next task was to select an expendible input on the microcontroller to use for this purpose. I didn't care much about using the RF remote, so the RTCC input was one candidate. But I wasn't too keen on using RTCC, because on the SX and some PICs it's not a real input, and you have to mess with the OPTION register a couple times whenever you want to "read" it. The remaining option was the third wire coming from the wall transformer.

It turns out this wire is controlled by a traditional X10 carrier-current receiver in the wall transformer. This is for enabling/disabling the Ninja in multple pan & tilt installations. When the Ninja is disabled, this wire is low, and it will not respond to commands from the RF remote. When enabled, this wire sits at plus 24V, although any voltage down to about 10V will keep the Ninja activated. (Thanks to Mantissa and Barry for pointing this out!) The following schematic shows the input circuit for this external input, as well as the rest of the signal multiplexer.

As you can see, the zener diode limits the voltage applied to the base. It shunts both negative excursions and large positive ones -- in this case, anything over about 4.7V. This looks like a perfect RS232 receiver! Plus, there's no need for an extra communications wire coming out of the unit: it's already there in the power cable! The only catch is that 10-volt minimum switching voltage. This is right on the border of what the typical PC's RS232 driver provides. The reason it's so high is that the transistor requires a certain amount of base current to begin conduction. And that current will cause quite a drop in the 10K series resistor. While replacing this resistor with a 2.2K may be tempting, things might get fried if I ever go back to the Ninja's wall transformer and its 24V drive! A better alternative is to replace the NPN bipolar transistor with a MOSFET (which requires no drive current). A 2N7000 would be a good choice, and is the one I used.

<- Back      Next ->