open drain, vad är det?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: open drain, vad är det?

Inlägg av sodjan »

> Jag har inte möjligheten att lägga till ett motstånd...

Gör om, gör rätt.
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Re: open drain, vad är det?

Inlägg av eqlazer »

Varför inte göra som vanligt och använda intern pullup och låta knappar sänka till jord?
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: open drain, vad är det?

Inlägg av Nerre »

TomasL skrev:
eftersom det ska bli avbrott när en switch slår till och kopplar pinnen till 3.3V
Det är lite otydligt
Nej, inte om man tolkar avbrott som "interrupt".
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Re: open drain, vad är det?

Inlägg av cyr »

YeaYeah skrev:Jag har inte möjligheten att lägga till ett motstånd...
Varför inte? Det går alltid att modda dit något...

Det är såna misstag man gör ibland på prototyper, inte så konstigt (även om det i det här fallet borde ha varit enkelt att undvika genom att faktiskt läsa databladet först och bygga sen...)
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: open drain, vad är det?

Inlägg av jesse »

Har du inte något datablad till processorn? Där borde det väl stå om det finns pull-up eller pull-down inbyggt på ingångarna?
• All the I/O lines PA0 to PA31on AT91SAM7S512/256/128/64/321 (PA0 to PA20 on
AT91SAM7S32) are 5V-tolerant and all integrate a programmable pull-up resistor.
Du verkar blanda ihop funktionerna med utgångar och ingångar. Om du kopplar en signal som ska läsas av processorn så får du inte göra den pinnen till utgång - då bränner du ju kretsen. (processor ut 0 volt + en knapp nedtryckt till +3.3volt = kortslutning!)

Så se först till att pinnen är programmerad som ingång och inget annat. Och då är atrributet "open drain" helt ovidkommande - det används inte på ingångar.
YeaYeah
Inlägg: 15
Blev medlem: 5 december 2008, 22:41:48

Re: open drain, vad är det?

Inlägg av YeaYeah »

Mmm, jag är nybörjare och har nog blandet ihop en del. Men nu funkar det! Dock en riktig ful-lösning.
main{
while(1){
...
PIO_Configure(&pinPB1Output, 1); //Sätter pinne till 0
....
....
....
unsigned int i;
PIO_Configure(&pinPB1Input, 1);//Sätter pinne till input.
for (i =0;i<10;i++);
svar=PIO_Get(&pinPB1Input);
PIO_Configure(&pinPB1Output, 1);//Sätter pinne till 0
...
}
}

Jag sätter alltså pinnen till output för att dra ner den till 0v. När någon sedan trycker på knappen kommer pinnen bli hög fast att mikrokontrollern försöker dra ner pinnen till låg. Jag vet då att pinnen bara är låg om knapp INTE är nedtryckt. Finns det risk att jag bränner något i mikrokontrollern genom att göra så här? Hittills verkar inget ha gått sönder..

Tack för alla svaren!
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46949
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: open drain, vad är det?

Inlägg av TomasL »

Öh, vad pysslar du med???
Jag vet då att pinnen bara är låg om knapp INTE är nedtryckt
Hur vet du det, du kan inte läsa av en utgång.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Re: open drain, vad är det?

Inlägg av cyr »

Jodå, det kan man oftast (ingången fungerar precis som vanligt även om utgångsbuffertern är aktiv).

Dock så är det inte speciellt bra att kortsluta på det sättet. Om det bara är någon sekund åt gången när
man trycker på knappen så håller det nog, men det är verkligen ett fulhack.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: open drain, vad är det?

Inlägg av Micke_s »

Hur svårt kan det vara att fästa 5st ytmonterade motstånd vid knapparna eller processorn och dra dessa mot gnd eller vcc vad nu som är lämpligt.
YeaYeah
Inlägg: 15
Blev medlem: 5 december 2008, 22:41:48

Re: open drain, vad är det?

Inlägg av YeaYeah »

Det går inte. Kortet är 4-lagers, kostade så där 2700kr och det är med solder stop. Finns alltså knappt några kontakter. Isåfall skulle jag få dra stora motstånd över hela kortet och det känns inte så bra.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: open drain, vad är det?

Inlägg av Micke_s »

fram med kniven och skrapa lite på processorn alt knapparna så ska du se att det går.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46949
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: open drain, vad är det?

Inlägg av TomasL »

Så länge det inte är ingjutit i epoxy så går allt. (går även om det är ingjutit, med lite vilja)
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: open drain, vad är det?

Inlägg av Micke_s »

Om man har problem att löda fine-pitch är det värre...
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: open drain, vad är det?

Inlägg av sodjan »

> Det går inte. Kortet är 4-lagers, kostade så där 2700kr...
>
> Jag sätter alltså pinnen till output för att dra ner den till 0v. När någon sedan trycker
> på knappen kommer pinnen bli hög fast att mikrokontrollern försöker dra ner pinnen till låg.

Det måste vara något av det dummaste jag har läst här på länge.
En ren idiotlösning...

> Finns det risk att jag bränner något i mikrokontrollern genom att göra så här?

Självklar gör det det.

> Hittills verkar inget ha gått sönder..

"Verkar" ? Du har inte en aning om ifall du har skadat något. Det är inte säkert att
du kommer att se det alls. I alla fall inte än. Jag hoppas inte skiten ska sitta i
något viktigt i alla fall. Eller att någon har betalat dig för att fixa denna konstruktion.
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: open drain, vad är det?

Inlägg av Nerre »

YeaYeah skrev:Finns det risk att jag bränner något i mikrokontrollern genom att göra så här?
Nejdå, ingen risk, snarare garanti.
Skriv svar