38. Proyecto integrador: laboratorio interactivo de campos y circuitos

Integraremos modelos físicos, algoritmos numéricos y visualización en una aplicación web. El resultado permitirá explorar la superposición de campos eléctricos y la evolución temporal de un circuito RC, verificar magnitudes y relacionar ecuaciones con representaciones gráficas.

38.1 Propósito del proyecto

El objetivo no es copiar fórmulas dentro de una interfaz, sino construir un modelo ejecutable cuyo comportamiento pueda explicarse, comprobarse y modificar. El laboratorio reúne física, programación, métodos numéricos, diseño de interacción y comunicación científica.

38.2 Preguntas que debe responder

  • ¿Cómo se combinan los campos producidos por varias cargas?
  • ¿Qué relación existe entre campo, potencial y fuerza?
  • ¿Cómo evoluciona un capacitor durante carga y descarga?
  • ¿Cómo cambian corriente, energía y constante de tiempo al variar R y C?
  • ¿Cómo sabemos que los cálculos y gráficos son coherentes?

38.3 Alcance mínimo viable

El proyecto tendrá dos módulos. El primero calcula campo y potencial de dos cargas puntuales en un punto de prueba. El segundo calcula la respuesta exacta de un circuito RC serie ante una fuente continua.

Un alcance acotado y verificable es preferible a una simulación extensa cuyas aproximaciones no estén documentadas.

38.4 Requisitos funcionales

  1. Modificar parámetros mediante controles accesibles.
  2. Recalcular inmediatamente las magnitudes.
  3. Representar dirección, signo y escala.
  4. Ofrecer configuraciones útiles y restablecimiento.
  5. Funcionar en pantallas grandes y pequeñas.
  6. Informar el modelo y sus límites.

38.5 Requisitos de calidad

Los valores deben usar unidades coherentes; los controles no deben producir singularidades; el dibujo debe ajustarse al tamaño disponible; los resultados deben ser reproducibles y las ecuaciones deben poder probarse fuera de la interfaz.

38.6 Arquitectura por capas

Separaremos el proyecto en estado, modelos físicos, transformación a coordenadas de pantalla, renderizado y control de eventos.

entrada → estado → modelo → resultados → representación

Este flujo unidireccional evita que el canvas se convierta en la fuente de verdad.

38.7 Estado de la aplicación

const estado = {
  modo: "campo",
  campo: { q1: 3e-6, q2: -2e-6, x: 0, y: 0.8, qPrueba: 1e-9 },
  rc: { fuente: 12, resistencia: 10e3, capacitancia: 100e-6,
        tiempo: 1, cargando: true }
};

Todos los valores internos están expresados en SI, aunque la interfaz muestre µC, nC, kΩ, µF o ms.

38.8 Funciones puras para la física

Una función pura depende solo de sus argumentos y no modifica datos externos. Esto facilita probar el modelo con valores conocidos.

function campoDeCarga(q, dx, dy) {
  const r2 = dx * dx + dy * dy;
  const r = Math.sqrt(r2);
  const factor = 8.9875517923e9 * q / (r2 * r);
  return { ex: factor * dx, ey: factor * dy };
}

38.9 Modelo de carga puntual

E = kq r⃗/r³
V = kq/r

El campo es vectorial y el potencial es escalar. Para múltiples cargas se suman componentes de campo y valores de potencial.

38.10 Posiciones del módulo de campo

Las cargas fuente se ubican en (−1,0) m y (+1,0) m. El punto de prueba se desplaza dentro de una región rectangular. Mantener posiciones físicas independientes de los píxeles permite redimensionar la vista sin alterar resultados.

38.11 Superposición

E⃗total=ΣE⃗i
Vtotal=ΣVi

Las componentes de E pueden cancelarse aunque los módulos individuales sean grandes. El potencial puede anularse sin que el campo lo haga.

38.12 Fuerza sobre una carga de prueba

F⃗=qpE⃗

Una carga de prueba positiva experimenta fuerza en la dirección del campo; una negativa, en sentido contrario. La prueba se considera suficientemente pequeña para no modificar la distribución fuente.

38.13 Singularidad y radio de exclusión

El modelo puntual diverge cuando r→0. Para mantener la visualización finita, el motor omite la contribución en una pequeña región de exclusión alrededor de cada carga y no dibuja allí la cuadrícula de vectores.

