Autor Tema: medida velocidad con encoder y microcontrolador  (Leído 3354 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Iria

  • PIC10
  • *
  • Mensajes: 7
medida velocidad con encoder y microcontrolador
« en: 14 de Junio de 2009, 05:56:28 »
Hola!!!!!

No se muy bien si estoy incluyendo el mensaje en el subforo adecuado.....
bueno, soy estudiante de 3º de industriales, y estoy preparando el próximo examen de microcontroladores; hemos estudiado el SA80C537 de intel, y subo aqui un examen porque me he quedado perpleja al verlo; no tengo ni idea de por donde cogerlo, sobre todo porque nunca hemos hecho nada con encoders...... por no saber, no sé ni como sería el esquema de conexiones con el microcontrolador.....

supongo que el ciclo de programa tendrá algo que ver con contar el numero de pulsos que se producen en un tiempo para saber la velocidad; pero ¿que base de tiempos coger? ..... no entiendo porque dan el rango de velocidades del motor etc   


en fin..... espero que alguien pueda echarme una mano, no al código, sino mas bien al esquema sencillo de conexiones y al diagrama de fujo.....


Gracias!!!!!

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: medida velocidad con encoder y microcontrolador
« Respuesta #1 en: 14 de Junio de 2009, 07:44:44 »
Como lo haría yo, (aunque creo que puedes manejar el timer interno del micro con impulsos exteriores) con un pic:
Primero debería hacer una base de tiempo de 1 minuto (lo mas exacta posible) por interrupciones del timer (tmr0) interno del micro (interruciones cada 10ms x contador1x100 = 1000ms x contador2x60 = 1 minuto. Otra interrupcion por pin entrada (int0) para incrementar el contador de pulsos del encoder.
Luego seria cuestión que cuando ha pasado un minuto mirar el contador de pulsos a cuanto a llegado y voilá.

Resumen:

Interrupción por TMR0 con contador de 60s (1 minuto) , al llegar a 60s activa una bandera.
Interrupción por INT0 para contar los pulsos del encoder (probablemente deberás usar una variable de 2 bytes porque creo que no te alcanzan con 256) .
Programa principal que solamente esté mirando la bandera que ha transcurrido los 60s y mostrar entonces el valor del contador de pulsos/100 (ya que tu enconder da 100 pulsos por cada rotación), limpiar la bandera para la proxima lectura, limpiar el contador de pulsos y  listo   :-/.

« Última modificación: 14 de Junio de 2009, 07:54:04 por pibe »
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado Iria

  • PIC10
  • *
  • Mensajes: 7
Re: medida velocidad con encoder y microcontrolador
« Respuesta #2 en: 14 de Junio de 2009, 09:32:25 »
vale!!!!! lo he entendido; no me daba cuenta de que tomando de base de tiempos 1 minuto ya salen las rpm contando los pulsos  :S:S:S:S:S
bufffff

 muchas gracias por ayudarme   :) :) :) :) :)


 

anything