Autor Tema: Medidor de angulos con PIC  (Leído 5865 veces)

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

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Medidor de angulos con PIC
« en: 10 de Noviembre de 2008, 20:30:20 »
Hola, tengo un proyecto donde quiero medir un angulo entre 0 y 90 grados con una precision de 0.1
estoy utilizando un 16F877A con un potenciometro y veo la lectura en un display pero no logro estabilizar la medida y no me da todos los valores entre 0 y 90 grados,  se puede utilizar algun otro sensor?
Ya probe con #device adc=8, 10 y 16 estoy programando en C.

Saludos.
Ideas pocas pero confusas

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Medidor de angulos con PIC
« Respuesta #1 en: 10 de Noviembre de 2008, 22:26:20 »
Hola

Con el PIC16f877a solo puedes usar resoluciones de 10 bits hasta de 1 bit, pero no de 16 bits.

Si no ves todos los valores entre 0 y 90° es porque la resolución del pic no da para más. ¿Cómo estás conectando el potenciómetro al ADC del pic? ¿Cuáles son los voltajes del potenciómetro y los voltajes de referencia del PIC?

Para estabilizar la medición es recomendable poner un capacitor de 0.1uF conectado lo más cerca posible de la terminal ADC que estás usando (RA0 casi siempre).

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Medidor de angulos con PIC
« Respuesta #2 en: 10 de Noviembre de 2008, 22:44:07 »
podrias hacer una reduccion mecanica con engranajes y usar un potenciometro multivueltas
saludos!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

jacrmr

  • Visitante
Re: Medidor de angulos con PIC
« Respuesta #3 en: 10 de Noviembre de 2008, 23:02:56 »
¿a qué te refieres que no te da los valores entre 0 y 90 grados? ¿estás seguro que el potenciómetro es lineal y no logarítmico? Difícilmente podrás tener una lectura precisa con un potenciómetro de carbón. Debes de usar uno de plástico conductivo.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Medidor de angulos con PIC
« Respuesta #4 en: 10 de Noviembre de 2008, 23:07:11 »
Yo te recomendaría hacer una reducción mecánica con engranajes y utilizar un sistema óptico como los mouses ópticos para contar los pasos o grados.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado martincnc

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 352
Re: Medidor de angulos con PIC
« Respuesta #5 en: 10 de Noviembre de 2008, 23:26:40 »
Hola peter2006. Para que te podamos ayudar deberias ser mas especifico con la descripion de tu problema.

Lo mejor seria que subas el circuito que estas usando, el programa del PIC o la parte que se encarga de la medicion, cuales son los valores que no aparecen en la medicion del circuito, ademas de las preguntas que te hicieron mis compañeros; entonces con unas pocas respuestas podriamos encontrar la solucion a tu problema.

Todo esto te lo digo con todas las mejores intenciones, es solo que escrito suena algo ofensivo.

Con respecto a utilizar otro sensor no creo que sea necesario, el potenciometro si se encuentra en buen estado deberia funcionar perfectamente; es mas, se usan de estos para controlar la posicion de los servomotores los cuales no presentan problemas de estabilidad.

Esperamos tu respuesta. Saludos!

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Re: Medidor de angulos con PIC
« Respuesta #6 en: 10 de Noviembre de 2008, 23:38:49 »
Gracias a todos por sus aportes,

migsantiago
Estoy conectando un potenciometro de 10 K de los de plastico celestes hecho en Mexico, conecto el cursor al RA0 y los extremos de la resistencia a 5 V y masa, no entiendo donde colocar el capacitor.

gera
No me conviene hacer una reduccion mecanica porque introduzco mas error por el juego en los engranajes.

jacrmr
El potenciometro es lineal y no veo todos los valores porque a veces no pasan los numeros correlativos por ejemplo pasa del 20 al 22 y no consigo el 21. Los potenciometros de plastico que mensionas son muy caros, estoy en Buenos Aires Argentina

BrunoF
Asi tengo el problema de introducir mas error.
Ideas pocas pero confusas

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Re: Medidor de angulos con PIC
« Respuesta #7 en: 10 de Noviembre de 2008, 23:50:54 »
Gracias martincnc, no me parece mal tu respuesta simplemente no puse mas datos porque no sabia por donde empezar, el circuito no lo tengo fui desarrollando todo en el protoboard pero basicamente es el PIC con cristal de 20 MB un display dos lineas x 16 carac. y el potenciometro conectado a RB0
Tal vez puede ser que el problema de que se salten valores sea el tiempo que demora en mostrar el valor en el display? como puede mejorar eso? se puede programar una especie de bufer para que me muestre todos los valores?
Ideas pocas pero confusas

Desconectado martincnc

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 352
Re: Medidor de angulos con PIC
« Respuesta #8 en: 11 de Noviembre de 2008, 00:21:35 »
Hola peter2006

Tal vez puede ser que el problema de que se salten valores sea el tiempo que demora en mostrar el valor en el display? como puede mejorar eso? se puede programar una especie de bufer para que me muestre todos los valores?

Cuanto tiempo tenes entre cada refresco de pantalla?. Si actualizas la pantalla con intervalos demasiado cortos, lograrias que la informacion se actualice mas rapido, pero si el salto entre los valores proviene de otro lugar, seguirias teniendo el mismo problema.

Es necesario que el instrumento que estas fabricando tenga una resolucion tan alta?, si no es asi, bajando un poco la resolucion podrias evitar un poco los saltos bruscos entre un valor y el siguiente.

Saludos!
« Última modificación: 11 de Noviembre de 2008, 00:28:14 por martincnc »

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Medidor de angulos con PIC
« Respuesta #9 en: 11 de Noviembre de 2008, 00:30:15 »
Hola.

El problema ahi es de resolucion, ya que medir pasos de 0.1 grados en un rango de 90 grados nos daria un total de pasos de 900. Si usas resolucion de conversion a 8 bits no te dara ya que se tienen 255 pasos, a 10 bits tendriamos 1024 pasos. Aunque a 10 bits tendriamos resuelto el problema, no es asi, ya que los ADC de los micros tienen un error en los 2 primeros LSB, asi que habria que promediar unos 100 datos para estabilizarlo (y no es que mejore mucho).

La solucion puede ser buscar un ADC de muuucha mas resolucion, si cambias el potenciometro no serviria de mucho, ya que el error de los 2 LSB te introducirian incertidumbre.

Saludos
El papel lo aguanta todo

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Medidor de angulos con PIC
« Respuesta #10 en: 11 de Noviembre de 2008, 01:49:58 »
migsantiago
Estoy conectando un potenciometro de 10 K de los de plastico celestes hecho en Mexico, conecto el cursor al RA0 y los extremos de la resistencia a 5 V y masa, no entiendo donde colocar el capacitor.

El capacitor va de RA0 a tierra, muy cerca del pic. Esto filtra el ruido.

El tornillo que gira del potenciómetro... ¿gira de 0° a 90° o gira de -30° a 210°? Debes considerar ese rango para la resolución de la medición. Si tú giras 90°, ¿cuánto más puedes seguir girando? Lo demás que giras es desperdicio del rango de 1024 y si giras solo 90° la medición no te va a servir de mucho.

Lo más recomendable es poner un mecanismo de reducción como te comentan los compañeros, o conseguir un potenciómetro que gire como máximo 90° y esos abarquen de 0 a 5V.

Otra opción es amplificar el voltaje que sale cuando estás en 90° y ajustarlo a 5V para tener una buena resolución. Luego nadamás pones un tope mecánico para que no gire más de 90°.

Hay solución por hardware o por software, tú decides.  :mrgreen:

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Medidor de angulos con PIC
« Respuesta #11 en: 11 de Noviembre de 2008, 10:59:19 »
Puede ser q los engranajes metan un poco de error por el juego, pero es mínimo, y es compensado por la disminución del error al ser un mecanismo de reducción. También te soluciona el tema de que gire 90º máximo.
Podrías poner un potenciómetro multivueltas (ponele de 10 vueltas), y un mecanismo que cuando gire 90º el potenciómetro haya girado 10*360º (sus 10 vueltas). Entonces tenés una relación de 0,025. Osea que por cada grado que gires el brazo, el potenciómetro va a girar 40º. Esto disminuye muchísimo el error en la medición, y podes aprovechar al máximo la resolución del ADC.
saludos!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Re: Medidor de angulos con PIC
« Respuesta #12 en: 11 de Noviembre de 2008, 14:22:01 »
Bueno muchas gracias por los aportes, voy a probar con la reduccion y colocando un condensador en RA0.

Donde puedo encontrar informacon sobre el error de los 2 LSB que comenta  MLO__ ?

Si logro que funcione publicare el proyecto completo para que lo vean.

Gracias.
Ideas pocas pero confusas

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Medidor de angulos con PIC
« Respuesta #13 en: 11 de Noviembre de 2008, 14:54:01 »
Donde puedo encontrar informacon sobre el error de los 2 LSB que comenta  MLO__ ?


Está en la hoja de características del PIC que estás usando, TABLE 17-14: A/D CONVERTER CHARACTERISTICS:PIC16F873A/874A/876A/877A (INDUSTRIAL).

Desconectado peter2006

  • PIC10
  • *
  • Mensajes: 41
Re: Medidor de angulos con PIC
« Respuesta #14 en: 13 de Noviembre de 2008, 12:32:17 »
Hola nuevamente, estuve viendo un calibre dijital y me pregunto si alguien conoce como es el mecanismo del sensor ya que podria utilizar algo similar para angulos.

Gracias.
Ideas pocas pero confusas