El radio de exclusión es una decisión de visualización y define un dominio no calculable; fuera de él se conserva la ecuación puntual.

38.14 Mapa vectorial

Una cuadrícula de puntos muestra flechas en la dirección local de E. Como el módulo varía muchos órdenes de magnitud, la longitud visual se comprime de forma logarítmica; los resultados numéricos conservan el valor físico real.

38.15 Color de potencial

El fondo puede codificar signo y magnitud aproximada del potencial: tonos cálidos para V>0 y fríos para V<0. El color es una ayuda cualitativa y no reemplaza la lectura numérica.

38.16 Modelo RC de primer orden

Para una fuente Vs, una resistencia R y un capacitor C en serie:

Vs=Ri+vC
i=C dvC/dt

La ecuación diferencial resultante describe una aproximación exponencial al equilibrio.

38.17 Constante de tiempo

τ=RC

Durante una carga desde cero, al tiempo τ el capacitor alcanza aproximadamente 63,2 % del voltaje final. Cerca de 5τ el transitorio está prácticamente completo.

38.18 Carga del capacitor

vC(t)=Vs(1−e−t/τ)
i(t)=(Vs/R)e−t/τ

Al inicio el capacitor descargado se comporta como un cortocircuito ideal; en régimen continuo se comporta como circuito abierto.

38.19 Descarga del capacitor

Si el capacitor comienza con V₀ y se descarga a través de R:

vC(t)=V₀e−t/τ
i(t)=−(V₀/R)e−t/τ

El signo negativo indica que la corriente real es opuesta al sentido elegido para la carga.

38.20 Carga y energía almacenada

q=CvC
UC=½CvC²

Durante la carga ideal desde una fuente constante, la mitad de la energía entregada termina almacenada y la otra mitad se disipa en R.

38.21 Potencia instantánea

En el resistor, PR=i²R. En el capacitor, PC=vCi: es positiva cuando absorbe energía y negativa cuando la devuelve. La suma debe respetar la potencia de la fuente según la convención elegida.

38.22 Solución analítica y simulación numérica

El laboratorio usa la solución exponencial exacta porque existe para este circuito ideal. Un integrador numérico sería útil para fuentes variables, conmutaciones múltiples o componentes no lineales, pero introduciría error de discretización.

38.23 Coordenadas físicas y de pantalla

function aPantalla(x, y, vista) {
  return {
    x: vista.cx + x * vista.escala,
    y: vista.cy - y * vista.escala
  };
}

El eje y se invierte porque el canvas crece hacia abajo.

38.24 Renderizado de alta densidad

El tamaño CSS expresa la geometría visible; el bitmap interno se multiplica por devicePixelRatio. Luego se ajusta la transformación del contexto para mantener coordenadas en píxeles CSS y obtener líneas nítidas.

38.25 Bucle de actualización

Cuando cambia un control, la aplicación lee y convierte los datos, ejecuta el modelo, actualiza resultados y vuelve a dibujar. La animación RC modifica solo el tiempo y reutiliza el mismo flujo.

leer → validar → calcular → presentar → dibujar

38.26 Accesibilidad

Los controles tienen etiquetas y valores visibles, los botones expresan su estado con atributos ARIA y los resultados numéricos acompañan al gráfico. Por eso el significado no depende exclusivamente del color o del canvas.

38.27 Formato de magnitudes

Un resultado debe mostrar una cantidad legible sin ocultar su orden de magnitud. Conviene elegir prefijos según el valor y evitar demasiados decimales.

const enMili = amperes => `${(amperes * 1e3).toFixed(3)} mA`;
const enMicro = coulombs => `${(coulombs * 1e6).toFixed(3)} µC`;

38.28 Pruebas del módulo de campo

  • Dos cargas iguales y simétricas producen E=0 en el punto medio.
  • Dos cargas opuestas e iguales producen V=0 en el punto medio, pero E≠0.
  • Duplicar una carga duplica su contribución.
  • Aumentar al doble la distancia reduce el campo a la cuarta parte.
  • Cambiar el signo de qp invierte la fuerza, no el campo.

38.29 Pruebas del módulo RC

  • En carga, vC(0)=0 e i(0)=Vs/R.
  • En descarga, vC(0)=Vs e i(0)=−Vs/R.
  • En t=τ, la carga llega a 63,2 % y la descarga conserva 36,8 %.
  • Al crecer t, la corriente tiende a cero.
  • Duplicar R o C duplica τ.

38.30 Laboratorio interactivo

Elegí un módulo y modificá sus parámetros. En campo, las cargas fuente permanecen en x=±1 m y el punto verde es la prueba. En RC, el eje temporal está normalizado hasta 5τ y el punto marca el estado seleccionado.

Campo Ex—
Campo Ey—
Módulo |E|—
Potencial V—
Fuerza |F|—
Dirección—

—

Módulo de campo eléctrico activo.

38.31 Lectura del módulo de campo

Las flechas pequeñas muestran direcciones locales y la flecha verde muestra el campo en el punto de prueba. El círculo de la fuente es rojo para carga positiva, azul para negativa y gris si vale cero.

El campo informado es la suma exacta del modelo; la longitud de las flechas solo se escala para visualización.

38.32 Lectura del módulo RC

La curva amarilla representa vC y la celeste representa la corriente normalizada por su módulo inicial. Una línea vertical y dos puntos indican el instante elegido.

El esquema muestra el sentido convencional de corriente; en descarga el resultado lleva signo negativo respecto del sentido de carga.

38.33 Configuraciones notables

En el módulo de campo, el botón prepara un dipolo con cargas opuestas e iguales y coloca la prueba en el eje perpendicular. En RC, ajusta el tiempo a τ. Estos estados permiten comparar el resultado con predicciones cualitativas antes de leer los números.

38.34 Límites del modelo

  • Las cargas son puntuales, inmóviles y están en el vacío.
  • No se consideran relatividad, radiación ni interacción de la carga de prueba.
  • El circuito usa componentes ideales y una conmutación instantánea.
  • R y C son constantes; no dependen de temperatura, frecuencia ni tensión.
  • La solución RC supone una condición inicial conocida.

38.35 Mejoras posibles

El proyecto puede ampliarse con cargas arrastrables, líneas equipotenciales, partículas móviles, redes de resistencias, circuitos RLC, integración numérica, importación de netlists y exportación de datos. Cada mejora debe acompañarse de nuevas pruebas y documentación del modelo.

38.36 Actividad integradora resuelta

Usá q₁=+3 µC en (−1,0) m, q₂=−2 µC en (+1,0) m y una carga de prueba de +1 nC en (0;0,8) m.

  1. Calculá E⃗ y V en la prueba.
  2. Calculá la fuerza sobre la prueba.
  3. Para Vs=12 V, R=10 kΩ y C=100 µF, calculá τ, vC, i, q y U en t=τ durante la carga.
Ver solución

Ambas distancias valen √1,64=1,2806 m. La superposición produce Ex=2,140×10⁴ N/C, Ey=3,423×10³ N/C y |E|=2,167×10⁴ N/C.

V=k(q₁+q₂)/r=7,018×10³ V. Para qp=1 nC, |F|=21,669 µN.

τ=RC=1,00 s. En t=τ: vC=12(1−e−1)=7,585 V; i=(12/10000)e−1=0,441 mA.

q=CvC=758,5 µC y U=½CvC²=2,877 mJ.

38.37 Errores frecuentes

  • Sumar módulos de campo en lugar de componentes.
  • Usar centímetros o microcoulombs sin convertirlos a SI.
  • Interpretar una flecha escalada como medida directa.
  • Confundir potencial cero con campo cero.
  • Usar t/R C en lugar de t/(RC) en el exponente.
  • Olvidar la condición inicial al cambiar entre carga y descarga.
  • Mezclar cálculo, estado y dibujo en una única función imposible de probar.
  • Validar solo casos visualmente atractivos y no casos límite.

38.38 Cierre del curso

  • Las cargas crean campos y potenciales; la superposición conecta fuentes con efectos.
  • Las leyes de conservación y Kirchhoff convierten fenómenos en ecuaciones.
  • R, C y L determinan disipación, almacenamiento y dinámica.
  • Los modelos de CC, transitorios y CA comparten una misma base física.
  • JavaScript permite convertir ecuaciones en experimentos reproducibles.
  • Una simulación confiable declara sus convenciones, unidades, aproximaciones y pruebas.

El resultado más valioso no es solo el laboratorio terminado, sino el método: formular, modelar, calcular, visualizar, verificar y comunicar.