When I was young my dad used a low-tech version, although it was more of a general safety thing rather than to keep me out of it. Basically, he wired the main outlets in the workshop through a switch mounted in a lockable box about 6' off the ground (although I dont' think the box was ever actually locked). It box also had a red indicator bulb to remind him to shut off off workshop power when he was done. This kept some of his older tools from being a potential hazard (fire or otherwise) when nobody was around. Later, he upgraded the circuit to include a GFI when those things became common.
Wow! Thank you William, for using my SCR voltage regulator! I invented it back in 1978. I tried to publish it in EDN magazine back then and they didn't want it. It's loosely regulated, but it is very energy efficient. When the relay is off, you're not burning up power in a zener diode. You already know that you can add a small voltage regulator if you need more precise regulation, like for the microcontroller. You may have seen it used in three of my GF projects, GF#195, the master/slave switch, GF#198, the remote fan control and GF #218, the space heater thermostat. I have used it in a number of unpublished other gadgets that I have around the house as well. Maybe it was a good idea, after all, huh? I've had a couple of people ask me about it. At least one person appreciates it. It's also more robust against power surges than a zener diode regulator. The master/slave power switch and several other gadgets I have that use the SCR circuit have survived many thunderstorms here in Florida, including one that took out half the electronics in my house.
Yours is a great project! Some comments on your ASM code would have been nice, though.
I liked your design used in Gadget #195, much better than the one I have always used to derive appliction poiwer directly from teh line VAC. It provides a lot more flexibility in both available voltage and current. As for the code comments... comments can always be improved. I usually only comment on the major loop or function boundaries and when ever there is a user modifiable variable, table or other issue.
Thanks, William. I recently bought and reverse-engineered a smart outlet strip (i.e. master/slave power switch) to see how someone else solved the problems I had to solve. It used a more complex method to save standby power consumption. It used an opto-coupler and 4 diodes to switch in an extra high voltage capacitor when the relay is on to prevent burning up surplus power in the zener diode when the relay is off. BTW, the high voltage coupling capacitor provides about 20mA per microfarad of available current at 12V0VAC, 60Hz.
Very cool and practical project. It's quite interesting to see ASM code being used eventhough C is language is common in todays embedded products. Now I have a real world example of ASM code to show my microprocessor class at ITT Tech.
I have used assembly in all my appliciations. I have always used MicroChip controllers which have a relatively small instruction set. The applications are ususally smaller, under 200 or 300 instructions and in at least some cases have to be branch equalilized to accomodate timing issues, which harder to control if you program in BASIC or C. MiroChips instruction set has been pretty good to me and is realtively easy to tabulate the instruction execution time. There are also other examples is several other applications both in Gadget Freak#194,137,118,124,159,112,83,88,157,188,200 and another resources, in in Gadget Freaks sister publications, EDN and Test and Measurement. Some of these include a Visual Basic interface which would sit on your desktop.
I agree with you William. I have always used ASM code and I only know how to program PICs. While working for a former employer, I designed an automatic paper towel dispenser according to my boss' requirements. It had all the bells and whistles, was programmed in ASM and used a little more than half of the available 2K of memory. My employer bought a competitor, who was also developing a paper towel dispenser, which I had to debug. It had extremely simple functionality and was written in C. It used almost the entire 2K of memory. Sadly, they closed down the place where I worked and went with the simpler, cheaper dispenser.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies.
You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived.
So if you can't attend live, attend at your convenience.