Autor Tema: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??  (Leído 9189 veces)

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

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« en: 04 de Julio de 2004, 23:05:00 »
hola

La idea es que use un cursor para aumentar o disminuiir el ancho del pulso PWM, el cual se conecta a la entrada de un comparador .....obviamenta la entrada PWM seria de referencia..

Osea, dos pines del 16F84, uno para aumentar el ancho del pulso, y otro pin para disminuirlo.....asi el voltaje a la entrada del comparador varia segun esta indicacion.....

Cómo se podria implementar la parte software.???....necesito asesoria...mi primera idea seria decrementar/incrementar un contador que actue sobre la generacion del pulso.........habría que testar cual pin se activa o desactiva (alto o bajo), y de esa manera decrementar/incrementar el contador???

Favor si me pueden ayudar estaria muy agradecido....


NOTA: no me digan que me cambie al 16F268 o similar, menos al 16F87X, pues no es la idea.....


Mil gracias, y hasta la vista....

Desconectado huro

  • PIC10
  • *
  • Mensajes: 36
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #1 en: 05 de Julio de 2004, 09:58:00 »
 
   Hola pic-chi:    

      Si pones el esquematico, porque quiero tener alguna de lo que tratas de hacer, te puedo ayudar a desarrollar el algoritmo.




Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #2 en: 05 de Julio de 2004, 21:44:00 »
Escrito originalmente por huro

   Hola pic-chi:    

      Si pones el esquematico, porque quiero tener alguna de lo que tratas de hacer, te puedo ayudar a desarrollar el algoritmo.






Bueno..creo que tendremos que "incarle al diente" no mas....la investigacion comienza.....por ahora estoy leyendo el app 654a, trae tres opciones pwm por software......al parecer el desafio no es nada facil.....sin embargo lo de los contadores y/o desvordamiento del tmr0 parecen buenas opciones....el problema me parce mas complicado en el lado del seteo del ancho del pulso....las teclas o cursor...

Podria ser que:

1.- Mantener el cursor up o down presionado, de modo que genere una interrupcion que provoque incremento/decremento del contador. Al momento de soltar el cursor, se activaría el nuevo valor pwm....pero esto tiene una contra==> en la medida que mantengo presionado el cursor el ancho del pulso deberia variar simultaneamente.....(necesito asesoria)

2.- Pulsar o soltar el cursor, por cada cambio el contador se modifica tomando de inmediato un nuevo valor apare el ancho del pulso.....


Seguro habrá otras opciones, solo queda a la imaginacion....aunque 2 cabezas (dicen) piensan mas que 1....


Ya pogh muchachos, no se queden..apoyen por fa....


NOTA: entradas de cursor podrian ser A0 y A1, con sus respectivas pull-up, y el cursor manda a tierra la entrada activandose la interrupcion....o lo que sea....ejejjejejje


Bye

Desconectado huro

  • PIC10
  • *
  • Mensajes: 36
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #3 en: 06 de Julio de 2004, 13:17:00 »

    Como te dije mas arriba pic-chi, si pones el esquematico o un avance del mismo, se me ocurriría de que otra manera implementarlo, no tengo idea de lo que se quiere hacer. La siguiente pregunta es como vas ha activar las interrupciones de los timer exteriormente, si los vas a conectar a A0 y a A1.
  NOTA.-    Donde puedo encontrar el app 654a.

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #4 en: 06 de Julio de 2004, 14:37:00 »
Hola Huro, gracias or tu apoyo...

Bueno, aunque A0 y A1  nos son entradas de interrupcion directas, se podria usar el B0 o cualquiera de las B4-B7..pues solo una aproximacion lo que estoy ahciedno.....

Si son las A0 y A1 la eleccion,habria que testear continuamente su estado......el esquematico lo pongo apenas lo haga en proteus..esperame unos dias, que ahora poco tiempo tengo....el app lo obtienes de la pagina de microchip.....

gracias por tu apoyo..de paso, si quiers podriamos contactarnos por msn....que te parece????


saludos desde Chile

NOTA: pronto comienza la copa américa, que gane el mejol....

Bye

Desconectado Chile_irc

  • PIC12
  • **
  • Mensajes: 66
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #5 en: 07 de Julio de 2004, 07:32:00 »
Hola Colega veo que te estas metiendo bien a fondo en la cosita esta jajaj
A ver vi algo por ahi que no c si sera lo mismo

lo que hacia era esto:

el circuito en si encendia y apagaba un led la gracia que vi en el
era que con dos interruptores uno incrementaba el tiempo de apabgado y con el otro el tiempo de encendido, viendo esto, si le agregamos dos interruptores mas podriamos disminuir el apagado y con el otro el encendido, o con uno agrandar un estado con el otro achicar elijiendo ya sea el alto o el bajo. no c si me explico.
Esto lo hacia con una rutina de tiempo y cuando se ativaba el interruptor incrementaba o decrementaba un valor con esto prolongaba o acortaba los tiempos de pulso.


si es algo asi alomejor taria medio solucionado el problema.
Saludos

Jorge Lezana

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #6 en: 07 de Julio de 2004, 08:16:00 »
Jorge

Podrias indicar la url donde esta ese circuito o algun archivo...paleteese please.....

Gracias..Lucio

Desconectado Chile_irc

  • PIC12
  • **
  • Mensajes: 66
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #7 en: 07 de Julio de 2004, 10:28:00 »
Voy a buscarla en un rato de tiempo dentro de mis mil link jaja  y pillandola te digo o te mando el codigo op en asm

Bye

