Filtrera bort störning på enkel 433 MHz mottagare

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av PHermansson »

Vid varje nivåändring på Int-pinnen (void pinChange) så sparas aktuell tid (timer-värde, ges av micros() ). Det aktuella timervärdet minus det förra timervärdet = tiden mellan att pinnen har ändrat nivå = pulslängden.

Kod: Markera allt

  long currentTime = micros();
  microsSinceLastChange = (currentTime - timeOfLastPinChange);
  timeOfLastPinChange = currentTime;  
floppen
Inlägg: 109
Blev medlem: 14 september 2012, 13:28:32

Re: Filtrera bort störning på enkel 433Mhz mottagare

Inlägg av floppen »

ankan skrev:Har testat nu och det fungerade inget vidare tyvärr.

Med motståndet blev signalen så pass svag så jag inte fick några avbrott längre och kondingen vet jag inte om den gjorde någon skillnad.
Tycker tyvärr inte att filtret gjorde någon skillnad annars.

Kollade med oscilloskopet och det ser ut som att jag får mest störningar runt 0-10khz.
Antar att du kör med pull-upp i processorn, Det fungerar inte med 10k i serie så om du har pull-upp så sätt som nedan.
En bild säger mer än 1000 ord, testa detta.
Namnlös.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Icecap
Inlägg: 26804
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av Icecap »

Problemet är att det mellan sändningarna tas emot brus. Och då det i grunden är en skit-mottagare går det inte att filtrera bort.

En rå sändning ska börja med preamble som dels används för att ställa in data-slicerns signalnivå och dels för att synkronisera sändningstart. Om inte sändaren gör detta måste mottagaren ha en fast data-slicer och begränsat AGC för att det ska ha en chans att fungera.

Men grundläggande är det enda som kan rädda en dålig situation (som det redan är) att använda Capture-enheten och sedan signalbehandla pulserna. Inte enklast men klart möjligt.

Sedan är det ju viktigt att sändare och mottagare har samma frekvens och moduleringsprincip...
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av ankan »

PHermansson skrev:Vid varje nivåändring på Int-pinnen (void pinChange) så sparas aktuell tid (timer-värde, ges av micros() ). Det aktuella timervärdet minus det förra timervärdet = tiden mellan att pinnen har ändrat nivå = pulslängden.

Kod: Markera allt

  long currentTime = micros();
  microsSinceLastChange = (currentTime - timeOfLastPinChange);
  timeOfLastPinChange = currentTime;  

Problemet är att någon micros() inte finns i mikroC som jag skriver i så jag måste ta hjälp av timern snurrar i en viss hastighet.
Provade att TMR0 snurrar runt va 50:e uS och då stegade upp ett värde som jag kunde kolla mot, men jag vet inte om jag får för mycket avbrott då för det fungerar inte i alla fall.
Kör en PIC16F877A i 8Mhz.

Alternativt skulle vara att jag låter TMR0 snurra på och sedan läsa av värdet vid puls och sedan konvertera det värdet till uS. Då får jag bort det avbrottet i alla fall.

Nu tar jag avbrott på ingången vid positiv flank, borde jag kanske ta båda flankerna för att få bättre filtrering kanske?
Användarvisningsbild
calmar
Inlägg: 540
Blev medlem: 23 november 2005, 13:14:41
Ort: Göteborg
Kontakt:

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av calmar »

Det finns ingen signalstyrke-utgång från modulen som du kan använda?
Användarvisningsbild
Icecap
Inlägg: 26804
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av Icecap »

Det är klart att du måste fånga båda flanker för att det ska fungera alls. Och allt detta trams med att använda en timer är för dom som inte kan använda en µC.

Använd Capture-enheten, fånga båda flanker och då har du alla tider per automatik.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av ankan »

Har inte använt capture enheten tidigare men ska kolla på den.
Hoppas mikroc har vettigt stöd för den.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av ankan »

Capture var ju precis vad jag behöver.
Är det någon nackdel att koppla ihop ccp1 och ccp2 så den ena tar positiva flankar och den andra tar negativa flankar. Då behöver man inte ändra vid varje flank.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av PHermansson »

Icecap skrev:Och allt detta trams med att använda en timer är för dom som inte kan använda en µC.
Tack du, jag kan allt använda en uC. Lärde mig Pic med Asm i slutet av 90-talet med hjälp av datablad och genom att analysera färdiga program.
Min usla kod ovan fungerar, och det är väl ändå huvudsaken?
Användarvisningsbild
Icecap
Inlägg: 26804
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av Icecap »

PH: Så du menar att det är bättre att använda en "lös" timer och interrupt-on-change med okänd responstid än att ta den inbyggda hårdvara till just sånt?
Ja ja, du får gå den vägen om du vill, en dålig lösning är det likaväl!

ankan: det är klart att du kan använda var sin CCP-enhet till var sin flank så länge de använder samma timer som tidbas. Dock är det inget problem att "bara" byta flank men smak och tycke...
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Filtrera bort störning på enkel 433 MHz mottagare

Inlägg av PHermansson »

Nej jag menar inte att det är bättre. Jag menar att det är tillräckligt bra för att det ska räcka med det.
Skriv svar