Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

De vuelta con el Ruido y los rebotes

61 Respuestas
8 Usuarios
0 Reactions
22.3 K Visitas
vcs
Respuestas: 114
 vcs
Topic starter
(@vcs)
Estimable Member
Registrado: hace 18 años

Buenos días.

Pues de nuevo vuelvo a tener "problemas" con los ruido y los rebotes en mi experimentos :D, bueno resulta que tras solucionar el problema de lo que yo creía ruido que comenté en ESTE post, que al final resulto ser "mala programación" o falta de conocimiento de como trabajan las interrupciones, pues me puse de nuevo a enredar y me la he vuelto a pegar.

Bueno lo que he pretendido es controlar un arranque estrella - Triangulo de un motor trifásico :D, para esto lo que uso la placa de siempre que ya deje preparada para controlar relés a través de un ULN2003.

La conexión es, con el PIC disparo el ULN2003, este controla un rele alimentado a 24V, se supone que este ULN2003 esta preparado para trabajar con cargas inductivas y ya lleva montado el diodo internamente para evitar las corrientes inversas y todo eso, esto funciona muy bien, he montado esto bastantes veces y siempre funciona a la "perfección" salvo fallos míos, tras programar y montar los relés probé el programa y parece que trabajaba bien, ahora bien como el motor es trifásico y para no cargarme los contactos del relé el motor lo arranco con contactores que los alimento con los relés, es decir el PIC controla el uln2003 para disparar los reles, los reles alimentan los contactores y los contactores alimentan el motor, pues bien, cuando pongo los contactores el PIC se descontrola.

¿Que he podido observar? por un lado lo que ya sabia, que me habíais comentado en el post anterior y que había contrastado viendo otros circuitos y otras literaturas, los condensadores de 100nf a la entrada de alimentación del PIC, sin esto pues hay problemas de reset, etc., etc., Ahora bien, también he podido comprobar que al entrar los contactores se mete ruido por algunas de las entradas, por esto quería filtrar esas entradas, se que lo que hay que hacer es meter condensadores por en esa entrada, de esa forma se retarda la activación y se amortiguan los ruidos ya que si el pulso es muy pequeño el condensador lo absorbe al no ser suficientemente largo como cargar el condensador ¿no es así? lo único que he podido probar es a meter un C de 47 microfaradios y una R de 10K, con lo que he visto que esto retarda 0.5 seg. aprox. el tiempo de respuesta de la entrada, ahora bien, no he podido probar mas por no tener material, es lo que pasa cuando juegas los fines de semana que está todo cerrado, el montaje que he hecho es el siguiente

circuito

No se si es del todo correcto, bueno antes de vcc hay un contacto que es con el que disparo, ¿esto es correcto? la pregunta que se me ocurres, en este caso el condensador es de 35 Voltios, es el que tenia y por eso lo monté, ¿si la entrada se queda activada mucho tiempo es posible que el condensador se cargue lo suficiente como para que exista una tensión en sus bornes superior a los 5v de la fuente? ¿Es decir podría llegar a tener 35v entre extremos del condensador? y de ser así, para evitar estropear el PIC, como podría limitar este voltaje, ¿con un zenner de 5v en antiparalelo al condensador? como este otro esquema:

circuito2

Cuando se supera la tensión del zener y este empezase a conducir ¿no se produciría un corto?

Bueno quizá las preguntas sen muy básicas, pero es que no me termino de aclarar,

Muchas Gracias

Responder
60 respuestas
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 20 años

El zener ahí no te hace nada, lo que tienes que controlar es la tensión VCC que le metes por la resistencia (que no sea nunca mayor que 5V).

S2

Ranganok Schahzaman

Responder
vcs
Respuestas: 114
 vcs
Topic starter
(@vcs)
Estimable Member
Registrado: hace 18 años

Buenos días

Ayer me dejaron un osciloscopio para jugar, 😀 estuvo muy bien disponer de esta herramienta para ver algunas cositas, por ejemplo pude ver de primera mano los rebotes de mi circuito al pulsar los distintos pulsadores y contactos que tengo, si bien es cierto que ya conocía la teoría de esto nunca lo había visto con de primera mano y de mis pulsadores, es súper curioso aunque por otra parte lógico, que de los tres tipos de interruptores que tengo los que eran del mismo "modelo" tenían formas del rebote muy similares, sobre todo en duración de los rebotes, supongo que será por la elasticidad del contacto que usen para cada modelo, el modelo más desfavorable y con mas rebote no llegaba a tardar ni 10 ms antes de estar estabilizado, un buen dato para saber los retardos que tendría que poner por programa si quisiera intentar hacer un filtro por soft.

