PRIORITY INTERRUPT
|
by Steve Ciarcia
lthough I generally don’t procrastinate forever, that’s exactly what I did when it came to updating my home-control system. It’s my opinion that when something ain’t broke, it usually will be by the time you get done "fixing" it! It’s not that my HCS system is so elaborate mind you, it’s just that there are wires going everywhere! Even though I mentioned fixing it six or seven months ago, it took me two months just to find the wire list.
Another obstacle to "fixing" my system was that it was never a standard configuration. When it comes to HCS II systems, 99% of them use a single-board controller called a DX board. Direct I/O expansion is accomplished with simple piggyback boards. Network expansion is done with an RS-485 twisted pair. Everything is quite straightforward.
The bad news is that I emulated the HCS system using a much more expensive variety of industrial-control boards rather than a standard DX. Because I owned the company that made all the stuff, my cost of ownership was basically zero anyway, so why not? Instead of a single-board controller with fixed expansion capability, I have an electro-maze wall full of boards, and a hundred direct-wired opto-isolated inputs and relay outputs (wired to who knows what).
Now that I don’t own the company anymore, converting my custom HCS to a more traditional configuration is traumatic, to say the least. I wouldn’t care, except that when you’ve lived in an automatic environment for years, it’s a shock to be without it. I didn’t install a 14-kW diesel generator just so I could work in the Circuit Cellar during a hurricane. I installed a continuous-duty generator because when you live in an electronic house, it’s either on or off! There’s no middle ground.
I admit that I took the coward’s way out with a dual repair strategy—program accomodation and system surrogates. The latter was easiest, of course. All this aggravation was about a calendar change, right? What if my HCS never knew it was 2000? Could I squeak a little more time out of the present configuration? I dusted off an old ’386 running DOS and put it on the filing cabinet next to the HCS. The machine booted perfectly. It even still had all the HCS software on the hard drive. All I did was load the latest compiled program and attach the serial cable from the ’386 to the HCS. My control program doesn’t actually care what the calendar date is. I don’t have any parameters that are day-of-the-month sensitive, and I’d chuck my one weekend-dependent schedule in the interest of accomodation. My HCS chokes if the PC talking to it tries to download a 2000+ date. Set the ’386 to any date before that and the program loads fine. The HCS may think it’s 1980, but a day in 1980 is the same 24 hours as a day in 2000!
If accomodation failed, I’d have to fix this bucket of transistors real fast (not a pleasant thought). Rather than just ripping things off the wall, I configured a second HCS system using currently available hardware. I figured if I could string a few critical I/O connections to the second system, I could at least keep the X-10 modules running should "fixing" the wall ultimately prove fatal to the patient.
I configured a second HCS and paralleled a bunch of direct I/Os from the old system (motion detectors and door switches) to it. I loaded the automatic lighting section of my program. To make sure I could tell the new code from the old system, I placed X-10 modules (with light bulbs) in the appropriate rooms. Simple enough to test the new system, just walk in the rooms and the X-10 lights should go on. Simple in theory. I spent hours inspecting and changing my program. I even hooked a scope up to the X-10 transmitter. The HCS saw the motion detector and transmitted fine, the signal just wasn’t getting there. The old system was turning the lights on but the new one seemed dead.
The wiring system in our house is an electrician’s nightmare. Every new addition required another breaker panel. Throw in generator cross-over switches and about five miles of wire in the four buildings and six electrical panels, and it’s a wonder it ever worked. Suspecting that signal loss had finally gotten too much, I installed active couplers in two of the panels and bought an X-10 signal strength meter. It still didn’t work. Were the old system’s receivers still loading down the signal? After three days of checking all the variables, I was still stumped. Finally, I disconnected the X-10 modules from the old system. My wife took a walkie-talkie up to the solarium and sat next to one of the new modules while I stood next to the HCS in the cellar.
"I just made another program change, Dear. Wave your hands in front of the motion detector and tell me if the light goes on." Of course, when you’re married to a crazy inventor you expect to have to do things like this occasionally.
She waved and nothing happened. "Are you sure you sent the signal?"
"I have the laptop sitting here with a PL-Link monitoring the power line and it just said ‘module B4 on’. I know it was transmitted!"
There was a long pause then she answered back, "B4? The switches on the front of this module say A4."
At that point I knew it was going to be a long Y2K conversion.
"Thanks, Dear. I think we’re done for now."
Subscription information is available at: www.circuitcellar.com/subscribe.htm |