Hoy estaba leyendo la hoja de datos y el manual de referencia de STM32. Como otros, creo que deberíamos usar la creatividad de poder que dios nos ha regalado para tener una precisión ADC. :) Aquí están la hoja de datos y el manual de referencia de STM32:
Hoja de datos & manual de referencia .
Por lo tanto, debemos considerar dos aspectos de ADC para tener una exactitud ADC. Hardware y software. Ok vamos a echar un vistazo a la hoja de datos. Creo que deberíamos leer la hoja de datos porque parece que no hay nada acerca de tener un ADC preciso. (¿Tengo razón?)
Hardware
Hay una figura (fig. 58) que nos dice muchas cosas. Al principio tenemos dos componentes fuera de MCU. "Lluvia" y "Cparasitic".
LuegodeberíamosponerestoentreMCUylalíneaquesesuponequedebemosmedir.Estoyenlociertootalvezinterpretoestafiguraincorrectamenteyestosdossondebidoalaimpedanciaylacapacitanciadelalíneayestafiguranosdiceotracosaquenosabemos.Simiprimerasuposiciónescorrecta,debemosaveriguarquéresistenciaycapacitordebemoselegir.
-Rain
Primeroveamoslahojadedatosmás.Delatabla59vemosqueestaresistenciatieneunvalormáximo.Es50kOhm.¿Porqué?¿Cómolodicen?Enlapáginasiguientehayunaecuaciónllamada"Ecuación 1: Fórmula de lluvia máxima". Ok, como nos dice la descripción, podemos determinar la impedancia externa máxima (Lluvia). La ecuación:
Haycincoparámetrosquedebemosencontraryponerenestaecuaciónparacalcularelvalormáximo.
Radc:paradeterminaresto,podemosusarlatabla59.ElvalormáximoparaRadces1kOhmycreoquepodemosusarestevalorparacadacaso.Fadc:determinamosestocuandoestamosconfigurandoelrelojparaADCyestápredeterminado.
Cadc:AligualqueRadc,podemosusarlatabla59paradeterminarelvalormáximoparaesteparámetro.Es8pF.
N:¿Esresolucióndebits?¿Siempredebemostomarlo12?
Ts:Denuevo,deberíamosusarlatabla59.Surangoesde1.5a239.5¿Tengorazón?
Ok,usemosestaecuaciónyhagamosunejemplo:Suposiciones:
Ts:1.5
Radc:1
Fadc:14
Cadc:8
N:12
Ydespuésdelcálculo,estoesloqueobtengo=-0.9986¿Unnúmeronegativo?¿porqué?Hayunatabladebajodeladescripcióndeestaecuación.tabla60.Lluviamáx.paraFadc=14MHz.ParaTs=1.5Lalluviaes0.4kOhmyesperoobtenerunvalorcercanoaeste,peroloqueobtengohastaahoraesunvalornegativo.
-Caracteric
Unapregunta,todavíanosé,¿deberíamoscolocaruncondensadorcomoCparasiticentreelpindeMCUylalíneaquedebemosmedir?oeslacapacitanciaentrelafuentedenuestralíneaynuestraMCUysoloafectalamediciónydebemosreducirFadc.dehechoesunapreguntaparamí.
Software
Bien,hablemosdeestaparte.Siobservalafigura57(característicasdeprecisióndeADC),puedeverquehaycincoerroresquecreoquepodemoseliminarporenfoquesdesoftware.
¿Pero cómo eliminarlos? Tengo una idea para eliminar los errores de EO y EG. Este es mi enfoque: Si observamos el gráfico con precisión, sabemos que hay dos curvas. Un ideal y un real. Todo lo que debemos hacer es coincidir la curva real con la ideal. Supongamos que las dos curvas son lineales. Entonces tenemos una función X = EG * x + EO
Para encontrar EO, podemos conectar el pin iuput a tierra para encontrar el valor de EO y ponerlo en la función.
Para encontrar EG, después de agregar EO a x, debemos encontrar la pendiente de la curva real. Luego tomamos dos muestras y usamos esta relación para encontrar la pendiente. S = (Y2-Y1) / (X2-X1) y luego EG = 1-S
Ahora, usando X = EG * x + EO, eliminamos estos dos errores.
¿Cuál es tu opinión acerca de mi enfoque? ¿es correcto? ¿Tienes alguna idea para eliminar ET y ED y EL?
Y también responda a la pregunta que formulé en el pasaje anterior.