Un proyecto de investigación para explorar el principio de Herón invertido: ¿puede un rotor con agua mantener su giro usando solo la fuerza centrífuga?
Proyecto I+D — KOR Generadores — 2026Imaginate una regadera de jardín que gira sola. Eso, pero con ciencia detrás.
Un disco con dos brazos en espiral (como un caracol). Adentro de los brazos hay un canal por donde circula agua. El rotor gira gracias a un motorcito.
El agua entra por el centro y viaja hacia las puntas por los canales espirales. Cuando llega a la punta, sale por una boquilla chiquita como un chorro, apuntando "para atrás".
¿Puede el chorro de agua que sale empujar el rotor lo suficiente como para que el motor casi no trabaje? Si funciona, el motor solo tendría que vencer la fricción de los rodamientos.
Pensá en cuando girás un balde atado a una cuerda. El agua se aplasta contra el fondo del balde — esa es la fuerza centrífuga. Ahora imaginate que el balde tiene un agujerito en el fondo: el agua saldría disparada. Ese chorro de agua empuja el balde para el otro lado, como un cohete. Eso es exactamente lo que hace nuestra turbina, pero con brazos en espiral en vez de un balde.
Hace casi 2000 años, un inventor griego llamado Herón construyó la eolípila: una esfera que giraba sola usando chorros de vapor. Nuestro proyecto es una versión "invertida" de esa idea: en vez de que el chorro haga girar al rotor desde cero, el rotor YA está girando y el chorro compensa la energía que pierde. Es como pedalear una bicicleta cuesta abajo — una vez que arrancás, casi no necesitás esfuerzo.
Las ecuaciones que sostienen (o derriban) la idea.
Cuando algo gira, todo lo que está adentro "quiere" irse hacia afuera. El agua dentro de los brazos siente esta fuerza y se mueve hacia las puntas, generando presión.
Eso equivale a una columna de agua de 5.6 metros. Imaginate un edificio de 2 pisos empujando el agua hacia afuera. Todo gratis, sin bomba.
El agua sale por la boquilla a la misma velocidad que la punta del brazo, pero en dirección opuesta. En el "mundo real" (no girando), el agua sale quieta. No se lleva rotación = no frena el rotor.
En el laboratorio: vlab = ωR − v = 0 m/s. El agua sale muerta. Herón perfecto.
Hay dos fuerzas que compiten sobre el eje de rotación:
| Fuerza | Efecto | Torque |
|---|---|---|
| Coriolis — frena | El agua que se mueve hacia afuera "se atrasa" respecto al brazo | 0.619 N·m |
| Chorro reactivo — impulsa | El agua saliendo por la boquilla empuja el brazo para adelante | 0.619 N·m |
| Diferencia neta | Lo que el motor tiene que poner | ~0 N·m (0.13%) |
Si los torques se cancelan perfectamente, el motor solo paga la fricción de los rodamientos. Potencia estimada del motor en régimen: < 10 mW. La potencia hidráulica del chorro: ~32 W.
Imaginate que estás en una calesita. Tirás una pelota hacia afuera — la calesita frena un poquito (eso es Coriolis). Pero si la pelota sale por un tubo que apunta para atrás, el tubo empuja la calesita para adelante (eso es el chorro reactivo). Si la pelota sale con la velocidad justa, la calesita no frena ni acelera. ¡Queda igual!
Revisamos cada centímetro del recorrido del agua para ver si el motor gasta energía. Spoiler: casi no.
En mecánica, los técnicos usan tinta azul de Prusia para marcar dónde dos superficies se tocan realmente. Acá hacemos lo mismo pero con energía: "pintamos" cada tramo del sistema para ver dónde realmente hay un costo para el motor.
El agua entra por el eje con velocidad tangencial casi cero. Necesita acelerarse a 0.133 m/s para girar con el colector.
VEREDICTO: Despreciable. El motor ni se entera.
La fuerza centrífuga empuja el agua hacia afuera — gratis, sin costo para el motor. La espiral helicoidal le da la velocidad tangencial por geometría, no por empuje de paredes.
Si el ángulo de hélice cumple: tan(α) = ωr / v_r, el agua sigue la curva natural y no genera torque.
VEREDICTO: El motor no se entera de que hay flujo.
El agua sale a v = ωR = 26.18 m/s relativo a la boquilla, pero opuesta al giro. En el laboratorio: v = 0. ¡El agua sale quieta!
VEREDICTO: No se lleva rotación. Balance perfecto.
El chorro que sale genera una fuerza de reacción tipo cohete sobre la boquilla, empujando el brazo en dirección del giro. Esto ayuda al motor en vez de frenarlo.
VEREDICTO: El chorro compensa exactamente al Coriolis.
| Componente | Costo motor |
|---|---|
| Rodamientos (fricción mecánica) | 2-5 W |
| Aceleración entrada del agua | 0.24 W |
| Flujo por la espiral (centrífuga) | 0 W |
| Salida del chorro (Herón) | 0 W |
| TOTAL en régimen | ~5 W (solo fricción) |
Comparar con la potencia hidráulica del chorro: ~32 W. El sistema mueve 32 W de agua con ~5 W de motor. No es energía gratis — la centrífuga simplemente redirige la energía de rotación que ya está almacenada en el sistema.
El diseño final del prototipo Herón Invertido, integrado desde 4 análisis independientes.
| Radio | 100 mm |
| Diámetro total | 200 mm |
| Brazos | 2 (simétricos, 180°) |
| Geometría | Espiral Arquimediana |
| Radio hub central | 8 mm |
| Diámetro interno | 6.0 mm |
| Pared del canal | 2.0 mm mín |
| Diámetro externo | 10.0 mm |
| Sección | Circular |
| Largo total | ~180 mm |
| Diámetro salida | 3.0 mm |
| Orientación | Tangencial, opuesta al giro |
| Ratio contracción | 4× (6→3 mm) |
| Largo boquilla | 12 mm (L/D = 4) |
| Velocidad | 1000 RPM |
| Vel. de punta | 10.47 m/s |
| Presión centrífuga | 54.7 kPa |
| Caudal total | ~148 mL/s (8.9 L/min) |
| Potencia motor | < 10 mW |
| Material | PETG |
| Altura de capa | 0.15 mm |
| Perímetros | 4-5 (≥2mm pared) |
| Relleno | 40% Gyroid |
| Sellado | CA fino + XTC-3D epoxy |
| RPM máxima | 1500 (límite software) |
| Contención | Batea 60L + policarbonato |
| E-Stop | Botón NC en serie |
| Tensión | 12V DC (segura) |
| Presupuesto | ~$170 USD |
12V Supply ──┬── INA219 ──── L298N Motor Driver ──── Motor+Encoder
│
Arduino Uno: │
A4 (SDA) ──── INA219 (corriente/voltaje motor)
A5 (SCL) ──── DS3231 RTC (timestamps)
D2 (INT0) ─── Encoder canal A (RPM por interrupción)
D9 (PWM) ──── L298N ENA (control velocidad PID)
D10-D13 ───── SD card module (logging)
D7 ────────── Botón E-Stop (NC, INPUT_PULLUP)
Logging: CSV a 10 Hz
Formato: timestamp, rpm, pwm, voltaje, corriente, watts, test_label
Usando SimScale y OpenFOAM para simular el comportamiento del fluido antes de construir.
La geometría pasó por 3 iteraciones hasta lograr un STL manifold (cerrado, sin agujeros) apto para CFD:
Hub + brazos separados. Problema: no era manifold, tenía agujeros en las uniones. OpenFOAM no podía mallar.
DescartadoBoolean union hub+brazos. Fix de geometría pero aún tenía aristas no-manifold en las intersecciones.
MejoradoBoolean union completa con manifold3d. STL único y watertight con 3 boundary loops: 1 inlet (hub) + 2 outlets (boquillas). Listo para CFD.
Un modelo 3D "manifold" es como un globo inflado: no tiene agujeros, todas las caras apuntan para afuera, y podés decir claramente qué está adentro y qué está afuera. Si el modelo tiene agujeros o caras cruzadas, el programa de simulación no sabe por dónde fluye el agua y da resultados basura. Tardamos 3 versiones en lograrlo.
Simulación en SimScale usando MRF (Moving Reference Frame) para modelar la rotación. Geometría STL v3 importada.
1. Eje de rotación: Debe ser perpendicular al plano de la espiral. Si la espiral está en XY, el eje MRF es (0,0,1). Si el hub apunta en Y, el eje es (0,1,0). Estaba mal configurado.
2. Test cerrado primero: Correr con boquillas tapadas (Wall/no-slip). Si la presión máxima ≠ ~55 kPa, el MRF está mal. Este es el test de validación.
3. Forces & Moments: Agregar Result Control sobre boundary 'walls' con eje de momento = eje de rotación para medir torque.
4. Escala: STL en milímetros — aplicar factor 0.001 al importar para convertir a metros.
Casos completos con diccionarios, condiciones de borde, y scripts de ejecución. Guía detallada en GUIA_SIMFLOW_CFD.md.
Puntas cerradas, sin flujo. Baseline para validar que el MRF genera presión centrífuga de 54.7 kPa. Si esto no da bien, nada de lo demás sirve.
Pendiente de correrPuntas abiertas, boquillas de 3mm. El caso principal: ¿sale el agua a v = ωR en el marco rotante?
Pendiente de correrCon zona porosa (Darcy-Forchheimer) a r≈50mm simulando turbina. ΔP~10kPa de extracción. ¿Baja la velocidad de salida?
Pendiente de correrImaginate que estás filmando una calesita. Si filmás desde el piso, todo gira. Pero si te subís a la calesita y filmás desde ahí, todo parece quieto — excepto que sentís una fuerza rara que te empuja para afuera (centrífuga) y otra que te desvía cuando caminás (Coriolis). MRF hace exactamente eso: resuelve las ecuaciones del fluido "subido a la calesita". Es más barato computacionalmente que hacer girar la malla entera.
12 gráficos generados por Python + Jupyter que muestran el comportamiento teórico del sistema.
El protocolo experimental que va a confirmar o refutar la teoría.
Sin agua, boquillas tapadas. 1000 RPM estable por 45 segundos.
Medimos: P_seco = watts del motor (solo fricción mecánica).
Esperado: unos pocos watts de fricción.
Agua en los brazos, boquillas TAPADAS. 1000 RPM estable.
Medimos: P_cerrado.
Esperado: P_cerrado > P_seco (más inercia por el agua).
Boquillas ABIERTAS, flujo activo. 1000 RPM estable.
Medimos: P_abierto.
Si Herón funciona: P_abierto ≈ P_cerrado (el chorro compensa Coriolis).
Si NO funciona: P_abierto > P_cerrado (el flujo carga al motor).
A 1000 RPM con flujo activo, desconectar el motor.
Medimos: ¿ω se mantiene o decae?
Si Herón funciona: ω se mantiene (el chorro lo sostiene).
200 a 1500 RPM en pasos de 100. Boquillas abiertas.
Medimos: watts en cada punto.
Resultado: curva de potencia completa para mapear el comportamiento.
Todo lo que necesitamos para construir el prototipo.
| # | Componente | Costo |
|---|---|---|
| 1 | Motor DC 12V con encoder (JGB37-520) | $12 |
| 2 | Acoplamiento flexible 8×8mm | $3 |
| 3 | Rodamientos 608-2RS (×4) | $2 |
| 4 | Eje acero 8mm × 150mm | $4 |
| 5 | Filamento PETG 1kg | $25 |
| 6 | INA219 sensor corriente | $2 |
| 7 | Arduino Uno | $10 |
| 8 | L298N motor driver | $3 |
| 9 | SD card module + tarjeta 8GB | $4 |
| 10 | DS3231 RTC | $2 |
| 11 | Fuente 12V 3A | $12 |
| 12 | Batea plástica 60L (contención) | $15 |
| 13 | Reservorio agua 10L | $5 |
| 14 | Bomba sumergible retorno | $4 |
| 15 | Tubo silicona 6mm, 1m | $4 |
| 16 | Botón E-Stop NC | $2 |
| 17 | XTC-3D epoxy sellador | $25 |
| 18 | Tornillería M3 variada | $5 |
| 19 | Policarbonato 3mm 30×30cm | $8 |
| 20 | Lentes de seguridad (×2) | $6 |
| 21 | Termocontraíble variado | $4 |
| 22 | Cables Dupont variados | $4 |
| 23 | Cianoacrilato fino (sellado) | $5 |
| 24 | Contrapesos + epoxy balance | $3 |
| TOTAL | ~$169 USD | |
Cada paso documentado, errores incluidos. Así se aprende.
Primer documento con la idea: rotor de 10m con brazos helicoidales, turbina solidaria, sala al vacío. Cálculos analíticos iniciales. Presión centrífuga: 342.7 kPa a 5m de radio.
Refinamiento del concepto con turbina interna. Discusión sobre si la turbina frena o no frena al rotor.
Roadmap completo en 4 fases: modelo matemático → CFD → prototipo → pruebas. Stack de herramientas gratuitas definido.
5 módulos Python: espiral Arquimediana, momento angular, física del rotor centrífugo, barrido paramétrico, presupuesto energético. 16 gráficos generados. Jupyter Notebook interactivo.
Integración de 4 análisis independientes. R=100mm, 1000 RPM, boquilla 3mm, PETG. BOM de $170. Protocolo de 5 tests definido.
Modelo 3D del rotor con hub y brazos espirales. STL manifold para importar en SimScale/OpenFOAM. Dominio fluido generado.
sim_closed (validación MRF), sim_heron (puntas abiertas), sim_turbine (con turbina). Diccionarios completos, scripts de ejecución.
v1 tenía agujeros, v2 mejoró las uniones, v3 logró boolean union perfecta con manifold3d. STL watertight con 3 boundary loops. Lección: en CFD, la geometría tiene que ser perfecta o el solver no arranca.
Sitio desplegado en Cloudflare Pages con dominio custom, SSL automático, 9 secciones educativas. Deploy directo con wrangler desde la carpeta docs/.
Primera simulación dio valores bajos. Se detectaron 3 problemas: eje de rotación incorrecto, falta test cerrado de validación, y falta de Result Control para Forces & Moments. Correcciones en curso.
Obtener presión de 55 kPa en test cerrado. Luego correr con boquillas abiertas y medir velocidad de salida.
Modelar el rotor final con las coordenadas exactas de la espiral. Preparar para impresión 3D.
Imprimir en PETG, sellar con epoxy, ensamblar con motor y Arduino.
Ejecutar los 5 tests del protocolo, 10 repeticiones cada uno. Respuesta definitiva.
Todo el código y documentación está en GitHub, abierto y público.