Arduino Due and TPL5110

Hi,

I'm building a sensor node based on Arduino Due (solar powered) and I use a TPL5110 to periodically wake up the Due, read the sensors and process data, after a Done signal is sent to TPL5110 to power down. It works fine only if I press the reset switch in the TPL5100 board but after sending the Done signal it never wakes up anymore. TPL5110 is configured to wake up every minute aprox. and it works fine after disconnecting the Done pin wire.

Arduino Due is powered in Vin pin from TPL5110 DRV output. I use 5Volts from USB adapter to power TPL5110 VDD and finally I've tested several digital pins in Due to send the Done signal to TPL5110. No luck. TPL5110 works fine and powers Due without problems if I disconnect Done pin, but obviously the Due never shutdowns.

Test sketch is basic an simple, just blink the onboard led and put the Done pin to HIGH. Tested PWM or digital pins. Always same behavior. Tested with/without a pull down resistor in Done pin.

Same sketch and pins works fine with an Arduino Uno.

So I suspect that issue is with digital pins that provides the Done signal. I set this pin LOW in SETUP but maybe they are just HIGH during the boot process for a while producing an unwanted Done in TPL5110. I don't have any oscilloscope to see this signals.

Any idea about how to confirm it or simply how to have it working ?

Regards,
Joan

joanba:
I'm building a sensor node based on Arduino Due (solar powered) and I use a TPL5110 to periodically wake up the Due, read the sensors and process data

Why ? the Sam3x (main uc on the DUE board) has several low power modes, Sleep, Wait and Backup modes, down to 2.5 μA in Backup mode with RTC, RTT, and GPBR.

I've read several posts about low power modes in SAM3X mc but there are other parts like the voltage regulator that cannot be put in sleep mode, so for a solar powered project it cannot be assumable as there is always an important current drain. So Adafruit 3435 is a low power timer based on TPL5110 chip with a MOSFET as a switch. Easy, simply shutdown everything. Idea is to finish the Arduino sketch setting a digital pin HIGH and connect it with Done input in TPL5110 to switch off the power. But that was theory.

In practice this Done signal from Arduino should be unstable ( I don't have any tool to check it ) and is becoming HIGH at undesired times, probably during boot sequence in Arduino Due (this behavior does not occur in Arduino Uno).

FINALLY, I've fixed the issue building a low pass filter in the digital output pin used as Done signal. I've just connected a 2200 uF (1000uF tested also successfully) capacitor between the digital pin and ground and now the Adafruit board works as expected. This board is also configurable and allows the timer to cycle between less than 1 second and 2 hours, perfect for a sensor node.

Regards,
Joan

Understanding your circuit from a description in words is very difficult, we would all understand much better if you posted a schematic of how you have it all connected and all the components you have used.

Just attached a picture of the current schematic, TPL5110 board is represented just as a connector. The capacitor between pin 53 and DONE pin in TPL5110 does the job.

Not sure I understand why you need a low pass filter on the DONE pin, that suggest unwanted pulses does it not.

During power up of the microprocessor that DONE input pin will be floating and is very suceptible to false triggering, easily cured with a pullup resistor.