Request for watchdog feature

I’d love to see a feature in the SSC-32 that would cause it to return to the start-up state if it hasn’t received a command within N seconds.

I’m using the SSC-32 to control my HVAC system. One port is attached to a relay, than when energized, disables the on-the-wall thermostat. Three ports are attached to relays that toggle the HVAC system’s Heat, Cool, and Fan modes. Other ports control servos that position dampers in the ducts based on the relative need for conditioned air in the space serviced by the duct.

In the event of a failure to receive a command from the PC, I’d like to see the SSC-32 return to its startup state. At start up the SSC-32 turns off all relays and positions the servos so that the dampers are in their most open state. This state allows the on-the-wall thermostat to control the HVAC system.

I suspect this wouldn’t be too difficult to implement, but I don’t have a copy of the CodeVisionAVR compiler and I’m not sure its cost justifies this feature for me. Is anybody willing to add the feature for me?

I’m open to implementation details. However, I imagine something simple like:

Enable the watchdog timer:
WE where n is the number of seconds before reset

Disable the watchdog timer:
WD

(optionally the watchdog timer could be disabled by passing zero to the enable command)

Query the status of the watchdog timer:
WQ
result: 30 (i.e. the current value of seconds in the watchdog timer, or 0 if it is disabled.)

El Cheapo computer HVAC control: :wink:

geocities.com/zoomkat/t-stat.htm

Here’s an idea. You can make your own watchdog… I haven’t worked out the details yet, but the atmel chip has a reset line. Active low. The chip provides a pull up resistor to pull the reset line high. You should be able to use a stronger pull down resistor, a cap, and an output from the SSC-32 to keep the thing from resetting as long as the pin keep being toggled. If the SSC-32 stops receiving the commands to toggle the circuit the SSC-32 resets, and it moves the servos to their stored init positions. I’m quite sure it could be done with a few discrete components.

zoomkat, very clever HVAC controller. I’ll keep it in mind if my other options don’t work out. :slight_smile:

Robot Dude, using a resistor and a capacitor as my watchdog timer would be fine. My fall back plan was to use something like a PICAXE-08M (a pic with a built-in BASIC interpreter) and a relay. Your plan sounds simpler. I look forward to hearing the details when/if you can work them out.

I expect the resister/capacitor combination will determine the number of seconds before the “timer” resets the SSC-32. For your calculation purposes, I’d like the timer somewhere between 15 and 120 seconds.