Paso 6: Actualizar a 15 bits ADC y mejoras de código
Después de conseguir algunos alimentos detrás de soporte técnico en instrumentos de Vector en este instructable, hice unos pequeños cambios a la plataforma de prueba. Se dieron cuenta de que la resistencia de 10K que anteriormente utilizaba para proteger el circuito del limpiaparabrisas era proberly demasiado grande para la infraestructura de capacitancia de ADC de nano y así que esto fue reducido a 8,25 K y en lugar de la actualización.
La ADC se actualizó de 10 bits a 15 bits con un ADS1115 para dar una gama mucho mayor. Esto era particularmente útil cuando se observa el problema con valores mínimo y máximo, observando cómo fluctuó con el monitor serie.
Otra cosa que soporte técnico había indicado me hacia era que a menos que la codificación fue diseñada con mucho cuidado, podríamos obtener valores de 180 grados cerca del punto norte en lugar de 360. Esto es porque nos estamos tomando un lote de muestra rápida de 10 o más lecturas y tomando un promedio, que está bien siempre y cuando el sensor no 'flotar' en el norte y recoger lecturas muy pequeñas y muy grandes en un mismo lote. El código para hacer frente a esto es bastante simple, divide todas las lecturas en dos grupos: 'grandes' y 'pequeñas' - y omite las lecturas 'pequeñas' si el número de lecturas 'grandes' es más grande. Fácil!
También he añadido una pequeña cantidad de código para calcular la variabilidad que me metía en las lecturas que pude evaluar la precisión del dispositivo:
Al final, la variabilidad comparado sobre + 0.5 grados cerca del norte punto. Variabilidad en el rango medio por ejemplo 180 grados era prácticamente cero aunque sería algunos errores compuestos introducidos debido a no saber muy bien la gama de ADC.