ADC con ESP32 | ‼ Cómo aumentar la precisión del ADC📈

  Рет қаралды 12,116

ioworld

ioworld

Күн бұрын

Пікірлер: 43
@diosmedepaciencia7189
@diosmedepaciencia7189 10 күн бұрын
Estupenda explicación. Suelo preferir un filtro IIR como este: unsigned int medidaFiltrada() { const float alpha = 0.1; static unsigned int promedio = 0; promedio = alpha * adc1_get_raw(A4) + (1 - alpha) * promedio; return promedio; } Cuanto mayor se alpha, menos suavizada tendrás la señal y cuanto menor sea más tardará en responder a los cambios. Esto se puede mejorar viendo si la nueva señal tiene un valor muy diferente al promedio actual. En ese caso despreciamos la señal. El ESP32 tiende a generar pulsos de señal excesivamente bajos cuando usa la wifi. Con esta técnica se pueden eliminar. unsigned int medidaFiltrada() { const float alpha = 0.1; const float maxVariation = 100; static unsigned int promedio = 0; unsigned int medida = adc1_get_raw(A4); if(abs(promedio - medida) < maxVariation) { promedio = alpha * medida + (1 - alpha) * promedio; } return promedio; } Si además conocemos características de la señal original (como que el ruido tenga una distribución gaussiana y que la señal no supere una velocidad de variación) podemos usar un filtro Kalman. Me ha funcionado muy bien. En cualquier caso procura leer el ADC de forma periódica, con las lecturas distribuidas uniformemente en el tiempo. No hagas un montón de medidas continuadas y después pases tiempo sin leer. Espero que esto te ayude.
@Maatooh1
@Maatooh1 9 ай бұрын
Yo consigo tener mucha mayor consistencia utilizando el sobremuestreo (multisampling) + una resistencia de 1K a 10K en serie hacia la señal analógica, lógicamente existirá una pequeña caída de tensión (no significante) pero obtengo valores super constantes que con poca frecuencia oscila en ±1 decimal, fue lo mejor que pude obtener en comparación a la solución del capacitor. También recomiendo alimentar el ESP32 con una fuente aislada B0505S u otro similar.
@euse72
@euse72 3 ай бұрын
Eres un maquina, menuda manera de explicar las cosas! Sigue así ❤
@oscarperezgamboa
@oscarperezgamboa 2 жыл бұрын
Muy interesante la información, muy claras las explicaciones, quisiera aprender control de motores y servos con el ESP32.... Esperando nuevo contenidos
@proyectoscaserosconpocaher6748
@proyectoscaserosconpocaher6748 Жыл бұрын
da un chingo de gusto ver el tiempo que dedicaste a entender esto, y compartirlo, hermano gracias. suscrito, continua asi compartiendo esa capacidad de analisis que posees. saludos.
@Waldox_
@Waldox_ 6 ай бұрын
Muy bueno el ejemplo, esto también me recuerda a los filtros pasa bajos digitales que funcionan de una manera muy similar para atenuar las señales del ruido
@fkserv
@fkserv 4 ай бұрын
En tu video solo declaraste la función setup, pero nunca la usaste en app_main. Tu ejemplo funciona porque usa los valores por defecto. Saludos.
@rodrigolopez4054
@rodrigolopez4054 6 ай бұрын
Simplificado y útil, mil gracias por tu trabajo
@thisisioworld
@thisisioworld 6 ай бұрын
¡Hola! Estamos muy próximos a subir una nueva serie de videos que no te puedes perder, si quieres que hable de algún tema en especifico no dudes en dejar tus comentarios. Saludos
@esau_u
@esau_u Жыл бұрын
Excelente calidad de tus videos, espero pronto puedas seguir subiendo más contenido ❤️
@thisisioworld
@thisisioworld 6 ай бұрын
¡Hola! Estamos muy próximos a subir una nueva serie de videos que no te puedes perder, gracias por tus comentarios
@fguille2001
@fguille2001 2 жыл бұрын
hola soy de Buenos Aires Argentina, gracias por compartir la información de esta forma muy didáctica veo que no sacaste mas video. Esperamos que no pase mucho tiempo para el proximo. Un abrazo desde este lugar del sur del continente.
@thisisioworld
@thisisioworld Жыл бұрын
Hola, mil gracias , ya estamos preparando más contenido.
@georgestar85
@georgestar85 10 ай бұрын
Hola, excelente video. Te comento un problema que tengo, estoy usando un medidor de nivel de agua que funciona con 12 volt y su salida analógica es de 0 a 5 volt, y soporta niveles de 0 hasta 10 mts de un tanque de agua. lo conecte al pin 34 de un esp 32 wroom 32u, con resolución de 12 bits. me pasa con frecuencia que el valor final escalado a % me varia hasta 10 puntos por encima del valor real o por debajo, po ejemplo, si coloco el sensor en un tanque de agua de 3 mts, el valor digital es 1068, que al escalar a un tanque de 0 a 3 mts me debe dar 100%, si esta a la mitad del tanque un 50%, pero resulta que me varia de 1 a 10 puntos por encima y aveces por debajo, a pesar que le coloque un condensador de 0.1 uf, a nivel de programación como puedo estabilizar mejor las variaciones o crear un filtro con el muestreo de 10 resultados ignorando los 0 y tomando en cuenta los valores más cercano al valor real medido Saludos
@Maatooh1
@Maatooh1 9 ай бұрын
Utiliza el sobremuestreo (multisampling) + una resistencia de 1K a 10K en serie hacia la señal analógica. Adicionalmente alimenta el ESP32 con una fuente aislada B0505S u otra similar. También recomiendo calibrar la señal, en la programación del firmware con un ajuste polinomial.
@AlphonseVMusic
@AlphonseVMusic 5 ай бұрын
Sebas cumplió saludos desde CDMX
@felixfigueroa
@felixfigueroa 2 жыл бұрын
Hola estamos esperando mas contenido ..! 🚀🚀
@thisisioworld
@thisisioworld 6 ай бұрын
¡Hola! Estamos muy próximos a subir una nueva serie de videos que no te puedes perder, gracias por tus comentarios
@urielgomez2252
@urielgomez2252 Жыл бұрын
Tengo una duda, sabes cómo modificar la tasa de muestreo del adc y cuál es la velocidad de muestreo del adc del micro?
@esdiguenrae3307
@esdiguenrae3307 Жыл бұрын
me gustó tu video muy bien explicado justo el tipo de videos que me gustan
@drstiven1466
@drstiven1466 2 жыл бұрын
Muy bueno tu contenido, gracias.!!!
@A.Tomillo
@A.Tomillo 5 ай бұрын
Tremendo video❤❤
@ivangonzalez4310
@ivangonzalez4310 Жыл бұрын
Hola, buen video pero tengo una duda, entoces el voltaje maximo que puedo leer en mi pin es de 2.45 V ? que pasa si es 3.5 V?
@fabriciocuellarzuna5249
@fabriciocuellarzuna5249 2 жыл бұрын
Muy útil toda la información que compartís! Me está siendo de gran ayuda para un proyecto en el que estoy trabajando. Quería preguntarte si me aconsejás realizar el multisampling cuando tengo conectividad Wi-Fi ya que el proyecto que tengo necesita conectividad Wi-Fi y adquirir datos de un panel solar (tensión, corriente y temperatura) de manera precisa y por lo que leí en muchos foros el ADC del ESP32 es muy errático cuando está presente la conectividad Wi-Fi. Muchas gracias de vuelta y espero que tu canal siga creciendo, desde ya tenes un nuevo suscriptor! Saludos!
@ricardocallejo7422
@ricardocallejo7422 Жыл бұрын
No puedes hacer 64 sumas con posibles valores de 4095 porque te dará overflow 4095*64 = 262.080. Un entero con signo como usaste va hasta 2^16 = 32.768 asi que por eso te digo que te dará overflow. Debes usar minimo long para smoth_val lo mejor es unsigned long aunque es algo exagerado. Supongo que luego lo has corregido.
@thisisioworld
@thisisioworld Жыл бұрын
Correcto , ya estamos preparando videos hablando de esas consideraciones en nuestros ADC , gracias por tomarte el tiempo de hacer la aportación, Mil gracias.
@esmerlingcontreras8696
@esmerlingcontreras8696 Жыл бұрын
Muy didáctico el vídeo. Qué ha pasado con el canal? Según veo este ha sido el último vídeo, se mudaron a otro canal u otra plataforma?
@thisisioworld
@thisisioworld 6 ай бұрын
¡Hola! Estamos muy próximos a subir una nueva serie de videos que no te puedes perder, gracias por tus comentarios
@REBIGMAN
@REBIGMAN Жыл бұрын
Hola. Porque no publicaste más videos?
@JoaquinViñabal
@JoaquinViñabal 8 ай бұрын
cual es la frecuencia maxima del pin ADC en el ESP32
@wooliercomb4284
@wooliercomb4284 Жыл бұрын
¿Cómo puedo graficar los datos obtenidos? Necesito hacer una grafica en tiempo real
@JANKRLO76
@JANKRLO76 Жыл бұрын
Si son 12 bits, no deberias contar de 0 a 11? Igual que en 8bit cuantas de 0 a 7
@thisisioworld
@thisisioworld Жыл бұрын
Hola Jan, muchas gracias por hacernos ver eso, tienes toda la razón , ya estamos preparando mas videos del ADC en donde aclararemos ese error de explicación cometido. Gracias de nuevo por tu coment.
@isra4565
@isra4565 2 жыл бұрын
Me resulta complicado todo en VSCODE creo que volvere al arduino IDE. Llevo dos dias con la placa aun no consegui hacer nada.
@diegosuarez4378
@diegosuarez4378 2 жыл бұрын
perfecto gracias!
@CARlosDAN783
@CARlosDAN783 Жыл бұрын
Hermano gracias por el video, una pregunta si tenemos a la entrada del potenciómetro 3.3Voltios y en la referencia dice que lo máximo que lee son 2450mV entonces cuando pasa de ese voltaje ya no sigue leyendo el esp32 xq ya ha llegado a la cuenta maxima de 4095, eso es así o no sácame de dudas.
@Swand37
@Swand37 Жыл бұрын
kzbin.info/www/bejne/iJ2ufn2ho9iBptE
@carlosalan6053
@carlosalan6053 2 жыл бұрын
crack gracias hermano.
@ZinTechIdeas
@ZinTechIdeas 2 жыл бұрын
perfect
@zZMaCK1eZz
@zZMaCK1eZz 7 ай бұрын
En tu ejemplo estas poniendo 13Bits
@SebastianRiosSabogal
@SebastianRiosSabogal 2 жыл бұрын
.:-_-:. Muchas Gracias Muchacho ...
How Strong is Tin Foil? 💪
00:25
Brianna
Рет қаралды 67 МЛН
Try Not To Laugh 😅 the Best of BoxtoxTv 👌
00:18
boxtoxtv
Рет қаралды 7 МЛН
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 141 МЛН
🟣ESP32 Entradas analógicas
9:49
LaBuhardillaDelLoco
Рет қаралды 59 М.
ESP32 and ADS1115 ADC- Voltmeter project
7:45
Volos Projects
Рет қаралды 60 М.
🦾 ¿Cómo elegir el mejor ESP32? 🤔
20:16
ioworld
Рет қаралды 1,5 М.
Estimación del valor promedio de una señal usando un ESP32
19:05
Kevin Cano Pulido
Рет қаралды 709
Comunicación a LARGA DISTANCIA con RYLR998 (IMPRESIONANTE) 😮
14:37
LaBuhardillaDelLoco
Рет қаралды 152 М.