1 votos

Pregunta sobre Profiling sample time on arduino atmega328

Estoy implementando un controlador PID en el Arduino, transformé mi función de transferencia del dominio S al dominio Z y requiero el tiempo de muestreo en segundos. Este es el tiempo que se tarda en obtener una muestra de un sensor de posición.

Esta es mi pregunta:

He medido el tiempo de ejecución de toda la función con el comando millis(). El es el tiempo de ejecución de la función 349uS. que es aproximadamente 2865 muestras por segundo. Pero la sobrecarga real del comando AnalogRead() es de 100uS por lo que mi "verdadero" tiempo de muestreo sería de 449us?

Gracias.

1voto

tenfour Puntos 118

El tiempo de muestreo es el tiempo entre de su función, no el tiempo que tarda su función en ejecutarse. Por ejemplo:

Inicio del bucle:

Lectura analógica u otras llamadas a funciones

Llamada a la función PID - Tiempo 0

Llamadas a funciones de escritura analógica o escritura PWM

El bucle se reinicia...

Lectura analógica....

Llamada a la función PID - Tiempo 1

Escritura analógica o escritura PWM...

Su tiempo de muestreo es la diferencia entre el Tiempo 1 y el Tiempo 0.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X