TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Juanolo en 10 de Septiembre de 2009, 18:22:28

Título: PROBLEMA CON PROGRAMA Y CIRCUITO SENCILLO
Publicado por: Juanolo en 10 de Septiembre de 2009, 18:22:28
Hola amiguetes:

Pos la verdad no se lo que pasa pero esto no me rula...

os explico:

Estoy haciendo 2 modulos de RF con laipac 433MHZ y pic 16F628A programado en mikroBASIC Pro

El transmisor realiza una funcion tan sencilla como:

Cuando un bumper detecta = 1 este lo envia al pic por RA0, desde ahi el pic tiene que enviar un 1 mediante usart y RB2 hacia el modulo de laipac.

Tiene un LED en RB7 que desde que se le da alimentacion al pic tendría que estar encendido, pero solo se enciende cuando le doy al bumper

Otro led al USART como indicador que solo se enciende cuando le doy al bumper (funciona correctamente y es buena señal de que le envia 1 por RB2

Y un transistor BC548 con R de 1K en la base en RA1 para controlar un Zumbador. Que va de +5V al + del zumbador y del - al colector del transistor y del emisor a masa.

Cristal de 4Mhz con 2 C de 22p a patilla 15 y 16 del pic.

Pero me pasa lo siguiente en el modulo de TX que es el unico que estoy intentando hacer...

El bumper lo tengo de masa al comun y del Normalmente abierto a una resistencia de 10K y de ahi a +5V, el punto que utilizo para RA0 lo cojo entre el NA y la resistencia.

Pues nada tengo problemas con el MCLR porque: solo va a medias cuando pongo el MCLR a una resistencia de 10K y al mismo punto que saco RA0 desde el bumper. Si pongo MCLR con la resistencia de 10K y directo a +5V se me encienden todos los leds y no funciona. Y si no le pongo nada a MCLR no se me enciende y ningun led y no me funciona.

Para que funcione correctamente tendría que:

Siempre que tenga alimentación que se encienda el led verde de RB7

Cuando detecte el bumper:

Sonar intermitentemente el zumbador
Enviar un 1 por RB2 usart y encender su led

Aqui les pongo el código:

Código: [Seleccionar]
program codigotx
'PROGRAMA PARA TX

dim dato as byte   'DECLARAMOS EL DATO DE ENVIO DEL USART

main:
CMCON=7            'QUITAMOS LOS COMPARADORES

TRISA= %00000001   'PONEMOS RA0 COMO ENTRADA Y RA1,RA2 COMO SALIDA
TRISB= %00000010   'PONEMOS PARA TX RB2 COMO SALIDA Y RX RB1 COMO ENTRADA

PORTB.7=1          'ENCENDEMOS EL LED QUE INDICA EL FUNCIONAMIENTO DEL PIC
dato=0             'INICIALIZAMOS DATO A 0

UART1_Init(2400)   'INICIALIZAMOS EL PUERTO UART PARA TRANSMITIR

WHILE PORTA.0=1
PORTA.1=1
DELAY_MS(200)
PORTA.1=0
DELAY_MS(100)
PORTA.1=1
DELAY_MS(200)
PORTA.1=0
DELAY_MS(3000)
dato=1
UART1_Write(dato)
WEND

UART1_Write(dato)

end.

Muchas gracias y espero que alguien me pueda ayudar
Título: Re: PROBLEMA CON PROGRAMA Y CIRCUITO SENCILLO
Publicado por: Juanolo en 10 de Septiembre de 2009, 18:26:48
por cierto los leds los tengo de la salida del pic al anodo y del kátodo a una resistencia de 330Ohms y a masa
Título: Re: PROBLEMA CON PROGRAMA Y CIRCUITO SENCILLO
Publicado por: Juanolo en 11 de Septiembre de 2009, 05:44:04
(http://img43.imageshack.us/img43/3132/circuitotx.png)

Este es el circuito
Título: Re: PROBLEMA CON PROGRAMA Y CIRCUITO SENCILLO
Publicado por: elmasvital en 11 de Septiembre de 2009, 08:45:17
Las leyes de Kirchoff te están jugando una mala pasada. tienes algunos fallitos.

El mas gordo es que MCLR no estará nunca a 5V pq cuando el pulsador cierra el circuito lo estás conectando a masa. Como lo tienes lo tienes al aire y por tanto puede comportarse de cualquier manera. Puede incluso quemar el micro.

Para alimentar MCLR pon una resistencia entre VCC y gnd y desde la parte de la resistencia que está conectada con VCC alimentas MCLR (puedes limitar la corriente que pasa a MCLR con otra resistencia pero no es necesario)

Para RA0 Conecta tambien una resistencia entre vcc y gnd y desde la parte de la resistencia que está conectadacon vcc almientas RA0 y cortale la linea de vcc o gnd con el pulsador.

Pero recuerda si conectas a la resistencia con la parte que va a GND el valor siempre va a ser 0 y vas a tener una entrada al aire.
Título: Re: PROBLEMA CON PROGRAMA Y CIRCUITO SENCILLO
Publicado por: Juanolo en 11 de Septiembre de 2009, 09:41:30
ok!

respecto al programa esta bien no?

saludos
Título: Re: PROBLEMA CON PROGRAMA Y CIRCUITO SENCILLO
Publicado por: elmasvital en 11 de Septiembre de 2009, 10:10:37
A ver me corrijo a mi mismo que estaba un poco espeso

MCLR está bien conectado pero el problema es que cuando cierras el circuito del pulsador mandas MCLR a masa y por tanto reseteas el micro.

Lo que tienes que hacer ahora es conectar como te decia antes el pulsador.

El programa no te lo puedo revisar porque no uso compiladores de basic aunque en principio parece bien