Using weak pull-up


Closed Thread
Results 1 to 7 of 7
  1. #1
    Join Date
    Mar 2005
    Location
    Denmark
    Posts
    31

    Question Using weak pull-up

    Hi,

    I have and application using a 12F629 using 4x10Kohm pull-up resistors,
    but should there be any reason not to use the internal weak pull-resistors instead?

    That would save me some space on my PCB

    Kind regards
    Sharky
    *Let's do it*

  2. #2
    Join Date
    Feb 2003
    Location
    Salt Lake City, Utah USA
    Posts
    517


    Did you find this post helpful? Yes | No

    Smile

    Sharky,

    If you just need “weak pull-ups,” the internal ones are and work great. I use them almost all of the time when I need weak pull-ups. If you need your weak pull-ups to exactly control current (rare for most PIC applications), then stick with your 10k resistors (5V/10K = 500uA)

    Why? If you notice in the data sheet, there is no resistance given for the weak pull-ups. That is because they are not “weak pull-resistors” they are “weak pull-ups,” consisting of what appear to be high-resistance channel pFETs. Their channel resistance will vary with temperature and between parts; not easy to characterize. The data sheet gives a current range for the internals as 50-400uA (at 5V). My opinion - use the internals!

    Paul Borgmeier
    Salt Lake City, Utah
    USA

  3. #3
    Join Date
    Dec 2005
    Posts
    1,073


    Did you find this post helpful? Yes | No

    Default

    What characterizes "weak" vs. "strong" in pull-ups?

  4. #4
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Just my own opinion here, Weak pull-up are great for developpement, but i always use external real-resistors for final project. As the internal are just something virtual (kind of) and may react weird in some noisy environement. Well that's what i'd experimented in some car application. SMD resistor and/or smd resistor network are quite small and still cheap..

    SURE, when the unit is always working hard, the internal may be enough, but once you remove the power OR use the Sleep mode, your pins are just floating in the air waiting for the next static spike tu burn your PIC. Oh that assume the worst case where you don't added sufficient static protection like some 1N5817 diode, transorb, blah blah blah....
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  5. #5
    Join Date
    Mar 2005
    Location
    Denmark
    Posts
    31


    Did you find this post helpful? Yes | No

    Default

    I think that I will stick to my pull up resistors, because I will not take any chances.

    I have about 300 pcs. of my application with pull-up resistors in the field and they work just great, but now I have to make some changes on the PCB, and I could use a little more space for an extra molex connector.

    Thanks for your inputs

    Sharky
    *Let's do it*

  6. #6
    Join Date
    Aug 2007
    Posts
    2


    Did you find this post helpful? Yes | No

    Unhappy 16F883 Weak Pull-up

    I'm attempting to configure portb.0 and portb.1 on a 16F883 as inputs with weak pull-ups. The register set-up code I'm using is:

    ANSELH=%00000000 'portb are all digital
    trisb=%00000011 ' portb.0 and portb.1 are inputs
    option_reg=%10010111 'Global Pull-up disabled and internal clk
    WPUB=%00000011 'Weak pull-up portb.0 and portb.1
    portb=%00000011 ' Outputs off, inputs don't care

    However, when I measure these nodes with a DVM (input impedance ~ or > 500K), I get 0v instead of the 5v I'm expecting.

    Any ideas?

    Thanks
    Last edited by dougsego; - 11th September 2007 at 05:16.

  7. #7
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by dougsego View Post
    I'm attempting to configure portb.0 and portb.1 on a 16F883 as inputs with weak pull-ups. The register set-up code I'm using is:

    ANSELH=%00000000 'portb are all digital
    trisb=%00000011 ' portb.0 and portb.1 are inputs
    option_reg=%10010111 'Global Pull-up disabled and internal clk
    WPUB=%00000011 'Weak pull-up portb.0 and portb.1
    portb=%00000011 ' Outputs off, inputs don't care

    However, when I measure these nodes with a DVM (input impedance ~ or > 500K), I get 0v instead of the 5v I'm expecting.

    Any ideas?

    Thanks
    Hi Dougsego,
    Global pull up cleared means bit 7 should be set to zero: option_reg=%00010111 , see page 77 of the Data sheet:
    " 0 = PortB pullups are enabled by individual port LATCH values " .
    Last edited by Archangel; - 11th September 2007 at 06:48.
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

Similar Threads

  1. Pull Up enabled and PWM question
    By financecatalyst in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 7th September 2009, 08:21
  2. Weak pull Up 12F629
    By Lionheart in forum General
    Replies: 1
    Last Post: - 9th December 2008, 21:07
  3. switch on 1 weak pullup on portb?
    By peterdeco1 in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 5th December 2008, 18:32
  4. 16f684 Porta.2 Instability
    By JDM160 in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 5th November 2006, 02:38
  5. Weak Pull-ups
    By markcadcam in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 12th June 2006, 19:41

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts