Autor Tema: temporizador por entrada analogica  (Leído 5793 veces)

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

Desconectado brunobal

  • PIC10
  • *
  • Mensajes: 25
temporizador por entrada analogica
« en: 08 de Febrero de 2012, 13:28:24 »
hola amigos estoy diseñando un programa para el pic 16f876 que mediante un potenciometro que conecto en ra0 como entrada analogica hago que cambien la velocidad de parpadeo de ub diodo led que conecto en rb0.

lo primero que hago es configurar ra0 como entrada analogica luego activo el conversor ad, luego comfiguro rb0 como salida y ahora no se como crear el temporizador para que me encienda el led y lo apage.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: temporizador por entrada analogica
« Respuesta #1 en: 08 de Febrero de 2012, 16:31:00 »
A la derecha en el arbol de herramientas tienes la opcion de "temporizadores"
Luego puedes elegir por ejemplo: tiempo por ciclos y a continacion tiempo variable. Al seleccionar esta ya te va pidiendola variable,(si es un valor directo o el contenido en un registro, como es tu caso. A finalizar la base de tiempos.
Todos los días se aprende algo nuevo.

Desconectado brunobal

  • PIC10
  • *
  • Mensajes: 25
Re: temporizador por entrada analogica
« Respuesta #2 en: 09 de Febrero de 2012, 14:15:36 »
hola de nuevo fermin. he estado mirando lo que me explicaste pero cuando selecciono el tiempo variable me dice que selecione un registro y cuando activo la conversion ad me dice que nombre dos registros donde guardar los datos de la combercion. cual de estos dos registros pongo cuando selecciono el tiempo variable. me puedes poner un ejemplo en niple 5.2 ke es la version que utilizo. gracias un saludo

Desconectado henryflash

  • PIC16
  • ***
  • Mensajes: 130
Re: temporizador por entrada analogica
« Respuesta #3 en: 09 de Febrero de 2012, 18:46:52 »
hola: te cuento como hago yo, genero dos registros para el AD un lo llamo xxxh y el otro xxxl luego a esos dos registros los convierto con lu funcion escalar en 0 a 100
y ese nuevo registro lo uso para el temporizador. espero que te sirva.
Saludos enrique

Desconectado henryflash

  • PIC16
  • ***
  • Mensajes: 130
Re: temporizador por entrada analogica
« Respuesta #4 en: 09 de Febrero de 2012, 19:46:04 »
hola: te cuento como hago yo, genero dos registros para el AD un lo llamo xxxh y el otro xxxl luego a esos dos registros los convierto con lu funcion escalar en 0 a 100
y ese nuevo registro lo uso para el temporizador. espero que te sirva.
Saludos enrique
hola , me olvide de algo, ¿porque no elegiste el AD de 8 bit? igual esta bueno escalarlo, por estetica....
saludos...

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: temporizador por entrada analogica
« Respuesta #5 en: 10 de Febrero de 2012, 07:00:20 »
Al elegir el Ad de 8 bits, solo necesitas un registro para guardar el valor de la conversion. Ese registro es el que debes utilizar como base d etiempos para el temporizador.

En la web de niple, tienes resumido la forma de utilizar el conversor y el temporizador.

Con eso tiene que serte suficiente para que realiezes lo que quieres.

F.
Todos los días se aprende algo nuevo.

Desconectado brunobal

  • PIC10
  • *
  • Mensajes: 25
Re: temporizador por entrada analogica
« Respuesta #6 en: 10 de Febrero de 2012, 11:54:37 »
hola fermin he realizado una prueba aver si he entendido lo ke me has explicado, yo la he realizado con la version 5.2.gracias y un saludo

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: temporizador por entrada analogica
« Respuesta #7 en: 10 de Febrero de 2012, 14:21:31 »
Este finde ando un poco agobiadillo.
Se casa mi hijo tengo que preparar(comprar) traje, regalos,etc
Pero en cuanto saque un rato lo compruebo
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: temporizador por entrada analogica
« Respuesta #8 en: 12 de Febrero de 2012, 16:07:15 »
Hola bruno,

por fin tuve un momento de rekax y dedicarme a los pics. ;-)
Lo que has realizado es lo mque te expliqué y para empezar y entender el funcionamiento lo has clavado.

F.
Todos los días se aprende algo nuevo.

Desconectado brunobal

  • PIC10
  • *
  • Mensajes: 25
Re: temporizador por entrada analogica
« Respuesta #9 en: 08 de Mayo de 2012, 20:17:18 »
hola fermin he estado probando el programa en un pic real y no me funciona. aver si puedes pasarme un ejemplo con niple 5.2 ke es la version ke yo uso. gracias

Desconectado brunobal

  • PIC10
  • *
  • Mensajes: 25
Re: temporizador por entrada analogica
« Respuesta #10 en: 09 de Mayo de 2012, 20:31:07 »
hola a todos. he conseguido k funcione pero no se como aumentar la escala de tiempos y no se si cambiando el potenciometro ira mejor o no yo le he puesto uno de 100k. ademas tengo un pequeño problema y es ke cuando le giro el potenciometro acia un lado el led se me keda encedido y se keda como blokeado lo tengo ke riniciar para k buelva a funcionar. aver si podeis echar una mano. gracias

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: temporizador por entrada analogica
« Respuesta #11 en: 10 de Mayo de 2012, 01:56:23 »
Lo mejor es que adjuntes el esquema, para ver la forma de ampliar la escala.
Por otra parte como has modificado bastante el programa, me supongo, deberias de adjuntarlo tambien.

F.

Todos los días se aprende algo nuevo.

Desconectado vesperia

  • PIC10
  • *
  • Mensajes: 34
Re: temporizador por entrada analogica
« Respuesta #12 en: 10 de Mayo de 2012, 12:57:49 »
Hola, brunobal!

Supongo q por lo q comentás ya corregiste el problema del 1er programa q subiste (solamente hacías la conversión AD al principio! tenés q meterla adentro del bucle, sinó el led va a quedar intermitente siempre a la misma frecuencia). Cambiar el pote no creo q te ayude en nada. No se q escala estás usando actualmente, pero podés convertir el valor q guardás en tiempo_1 (que va de 0 a 255) a la escala q quieras usando la función "escalar" de las rutinas matemáticas. Para periodos menores de 20 mS (50 Hz) casi no vas a notar una diferencia en el led, te va a parecer q esta siempre encendido. Yo lo q haría es usar en tiempo_1 la función "comparar" para escalar en mS valores por debajo de determinado número, y escalar en segundos los restantes hasta el valor q quieras. Te subiría un ejemplo, pero tengo niple 5.6. Te sugiero lo mismo q Fer, subí el esquema y el último programa q hiciste, así de paso vemos xq se cuelga.

Saludos!

Desconectado brunobal

  • PIC10
  • *
  • Mensajes: 25
Re: temporizador por entrada analogica
« Respuesta #13 en: 12 de Mayo de 2012, 10:08:37 »
aki os dejo el programa y el circuito aver si me podeis echar una mano y me `podeis explicar como poder variar la temporizacion de entre 1 y 10 minutos por ejemplo gracias

Desconectado vesperia

  • PIC10
  • *
  • Mensajes: 34
Re: temporizador por entrada analogica
« Respuesta #14 en: 14 de Mayo de 2012, 13:22:35 »
pregunta: no te convendra mas usar un solo registro y hacer una lectura de 8 bit? si temporizas en segundos podes tener desde un pulso cada 2 segundos hasta un pulso cada 8 minutos y medio