Yesterday I received Stan & GRJ's most excellent PBW board. Assembled, cleaned and installed easily. While I had the DCS-RC case open to install the board (and feeling frisky) I decided to test generating the WD reset using an Arduino Mega board.
The testing was done with the DCS-RC connected in passive mode, using the PBW the reset occurred as expected based on the LED indication.
Using the Mega I was also able to generate the reset through an Optoisolator using the following test code:
void setup() {
pinMode(3, OUTPUT); // sets pin 3 mode
digitalWrite(3, HIGH); // drives pin 3 to a digital 1 (+5V) connected thru the Optoisolator to the DCS-RC Reset pin.
}
void loop() {
digitalWrite(3, LOW); // drives pin 3 to a digital 0 (Grd)
delay(1); // waits 1 millisecond (length of reset pulse)
digitalWrite(3, HIGH); // drives pin 3 to a digital 1 (+5V)
delay (1000); // waits 1 second between reset intervals
During the test the DCS-RC passed both the smoke and finger tests (no small mushroom clouds and no blisters). The only component that seemed even remotely warm was U5 which is normal without either reset generator attached.
Also during testing I was able to generate the reset using 1, 10, 100 milliseconds pulses and 1, 2, & 5 seconds on the interval between resets. The only advantages to using the Arduino as opposed to the PWB daughter board is to easily allow modification to the reset pulse width, the interval between resets and traffic reduction on the control channel. The disadvantage is most likely a permanent modification to the DCS-RC case.
Many, many thanks to Stan2004 for his valid and relevant comments, observations and ideas.
Just thought I'd throw this out as another tool in the tool box.
Barry