Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

25/04/2014 #1


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
25/04/2014 #2

Avatar de Daniel Meza

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
25/04/2014 #3

Avatar de Nuyel

No te recomiendo usar interrupciones en GPIO, sería mejor usar el temporizador para determinar la revoluciones.
26/04/2014 #4

Avatar de Scooter

¿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.
26/04/2014 #5

Avatar de Nuyel

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
27/04/2014 #6


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!
Imágenes Adjuntas
Tipo de Archivo: jpg WP_000296.jpg (69,1 KB (Kilobytes), 23 visitas)
27/04/2014 #7

Avatar de Scooter

¿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á.
27/04/2014 #8


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!
04/06/2014 #9

Avatar de MikeLunatiko

Hola.

Creo que este enlace te puede servir: http://sphinx.mythic-beasts.com/~mar...ga-timers.html

Saludos.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Arduino y Raspberry Pi

Cerrar
Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos » Arduino y Raspberry Pi

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.