Velocidad muestreo ADC

Necesito analizar dos señales de audio (L y R) que entran al arduino uno (ATMEGA328p) por medio de dos entradas analogas. Para poder muestrear frecuencias de 5hz a 30khz, tuve que modificar el prescaler a 16 (originalmente esta en 128), este nuevo valor me permite tomar muestras a una velocidad de 76,8 khz, funciona bien leyendo los datos en un formato de 8bits, existe una posibilidad de que dañe el microcontrolador el usar el prescaler en ese valor o solo podria pasar que tenga lecturas erroneas?

Hombre como puedes pensar que modificar algo que dice la hoja de datos termine dañando el microcontrolador.
Si ese fuera el caso no tendrías la posiblidad de modificar el prescaler.

Pensé que podría haber cosas a tener en cuenta al momento de usarlo, por ejemplo analogRead y analogReference también modifican datos en los registros que se encuentran en la hoja de datos, sin embargo si llamas analogRead antes de analogReference(EXTERNAL) podría generar un corto entre la señal de comparación interna y la tensión externa en AREF, no todo está a prueba de daños y por eso mi consulta.

Punto para tu observación que reconozco desconocía:

Don’t use anything less than 0V or more than 5V for external reference voltage on the AREF pin! If you’re using an external reference on the AREF pin, you must set the analog reference to EXTERNAL before calling analogRead(). Otherwise, you will short together the active reference voltage (internally generated) and the AREF pin, possibly damaging the microcontroller on your Arduino board.

De todos modos, sin minimizar la observación, quien haga un cambio de Referencia, siempre se da una vuelta por la hoja de datos y termina viendo este Warning que rescato una vez mas.
Pocos proyectos requieren cambio de Aref y si fuera el caso, con los valores de los ADC externos yo prefiero uno con PGA a usar el Arduino cambiando el Aref.

Ahora volviendo al tema Prescaler, he visto numeros casos en que cambias el mismo y eso no generará inconvenientes al micro.

Te recomiendo que trabajes con un micro mas rapido como el Blue Pill que es similar al NANO stm32f103c8t6, tiene mucho mejor velocidad de sampleo y salida DAC que puede llegar a servirte.
La conversión es como siempre no inmediata pero luego tiene beneficios su potencia de procesamiento y como dije, un ADC mucho mas rapido y de 12 bits. Ademas de ser mas barato. OJO esta lleno de copias chinas. Al compilar el código tendras que tener en cuenta eso.
Si te interesa luego te indico como trabajarlo con comodidad.

Si, es cierto que el atmega328 no es la mejor opción, pero es lo que tengo a mano en estos momentos, por el momento me sirve seteando el prescaler de esta manera ya que el valor de 10 bits lo paso a 8 bits eliminando los 2 bits menos significativos (y con esto las impurezas de la lectura a esta velocidad) pero voy a investigar lo que me propones, muchas gracias por tu tiempo!

Acá tienes un buen tutorial pero seguramente ya lo has visto.https://www.instructables.com/Girino-Fast-Arduino-Oscilloscope/
Hay varios mas. Recuerdo una librería o còdigo en Github que se llama algo como osciloscopio igual que el tutorial que te he indicado y permite samplear a máxima Sample Rate y enviarlo por serial si fuera necesario.
Aca otro buen ejemplo y asi puedes seguir DIY Arduino Oscilloscope - Hackster.io

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.