El proyecto de reloj terminó hace un año. Este es el comienzo de un nuevo proyecto, que podría convertirse en una especie de monitor de energía.
Aquí hay una imagen de dos formas de onda en un osciloscopio de la vieja escuela de ~1990.
Sine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsSine wave is volts, pulse is ampsLa onda sinusoidal es voltios, el pulso es amperios.
Si las unidades y escalas son correctas, la integración de voltios * amperios es la potencia real que utiliza la carga. Lo hice, mirándolo fijamente y obtuve 47 vatios. Fue un poco decepcionante porque este es el dispositivo bajo prueba.
30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulb30W CFL bulbbombilla CFL de 30W
Si se tratara de una bombilla incandescente, los voltios y los amperios serían formas de onda muy similares, perfectamente alineadas. Pero la mayoría de los dispositivos electrónicos actuales exigen energía durante una fracción de un ciclo de voltaje.
Ver más... Las placas de la versión 0 llegaron poco antes de fin de año y han cumplido su propósito. Espero las placas de la versión 1 mañana. Aquí está la placa de la versión 0 que muestra la onda sinusoidal de voltaje en una pantalla de 240x320 de 2,8 pulgadas y una placa adicional. La tapa de la botella es para escala; Mire el pequeño condensador en el círculo amarillo. El proveedor de PCB lo monta; Estoy bastante seguro de que no puedo.
The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.The display is mounted to the red card, which plugs in to a connector mounted to the vertical row of holes at bottom left-center.La pantalla está montada en la tarjeta roja, que se conecta a un conector montado en la fila vertical de orificios en la parte inferior central izquierda.
Probar la conexión wifi mientras se esperan las placas de la versión 1 sugiere que entre 40.000 y 50.000 bytes por segundo es una velocidad de datos sostenible con todo lo demás que esta computadora necesita hacer. Quiero observar los canales de voltaje y corriente, por lo que aproximadamente 20 KB/s para cada forma de onda digitalizada. En algún momento querré usar una FFT en los datos y comencé a pensar en los tamaños de búfer. A las FFT les gusta mucho el poder de 2 tamaños. ¿Cuánto cuesta? Aquí hay un código de prueba:
dt = New Table( "Untitled", "invisible", New Column( "size" ), New Column( "time" ) );
dt << New Column( "factors",
character,
formula(
primes = [2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113
127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257
263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409
419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571
577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733
739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907
911 919 929 937 941 947 953 967 971 977 983 991 997 1009];
start = size;
ip = 1;
q = primes[ip];
result = "";
While( start > 1,
If( Mod( start, q ) == 0,
result = result || Char( q ) || ",";
start = start / q;//
, //
ip += 1;
q = primes[ip];
If( q * q > size, Break() );
)
);
If( start > 1,
result = result || Char( start )
);
result;
)
);
For( i = 2, i <= 2 ^ 19, i += 1,
x = 0;
x = J( i, 1, Random Uniform() );
start = HP Time();
FFT( {x} );
end = HP Time();
dt << addrows( 1 );
dt:size[N Rows( dt )] = i;
dt:time[N Rows( dt )] = (end - start) / 1e6;
If( i == 10,
dt << Graph Builder(
Size( 1709, 424 ),
Show Control Panel( 0 ),
Variables( X( :size ), Y( :time ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Marker Size( 0 ), Marker Drawing Mode( "Normal" )}
)
)
);
Wait( .1 );
);
If( Mod( i, 100 ) == 0,
Wait( 0 )
);
);
La tabla se ve así:
2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 is great,3 and 5 nice, maybe 7.2 es genial, 3 y 5 son buenos, tal vez 7.
Hace un bonito gráfico:
The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.The fast buffer sizes, near the bottom, don't have large factors.Los tamaños de búfer rápidos, cerca del final, no tienen factores grandes.
¿Qué hay en esa extraña pila de puntos alrededor de 9500? Selecciona, subconjunto, echa un vistazo...
Bigger factorsBigger factorsBigger factorsBigger factorsBigger factorsBigger factorsBigger factorsBigger factorsBigger factorsBigger factorsBigger factorsBigger factorsFactores más importantes
Parece que JMP podrá crear un panel en tiempo real si uso un búfer de muestra de 1024 o 2048.
Very fast.Very fast.Very fast.Very fast.Very fast.Very fast.Very fast.Very fast.Very fast.Very fast.Very fast.Very fast.Muy rapido.
Incluso a 60 veces por segundo, está por debajo del 1%. Puedo ejecutar FFT en esp32. Luego, en lugar de enviar formas de onda completas, tal vez simplemente envíe los N rangos de frecuencia y amplitudes superiores. Un montón de compensaciones a considerar.
Aún así. Recién calibrada con una carga ficticia de 160 Ω, esta es una CFL nominal de 13 vatios. El ESP32 usa wifi para crear gráficos y medidores en un navegador web.
La intensidad de la señal wifi transmitida por el ESP32 agrega ruido al voltaje digitalizado. Con esto hacia abajo, la curva sinusoidal se ve bastante suave. El gráfico FFT está superpuesto... ese no es el eje Y, es el contenedor de 60 Hz para la FFT. Esta FFT tiene una escala lineal en el eje Y.