DS1302, se queda congelado.

Estoy usando un reloj DS1302 para un proyecto y resulta, que tras probar muchas librerías me quede con está (adjuntada).

Pero más o menos cuando lleva unas 6 horas encendido el arduino y mostrando la hora por la pantalla se queda congelada la hora, ¿alguien sabe a que se debe?

CÓDIGO REFERENTE AL RELOJ.

#include <virtuabotixRTC.h>                                                                        
virtuabotixRTC reloj(13, 12, 11);[/color]
void loop() {
                        delay(500);
			reloj.updateTime();                                                                                
			int t= reloj.hours * 60 + reloj.minutes;[/color] 
			
                        for(int i=0; i<Nriegos; i++){
			     if(t==Inicios[i]*60){
				//INICIO DE RIEGO
				  digitalWrite(RELE, LOW);
			    
			         for(int i=0; i<Duracion*60; i++)
			        {
  				 display.clearDisplay();  
				 display.setTextColor(WHITE, BLACK);
         		         display.setTextSize(2);
			         display.setTextSize(2);
			         display.println(" RIEGO");
			         display.println("ACTIVO");
			         display.print(i);
			         display.print(" seg ");
			         display.display();
			         delay(1000);
			         }
			      }else{  
	         	    mostrarReloj((byte)reloj.hours,(byte)reloj.minutes,(byte)reloj.seconds); 
 	    			            digitalWrite(RELE, HIGH);}
			}

virtuabotixRTC.zip (250 KB)