Hola a todos. He comprado un módulo ZS-042 con encapsulado DS3231 puesto que necesito saber el tiempo en mi proyecto, el cual es en una zona industrial, donde la temperatura es de entorno 28 a 42 ºC durante el año.
Haciendo pruebas me he topado con que el tiempo de desvía una barbaridad, en torno a 10 segundos en un par de horas, si, sé que el módulo es de bajo coste, lo compre mayormente para hacer pruebas, pero no me esperaba tanto retardo, estando la temperatura estable en el día de las pruebas.
Mi pregunta es ¿El retardo se debe a ser de chinese edition o pueden ser los campos electromagnéticos que pululan por allí? Después de probarlo en casa durante un par de horas el RTC se porta bien.
Las librerías que he usado son de esta pagina versión 1.4.2 al final del post.
Si alguien me pudiera echar una mano lo agradeceria.
PD: No le he puesto aún pila ¿Eso puede afectar a la medición?
Si tu modulo es un DS3231 y tiene un corrimiento de 10 segundos estamos todos en problemas recomendándolo.
Según Maxim
The DS3231 is a low-cost, extremely accurate I2C real-time clock (RTC) with an integrated temperature compensated crystal oscillator (TCXO) and crystal.
también dice la Hoja de datos
Características
• Precisión ±2ppm desde 0°C a +40°C
• Precisión ±3.5ppm desde -40°C a +85°C
• Sensor de temperatura : ±3°C Precisión
entonces o esta defectuoso o algo ocurre.
Calienta? Mediste la batería?
El autor menciona que esa libreria funciona tanto en el DS1307 como en el DS3231, así que me aventuré a no modificar el programa, el cual diseñe para el DS1307.
Gracias a ambos por responder, con respecto al calentamiento puse un termómetro de ambiente que teníamos por allí y apenas se movió un grado, lo he probado en casa y durante 3 horas lo máximo que varía es un segundo pero el oscilador se corrige solo al cabo de poco más de un minuto.
Me aventuraría a decir que es por la cantidad de ruido que hay allí y al tenerlo "al aire" se come el electromagnetismo y se vuelve majara.
Sobre las librerías pues las probaré a ver que tal me va con esas que me recomiendas ¿El módulo que usas es el mismo que el mío?
Porque no improvisas una jaula de faraday.
Una caja matálica y lo pones debidamente aislado dentro
Puede ser tipo malla. El tema es que lo envuelva.
Prueba sino con papel de aluminio y de nuevo todo aislado.
Jolusam:
...
Sobre las librerías pues las probaré a ver que tal me va con esas que me recomiendas ¿El módulo que usas es el mismo que el mío?
En efecto es el mismo. Esta semana he estado eliminado cables de prototipado del proyecto, armé un shield para conectar un lector microSD, un DS3231 y además tiene un soquet para conectar una pantalla ILI9341+táctil. El shield es para el arduino Due del proyecto. Me alegra haber eliminado bastantes cables
Un jaula de faraday, y yo pensando en usar la bolsa antiestática en la que me lo vendieron, a ver si me sacan de producción y puedo seguir haciendo el experimento.
Te ha quedado muy bonito, muy limpio. Una pregunta ¿Esas pantallas son difíciles de programar? Lo digo más que nada por el tema gráfico o hay algún programa tipo visual basic que te dé el código de las posiciones de los objetos y demás.
Las pantallas ILI9341 no son difíciles de programar, ademas son bastante económicas.
El punto de cuidado para conectarlas en el arduino MEGA (o en el UNO), es habilitar un divisor de voltaje (3.3/5V) en las lineas de comunicación CS, RST, DC, MOSI y SCK, o bien usar un convertidor lógico 3.3/5V.
La pantalla táctil funciona sin usar divisores de voltaje.
El lector SD se debe conectar también con divisores de voltaje () en SD_MISO. SD_SCK y SD_MOSI se pueden conectar al mismo divisor de voltaje correspondiente de la pantalla.
Aunque las librerias para arduino permiten dibujar primitivas, números, imagenes bmp y texto, hay que ingeniarselas para construir botones táctiles o barras deslizables.
La creación de botones, una vez que consigues calibrar la pantalla táctil, es un proceso bastante sencillo. Puedes tener esos 20 botones e incluso mas.
El proyecto en el que he estado trabajando consiste en apoyarme de un arduino para poder encender/reiniciar/apagar la PC, monitorear sensores de temperatura, contar con un reloj (con un DS3231), contar con un analizador de espectro con chips MSGEQ7. A futuro quiero que también cuente con un osciloscopio básico.
Instalé en la PC una refrigeración líquida, aunque el gabinete es bastante espacioso, el domo originalmente tiene un diseño bastante pobre para la salida del aire del radiador. Para ello decidí remover la cubierta de plástico con rejillas estrechas y en su lugar colocar un domo de ventilación, cuyas rejillas se puedan mover con ayuda de un servo.