Känna av sluten eller öppen krets

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
anedv002
Inlägg: 9
Blev medlem: 25 juli 2010, 21:23:11
Ort: Bandhagen

Känna av sluten eller öppen krets

Inlägg av anedv002 »

Hej!

Jag hade tänkt att göra en enkel larmcentral baserad på en PIC 16F690, men faller på det mest grundläggande; att känna av om t.ex. en rörelsedetektor ser något..

De sensorer jag har fungerar så att det är kontakt mellan två punkter när den inte "ser" något, och ingen kontakt när den ser något.

Jag kopplade upp en enkel koppling på kopplingsdäck, och blev överaskad när den delvis gjorde det jag ville.
koppling1.jpg
Kod(MikroC):

Kod: Markera allt

void main() {

    ANSEL = 0;
    ANSELH = 0;
    TRISC=0;             //PORTC = utgångar
    PORTC = 0b11000000;  //Tänder Grön och Röd LED
    
    TRISC=0b00000100;    //Hela PORTA är utgångar förutom bit 2 som är ingång





    while(1) {         // oänlig loop
     PORTC.F0=1;       //Gör PORTC bit0's pinne hög
     Delay_us(50);     //en kort pause
     
     if(PORTA.F2=1)    //om PORTA bit 2 = 1
        {
         PORTC=0b10000000;      //Tänd Grön LED, gör även PORTC bit 0 låg
        }
        
     else                 //Annars
        {
         PORTC=0b01000000;    //Tänd Röd LED, gör samtidigt PORTC bit 0 låg
        }

     Delay_ms(50);          //En pause för att sega ner hela processen, ej nödvändig
     
    }
}
Jag är helt säker på att man inte bör göra som jag har gjort, varken kodmässigt eller kopplingsmässigt.

Nåja, det som händer är följande:
När de två pinnarna är sammankopplade lyser LEDen stadigt grönt och fint :D , men sen när man bryter kontakten mellan de så börjar LEDen blika Rött och Grönt lite som den vill, Speciellt när man kommer i närheten av Porta bit2's pinne, Hehe. Det blir en antenn av den :P

Nu när ni vet lite grann av vad jag vill göra och vad jag har gjort så har jag en fråga:
Hur bör jag göra för att få önskad funktion?

Klaga/rätta/beröm/kritisera gjärna, om det kan hjälpa mig! :)
Som ni säkert redan märkt är jag nybörjare, Men det är väl alla i början, inte sant?

Tack på förhand!
/Andreas
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
sneaky
Inlägg: 1621
Blev medlem: 22 juni 2009, 18:38:42

Re: Känna av sluten eller öppen krets

Inlägg av sneaky »

Om jag förstår din ritning rätt så behöver du lägga till ett så kallat "pullup"-motstånd. Med det menas att du behöver ha ett motstånd från ingången för sensorn till VDD (10k brukar jag köra med, rätt eller fel får någon annan svara på men det funkar). Detta gör att ingången hela tiden har ett bestämt värde hela tiden. När sensorn inte är sluten mot jord så drar pullup-motståndet ingången till 5V och när sensorn sluter mot GND så dras ingången således till GND istället.

Det du märkte med "antennen" är precis vad som händer när man lämnar en ingång flytande, det är helt hopplöst att veta vilket läge den befinner sig i. Pullup-motståndet löser detta. Lämna alltså aldrig en ingång flytande.
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Re: Känna av sluten eller öppen krets

Inlägg av Walle »

Och vill du göra det riktigt snyggt så gör du kretsen dubbelbalanserad, d.v.s. lägger en resistor parallellt och en seriellt med sensorn. Vid avbrott eller kortslutning har någon micklat med larmet, sluten krets ger resistansen hos seriemotståndet, och öppen krets ger resistansen hos seriemotståndet plus parallellmotståndet. Något krångligare att läsa av blir det dock, men det kan lätt lösas genom att bygga ett RC-nät med en konding som laddas ur genom resistanserna.
Nerre
Inlägg: 27403
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Känna av sluten eller öppen krets

Inlägg av Nerre »

Det är inte så svårt att läsa av balanserade slingor om man har A/D-ingångar att använda.

I princip funkar det ju så att om det är avbrott på slingan (=sabotage) så får man full spänning.
I normalläge får man (om slutmotståndet i slingan är lika stort som pullup) halva spänningen.
Vid kortslutning (=sabotage) får man noll volt.

Vid larm får man en spänning mellan halv och full spänning.
sodjan
EF Sponsor
Inlägg: 43288
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Känna av sluten eller öppen krets

Inlägg av sodjan »

Om jag förstår rätt så vill du bara känna av "öppen" resp "sluten".

Till det behöver du inte använda *två* pinnar på processorn, det är
en i onödan, så att säga.

