Soy un aficionado de la electrónica desde hace muchos años y he decidido crear este blog para compartir montajes y pequeños aparatos que he construido en mis investigaciones y estudios, y que pueden ser copiados por cualquier persona con ganas de aprender, y que persevere en experimentar y nunca desista.
Para la posibilidad de un estudio más profundo y en respeto a los autores originales de los proyectos, las publicaciones están siempre acompañadas de sus correspondientes referencias.
Los vídeos que se han publicado en Youtube tienen como objetivo principal la sencillez y la objetividad, sirven únicamente para mostrar que un determinado aparato funciona y que es posible construirlo. Pido que tú considere dejar un comentario positivo.
Estaré atento a los comentarios y disponible para ayudarte. Muchas gracias por tu visita y buenos montajes.
Esta página es compatible con todos los navegadores y con cualquier sistema operativo. Ajuste el zoom de la página para una mejor visualización. Generalmente se utiliza CTRL + para aumentar y CTRL - para reducir.
domingo, 26 de julio de 2020
Voltímetro con buena precisión en el Arduino
¿Tuviste problemas con tu proyecto de voltímetro usando Arduino? ¿No obtuvo una buena precisión con las lecturas? Entonces, deberías leer esto:
En el siguiente vídeo se puede ver que es posible tener una gran precisión en las lecturas de tensión utilizando el Arduino. Usé el Arduino nano y una pantalla 16x2. La placa Arduino se alimenta directamente del puerto USB del ordenador:
Con este sencillo circuito es posible medir voltajes de 0 a 35 voltios DC con total seguridad para su placa Arduino y con una precisión excelente. El proyecto se ve así:
La programación es para cualquier placa Arduino, descarga en texto plano o mira la imagen a continuación:
Para lograr precisión en las lecturas tenga en cuenta 3 cosas:
1ª Prueba la tensión en la salida 5 voltios de tu placa Arduino y escriba este valor en la programación. Si está alimentando la placa Arduino en el USB del ordenador, el voltaje medido será inferior a 5 voltios. Mi multímetro midió 4.631 voltios. Vea que escribí este valor en la línea 8 (float volt_arduino = 4,631;);
2ª Utilice un multímetro para medir las resistencias R1 y R2 e ingresa estos valores en la programación (líneas 6 y 7);
3ª Hacer los cálculos correctamente (línea 26).
Los 3 pasos de arriba son muy importantes. ¡Asegúrese de comprender todo en la referencia que hice disponible al comienzo de esta publicación!
En la línea 29 de la programación es posible cambiar el número de dígitos que se muestra en la pantalla (lcd.print(volt,1);). Cambie el número 1 a 2 o 3 y vea.
A continuación otras referencias más:
¿Es esta tu primera visita? ¡Utilice los marcadores del blog! Facilitan la navegación y son útiles para elegir temas.
No te olvides de leer el último post, hay una descripción de nuestro objetivo.
¿Has encontrado un error? ¿Algún link quedó roto? Toma mi correo electrónico en el perfil del blog y envíeme un mensaje.
No te olvides de leer el último post, hay una descripción de nuestro objetivo.
¿Has encontrado un error? ¿Algún link quedó roto? Toma mi correo electrónico en el perfil del blog y envíeme un mensaje.
jueves, 16 de julio de 2020
Prueba de la ley de enfriamiento de Newton en el Arduino
En primero digamos esto: Newton no presentó cálculos en su artículo anónimo de 1701. Presentó la idea, que más tarde se conoció como la ley de enfriamiento de Newton.
Aquí está el artículo original en latín en el formato pdf, y aquí el mismo en texto plano. No sé latín, pero he copiado todo el texto y luego lo puse en el traductor. Utilice a su propio riesgo.
A. P. French explica en este otro artículo lo que Newton estaba tratando de hacer. Si usted no sabe Inglés como yo, aquí lo está en texto plano, sólo hay que poner en el traductor.
La ley de enfriamiento de Newton analiza el tiempo que tarda un cuerpo para alcanzar el equilibrio térmico, es decir, la temperatura depende exclusivamente de la variación del tiempo. Es necesario medir primero la temperatura del cuerpo que ya se está enfriando, esperar, medir la temperatura de este cuerpo nuevamente, medir la temperatura del ambiente, y finalmente calcular.
Eso es lo que hace que este pequeño dispositivo construido con Arduino UNO, una pantalla LCD 16x2, dos termistores NTC de 10k y algunos otros componentes.
Por lo tanto, se deben considerar las siguientes hipótesis:
La temperatura es la misma en todo el cuerpo (en este caso una taza de agua caliente);
La temperatura del cuerpo depende del tiempo;
La temperatura ambiente es constante y es la misma en todo el ambiente;
La derivada dT / dt representa la tasa de cambio del flujo de calor a través de las paredes del cuerpo.
A continuación el diseño del circuito y algunas fotos:
Aquí puede descargar el proyecto en formato pdf y ps, y también para KiCad.
Este circuito utiliza la biblioteca Thermistor.h para leer las temperaturas en los dos sensores NTC, aquí llamados T1 y T2, que están relacionados con los puertos analógicos A1 y A2. El sensor T1 es el que se colocó dentro de la taza con agua caliente, y el T2 está en la placa de pruebas, leyendo la temperatura ambiente. Los dos trimpots solo se usan para controlar el brillo y el contraste de la pantalla. La placa Arduino se puede alimentar directamente desde el puerto USB del ordenador o desde una fuente de alimentación externa, observando los valores máximos permitidos (siempre uso 10 voltios).
El programa muestra constantemente la temperatura leída en los dos termistores conectados a los puertos A1 y A2. Cuando la temperatura del termistor T1 está por encima del límite establecido en la variable Td y al mismo tiempo comienza a disminuir, el ciclo while que está en la línea 59 comienza a ejecutarse de acuerdo con el tiempo de cálculo determinado en la variable tc. Una vez transcurrido este tiempo, la temperatura T1 se mide nuevamente y se realiza el cálculo de acuerdo con la ley de enfriamiento de Newton. La prueba inicial, donde se verifica que la temperatura está disminuyendo, ocurre en las líneas 54, 55 y 56, a través de la variable atraso. No recomiendo usar valores inferiores a 250 milisegundos (un cuarto de segundo) en esta variable. El tiempo de cálculo, variable tc, también es muy importante, porque de acuerdo con la ley de enfriamiento de Newton, cuanto mayor sea el tiempo entre la primera y la segunda lectura del cuerpo en enfriamiento, mayor será la precisión del pronóstico.
En resumen: este programa utiliza el cálculo de la ley de enfriamiento de Newton para tratar de predecir cuánto tiempo le tomará al líquido caliente para alcanzar la temperatura establecida en la variable Td.
Si usted no sabe lo que la ley de enfriamiento de Newton es, le recomiendo que estudie la presentación que preparé para el seminario de la clase de cálculo que tuve en el año 2020. Sí, lo sé, todo está en portugués. ¡Simplemente copie el texto y use el traductor!
Y finalmente, la programación para Arduino en formato de texto y también en pdf.
¡El video a continuación es otra buena referencia! El autor presenta todos los cálculos de la ley de enfriamiento de Newton de una manera muy completa:
Aquí está el artículo original en latín en el formato pdf, y aquí el mismo en texto plano. No sé latín, pero he copiado todo el texto y luego lo puse en el traductor. Utilice a su propio riesgo.
A. P. French explica en este otro artículo lo que Newton estaba tratando de hacer. Si usted no sabe Inglés como yo, aquí lo está en texto plano, sólo hay que poner en el traductor.
La ley de enfriamiento de Newton analiza el tiempo que tarda un cuerpo para alcanzar el equilibrio térmico, es decir, la temperatura depende exclusivamente de la variación del tiempo. Es necesario medir primero la temperatura del cuerpo que ya se está enfriando, esperar, medir la temperatura de este cuerpo nuevamente, medir la temperatura del ambiente, y finalmente calcular.
Eso es lo que hace que este pequeño dispositivo construido con Arduino UNO, una pantalla LCD 16x2, dos termistores NTC de 10k y algunos otros componentes.
Por lo tanto, se deben considerar las siguientes hipótesis:
La temperatura es la misma en todo el cuerpo (en este caso una taza de agua caliente);
La temperatura del cuerpo depende del tiempo;
La temperatura ambiente es constante y es la misma en todo el ambiente;
La derivada dT / dt representa la tasa de cambio del flujo de calor a través de las paredes del cuerpo.
A continuación el diseño del circuito y algunas fotos:
Aquí puede descargar el proyecto en formato pdf y ps, y también para KiCad.
Este circuito utiliza la biblioteca Thermistor.h para leer las temperaturas en los dos sensores NTC, aquí llamados T1 y T2, que están relacionados con los puertos analógicos A1 y A2. El sensor T1 es el que se colocó dentro de la taza con agua caliente, y el T2 está en la placa de pruebas, leyendo la temperatura ambiente. Los dos trimpots solo se usan para controlar el brillo y el contraste de la pantalla. La placa Arduino se puede alimentar directamente desde el puerto USB del ordenador o desde una fuente de alimentación externa, observando los valores máximos permitidos (siempre uso 10 voltios).
El programa muestra constantemente la temperatura leída en los dos termistores conectados a los puertos A1 y A2. Cuando la temperatura del termistor T1 está por encima del límite establecido en la variable Td y al mismo tiempo comienza a disminuir, el ciclo while que está en la línea 59 comienza a ejecutarse de acuerdo con el tiempo de cálculo determinado en la variable tc. Una vez transcurrido este tiempo, la temperatura T1 se mide nuevamente y se realiza el cálculo de acuerdo con la ley de enfriamiento de Newton. La prueba inicial, donde se verifica que la temperatura está disminuyendo, ocurre en las líneas 54, 55 y 56, a través de la variable atraso. No recomiendo usar valores inferiores a 250 milisegundos (un cuarto de segundo) en esta variable. El tiempo de cálculo, variable tc, también es muy importante, porque de acuerdo con la ley de enfriamiento de Newton, cuanto mayor sea el tiempo entre la primera y la segunda lectura del cuerpo en enfriamiento, mayor será la precisión del pronóstico.
En resumen: este programa utiliza el cálculo de la ley de enfriamiento de Newton para tratar de predecir cuánto tiempo le tomará al líquido caliente para alcanzar la temperatura establecida en la variable Td.
Si usted no sabe lo que la ley de enfriamiento de Newton es, le recomiendo que estudie la presentación que preparé para el seminario de la clase de cálculo que tuve en el año 2020. Sí, lo sé, todo está en portugués. ¡Simplemente copie el texto y use el traductor!
Y finalmente, la programación para Arduino en formato de texto y también en pdf.
¡El video a continuación es otra buena referencia! El autor presenta todos los cálculos de la ley de enfriamiento de Newton de una manera muy completa:
https://www.youtube.com/watch?v=jrAOAo8Zv_4&list=WL&index=8&t=713s
¿Es esta tu primera visita? ¡Utilice los marcadores del blog! Facilitan la navegación y son útiles para elegir temas.
No te olvides de leer el último post, hay una descripción de nuestro objetivo.
¿Has encontrado un error? ¿Algún link quedó roto? Toma mi correo electrónico en el perfil del blog y envíeme un mensaje.
¿Es esta tu primera visita? ¡Utilice los marcadores del blog! Facilitan la navegación y son útiles para elegir temas.
No te olvides de leer el último post, hay una descripción de nuestro objetivo.
¿Has encontrado un error? ¿Algún link quedó roto? Toma mi correo electrónico en el perfil del blog y envíeme un mensaje.
jueves, 13 de febrero de 2020
Dos ventiladores controlados con cuatro termistores
Este circuito puede medir la temperatura en cuatro puntos diferentes y controlar dos ventiladores al mismo tiempo. Cada uno de los ventiladores puede ser configurado para utilizar cualquiera de los cuatro termistores NTC. Es posible cambiar la configuración de temperatura mínima y máxima para cada ventilador y también la intensidad mínima y máxima de la señal PWM. Todo de forma independiente para cada ventilador, lo que se puede hacer directamente en el código antes de la compilación, cambiando los valores en las variables y también en los tres botones de configuración rápida con el sistema encendido. La información se muestra en una pequeña pantalla Nokia 5110.
A continuación se muestran los videos que se publicaron en youtube:
He configurado todo para trabajar con el Arduino nano debido a su pequeño tamaño, pero el circuito también se probó en el Arduino UNO R3. Los ventiladores deben ser de estos que se usan en los ordenadores y los pequeños condensadores de 100 uF sirven para eliminar el molesto ruido que se genera en el PWM. Si no te irritan los ruidos molestos, puedes irte sin estos condensadores.
A continuación el circuito:
Descarga aquí el circuito en formato pdf.
Descarga aquí el circuito en formato png.
Descarga aquí el circuito en formato ps.
Descarga aquí todo el proyecto para KiCad versión 5.0.2.
¡Muy bien! Antes de empezar debe asegurarse de que su entorno Arduino pueda compilar toda la programación, y para esto necesita instalar las siguientes librerías:
adafruit_gfx_library_master.zip
adafruit_pcd8544_nokia_5110_lcd_library_master.zip
thermistor.zip
Las dos primeras librerías son para la pantalla Nokia 5110, y la última para los termistores.
Después de instalar las librerías, abra la programación en su entorno Arduino y realice la compilación. Si todo va bien, es porque está bien. Entonces, puedes empezar el montaje.
Abajo la programación:
Aquí está el código en un archivo ino.
Y aquí el mismo código en un archivo txt.
Si! Si! Si! Esto és. Un archivo ino y un archivo txt son iguales, solo tienen texto. Dejé ambos formatos para que tenga la opción de abrir directamente en el entorno Arduino o en un editor de texto.
¿Eres un principiante como programador? Te recomiendo que estudies primero la programación en la versión a continuación, porque solo funciona la primera pantalla ya que el código es menos largo:
El código en la versión corta (archivo ino).
El código en la versión corta (archivo txt).
En la programación puedes cambiar estas variables:
ntcfanX = el termistor predeterminado para el ventilador X en el arranque;
ntcfanY = el termistor predeterminado para el ventilador Y en el arranque;
tempXMin = temperatura mínima de trabajo del ventilador X (usar valores por encima de cero);
tempXMax = temperatura máxima de trabajo del ventilador X (al menos unos 10 grados por encima de la temperatura mínima);
tempYMin = temperatura mínima de trabajo del ventilador Y (usar valores por encima de cero);
tempYMax = temperatura máxima de trabajo del ventilador Y (al menos unos 10 grados por encima de la temperatura mínima);
pwmXMin = el valor PWM en el que el ventilador X comienza a girar;
pwmYMin = el valor PWM en el que el ventilador Y comienza a girar.
Los valores de PWM varían de cero (mínimo) a 255 (máximo).
Puede probar todos estos valores de variables en las pantallas de configuración con el sistema encendido, luego cambiar en la programación y compilar (grabar) nuevamente con sus opciones.
Las fotos de la pantalla Nokia 5110 que utilicé:
El pequeño Arduino nano:
Y el PCB, listo y hermoso, y todo hecho a mano:
Este enorme condensador de 2200uF no es necesario. Por supuesto, lo quité e instalé uno más pequeño porque no había espacio para montar la PCB en su lugar. Un pequeño condensador de 100uF ya está exagerado si conecta el dispositivo a una buena fuente de alimentación (12V X 1A está muy bueno). No quería quitarme el gran condensador, pero me vi obligado a hacerlo. Me gusta instalar condensadores grandes en la entrada de alimentación de mis dispositivos.
Si no sabes nada de la pantalla Nokia 5110, estudie las referencias a continuación:
https://portal.vidadesilicio.com.br/display-lcd-nokia-5110/
https://hetpro-store.com/TUTORIALES/lcd-nokia-5110-arduino/
https://electronilab.co/tutoriales/tutorial-lcd-grafico-nokia-5110-con-arduino/
https://www.avdweb.nl/arduino/hardware-interfacing/nokia-5110-lcd
https://www.instructables.com/id/Arduinonokia-lcd-data-display-EASY-VERSION/
https://lastminuteengineers.com/nokia-5110-lcd-arduino-tutorial/
https://arduinoleaks.blogspot.com/2014/03/nokia-lcd-5110ejemplo-de-radar-grafico.html
https://www.altaruru.com/arduino-conectar-un-display-lcd-de-nokia-5110/#.XU8wGaeYXeR
https://miarduinounotieneunblog.blogspot.com/2016/01/como-utilizar-una-pantalla-lcd-de-un.html
https://www.todavianose.com/pantalla-nokia-5110-lcd-arduino/
https://www.luisllamas.es/conectar-arduino-a-un-display-lcd-nokia-5110/
https://www.arduinoecia.com.br/display-lcd-nokia-5110-arduino-uno/
Si se pierde algún link, aquí están todas las referencias en archivos pdf.
También ver a estos dos proyectos y estudiar sus referencias:
https://elektronled.blogspot.com/2019/07/termometro-con-4-puntos-de-medicion.html
https://elektronled.blogspot.com/2019/07/ventilador-de-pc-controlado-con-senal.html
¿Es esta tu primera visita? ¡Utilice los marcadores del blog! Facilitan la navegación y son útiles para elegir temas.
No te olvides de leer el último post, hay una descripción de nuestro objetivo y también un guion de los marcadores.
¿Has encontrado un error? ¿Algún link quedó roto? Toma mi correo electrónico en el perfil del blog y me envía un mensaje para que pueda solucionar.
A continuación se muestran los videos que se publicaron en youtube:
He configurado todo para trabajar con el Arduino nano debido a su pequeño tamaño, pero el circuito también se probó en el Arduino UNO R3. Los ventiladores deben ser de estos que se usan en los ordenadores y los pequeños condensadores de 100 uF sirven para eliminar el molesto ruido que se genera en el PWM. Si no te irritan los ruidos molestos, puedes irte sin estos condensadores.
A continuación el circuito:
Descarga aquí el circuito en formato pdf.
Descarga aquí el circuito en formato png.
Descarga aquí el circuito en formato ps.
Descarga aquí todo el proyecto para KiCad versión 5.0.2.
¡Muy bien! Antes de empezar debe asegurarse de que su entorno Arduino pueda compilar toda la programación, y para esto necesita instalar las siguientes librerías:
adafruit_gfx_library_master.zip
adafruit_pcd8544_nokia_5110_lcd_library_master.zip
thermistor.zip
Las dos primeras librerías son para la pantalla Nokia 5110, y la última para los termistores.
Después de instalar las librerías, abra la programación en su entorno Arduino y realice la compilación. Si todo va bien, es porque está bien. Entonces, puedes empezar el montaje.
Abajo la programación:
Aquí está el código en un archivo ino.
Y aquí el mismo código en un archivo txt.
Si! Si! Si! Esto és. Un archivo ino y un archivo txt son iguales, solo tienen texto. Dejé ambos formatos para que tenga la opción de abrir directamente en el entorno Arduino o en un editor de texto.
¿Eres un principiante como programador? Te recomiendo que estudies primero la programación en la versión a continuación, porque solo funciona la primera pantalla ya que el código es menos largo:
El código en la versión corta (archivo ino).
El código en la versión corta (archivo txt).
En la programación puedes cambiar estas variables:
ntcfanX = el termistor predeterminado para el ventilador X en el arranque;
ntcfanY = el termistor predeterminado para el ventilador Y en el arranque;
tempXMin = temperatura mínima de trabajo del ventilador X (usar valores por encima de cero);
tempXMax = temperatura máxima de trabajo del ventilador X (al menos unos 10 grados por encima de la temperatura mínima);
tempYMin = temperatura mínima de trabajo del ventilador Y (usar valores por encima de cero);
tempYMax = temperatura máxima de trabajo del ventilador Y (al menos unos 10 grados por encima de la temperatura mínima);
pwmXMin = el valor PWM en el que el ventilador X comienza a girar;
pwmYMin = el valor PWM en el que el ventilador Y comienza a girar.
Los valores de PWM varían de cero (mínimo) a 255 (máximo).
Puede probar todos estos valores de variables en las pantallas de configuración con el sistema encendido, luego cambiar en la programación y compilar (grabar) nuevamente con sus opciones.
Las fotos de la pantalla Nokia 5110 que utilicé:
El pequeño Arduino nano:
Y el PCB, listo y hermoso, y todo hecho a mano:
Este enorme condensador de 2200uF no es necesario. Por supuesto, lo quité e instalé uno más pequeño porque no había espacio para montar la PCB en su lugar. Un pequeño condensador de 100uF ya está exagerado si conecta el dispositivo a una buena fuente de alimentación (12V X 1A está muy bueno). No quería quitarme el gran condensador, pero me vi obligado a hacerlo. Me gusta instalar condensadores grandes en la entrada de alimentación de mis dispositivos.
Si no sabes nada de la pantalla Nokia 5110, estudie las referencias a continuación:
https://portal.vidadesilicio.com.br/display-lcd-nokia-5110/
https://hetpro-store.com/TUTORIALES/lcd-nokia-5110-arduino/
https://electronilab.co/tutoriales/tutorial-lcd-grafico-nokia-5110-con-arduino/
https://www.avdweb.nl/arduino/hardware-interfacing/nokia-5110-lcd
https://www.instructables.com/id/Arduinonokia-lcd-data-display-EASY-VERSION/
https://lastminuteengineers.com/nokia-5110-lcd-arduino-tutorial/
https://arduinoleaks.blogspot.com/2014/03/nokia-lcd-5110ejemplo-de-radar-grafico.html
https://www.altaruru.com/arduino-conectar-un-display-lcd-de-nokia-5110/#.XU8wGaeYXeR
https://miarduinounotieneunblog.blogspot.com/2016/01/como-utilizar-una-pantalla-lcd-de-un.html
https://www.todavianose.com/pantalla-nokia-5110-lcd-arduino/
https://www.luisllamas.es/conectar-arduino-a-un-display-lcd-nokia-5110/
https://www.arduinoecia.com.br/display-lcd-nokia-5110-arduino-uno/
Si se pierde algún link, aquí están todas las referencias en archivos pdf.
También ver a estos dos proyectos y estudiar sus referencias:
https://elektronled.blogspot.com/2019/07/termometro-con-4-puntos-de-medicion.html
https://elektronled.blogspot.com/2019/07/ventilador-de-pc-controlado-con-senal.html
¿Es esta tu primera visita? ¡Utilice los marcadores del blog! Facilitan la navegación y son útiles para elegir temas.
No te olvides de leer el último post, hay una descripción de nuestro objetivo y también un guion de los marcadores.
¿Has encontrado un error? ¿Algún link quedó roto? Toma mi correo electrónico en el perfil del blog y me envía un mensaje para que pueda solucionar.
Suscribirse a:
Entradas (Atom)