I'm wondering about the power ramp-up time for a plain Arduino (without any shield load).
For example, for a 9V battery power I reason like this:
R_bat ~= 2 ohm (internal resistance)
Two 47 uF input caps on Arduino that need to charge
=> time_contant = 0.2 ms
ATmega328P datasheet says the internal reset timer starts when Vcc gets to 1.6V
=> reset timer should certainly be started within 1 ms (probably < 0.2 ms really)
Is this right? For example I wonder if due to in-rush or something 2 ohm internal resistance is not the number to use?
bkerin:
I'm wondering about the power ramp-up time for a plain Arduino (without any shield load).
For example, for a 9V battery power I reason like this:
R_bat ~= 2 ohm (internal resistance)
Two 47 uF input caps on Arduino that need to charge
=> time_contant = 0.2 ms
ATmega328P datasheet says the internal reset timer starts when Vcc gets to 1.6V
=> reset timer should certainly be started within 1 ms (probably < 0.2 ms really)
Is this right? For example I wonder if due to in-rush or something 2 ohm internal resistance is not the number to use?
You have not considered the Arduino is powered by 5 volts, not 9. The on-board regulator chip also has capacitors in it's circuit.
Paul
raschemmel:
It is an odd question. Were you planning on using an arduino for a sidewinder missile ?
I've designed a shield that can turn an Arduino on "every once in a while" (controlled by jumpers). It uses a very low power regulator (unlike the one on the Ard which has Iq=1mA or more) so a stock arduino can run for years on a battery in monitoring applications, while still handling some power when on.
It also has wake request lines in case user would like to add a little bit of circuity to demand-wake the Arduino due to asynchronous events (which can be propagated to the controlled Ard once it's on). I'd like to be able to specify the max time until user code sees these. The 328P datasheet is pretty careful about specifying reset timer time (depending on SUT1/0 fuse settings) and the voltage at which the reset timer starts running, so it should be possible.
Paul_KD7HB:
You have not considered the Arduino is powered by 5 volts, not 9. The on-board regulator chip also has capacitors in it's circuit.
Paul
To be conservative I use 9V (charge level for the 47u regulator input cap when 9V battery).
I see the regulator has two 47u caps, in fact as far as I can see these are the only big charge sinks around that might affect ramp time, so I've tried to account for them as described above. Just wondering if I've done it right.
Ok, just to be clear, every application has a Design Criteria which specifies the min and max values as well as the tolerances and allowed times for events.
So far you have provided nothing in this regard.
If you want to know what the reset response time is you can determine this empirically by simply using another arduino to start a timer using millis() and then send a reset signal to the UUT arduino which is loaded with code that outputs a digital signal on wakeup which is read by the test arduino which then stops the timer and subtracts final millis() count from initial millis() count and you will have your response time. I haven't read the ATMel datasheet but I'll leave that to you. It seems like a very straightforward and simple test.
raschemmel:
Ok, just to be clear, every application has a Design Criteria which specifies the min and max values as well as the tolerances and allowed times for events.
So far you have provided nothing in this regard.
If you want to know what the reset response time is you can determine this empirically by simply using another arduino to start a timer using millis() and then send a reset signal to the UUT arduino which is loaded with code that outputs a digital signal on wakeup which is read by the test arduino which then stops the timer and subtracts final millis() count from initial millis() count and you will have your response time. I haven't read the ATMel datasheet but I'll leave that to you. It seems like a very straightforward and simple test.
I've already done pretty much this using the timer hardware on other arduino but it doesn't actually probe the issue I'm asking about, because reset doesn't magically discharge all the caps. It can be done somehow as a single shot with oscope or so but I'd like to have a reasonable theoretical idea what the bound should be anyway
"because reset doesn't magically discharge all the caps. "
It is what it is. If you want to know the cold start
time then Use the test arduino to switch on the UUT using a high side P-channel mosfet and stop
the timer with code in the UUT that sends a stop signal to the test arduino