Autor Tema: Voltages I/O  (Leído 3030 veces)

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

Desconectado obvius

  • PIC10
  • *
  • Mensajes: 5
Voltages I/O
« en: 30 de Octubre de 2005, 15:38:00 »
Hola,
estoy programando el modelo 16F84A(Oscilador:4Mhz,22pF,22pF) con el Picstart Plus.
El código está realizado con CCS y es asi de simple:

#include <16f84a.h>
#fuses HS
#use delay(clock=4000000)
#byte port_b=6
 
void main() {
  set_tris_b(0);
  port_b=0xff;
}

Cuando compilo en MPLAB y lo traspaso al pic me lo realiza con éxito pero luego cuando incorporo el micro a la placa para comprobar ese funcionamiento "básico" en todas las patillas I/O me salen voltages en el rango de 1.1V-1.9V.

Alguna sugerencia de cual puede ser el origen del problema?

He comprobado las tensiones de alimentación y masa y todo parece correcto, +5V y 0V.

Muchas gracias de antemano.

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Voltages I/O
« Respuesta #1 en: 30 de Octubre de 2005, 17:27:00 »
Con 4 Mhz el cristal ha de configurarse como XT, ahunque no estoy seguro que el problema venga de aqui. Que dispositivo metes en la salida? un led? Recuerdo que en mis inicios con el pic 16f84 me ocurrio algo parecido y lo solucione con un pic nuevo. Otra posibilidad es que conectes algun periferico que consuma mas de lo que el puerto puede entregar y por este motivo caiga el voltage. Lo del voltage negativo no lo entiendo de ninguna de las maneras, estas seguro que no habias puesto las puntas del multimetro al reves??

Salu2

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Voltages I/O
« Respuesta #2 en: 31 de Octubre de 2005, 04:56:00 »
Estoy con piries jeje, es imposible que haya tensiones negativas, no se las puede inventar el pic por la cara ... Prueba con otro PIC, y si persiste, pon un esquema por aquí que lo bicheemos.
Si juegas contra el mejor, pierdes como los demás.

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Voltages I/O
« Respuesta #3 en: 31 de Octubre de 2005, 05:06:00 »
Otra cosa que se me ocurre es que no estas usando el perro guardian en tu programa y no lo has desactivado, esto puede hacer que tu pic este reseteandose continuamente. Añade nowdt en la linea de fuses.

#fuses XT, NOWDT

A ver si entre todos damos con el problema.

Salu2

Desconectado obvius

  • PIC10
  • *
  • Mensajes: 5
RE: Voltages I/O
« Respuesta #4 en: 01 de Noviembre de 2005, 09:35:00 »
Hola de nuevo,

Piriots: Creo que te has confundido al leer el post, no me referia a tensiones negativas sino que era un rango de tensiones, separe ambos rangos por un guion Muchas risas

He realizado el cambio de anular el WDT en la linea de #fuses y de poner por el tema del cristal de 4Mhz a XT pero parece que la cosa sigue igual.

El codigo cambiado y ampliado para activar todas los puertos ha pasado a ser este:

#include <16f84a.h>
#fuses XT,NOWDT
#use delay(clock=4000000)


#byte port_a=5
#byte port_b=6
 
void main() {
  set_tris_a(0);
  set_tris_b(0);
  port_a=0x1f;
  port_b=0xff;
}

Al medir cada patilla del puerto A me da voltages alrededor de 0.6V y en el puerto B  alrededor de 1V.

He probado de cambiar a otros 16f84A e incluso adaptar el esquema a un 16f876A dando los mismos resultados.

Por un momento he llegado a pensar que pudiera ser problema del picstart pero pensandolo bien si el problema fuera del grabador a la hora de volcar el codigo al pic me daria problemas y es todo lo contrario, me muestra el:

"Programming/Verification completed successfully!"

He dejado el circuito en su expresion mas basica para comprobar el origen del problema:



Alguna idea?

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Voltages I/O
« Respuesta #5 en: 01 de Noviembre de 2005, 10:01:00 »
Añade un condensador para filtrar los ruidos. Un ceramico de 100nF entre la alimentacion y masa. Tambien prueba a poner un led en las patillas para ver si enciendo o no. Estas trabajando con protoboard? A mi me ocurria esto con las protoboard y des que uso placas entrenadoras no tengo ningun problema.

Desconectado FOXBATSK

  • PIC10
  • *
  • Mensajes: 15
RE: Voltages I/O
« Respuesta #6 en: 01 de Noviembre de 2005, 21:01:00 »
En si cual es el nivel de voltaje de un uno logico del pic alimentado con 5 Vcc.
Yo lo medi sin ninguna carga y me da aprox 2.4volts en el purtoB.

Desconectado piriots

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
RE: Voltages I/O
« Respuesta #7 en: 02 de Noviembre de 2005, 06:02:00 »
Cuando el pic saca un 1 logico, este voltage es igual a la alimentacion. Prueba a medir con una carga a ver si salen los 5v.

Desconectado obvius

  • PIC10
  • *
  • Mensajes: 5
RE: Voltages I/O
« Respuesta #8 en: 05 de Noviembre de 2005, 10:08:00 »
Estoy haciendo el montaje en una placa de topos porque con protoboard siempre acaban saliendose los cables o haciendo mal contacto y para encontrar los errores
es toda una odisea dependiendo de la magnitud del circuito implementado.
Ya he puesto el condensador de 100nF entre alimentacion y masa y para hacer pruebas he colocado una resistencia de 2700ohms (2mA deberia entregar, el maximo segun fabricante es de 25mA) para ver si con carga logro tener niveles de tension
normales pero el problema persiste con los mismos rangos de voltage que ya comente.
Esto ya va pillando caliz de frustacion...

Desconectado obvius

  • PIC10
  • *
  • Mensajes: 5
RE: Voltages I/O
« Respuesta #9 en: 12 de Noviembre de 2005, 12:15:00 »
Bueno, al final del todo ya he descubierto el origen del problema: El propio CCS
Realizando el mismo programa en ASM tira a la primera y los voltages son los
correctos.
Seguire investigando e informando sobre las novedades que vayan surgiendo.

Saludos.

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Voltages I/O
« Respuesta #10 en: 12 de Noviembre de 2005, 13:29:00 »
 Añade a tu codigo de CCS:

  #use fast_io(A)
  #use fast_io(B)

Si usas la funcion set_tris_x, le estas indicando que asigne entradas/salidas, esto lo hace CCS automaticamente cada vez que se usa un PIN I/O (si se lee antes lo configura como entrada, si le das un valor 1/0 lo configura previamente como salida).

Con estas directivas el compilador no hará esto que cito, si no que eres tu con los set_tris_x. Prueba así y comentas, porque no se me ocurre más si eso te funcionó en ASM...
Si juegas contra el mejor, pierdes como los demás.

Desconectado obvius

  • PIC10
  • *
  • Mensajes: 5
RE: Voltages I/O
« Respuesta #11 en: 12 de Noviembre de 2005, 19:56:00 »
Funciona!
Gracias Radon por la ayuda!
Esas dos lineas de codigo me han devuelto la esperanza!! Sonrisa Gigante

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Voltages I/O
« Respuesta #12 en: 13 de Noviembre de 2005, 02:29:00 »
Nada, me alegro que te valla GiñoFumadorFumador
Si juegas contra el mejor, pierdes como los demás.


 

anything