TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: halowin en 09 de Junio de 2008, 17:42:07

Título: Un "1" logico que solo es "0.5"
Publicado por: halowin en 09 de Junio de 2008, 17:42:07
Hola a todos.
Estoy haciendo una prueba muy simple con el 16F84, se trata de leer el PORTA, testear el RA1 y si está a "1" activar el RB3.
Funciona muy bien con un led, pero si pongo un zumbador de 5V apenas suena.
He medido la tensión en RB3 y me da 2.20V cuando está a "1"
¿Que puede estar pasando?

Gracias.
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: electrotacto en 09 de Junio de 2008, 18:05:25
tu problema al parecer es de corriente; antepone un transistor entre el pic y el zumbador o quizas un opto estaria mejor
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: halowin en 09 de Junio de 2008, 18:14:22
Hola electrotacto, he hecho otra prueba: la salida RB3 la meto en un 40106, a su salida obtengo 5v pero no da la chicha suficiente para el zumbador.
Todo lo estoy alimentando a 5V.
Pero mi pregunta es ¿por que da solo 2.20v en RB3, cuando debería dar 5V ¿no? ?

Saludos
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: RedPic en 09 de Junio de 2008, 18:25:29
Estas forzando el pin del PIC mas allá de su capacidad.

Un pin en alto puede dar como máximo, máximo unos 20 mA. Si le pones un zumbador que consume 70 u 80 mA lo único que vas a conseguir es quemar el pin.

Colócale un transistor que sea quien le dé la corriente al zumbador y que el PIC solo sirva para activarle la base al transistor. Verás como así tu zumbador suena alto y fuerte.

(http://picmania.garcia-cuervo.net/images/Zumbador.jpg)
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: poseidon20 en 09 de Junio de 2008, 18:31:31
mejor, no lo pude decir; sensei RedPic :D.
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: halowin en 09 de Junio de 2008, 18:32:03
Vale asi lo haré.
Quizás me lo haya cargado ya y por eso da solo 2.20V ?

Título: Re: Un "1" logico que solo es "0.5"
Publicado por: poseidon20 en 09 de Junio de 2008, 18:35:22
has esta prueba, sin conectar el zumbador y mide con un voltimetro en DC sobre ese pin con respecto a GND. Si esta bien deberia darte los 5v o aproximado. pero si a pesar de que no esta el zumbador conectado marca 2.2v cuando esta en  logico, quiere decir qeu ya te malograstes ese pin :D.
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: halowin en 09 de Junio de 2008, 18:41:34
Ya la he hecho, y en efecto sin carga alguna me da 2.20V.

¡¡¡ R.I.P !!! Todo el PIC o solo ese pin ?, eso no lo he probado, mañana os cuento.

Gracias.
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: poseidon20 en 09 de Junio de 2008, 18:48:44
solo ese pin deberia ser. pero has un programa y que ponga a 1 todo los pines del purto B y luego comienzas a medir cada pin :D.
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: Nocturno en 10 de Junio de 2008, 01:54:19
¿No será que la tienes como entrada?, revisa bien el TRIS.
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: poseidon20 en 10 de Junio de 2008, 02:05:04
¿No será que la tienes como entrada?, revisa bien el TRIS.
uyyyy se mepaso eso ...... has caso del maestro  :g)
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: halowin en 10 de Junio de 2008, 04:53:24
Hola de nuevo.

¿Me podriais decir que valor de resistencia de base he de poner? y voy a usar un "BD135", os repito que de electrónica ando bastante pez. Es que del esquema que ha dejado RedPic no entiendo nada.

¿El emisor directo a GND y el zumbador a colector y GND estaría bien?

Gracias.
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: todopic en 10 de Junio de 2008, 10:05:30
Es que del esquema que ha dejado RedPic no entiendo nada.
:shock: :shock: :shock:


Hola, emplea un transistor como el bc337
emisor a masa
base con una R de 1k a 10k a la patita del pic
colector al buzzer
el otro extremo del buzzer a positivo  :mrgreen:

Suerte!


Norberto
Título: Re: Un "1" logico que solo es "0.5"
Publicado por: halowin en 10 de Junio de 2008, 13:07:37
Detectado el error de los 2.2v, era problema de software que explico:

Programa bueno:

INIC    BSF     STATUS,5             ;bit 5 de STATUS a 1=banco 1
           CLRF    TRISB                 ;configura PORTB de salida
           MOVLW   B'11111111'
           MOVWF   TRISA   ;configura PORTA de entrada
           BCF     STATUS,5            ;bit 5 de STATUS a 0=banco 0

main   
   movlw   0
   movwf   PORTB
   MOVWF     PORTA
buc   btfsc   PORTA,1   ;testeo el RA1
                goto    ilumina
   goto   apaga

ilumina
   bsf   PORTB,3
   goto    buc

apaga
   bcf   PORTB,3
   goto    buc

        END

;----------------------------------
Programa con error de logica

INIC    BSF     STATUS,5        ;bit 5 de STATUS a 1=banco 1
           CLRF    TRISB            ;configura PORTB de salida
           MOVLW   B'11111111'
           MOVWF   TRISA          ;configura PORTA de entrada
           BCF     STATUS,5        ;bit 5 de STATUS a 0=banco 0

main   
   movlw   0
   movwf   PORTB
   MOVWF   PORTA
buc   btfsc   PORTA,1   ;testeo el RA1
                goto    ilumina
   goto   apaga

ilumina
   bsf   PORTB,3
   goto    main

apaga
   bcf   PORTB,3
   goto    main

        END


; Conclusion: Un mal salto lo da cualquiera, ya tengo los 5v en RB3 y por suerte no se ha frito ni el PIC ni RB3.

Como transistor he hecho la configuracion que ha dejado "todopic" pero como no tenia el BC337 he puesto un BD135 y chufla el buzzer de escandalo con una resistencia de 1K.


Muchas gracias a todos por vuestra ayuda, ya se un poquito más que ayer.

Saludos.