Dos interrupciones ARDUINO

Hola que tal

Mi preguntaa es que pasa si utilizo las dos interrupciones al mismo tiempo de un arduino micro?
utilizare las interrupciones para medir las rpm de unos motores brushless de un cuadricoptero.

Pero mi duda es que si se activan las dos interrupciones al mismo tiempo, el arduino responde? es decir, si las subrutinas que tiene cada interrupcion, se ejecutarian bien, o habria una falla.
o si se activan las dos interrupciones al mismo tiempo, una tiene mas prioridad que la otra o que pasaria?

los motores brushless tienen un alcance de 20000 rpm.

Espero y me puedan ayudar,

Saludos
 
Exactamente, hay prioridad entre ellas; si buscas en la hoja de datos del AVR que trae arduino (supongo el UNO), en la sección de interrupciones encontrarás ésta tabla:

inte.png

Allí se muestra la prioridad en las fuentes de interrupción.

Saludos
 
No te recomiendo usar interrupciones en GPIO, sería mejor usar el temporizador para determinar la revoluciones.
 
Última edición:
¿Y el temporizador como adivina si el eje gira o no? En todo caso seria usarlo en modo contador.

Yo uso las dos sin problemas en un arduino micro. Es una centralita de un motor, una cuenta las vueltas del árbol de levas y la otra los dientes de la corona de arranque del cigüeñal.

Normalmente las interrupciones tienen una prioridad de forma que una se atiende antes y otra después pero no se pierden.
 
Última edición:
Necesitaría un enconder y medir la frecuencia de este para determinar las revoluciones, sería más preciso usar el capture del timer a generar interrupciones :)
 
Hola que tal gracias por sus respuestas.

la forma que medire las revoluciones del motor brushless, seria por medio de un sensor qrd1114, y este va a detectar las helices del cuadricoptero. Me estoy basando en el ejemplo de este link .
oviamente en el codigo se modificaria para que en dos detecciones del sensor, sea igual a 1 rpm

Pero me siguen quedando dudas, una pregunta seria si se perderian datos o no? , por que nos vamos a basar para elevar el cuadricoptero segun con las rpm del motor.

Adjunto una imagen de como iran los sensores. me gustaria que me comentaran si es una buena idea o no.

Espero sus comentarios

Saludos!
 

Adjuntos

  • WP_000296.jpg
    WP_000296.jpg
    69.1 KB · Visitas: 23
¿Tenéis algún link para usar el modo captura de los timer?
Me parece que no se puede de forma nativa.

Las interrupciones externas van bien hasta cierto punto, a alta velocidad lo dudo.
Ahora mismo puede confirmar que hasta unas 10.000 rpm con 56 dientes por ciclo van bien. Eso son unas 10000·56/60=9333 interrupciones por segundo, claro que las rutinas de interrupción son cortas, no creo que llegue mucho mas allá.
 
Última edición:
Hola que tal gracias por sus respuestas.

La verdad nunca he usado los timer del arduino, y no tengo ni idea de como usarlos.
tendras algun link en donde me pueda basar ?

saludos!
 
Atrás
Arriba