Autor Tema: Dudas sobre resistencias pull-up en los pines  (Leído 7036 veces)

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

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Dudas sobre resistencias pull-up en los pines
« en: 11 de Diciembre de 2014, 18:57:03 »
Hola a todos, tengo una duda sobre las resistencias de pull-up y los pines de los microcontroladores, sé que normalmente el puerto B tiene unas resistencias de pull-up internas que se pueden conectar y desconectar a voluntad, peroooo ¿y que pasa con el resto de puertos?, ¿es conveniente poner resistencias de pull-up en todos los pines que se usen?, me refiero a led's, pulsadores, líneas de protocolos de comunicación, SPI, I2C(estas son obligatorias), displays, etc, ect.

La duda aparece porque hay veces que no me ha hecho falta una resistencia de pull-up para que un led funcione o una línea de un protocolo de comunicación pero según me ha parecido leer los pines de los micros están diseñados para alimentar hasta una cierta demanda de corriente, si se supera la demanda o está muy al límite el pin se podría romper, así que pensando (que tiemble la humanidad... yo pensando  :D) creo que utilizar resistencias para que soporten la carga sería lo más conveniente pero no me queda muy claro, así que apelo a sus opiniones.

gracias
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #1 en: 11 de Diciembre de 2014, 19:07:10 »
Imagino que hay que diferenciarlas segun su uso.

* Si es una salida y no es colector abierto no se por que usaria una resistencia de pull-up, ya que el pin del micro tendria GND o VCC (Obviamente debo respetar la corriente maxima que puede manejar el mismo ).

* Ahora una entrada si pondria una resistencia de pull-up o utilizaria la resistencia de pull-up/pull-down del puerto. Un boton que tiene un terminal al pin y otro a GND, mientras no este presionado el pin de entrada esta a la merced de todo tipo de ruido (no se encuentra ni en VCC ni en GND), si le pones la resistencia de pull-up le definis un estado, en este caso un 1.

Cuando es salida en el ejemplo de un led esta muy claro, en la linea de comunicacion por ejemplo un SPI en el pin de recepcion el 0 lo pone el que transmite, por lo tanto esta en un estado definido.

Citar
pero según me ha parecido leer los pines de los micros están diseñados para alimentar hasta una cierta demanda de corriente, si se supera la demanda o está muy al límite el pin se podría romper

Tienen un limite, y cada micro es distinto, el 16F887 (Maximum output current sourced by any I/O pin : 25 mA ), y tambien tiene un limite de todos los puertos. Y tambien tiene un limite la resistencia de pull-up ( en caracteristicas electricas esta todo )
El dsPIC33Fj32mc204 ( Maximum output current sourced by any I/O pin(3) : 4 mA ) este trabaja a 3.3V

Despues me toco que en un integrado de TI (ARM Cortex-M4F) tiene un registro para controlar la fuerza del driver ( driver strength ) para poder poner 2/4/8/16mA o no se si alguno mas.

Y para soportar mas carga necesitas de un driver que pueda poner a 1 o 0 la salida y lo soporte, por eso se termina usando BJT, ULN2003 , entre otros. Por mas que pongas una resistencia que soporte la corriente que consume el dispositivo si eel driver no lo soporta el pin murio xD. Una equivalencia burda seria, por que pondrias un transistor que soporta 1A si pasan 2A, para eso pones uno de 2A+, pero lametablemente en el micro no lo podes cambiar a eso :)
« Última modificación: 11 de Diciembre de 2014, 19:29:47 por KILLERJC »

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #2 en: 12 de Diciembre de 2014, 10:58:42 »
Todo depende de la aplicacion, para un switch o boton si deberias poner pullup ya que el boton haria de masa para detectar el pulsado, para SPI no es necesario ya que el MCU lo hace mediante mosfets intercambiando GND y VDD. Sin embargo por ejemplo I2C si lo necesita porque asi lo requiere, pero por ejemplo el I2C requiere resistencias segun la velocidad maxima, las pullup que trae el micro puede no ser suficiente ya que suelen ser pullup de elevada resistencia.

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #3 en: 13 de Diciembre de 2014, 16:38:42 »
Gracias por las respuestas, entendido entonces   :o
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #4 en: 17 de Diciembre de 2014, 06:58:41 »
para SPI no es necesario ya que el MCU lo hace mediante mosfets intercambiando GND y VDD.

Otra duda que me ha saltado, entiendo que esto que me dices es cunado utilizas el protocolo por hardware ¿pero cuando lo haces por software?