Otra cosa que pude ver era referente a lo que comentaba del condensador, de si al estar mucho tiempo podría cargarse mucho y subir mucho de tensión, en primer lugar tras ver las curvas de cargas de varios RC hice la prueba de meter un C de 16 v conectado a la fuente de 5v y efectivamente no subía, luego pensando detenidamente tiene su lógica, si se carga hasta llegar a tener los 5v de potencial actuarían como fuentes enfrentadas del mismo V no habiendo carga.

He tenido que devolver el Fluke y no he podido probar lo de los contactores porque también se los había llevado su dueño junto con el motor :p , el finde si me dejan de nuevo el fluke trataré de ver si mi amigo tiene libre el motor y probar si se ve algo, y si se puede inmunizar de alguna forma con los filtros y tal. Hombre si fuese capad de hacerlo trabajar bien con los contactores como carga, me imagino que quedaría inmunizado mi circuito para cualquier otra carga que se me ocurriera ponerle :p

Responder
meta
Respuestas: 142
 Meta
(@meta)
Estimable Member
Registrado: hace 17 años

Los antirebotes los quita mediante hardware o software. Si lo quieres quitar con SoftWare es mediante retardos.

;********************************* Pulsador_01.asm *****************************
;
; ===================================================================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. www.pic16f84a.com
; Editorial Ra-Ma. www.ra-ma.es
; ===================================================================
;
; Cada vez que presione el pulsador conectado al pin RA4 incrementa un contador visualizado
; en el display.
;
; ZONA DE DATOS
****************************************************************

LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

CBLOCK 0x0C
Contador ; El contador a visualizar.
ENDC

#DEFINE Pulsador PORTA,4 ; Pulsador conectado a RA4.
#DEFINE Display PORTB ; El display está conectado al Puerto B.

; ZONA DE CÓDIGOS *****************************************************************

ORG 0 ; El programa comienza en la dirección 0.
Inicio
bsf STATUS,RP0 ; Acceso al Banco 1.
clrf Display ; Estas líneas configuradas como salidas.
bsf Pulsador ; Línea del pulsador configurada como entrada.
bcf STATUS,RP0 ; Acceso al Banco 0.
call InicializaContador ; Inicializa el Contador y lo visualiza.
Principal
btfsc Pulsador ; ¿Pulsador presionado?, ¿(Pulsador)=0?
goto Fin ; No. Vuelve a leerlo.
call Retardo_20ms ; Espera que se estabilicen los niveles de tensión.
btfsc Pulsador ; Comprueba si es un rebote.
goto Fin ; Era un rebote y sale fuera.
call IncrementaVisualiza ; Incrementa el contador y lo visualiza.
EsperaDejePulsar
btfss Pulsador ; ¿Dejó de pulsar?. ¿(Pulsador)=1?
goto EsperaDejePulsar ; No. Espera que deje de pulsar.
Fin goto Principal

; Subrutina "IncrementaVisualiza" ---------------------------------------------------------

IncrementaVisualiza
incf Contador,F ; Incrementa el contador y comprueba si ha
movlw d'10' ; llegado a su valor máximo mediante una
subwf Contador,W ; resta. (W)=(Contador)-10.
btfsc STATUS,C ; ¿C=0?, ¿(W) negativo?, ¿(Contador)<10?
InicializaContador
clrf Contador ; No, era igual o mayor. Por tanto, resetea.
Visualiza
movf Contador,W
call Numero_a_7Segmentos ; Lo pasa a siete segmento para poder ser
movwf Display ; visualizado en el display.
return

INCLUDE <DISPLAY_7S.INC> ; Subrutina Numero_a_7Segmentos
INCLUDE <RETARDOS.INC> ; Subrutinas de retardo.
END ; Fin del programa.

; ===================================================================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. www.pic16f84a.com
; Editorial Ra-Ma. www.ra-ma.es
; ===================================================================

Mediante HardWare de esta manera:
image032

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 20 años

Quitar un retardo mediante hardware es más sencillo que poner un flip-flop (lo que ha puesto Meta) con un filtro paso bajo (un RC) generalmente hay más que suficiente.

S2

Ranganok Schahzaman

Responder
Página 1 / 13
Compartir: