Alarma periódica con DS3231

Buenas.

Tengo una programación básica para probar la alarma del DS3231 y despierte al micro de un modo sleep mediante una interrupción.

He partido de dos modelos básicos anteriores que me funcionan. Uno entra y sale del modo sleep, y otro activa la alarma en el momento programado. El problema es cuando fusiono ambos modelos para hacer una alarma que despierte a Arduino cada 10 minutos. Lo puedo despertar la primera vez, pero no más. Parece como si un bit del micro se queda activo y no se reinicia para permitir de nuevo la interrupción.

Adjunto el código a ver si me podéis ayudar (la respuesta es la misma active o desactive el detachinterrupt). Gracias.

// Date and time functions using a RX8025 RTC connected via I2C and Wire lib

#include <Wire.h>
#include "Sodaq_DS3231.h"
#include "LowPower.h"

char weekDay[][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
int pin_int = 2, contador = 0;

//year, month, date, hour, min, sec and week-day(starts from 0 and goes to 6)
//writing any non-existent time-data may interfere with normal operation of the RTC.
//Take care of week-day also.
DateTime dt(2011, 11, 10, 15, 18, 0, 5);

void setup () 
{
    pinMode(pin_int, INPUT);
    digitalWrite(pin_int, HIGH); 
    
    Serial.begin(57600);
    Wire.begin();
    rtc.begin();
    rtc.setDateTime(dt); //Adjust date-time as defined 'dt' above 
    
    attachInterrupt(0, INT0_ISR, HIGH);
}

void loop () 
{
    if (contador == 60){
      contador = 0;
    }
    else
    {
      contador = contador + 10;
    }
  
    //Enable Interrupt 
    //rtc.enableInterrupts(EveryMinute); //interrupt at  EverySecond, EveryMinute, EveryHour
    //or this
    rtc.enableInterrupts(15,18,contador);    // interrupt at (h,m,s) 
        
    DateTime now = rtc.now(); //get the current date-time
    Serial.print(now.year(),DEC);
    Serial.print('/');
    Serial.print(now.month(),DEC);
    Serial.print('/');
    Serial.print(now.date(),DEC);
    Serial.print(' ');
    Serial.print(now.hour(),DEC);
    Serial.print(':');
    Serial.print(now.minute(),DEC);
    Serial.print(':');
    Serial.print(now.second(),DEC);
    Serial.println();
    delay(1000);
    
    LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
    
    // Disable external pin interrupt on wake up pin.
    // detachInterrupt(0);    //El cero se refiere al número de la interrupción
    
    delay(1000);
}

//Interrupt service routine for external interrupt on INT0 pin conntected to /INT
void INT0_ISR()
{
  //Keep this as short as possible. Possibly avoid using function calls
  
  Serial.println("Despierto");
  delay(1000);
}