Creo entender que los pines que no se utilizan es mejor ponerlos como salida y a un estado lógico como por ejemplo gnd, ¿sería recomendable conectarlos a masa si lo ponemos en estado lógico bajo o a Vcc si lo ponemos como estado lógico alto?
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #5 en: 17 de Diciembre de 2014, 11:00:45 »
para SPI no es necesario ya que el MCU lo hace mediante mosfets intercambiando GND y VDD.

Otra duda que me ha saltado, entiendo que esto que me dices es cunado utilizas el protocolo por hardware ¿pero cuando lo haces por software?

Creo entender que los pines que no se utilizan es mejor ponerlos como salida y a un estado lógico como por ejemplo gnd, ¿sería recomendable conectarlos a masa si lo ponemos en estado lógico bajo o a Vcc si lo ponemos como estado lógico alto?

Y si lo haces por software es igual, la idea es que tenga un estado definido. Y a no ser que tengas un pin con colector abierto no deberias agregar ninguna resistencia. Por que el mismo driver del pin de salida te lo pondria en GND o VDD.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #6 en: 17 de Diciembre de 2014, 19:48:54 »
  Además, tampoco tiene sentido configurar un pin como salida, ponerlo en estado bajo y a su vez conectarlo a GND.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #7 en: 18 de Diciembre de 2014, 05:59:29 »
Entonces para que me quede claro y ver si lo entiendo, salvo que el protocolo lo indique expresamente como el caso de I2C, solo se pondrán resistencias de pull-up cuando un pin se configure como entrada y este pueda quedar en un estado indeterminado en algún momento, de más no hace falta
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #8 en: 18 de Diciembre de 2014, 08:08:44 »
exacto, si por ejemplo no pones en un boton pull-up funcionara mal ya que le influiran los ruidos externos, ademas, no detectaria el cambio logico a 0.

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #9 en: 18 de Diciembre de 2014, 08:32:57 »
Pues entendido entonces, todo esto lo preguntaba porque me pareció leer en su día que si el pin alimenta a un dispositivo sin una resistencia de pull-up con el tiempo el pin se deteriora, pero ya está todo claro
 ((:-)) ((:-)) :-/ :-/ :-/
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado alexhumbertoa

  • PIC10
  • *
  • Mensajes: 49
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #10 en: 26 de Diciembre de 2014, 13:06:57 »
No necesariamente se debe utilizar una resistencia pull-up solo cuando este sea entrada, también hay casos en que se requiere aun cuando el pin sea salida.
Hay que tener en cuenta dos cosas cuando usas pines como salidas:
- si el pin va a alimentar algún dispositivo de bajo consumo de corriente como por ejemplo un led, no se requiere ya que este solo enciende cuando tiene Vcc o GND segun su conexión y no importa si el pin se encuentra en alta impedancia(input)
- si el pin va a comunicar digitalmente con otro dispositivo por ejemplo un integrado, o activar un transistor etc, es mejor poner una resistencia que asegure el estado del pin sobre todo en el arranque del micro ya que, por ejemplo, en la mayoría de los micros pic, en el arranque todos los pines comienzan como inputs hasta que se ejecuta la instrucción que los configura como debe ser, y durante este lapso de tiempo pueden ocurrir, por ejemplo, disparos accidentales de algún transistor, o información digital errónea causado porque un pin en input es equivalente a un pin flotante.

Y en el caso de entradas es la misma razón, pero en este caso, para asegurar un estado definido de entrada y no tener pines flotantes como entradas
Así mismo, los datasheets recomiendan que para reducir problemas de ruido e interferencias eléctricas los pines que no sean usados deben ser configurados como inputs y conectados a GND, o también pueden ser configurados como outputs y dejarlos desconectados,
La protoboard es la mejor amiga del ruido.

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #11 en: 26 de Diciembre de 2014, 14:48:36 »
Muchísimas gracias por la información, es muy útil  ((:-)) ((:-)) :-/ :-/ :)
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...

Desconectado cdaiag

  • PIC10
  • *
  • Mensajes: 18
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #12 en: 06 de Febrero de 2015, 08:46:06 »
Buenos días a todos soy nuevo en el foro.
Yo estoy trabajando con un pic 16F874A con un teclado matricial por lo que leí en el foro en este caso si hay que activar las resistencias de pull up

Desconectado Thulsa Doom

  • PIC24F
  • *****
  • Mensajes: 805
    • https://electronicadicto.wordpress.com/
Re: Dudas sobre resistencias pull-up en los pines
« Respuesta #13 en: 07 de Febrero de 2015, 06:45:19 »
Si tu comentario es una pregunta, si hay que activarlas o siempre puedes poner resistencias de 10K en los pines
Más códigos y desarrollos en https://electronicadicto.wordpress.com/ date una vuelta y curiosea un rato...