weak pull-up

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

weak pull-up

Inlägg av squiz3r »

Hej, jag skulle behöva lära mig använda "weak pull-up" på en PIC16F628A. Jag har kollat i databladet hur länge som helst nu... på sidan 3 står det "Special Microcontroller Features:" under det står det bla. "• Programmable weak pull-ups on PORTB". Men jag gick in i "bookmarks" på "special futures of the CPU" kan jag inte hitta det där :shock: och inte någon annan stans heller! är det någon som vet var det står någon bra text om den?

//Daniel A
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

På sid 36 kanske?

Each of the PORTB pins has a weak internal pull-up
(≈200 μA typical). A single control bit can turn on all the
pull-ups. This is done by clearing the RBPU
(OPTION<7>) bit. The weak pull-up is automatically
turned off when the port pin is configured as an output.
The pull-ups are disabled on Power-on Reset.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Du skall nolla högsta biten i OPTION-registret, tänk på att detta finns i BANK-1, den är satt som reset-default. Detta gör Du i in egen kod, inte i någon konfigurationsinställning.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Okej. Efter att ha suttit o läst datablad o annat hela natten (värkligen ingen med född gåva :cry: ) så har jag äntligen hittat rätt! Men om jag sätter en nolla på RBPU (bit7) i option registret, då blir det pull-up på alla ingångarna i PORTB men inte på utgångarna, har jag fattat rätt? Men i så fall om jag vill koppla någon ingång så att jag skulle behöva koppla ett pull-down motstånd, då kan jag inte ha weak pull-ups på någon av pinnarna? Men koden blir väl såhär då:

Kod: Markera allt


  ...                 ;byt till bank 1
  bcf   OPTION_REG,7    ;nolla bit7 i option registret
  ...                 ;byt tillbaks till bank 0
Tack!
//Daniel A
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> då blir det pull-up på alla ingångarna i PORTB men inte på utgångarna,
> har jag fattat rätt?

> The weak pull-up is automatically turned off when the port pin
> is configured as an output.

Så, ja, det ser ut så.

> Men i så fall om jag vill koppla någon ingång så att jag skulle behöva
> koppla ett pull-down motstånd,

Det är inte speciellt vanligt.
Normalt sätter man switchar, givare och liknande så att de sluter till jord.
Men visst, om du *måste* göra det så...
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Okej, tack så mycket. Anledningen till att jag ville sluta brytaren till Vdd är att jag ska bygga ett larm, o mina sensorer är kopplade till Vdd. Men då får jag koppla om dem..

//Daniel A
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Skall Du ha långa kablar mellan givre och PIC? I så fall skall Du nog fundera på något annat alternativ. Det är ingen bra ide att direktansluta. Den PIC'en kommer inte att leva så länge när det kommer in diverse skräp via kabeln som den fångar upp. Det är också stor risk för falsklarm.

Använd en ström på ett antal mA och gör en robust ingång så blir det säkert bra. Det finns exempel på hur man skall gör om Du googlar lite.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Jag har kopplat om givaren nu, så att om allting är som normalt ligger det GND på kablen, men om någon kommer in "hänger den i luften". Kablen är cirka 4m lång, kan det vara några problem då?

//Daniel A
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Det känns som lite långt för att bara hänga öppen.
WPU'erna är inte så kraftiga. Kanske att du skulle
komplettera med ett kraftigare pullup externt för att
få ett säkrare "off" läge.

Sen, "i verkligheten", skulle man antagligen sätta en
buffert imellan för att skydda ingångarna på processorn.
Det beror väldigt mycket på hur "smutsig" den elektriska
miljön är där de 4 meter kabel ligger. I alla fall en liten
filtreringt (RC länk) för att filtrera spänningsspikar.
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Vad är en buffert? En sån här?: http://www.eecs.tufts.edu/~dsculley/tut ... amps5.html Vad gör den? :oops:

//Daniel A
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Nej, det är en digital buffer Du behöver och skydd mot otrevliga spänningar som kan ha sönder den.

Sätt t.ex. 1k pullup och därifrån 1M till ingången på en CMOS-inverter med smithtrigger-inputs och 1n konding mellan ingången och jord. Mata helst pull-upp från en separat spänning också om det skall vara riktigt noga och användas "på riktigt".
Skriv svar