Caudalímetro de aire residencial con Arduino: Construcción y monitorización
Componentes y suministros
![]() | Arduino UNO | × | 1 |
![]() | Cables jumper (genéricos) 25 cables total | × | 25 |
![]() | Protoboard (genérica) | × | 1 |
![]() | Potenciómetro rotativo, 10 kΩ | × | 1 |
![]() | Adafruit LCD RGB con retroiluminación - 16x2 | × | 1 |
![]() | Resistencia pasante, 220 kΩ | × | 1 |
| Sensor voltaje Diymall DC 0-25V | × | 1 | |
| Amplificador señal DROK AD620 | × | 1 | |
| Anemómetro de copas | × | 1 |
Herramientas necesarias
![]() | Soldador (genérico) |
Acerca de este proyecto
Antecedentes
Nos encargaron crear un caudalímetro de aire para uso residencial. En la industria HVAC actual, los únicos dispositivos de detección de flujo de aire son para sistemas industriales. Los dispositivos actuales para calcular caudal en registros industriales son demasiado grandes para registros residenciales o no pueden calcular el caudal debido a las menores salidas de aire de sistemas HVAC residenciales.
Cómo funciona
Para generar señal a partir del flujo de aire, usamos un anemómetro de copas para captar el aire. Diseñamos aspas personalizadas impresas en 3D con Autodesk Inventor para optimizar el rendimiento. También imprimimos en 3D una carcasa para el anemómetro.


Para leer la señal del anemómetro, se eligió un sensor de voltaje. La señal también necesitaba amplificación para lectura más precisa. El amplificador multiplica el voltaje de salida del anemómetro por 10 (ajustable entre 1.5x y 1000x según voltaje de entrada).
Un Arduino Uno lee la señal analógica del sensor de voltaje y controla lo que se muestra en la pantalla LCD. Queríamos velocidad del viento en CFM (pies cúbicos por minuto), así que lo mostramos en pantalla.
La construcción
Electrónica
Primer paso: el anemómetro. Fotos del dispositivo:


Mira la imagen "Vista superior anemómetro". El punto donde las aspas se conectan es en L y muy fino. No aguantará altas velocidades, así que diseñamos nuevas aspas: más gruesas y con mango más robusto. El propósito: reducir el hueco de aire entre aspa y carcasa, aumentando aire captado y voltaje producido. Fotos de la unión aspa-anemómetro:

¿Hace diferencia? Hicimos pruebas de análisis de esfuerzo en Autodesk Inventor para ver cuánto más resistente es el nuevo diseño. Resultados:


Las nuevas aspas son mucho más efectivas a altas velocidades. Archivos STL en sección archivos. NO MONTES LAS NUEVAS ASPAS AÚN.
Coloca el anemómetro modificado en la carcasa. Archivos STL de la carcasa en sección archivos. Sin aspas, desliza el anemómetro por el agujero inferior de la carcasa. Pega la base del anemómetro a dos círculos de madera fina (Hobby Lobby). Taladra 4 agujeros pequeños a través de círculos y plástico ABS. Uno para pasar cables, tres para tornillos. Aspecto final:

Cablea anemómetro al amplificador. Foto del amplificador:

* Todos los cables del amplificador son macho-macho
Toma dos cables macho-macho (los colores no importan, los llamaré por los nuestros). Suelda cable rojo al círculo +S derecho; otro extremo al cable rojo del anemómetro. Suelda cable negro al círculo -S derecho; otro extremo al cable amarillo del anemómetro. Cinta aislante ayuda a fijar.


Cablea amplificador a batería. Suelda cable amarillo a GND derecho; otro extremo a cable negro de conector batería. Suelda cable blanco a Vln derecho; otro extremo a cable rojo de conector batería.
Cablea amplificador a sensor voltaje. Suelda cable azul a GND amplificador → VCC sensor voltaje. Suelda cable verde a Vout amplificador → GND sensor voltaje.


Cablea sensor voltaje a Arduino y termina cableado. El diagrama en esquemáticos muestra esta parte.
Toques finales
¡Lo más difícil está hecho! Coloca electrónica en el caudalímetro. Usa tablero de espuma como techo de la carcasa del ventilador. Pegamento fuerte para fijar. Coloca electrónica en la espuma y usa más espuma para encerrarla. Fotos:

Se cortaron agujeros en la espuma para acceso a baterías 9V de Arduino y amplificador.

Construye el embudo. Usamos material PVC para las 4 tablas trapezoidales. Unimos con pegamento fuerte y silicona. Mismo método para unir embudo a carcasa. En el extremo grande, burlete perimetral para sellar al presionar contra rejilla. Sección transversal grande: 14" x 14". Vista frontal:

Calibración
Probamos con dispositivo de caudal conocido. Primer código mostraba voltaje en LCD. Usamos esos datos para crear ecuaciones y mostrar CFM. Datos de calibración:


En el gráfico hay dos curvas: caudal inicial y caudal real. Difieren porque al embudar el aire, la velocidad disminuye ligeramente. Usamos la ecuación de mejor ajuste para caudal real:
y = 1.1409x² + 44.958x en nuestro código Arduino.
El código se divide en tres zonas: velocidad cero, baja/media, y alta. Podrías usar la ecuación anterior para todo el rango, pero hallamos una mejor para baja/media:
- CFM Alto: y = 1.1409x² + 44.958x
- CFM Medio/Bajo: y = 40x + 20
- CFM Cero: y = 0
Código en sección código. Súbelo a Arduino y ¡listo!
Calibración propia (opcional)
¿Quieres calibrar tú mismo? ¿Medir en m/s o mph? Pasos:
- Consigue forma de medir caudal real. Lo más barato: anemómetro de mano.
- Coloca anemómetro frente a ventilador con varias velocidades.
- Registra velocidad del anemómetro en cada ajuste.
- Haz que el caudalímetro lea voltaje de salida. Sube código "Voltage Sensor Code" a Arduino.
- Registra voltaje en cada velocidad del ventilador.
- En Excel: gráfico dispersión "Velocidad viento vs Voltaje".
- Usa línea de tendencia para ecuación que modele "Velocidad vs Voltaje".
- Si la tendencia no es lineal, busca ecuaciones separadas para zona baja y alta.
- Sustituye tus ecuaciones en "Flowmeter Code". Sube a Arduino y listo.
Código
Código Caudalímetro C/C++
1. #include <LiquidCrystal.h>
2.
3. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
4. // Pines usados
5.
6. // Valores resistencias del sensor
7. float R1 = 30000;
8. float R2 = 7500;
9.
10. void setup() {
11. Serial.begin(9600);
12. lcd.begin(16, 2);
13. // Habilita LCD
14. }
15.
16. void loop() {
17. int sensorValue = analogRead(A0);
18. // Lee valor sensor
19.
20. float voltage = ((5 * sensorValue * (R1 + R2)) / (1024 * R2));
21. // Ecuación voltaje real
22.
23. //*********************************************************//
24. // Ecuación CFM es función por tramos de voltaje,
25. // usamos if para dividir en regiones
26. //*********************************************************//
27.
28. if (voltage > 1) {
29. // Primera región: CFM alto
30. float cfm = (1.1409 * voltage * voltage) + 44.258 * voltage;
31. Serial.println(cfm);
32. lcd.print("CFM = ");
33. lcd.setCursor(0, 1);
34. lcd.print(cfm);
35. delay(1000);
36. lcd.clear();
37. delay(1000);
38. }
39. else if (voltage > 0.01 && voltage < 1) {
40. // Segunda región: CFM medio/bajo
41. float cfm = (40 * voltage + 20);
42. Serial.println(cfm);
43. lcd.print("CFM = ");
44. lcd.setCursor(0, 1);
45. lcd.print(cfm);
46. delay(1000);
47. lcd.clear();
48. delay(1000);
49. }
50. else {
51. // Ventilador parado: CFM cero
52. float cfm = 0;
53. Serial.println(cfm);
54. lcd.print("CFM = ");
55. lcd.setCursor(0, 1);
56. lcd.print(cfm);
57. delay(1000);
58. lcd.clear();
59. delay(1000);
60. }
61. }
Código para Sensor Voltaje C/C++
Código para leer voltaje si quieres calibrar tú mismo:
// Valores resistencias del sensor
float R1 = 30000;
float R2 = 7500;
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = ((5 * sensorValue * (R1 + R2)) / (1024 * R2));
Serial.println(voltage);
delay(1000);
}
Código Sensor Voltaje para LCD C/C++
Código para calibrar el caudalímetro tú mismo:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Pines usados
// Valores resistencias del sensor
float R1 = 30000;
float R2 = 7500;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = ((5 * sensorValue * (R1 + R2)) / (1024 * R2));
Serial.println(voltage);
lcd.print("V = ");
lcd.setCursor(0, 1);
lcd.print(voltage);
delay(1000);
lcd.clear();
delay(1000);
}
Piezas personalizadas y cajas
Esquemáticos
Proceso de manufactura
- Purificadores de Aire: Diseño, Historia y Tendencias Futuras
- Fabricación de Tanques de Oxígeno: De Materias Primas a Aseguramiento de Calidad
- Ambientadores: De los aromas antiguos a la tecnología de enchufes modernos
- El oxígeno: del descubrimiento antiguo a la potencia industrial moderna
- Sistemas de Aire Acondicionado: Diseño, Fabricación y Tendencias Futuras
- Globos Aerostáticos: De los Montgolfier al Vuelo Moderno
- Sistemas de Airbag: Diseño, Historia e Innovaciones Futuras
- Construye tu Juego "UFO Attack" con Arduino UNO y Pantalla MAX7219
- Reloj 3D RGB Arduclock – Bluetooth, LED NeoPixel y RTC
- Monitor de Salud Fluvial: Sistema de Calidad de Agua con Arduino
- Construye un Iron Man animado con Arduino: componentes, sensores y guía paso a paso






