Sida 1 av 2
Få bort korta pulser ur en signal
Postat: 15 juli 2004, 12:33:43
av Stenmark
Jag har en digital signal som har små korta pulser på oönskade ställen ( se denna bild )

som gör att microprocessorn som den är kopplad till får avbrott på felställen. Jag undrar hur man på ett enkelt sätt kan bli av med denna.
På bilden som jag länkar till så ser signalen ut som den övre, men jag vill att den ska se ut som den undre.
Postat: 15 juli 2004, 12:40:31
av strombom
vad är orsaken till de oönskade pulserna?
är de oönskade pulserna alltid mycket kortare än de önskade?
gör det något om den önskade signalen fördröjs lite?
om inte kanske ett lågpassfilter skulle funka...
/Johan
Postat: 15 juli 2004, 12:50:28
av Stenmark
Jag vet inte riktigt vad orsaken till pulserna är. Jag håller på att försöka bygga en fotocell med IR länk och dom korta pulserna uppkommer när strålen är bruten trots att det inte ska dyka upp något.
Jag vet inte om ett filter fungerar för pulserna kommer nämligen inte helt regelbundet, längden på dom är däremot ungefär 0.1 ms.
Jag vill helst inte ha för mycket fördröjning, det är det som är problmet. Jag hade tänkt använda fotocellen för tidsmätning med 1/1000 sekunds nogranhet.
Postat: 15 juli 2004, 13:19:22
av Chribbe76
Du kan använda ett filter som filtrerar från låg till hög och inte från hög till låg.
Då får du bara fördröjning när föremålet lämnar sensorn.
Postat: 15 juli 2004, 14:07:12
av Stenmark
aahh..nu fattar jag vad du menar strombom...jag är inte så analog av mig, datanörd...
jag antar att du menar att jag ska filtrera fram den "riktiga signalen" med ett ett bandpass filter, eller kanske bara ett vanligt högpass filter skulle fungera.
Det var bra länge sedan jag läste om sånt där. Vet du något bra program man kan använda för att konstruera ett filter?
Postat: 15 juli 2004, 14:31:07
av $tiff
lågpass blir det, väl?
Postat: 15 juli 2004, 14:38:19
av cyr
Är inte billigaste/enklaste lösningen att mäta pulsen i din interrupt-rutin, och ignorera den om den är kortare än t.ex. 0.2ms?
Eller kommer pulserna så ofta att själva interrupten tar upp för mycket processortid eller något sånt?
Postat: 15 juli 2004, 14:53:17
av Stenmark
Får nog ta och förklara lite mer hur signalen ser ut. Jag skickar ett pulståg i 2 kHz. Tanken är att jag ska detektera pulstågets vara eller icke vara för att se om något är i vägen.
Problemet är att trots att strålen är täckt så kommer en del pulser fram till IR mottagaren. Dessa kommer dock helt sporadiskt och kommer mer sällan än 2 kHz.
Jag tänkte då använda ett högpass filter för att filtrerar fram den "riktiga" signalen. Om jag då konstruerar ett filter som släpper igenom allt som ligger högre än, låt säga 1800 Hz så borde inte de oönskade pulserna komma igenom eftersom att de kommer med en frekvens lägre än 2KHz...eller tänker jag helt fel nu.
Det här är som sagt inte min starak sida....
Postat: 15 juli 2004, 14:58:09
av cyr
En kort puls har många frekvenskomponenter, så lite blir det kvar av den... plus att dina vanliga pulser blir ordentligt "utsmetade".
Tror fortfarande en mjukvarulösning är bättre, definitivt mer exakt.
Använd en timer för att hålla reda på avstånd mellan pulserna?
Två pulser med avståndet c:a 1/2000s betyder "på", estaka ensamma pulser ignoreras.
Postat: 15 juli 2004, 15:24:20
av tusse
Det är inte så att den reagerar på något annat ljus.
Har du en fotodiod med inbyggt filter annars så måste du ha ett dagsljusfilter 75-584-97, brukar finnas på gamla skrotade fjärrkontroller.
Postat: 15 juli 2004, 15:27:26
av Stenmark
Behöver dioden ett filter? Den skickar väl bara IR ändå.
Mottagaren har inbyggt IR filter och är dessutom avstämd till 38KHz. Så jag tror inte det är annat ljus som stör.
Postat: 15 juli 2004, 18:31:12
av MadModder
Så du slår av och på 38kHz-signalen med en frekvens på 2kHz, så att varje på-puls innehåller... 9,5st 38kHz-pulser? Hmm...
Postat: 15 juli 2004, 19:41:32
av Stenmark
Stenmark skrev:Behöver dioden ett filter? Den skickar väl bara IR ändå.
Mottagaren har inbyggt IR filter och är dessutom avstämd till 38KHz. Så jag tror inte det är annat ljus som stör.
Yes, så det är så det funkar. Jag ville först köra med ett konstant pulståg som matades hela tiden. Men det funkade inte med mottagaren. Jag tänkte att det skulle blivit en konstant högutsignal ur mottagaren. Men det blev bara en massa skräp.
Då läste jag någonstans att man måste skicka "data" för att mottagaren skulle fungera. Så det är det jag gör nu.
Jag funderar på om det går att göra om 2Khz pulståget till en konstant hög signal med en 555 timer i monostabilt läge så att varje puls i pulståget triggar en 0.5 ms lång ut puls vilket borde resultera i att utgången på 555 kreten ligger hög så länge det ligger ett pulståg in med en frekvens på minst 2khz. Det enda som oroar mig är vad som hände med 555 kretsen om man det kommer en puls när utgången redan är hög, kommmer ut pulsen att förlängas med 0.5 ms då? Det är vad jag hoppas på iaf

Postat: 15 juli 2004, 20:27:05
av Earendil
MadModder skrev:Så du slår av och på 38kHz-signalen med en frekvens på 2kHz, så att varje på-puls innehåller... 9,5st 38kHz-pulser? Hmm...
De flesta IR-sensorer är specade så de kräver pulståg på åtminstone 400 uS. Här har du enbart 250 uS. Antagligen fungerar det ändå, men jag skulle kollat upp det om jag vore du.
Postat: 15 juli 2004, 20:52:43
av Chribbe76
Vad händer om du stänger av IR-dioden?
Om du inte får skräp signaler då så är signalerna reflexer mot närliggande föremål.
Isf borde du se till att begränsa strålnings-vinkeln på IR-dioden och eller sänka strålningseffekten.
Det finns ingen anledning att en fotocell ska vara så känslig att den triggar på reflexer.