- Lägg den ledning från sensorn som är kopplad till PORTC.0 direkt till jord/GND istället.
- Sätt ett 10 kohm motstånd från PORTA.2 till 5V.

Nu får du en "låg" ("0") på PORTA.2 så länga allt är OK, och en "hög" ("1") så snart
sensorn öppnar (d.v.s "ser något") eller om kablarna klippas av...

Koden blir den samma...

EDIT: Rättat portnummer...
Senast redigerad av sodjan 26 juli 2010, 13:20:51, redigerad totalt 1 gång.
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: Känna av sluten eller öppen krets

Inlägg av victor_passe »

Sodjan:
Hmm, så två pinnar är onödigt att använda?
Men ditt exempel använder 3st.
Aja, jag antar att alla pinnar du beskriver är samma pinne.
sodjan
EF Sponsor
Inlägg: 43288
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Känna av sluten eller öppen krets

Inlägg av sodjan »

> Hmm, så två pinnar är onödigt att använda?

Ja, för det enkla fall som beskrivs i förstainlägget så räcker en pinne.
Eller har du en annan åsikt ?

> Men ditt exempel använder 3st.

Nej, det använder *en* pinne (PORTA.2)

> Aja, jag antar att alla pinnar du beskriver är samma pinne.

Ja, det var ett skrivfel ("PORTA.0") på ett ställe, men det var ganska uppenbart.
Man hur du kunde få det till *3* pinnar fattar jag däremot inte...

EDIT: Shit, samma fel igen... :doh: Rättat... :-)
Senast redigerad av sodjan 26 juli 2010, 13:34:29, redigerad totalt 1 gång.
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: Känna av sluten eller öppen krets

Inlägg av victor_passe »

Oj, jag läste lite väl snabbt.
Och du menar PORTA.2 väl?
Det är lätt hänt att man läser/skriver lite för snabbt.
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Re: Känna av sluten eller öppen krets

Inlägg av jojje »

Nånting sånt här kanske går att använda?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Nerre
Inlägg: 27403
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Känna av sluten eller öppen krets

Inlägg av Nerre »

R1 kan vara noll (d.v.s. behövs inte).
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: Känna av sluten eller öppen krets

Inlägg av victor_passe »

Är man nybörjare så kan man ju ha typ 470Ohm där ungefär.
Blir ju tråkigt om man skriver fel och drar pinnen till 5V och trycker på knappen.
Men det behövs ju, som du säger, inte.
Nerre
Inlägg: 27403
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Känna av sluten eller öppen krets

Inlägg av Nerre »

Problemet med att sätta motståndet där det sitter i det där schemat är att när du sluter brytaren blir inte spänningen på ingången noll (du får ju en spänningsdelare).

Motståndet skall i såna fall sitta mellan ingången och punkten där pullup och brytare möts.
Användarvisningsbild
jojje
Gått bort
Inlägg: 6380
Blev medlem: 20 januari 2006, 01:53:33
Ort: Stockholms utkant
Kontakt:

Re: Känna av sluten eller öppen krets

Inlägg av jojje »

Så här?

Skickar även med DipTrace-filen, så kan ni ändra lättare.
Men ta bort .txt på slutet.
Varför måste man ändra efternamnet? :doh:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
anedv002
Inlägg: 9
Blev medlem: 25 juli 2010, 21:23:11
Ort: Bandhagen

Re: Känna av sluten eller öppen krets

Inlägg av anedv002 »

Tack för alla svaren!

Det finns flera svar som fungerar väldigt bra till det jag ville göra från början, men förslaget med en dubbelbalanserad krets lät väldigt intressant, inte minst med tanke på sabotageskydd.
Inte för att det kan förekomma sabotage, utan för att det är kul att ha kunskapen att kunna göra en snygg och effektiv koppling :) .

Jag försökte rita upp en koppling med de instruktioner som fanns, och här är resultatet:
koppling2.jpg
Har jag tänkt rätt? Vilka värden på motstånden rekomenderar ni?

Tack
/Andreas
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Nerre
Inlägg: 27403
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Känna av sluten eller öppen krets

Inlägg av Nerre »

Det ser ungefär rätt ut, men motståndet R2 brukar man sätta i änden av slingan och så har man ett R3 över varje detektor.

Värden vete fan, det var för länge sen jag pysslade med larm så jag minns inte... R2 och R3 brukar vara lika stora (man vill inte krångla med olika motstånd) och 4,7 k eller 6,8 k kan kanske vara vettigt. Vet inte om R1 borde vara mindre då, du får räkna lite på vad det blir för spänningar (tänk på att kablarnas resistans påverkar lite).

Hmm, det slår mig nu att jag kanske skrev fel förut, normalt så är ju olika larmgivare slutna i normalfall, så man har en sluten slinga när inget larmar. Jag tror jag formulerade mig som att kontakten sluts vid larm.
Skriv svar