I am not going to answer your question, instead I'll answer a question that you didn't ask :)
You could implement a timer-based solution. However, it is actually going to be cheaper and more effective to use a microcontroller for your problem. The advantages of a microcontroller solution are:
- Cheaper to build (I know it sounds crazy but it is true)
- More flexible in the logic: you can change the logic with a few mouse clicks
- More supportable: for many people it is easier to see the application code than understand why the RC time constant is not behaving as it should.
Some solutions to think about in the microcontroller world:
- Arduino: starts at about $11 for Arduino Nano on ebay/DealExtreme, programmable over the USB port, more input and outputs than you'll know what to do with. Programmed in C/C++
- Pure AVR: about $2 for the minimum chip, but requires ~$20 investment for an ISP programmer. Programmed in C/C++ or Assembly.
- PICAXE. Do they make them anymore? Programmed in BASIC or Flowchart. About $3-$5 to get started. Programmed with nothing more than a serial port.
- PIC Microprocessors. Similar to AVR, but it's kind of a Mac vs. PC thing from a few years ago. I am an AVR person, but there is a number of PIC people on this board, so if you go this route there is plenty of help too.
Basically, Arduino is an easier-to-use AVR\$^*\$, and PICAXE is an easier-to-use PIC. Between Arduino<->PIXAXE, Arduiono wins in popularity hands down: Arduino is extremely popular and well-supported. Between the underlying platforms (PIC/AVR), it isn't clear: both are popular. There are also other microcontroller options(Cortex M, Propeller, and many others) but the options mentioned in the bullets above are the easiest to get started with, IMHO.
* This is only 99.9% true because a few Arduino's use non-AVR Atmel chips.
By the way, I am not suggesting the you ditch your existing circuits and use a microcontroller for everything (whether that's a good idea or not is not relevant to your question). You can use a microcontroller for the purpose that you don't flood your house or overwater your plans as stated in your design goals. Here's what your solution would look like in microcontroller pseudocode:
loop:
have 12 hours passed?
yes: turn on output for 3 minutes
no: don't do anything
go back to loop:
There are all sorts of sophistications you might add, such as sleep, implementing the wake 12 timer hit as an interrupt, etc.
If the duty cycle itself does not matter and the requirement is for pulses of, say, 0.5ms, then you could send the output of your circuit to a monostable 555 circuit. Dual-555 chips are available: the 556.
Best Answer
Try using this website and adjusting the numbers in the following 2 scenarios: -
For the left hand scenario I've entered 10k for R1 and 10k for R2 and got an output high time of 0.1386 seconds. Note the output low time of 0.0693 seconds i.e. 66.6% duty
For the right hand scenario I've frigged the results by making R1 = 19k and R2 = 1k (this is my guesstimate of what R2 will be when parallel with a diode. Note the high-time remains at 0.1386 seconds but the low time is 0.00693 seconds.
Does this help you a little bit in simulating the effect of a diode across R2? Yeah I know it's a bodge but unless you invest in free software from Linear technology called LTSpice I know of no other way without a formula. Here's the link to LTSpice