Desconectado huro

  • PIC10
  • *
  • Mensajes: 36
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #8 en: 07 de Julio de 2004, 11:21:00 »


    Bien pic-chi, espero tu esquematico, y con respecto a tu ofrecimiento de comunicarnos sería mejor que me envíes mensajes a mi e-mail, es el siguiente: huro79@hotmail.com  ,y te respondo de inmediato apenas esté disponible, tambien esperemos que nuestro amigo Chile-irc nos apoye con algunas ideas y por supuesto el circuito que encontró, espero nos sirva sus rutinas para aplicarlas en lo que se quiere hacer.

    Y con respecto a la copa américa, pues que gane el mejor!!!!      pero parece que mi pais empezó mal......       nooooo.................





Desconectado Amarice_BA

  • PIC10
  • *
  • Mensajes: 25
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #9 en: 08 de Julio de 2004, 10:38:00 »
Qué coincidencia. Estoy haciendo un proyecto y tengo que hacer lo mismo que tú. O al menos eso creo.

Si no me equivoco mi PWM va al Multiplicador AD633. Y también tengo que aumentar o disminuir los pulsos con un cursor o algo. Todo esto forma parte de un balastro de potencia.

El caso es que lo tengo que hacer de la manera más barata, y por eso el 16F84 ¿no?.

En media hora he quedado con el responsable de llevar mi proyecto y le preguntaré todo lo que tengo que hacer.

Seguro que necesitaré vuestra ayuda y quisiera poder ponerme en contacto con vosotros.

Gracias.

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #10 en: 08 de Julio de 2004, 14:37:00 »
Que bueno...asi pensamos mejol...bienvenido....ayer charlamos con jorge, y quedamos en que se pueden establecer, por ejemplo, cuatro cursores....

caso N°1:

2 cursores (up/down) para cambios leves del ancho del pulso PWM, y se puede generar dianámicamente segun el tiempo que se tenga presioando el cursor. Esto significa que el contador/timer debe modificarse a razon de 1 por cada 2 segundos, por ejemplo...(puede ser cualquier combinacion segun el diseño y lo que se quiera hacer)...Si fuera este el caso, se debe contar el tiempo que ha sido presionado el cursor y de esa manera generar los cambios en el timer..pero podriamos mantener la presion por 10 segundos sin ver cambios, cierto?...bueno, por eso se puede establecer que el timer cambie cada 1 segundo, o 2 o 3, como sea...incluso milesimas de segundo (bueno eso queda a criterio de cada cual segun su diseño....) Asi, cuando se cumpla el tiempo minimo, se produce el cambio en el timer con el consecuente cambio en el pulso.......

Caso N° 2

2 cursores (up/down) para cambios mayores de ancho del pulso PWM. En este caso, el cambio puede producirse a razon de 10 por cada pulsacion (no depende del tiempo pulsado, solo debe haber cambio de estado). Esto sirve cuando se requiere cambios rapidos del ancho del pulso.....



Estas variaciones son una aproximacion rapida, sin mucho analisis de los cambios requeridos en los timer...pero sin embargo sirven para dar luces de como puede manejarse el tema software...

Ya estoy trabajando el el algoritmo y los calculos......espero uds apoyen con ideas sobre el algoritmo......


que hoy gane chile  al menos 1-0...gol del "chapulin chama-gol"


Bye

Desconectado Amarice_BA

  • PIC10
  • *
  • Mensajes: 25
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #11 en: 09 de Julio de 2004, 04:42:00 »
Vale, ya sé lo que tengo que hacer. No es lo mismo pero es parecido.

Mi PWM tiene que entregar niveles de tensión, no son pulsos, es continua. Y lo que yo le indico por medio del cursor (arriba o abajo) es si tiene que dar más o menos tensión.

Según me ha dicho esto sólo lo puedo hacer con un Pic que tenga convertidor A/D, o sea que he pensado en el 16F873.

Y no sé si esto ya es demasiado nivel... podría pone un led de 8"s que me indicase en que nivel de tensión estoy...

La verdad es que no tengo ni idea, por eso espero vuestros consejos.

Gracias.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #12 en: 09 de Julio de 2004, 04:49:00 »
Mira esta nota de Microchip, te explica cómo obtener una señal analógica desde un pulso PWM o usando 8 salidas digitales.

http://ww1.microchip.com/downloads/en/AppNotes/00655a.pdf

Creo que es lo que necesitas.

Desconectado lovando

  • PIC16
  • ***
  • Mensajes: 193
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #13 en: 09 de Julio de 2004, 08:07:00 »
Nocturno66, gracias por tu link

Este app esta super bueno, hace dias que lo vengo leyendo. Otra app note es la "Pic micro mid-range manual reference" donde hay ejemplos pwm y como calcular frecuencias y definicion de bit...se puede consultra las sgtes appnotes


-538c
-539
-654
-655a
-an0150 de zilog, =mente buena
-T. Scott Dattalo tambien tiene unos codigos fuentes interesantes
-Parallax, analogo y digital, tambien bueno
-33023a, Pic micro mid-range reference = tiene calculos pwm
-16F628, en seccion pwm tambien presente buena teoria

Todos estos estoy revisando...para mi, en estos momentos la cuestion es cómo saber que frecuencia pwm es la que necesito???


Chaolin....

Desconectado huro

  • PIC10
  • *
  • Mensajes: 36
RE: 16F84-Cómo crear pulsos PWM cuyo ancho varie segun un cursor??
« Respuesta #14 en: 10 de Julio de 2004, 14:18:00 »

    Que te parece lo siguiente, trabajando con un cristal de 4Mhz y por lo tanto usando un ciclo de instrucción de 1uS, y con el timer corriendo sin preescala, usando interrupción del timer tendríamos una frecuencia aproximadamente de 3.9Khz, en este caso tendríamos una resolución de un paso por cada uS. Aconsejaría trabajar con los pulsadores para incrementar y decremnetar cada vez que se pulse para variar los contadores que afectarán al ciclo de tarea.


 

anything