Autor Tema: Ejemplos de detector de paso por cero  (Leído 2678 veces)

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

Desconectado Karlss_Infante

  • PIC10
  • *
  • Mensajes: 8
Ejemplos de detector de paso por cero
« en: 24 de Enero de 2006, 12:26:00 »
Alguien tiene algún ejemplo  q utilicen la detección de paso por cero, y más concretamente, el procedimiento a seguir para activar una salida trascurrido un perido de tiempo tras la detección de paso por cero.
Cambiando totalmente de tema, y no se si estoy diciendo un disparate enorme pero existe una resistencia variable que pueda ser controlada de forma digital o algún procedimiento q lo realice???

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
RE: Ejemplos de detector de paso por cero
« Respuesta #1 en: 24 de Enero de 2006, 12:54:00 »
HolaKarlss_Infante, la deteccion del cruce por cero es conveniente hacerla por hardware, para ganar en velocidad, y dejar las cosas importantes para que las procese el PIC, tendrás que realizar un circuito que entregue un pulso en el preciso momento que la tensión pase por el cero.

Para activar una salida lo único que tienes que hacer es que el pic detecte el pulso del detecto, en este momento disparas el contador o un TMR junto con la salida que deseas controlar y después de cumplido el tiempo desactivas todo, pones los contadores a cero y quedas a la espera del próximo pulso.

Existen potenciómetro digitales que por medio de un programa adecuado y un PIC logras los mismos resultados que cualquier potenciómetro normal, eso si con una señal muy pequeña.

Espero te haya ayudado

Suerte

Atte. CARLOS

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado xootraoox

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 248
RE: Ejemplos de detector de paso por cero
« Respuesta #2 en: 24 de Enero de 2006, 15:34:00 »
bueno..... justamente hace poco tuve que usar un detector de cruze por zero y obtube muy buenos resultados al primer intento.... incluso en el osciloscopio se me perfecta la deteccion..... sigue el siguiente enlace para que descargues el archivo en donde he colocado 2 detectores.... el primero es el que yo use y el segundo es por si lo necesitasGiño

http://miarroba.com/foros/ver.php?foroid=348538&temaid=4120538

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
RE: Ejemplos de detector de paso por cero
« Respuesta #3 en: 24 de Enero de 2006, 18:19:00 »
Hola Karlss_Infante.

En referencia al circuito detector de paso por cero... yo tengo implementado el 2º circuito que nos comenta el colega xootraoox y funciona a la perfección (mañana te lo confirmo porque no recuerdo si es exáctamente igual).

Resistencias variables controladas de forma digital?? Existen.

La casa MAXIM-DALLAS tiene unos cuantos potenciómetros digitales y... el que yo utilicé es el X9313 (de XICOR). Económico y fácil de utilizar. Si te decantas por este último te puedo pasar mi código en asm.

Suerte con tu proyecto!


Un saludo desde Alicante.

Desconectado Karlss_Infante

  • PIC10
  • *
  • Mensajes: 8
RE: Ejemplos de detector de paso por cero
« Respuesta #4 en: 25 de Enero de 2006, 04:09:00 »
Ante todo agradeceros la gran ayuda mostrada.
Lo del potenciometro controlador digitalemente no se si existira realmente, es q simplemente sería para ahorrarme los temporizadores que necesitaré para otras
partes del proyecto.
Azicoetano, si puedes pasame el código del potenciómetro digital.


Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
RE: Ejemplos de detector de paso por cero
« Respuesta #5 en: 25 de Enero de 2006, 05:35:00 »
Hola Karlss_Infante.

Ahí va el código que yo utilicé en su día:

Codigo:
INCREMENTA

   call ANTIRREBOTES
   bcf PORTB,0      ; CS->0
   nop      
   bsf PORTB,1      ; INC->1 (lo ponemos a uno para poder, despues del retardo, conseguir un pulso descendente en INC)
   bsf PORTB,2      ; UD->1 (si UD->1 cuando metamos calambrazos en INC el integrado incrementará su resistividad)
   call MINIRETARDO            ; pequeño retardo (38 us)      
   bcf PORTB,1      ; INC->0 (con esto conseguimos el pulso descendente)
   nop
;   call GRABAR

   RETURN



Codigo:
DECREMENTA
   call ANTIRREBOTES
   bcf PORTB,0      ; CS->0
   nop
   bsf PORTB,1      ; INC->1 (lo ponemos a uno para poder, despues del retardo, conseguir un pulso descendente en INC)
   bcf PORTB,2      ; UD->0 (si UD->0 cuando metamos calambrazos en INC el integrado decrementará su resistividad)
   call MINIRETARDO            ; pequeño retardo (38 us)
   bcf PORTB,1      ; INC->0 (con esto conseguimos el pulso descendente)
   nop
;   call GRABAR

   RETURN


Codigo:
GRABAR
   bsf PORTB,1      ; INC->1
   bcf PORTB,0      ; CS->0

   call ANTIRREBOTES

   bsf PORTB,0      ;CS->1

   call ANTIRREBOTES         ; 20 ms minimo para grabar. ajustar mejor el retardo cuando tengas tiempo.

   bcf PORTB,0      ;CS->0
   RETURN      


Tras conectar el X9313 al pic no tienes mas que llamar a las funciones INCREMENTA y DECREMENTA para aumentar o disminuir la resistividad del potenciómetro digital.

INC -> PORTB,1
U/D -> PORTB,2
CS -> PORTB,0

Suerte!!

Un saludo desde Alicante.




 

anything