Muy interesante, me suscribo al hilo. De momento ya he aprendido algo: no conocía el MPLAB Mindi, así que muchas gracias
https://www.altinkaya.eu/80-plug-in-enclosures
hola dominusDRR, en estos enlaces hay información que te puede servir para tu proyecto:
https://docs.openenergymonitor.org
https://docs.openenergymonitor.org/electricity-monitoring/index.html
Buena pinta.
La tira de vías que tienes en la parte superior, junto a R26, ¿son para diagnósticos?, ¿o las has hecho así de grandes por otra razón?
Buena pinta.
En caso negativo, ¿no te interesaría dejar algunos puntos de diagnóstico a lo largo de la PCB donde chequear con el multímetro u osciloscopio fácilmente?
Yo creo que te está contando 2000 ticks del Timer2
Pues muy bien, menos mal que te diste cuenta del cambio de la resistencia.
Lo que no entiendo es lo de la forma de onda AC. ¿No debería salirte una curva de 50/60Hz?
Bueno, pues toca esperar. No te imaginas la de veces que me ha pasado a mí algo parecido.
He leido tu proyecto y me parecio increible la verdad, felicidades. Pero tengo una duda, este proyecto funciona solamente para frecuencias de la red electrica o tambien sirve para niveles de frecuencia mas altos, como por ejemplo 20kHz.
He leido tu proyecto y me parecio increible la verdad, felicidades. Pero tengo una duda, este proyecto funciona solamente para frecuencias de la red electrica o tambien sirve para niveles de frecuencia mas altos, como por ejemplo 20kHz.
En teoría si, ya que el cálculo matemático del RMS no depende de la frecuencia.
Dependería de la velocidad de muestreo del conversor ADC. Si puede tomar muestras mayores que 20 kHz, digamos 200 kSPS o más, el cálculo sería mucho más aproximado a la realidad.
Por cierto, ¿por qué ocultas las notas de la canción?
¿Pero necesitas estar calculando en tiempo real?.
Yo en mi Dimmer con medición de consumo tomo 10 ondas completas y luego hago todos los cálculos y espero al siguiente cruce por cero para arrancar el proceso de nuevo.
Muy bien, DominusDRR, muy interesante.
Veo en la onda cierta distorsión justo después de cada cresta. ¿Es así o será cosa de la foto?
Para conseguir un valor más exacto deberías calcular el valor RMS de un número par de periodos exactos.
Por ejemplo comenzando la primera conversión con el cruce por cero y terminando la última conversión lo más cerca del siguiente cruce por cero que sea par.
Puedes simular en una hoja excel o con un programa el resultado de hacer los cálculos con una onda sinusoidal perfecta.
Otra solución mejor que el retardo es añadir histéresis con realimentación positiva.
https://es.wikipedia.org/wiki/Disparador_Schmitt
Hola, estoy siguiendo tu proyecto.
Creo que para descartar un problema de la interrupción externa, deberías realizar la parte que mencionaste que también medirías la frecuencia.
Al hacer eso, ya no dependes del temporizador 4 que genera interrupciones cada 100 us, ni del ADC.
Es decir, tal vez no necesitas el modulo de captura que estás pensando usar para medir la frecuencia, me refiero a que mediante el flanco positivo de la interrupción externa, hagas algo similar que utilizaste para medir cuanto tiempo te tomaba en realizar el cálculo del RMS de un periodo.
Es decir cuando sucede dicha int externa, capturas el valor del temporizador central o Core Timer, y en la siguiente interrupción, nuevamente capturas ese valor para realizar la diferencia y tienes el valor del periodo de la señal,
Luego con un poco de matemáticas obtienes el valor de la frecuencia y usas la misma función para mostrar ese valor en el display.
Con ese valor y visualizando si pasa algo similar como en los videos que has compartido, podrías afirmar que es un problema de la interrupción.
Es raro.
Quizás para poder rastrear mejor en qué momento se te generan ambas muestras, en la misma función donde lees el ADC e incrementas la muestra, podrías almacenar en otro array el valor de TMR4.
A ver si de esa manera encuentras alguna explicación.
Hola.
Estoy esperando el soporte técnico de MCHP con respecto al ADC, quiero sacarme esa duda del porqué de las 2 muestras consecutivas.
Hasta mientras, voy a realizar las alarmas audibles con el buzzer respecto a un posible sobre y sub voltaje.
Para un sobre voltaje, deseo hacer tres pulsos de audio de duración de 100 ms. Entre cada pulso habrá 200 ms, y antes de volver a generar los tres pulso, se espera unos 700 ms, algo similar a esta imagen que no es a escala.
(https://pbs.twimg.com/media/GBGE-uuXYAABFHI?format=png&name=900x900)
Para un subvoltaje, creo que será un pulso de 100 ms, y entre el siguiente, pasará unos 700 ms.
(https://pbs.twimg.com/media/GBGFUxwWsAA9YmY?format=png&name=small)
Espero en esta semana escribir el código y compartirlo aquí.
Lo de las alarmas, tal vez deberías usar límites con histéresis.
Ya que si alguna vez el voltaje está en alguno de los límites, va estar que se activa la alarma y se corta.
No creo que es algo crítico, pero podría ser algo molestoso.
Tal vez deberías usar esos antiguos reguladores de brillo para lámpara incandescente, creo que sería más barato que conseguir un transformador variable. De paso pruebas que tan preciso es el calculo del valor rms de una señal AC recortada por SCRs
...Primero determine cual es el voltaje del UPS cuando no está en modo de respaldo, el voltaje RMS como se puede ver es de 105V.Ese tester no es TrueRMS, pero como la señal de entrada es "bastante" senoidal el valor es confiable.
Pensé que el voltaje de la red, había caído a ese valor, pero no era así, el UPS atenuaba la señal, ya que de la empresa eléctrica estaba en 126Vrms
Las puntas de prueba del osciloscopio están x10, mi voltímetro mide 103.1 Vrms
Cuando entra en modo de respaldo, se puede apreciar que la forma de voltaje, no es cuadrada, es rectangular, y los picos que aparecen cuando el voltaje cae, me imagino que es debido a que los SCRs, ya que recuerdo que había forma de hacer un conversor DC/AC con 2 SCRs y transformador con toma central. No recuerdo porque aparecían esos picos.Las UPS "normales" no son con SCRs sino MOSFETs. Su forma es rectangular porque debe tener el mismo valor RMS y de pico que la línea. Debe ser así para poder conectarle tanto cargas resistivas como equipos electrónicos.
El multímetro indica 79.1Vrms, mientras que el voltímetro que hice, mide 112.2 Vrms, así que tal vez si mide el valor RMS de manera un poco más precisa.
Ese tester no es TrueRMS, pero como la señal de entrada es "bastante" senoidal el valor es confiable.
En el que fabricaste no se si a las constantes m y c les diste los valores teóricos o hiciste alguna calibración, de todas formas, la fórmula en http://www.todopic.com.ar/foros/index.php?topic=51537.msg424985#msg424985 tiene un error ; el último término no es (N-1)c^2 sino Nc^2 pues es el resultado se sumar una constante de 0 a N-1 , o sea N términos.
Eso hace que el resultado final sea menor de lo que debiera pudiendo hasta ser negativo.
Las UPS "normales" no son con SCRs sino MOSFETs. Su forma es rectangular porque debe tener el mismo valor RMS y de pico que la línea. Debe ser así para poder conectarle tanto cargas resistivas como equipos electrónicos.
Ese pico inverso es propio de una configuración puente cada vez que un transistor va al corte, te conviene colocar alguna carga resistiva (las difíciles de encontrar lámparas incandescentes) porque debería desaparecer o al menos disminuir.CitarEl multímetro indica 79.1Vrms, mientras que el voltímetro que hice, mide 112.2 Vrms, así que tal vez si mide el valor RMS de manera un poco más precisa.
Por lo que se alcanza a ver en el osciloscopio el tiempo de conducción incluyendo el pico son aprox 2.6ms y el máximo 206V
Entonces el valor RMS es: 206V*sqrt(2.6ms/8.333ms) = 115Vrms
Con estas condiciones el tester debería indicar: 1.11*206V*2.6ms/8.333ms = 71.3V (cerca :) )
Pero negativo no puede ser, ya si se parte de un sumatorio, donde su contenido está al cuadrado, por lo tanto su resultado siempre será positivo (valor absoluto:Mas bien, lo que puede dar negativo es la expresión final porque está mal (la de "por lo tanto, todo esto debe ser positivo"), debe terminar en Nc2
http://www.todopic.com.ar/foros/index.php?topic=51537.msg424985#msg424985 tiene un error ; el último término no es (N-1)c^2 sino Nc^2 pues es el resultado se sumar una constante de 0 a N-1 , o sea N términos.
Pero negativo no puede ser, ya si se parte de un sumatorio, donde su contenido está al cuadrado, por lo tanto su resultado siempre será positivo (valor absoluto:Mas bien, lo que puede dar negativo es la expresión final porque está mal (la de "por lo tanto, todo esto debe ser positivo"), debe terminar en Nc2
Puedes meterle una onda cuadrada desde un microcontrolador, que tiene un valor RMS conocido, y comprobar que mide lo esperado.
Hay controles que los podés hacer en CC.
- El offset invirtiendo la polaridad.
- El factor de escala con un voltaje alto.
- La linealidad del ADC y los errores por truncamiento con mediciones a diferentes voltajes.
Esos tres aspectos es preferible en CC que en CA por la independencia respecto a otras fuentes de error y porque es mas preciso que en CA.