Kompensera studspulser

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Kompensera studspulser

Inlägg av MGKea »

Loggar via PC-serieport en elmätares S0-pulser. Men det blir studspulser efter den puls jag vill logga. Kan man kompensera detta?
/Magnus
Användarvisningsbild
AndLi
Inlägg: 18566
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Ja, kolla din praktiska maxförbrukning, kolla hur tätt pulserna kommer då och filtrera bort det som kommer tätare. Tittar jag på min icke elvärmda gård skulle det funka perfekt.
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Inlägg av MGKea »

En hint om ett filter .... Pulserna är inom 200ms och huvudpulsen är på ca 30-50ms enligt elmätar tillverkaren.
Användarvisningsbild
Icecap
Inlägg: 26781
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

... eller terminera ledningen rätt.

Vill du filtrera är det bara att utesluta alla pulser från stigande flank och 195ms fram, kan göras i mjukvara eller med kanske en 4538 + en gate eller liknande.
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Inlägg av MGKea »

Vad är en 4538:a + en gate?
Användarvisningsbild
Icecap
Inlägg: 26781
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Första träffen på google

"en gate" är en logisk enhet som kan användas att släppa igenom signal eller inte.

Men det vore kanske mycket bättre att du berättar hur ditt system är kopplat i nuläget och hur du loggar via serieporten, det skulle sannolikt ge mycket bättre svar.
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Inlägg av MGKea »

Det är kopplat som bilden på länken förutom att jag inte använder TxD och ett motstånd.

http://www.techtrade.se/pictures/EMC-022.gif

Loggningen sker i ett vb.net program där jag noterar alla pulser som en förändring på RxD. Alltså DTR är "hög". En puls från S0 = kortslutning. Kortslutning = "hög" på RxD.
Senast redigerad av MGKea 19 november 2008, 11:18:43, redigerad totalt 1 gång.
Användarvisningsbild
Icecap
Inlägg: 26781
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Det kanske kommer som en överraskning för dig men det finns anledning till att motståndet finns där det finns och är kopplat som det är.

Och som vanligt fattas det en massa information:
* Hur långt kabel har du mellan PC'n och mätaren?
* Vilken sorts kabel?
* Varför har du INTE kopplat som du ska?
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Inlägg av MGKea »

Varför överraskning? Det behövs inte då kabellängden är kort. Det blir samma resultat kopplat som bilden.

Min undran gäller att få bort studspulserna med komponenter. Idag kompenserar jag bort de via ett mjukvarufilter i mitt program. Men om jag skall gå över på 1-wire med en räknare och då måste studsarna bort. Vill inte att räknaren skall räkna studsarna som inte alltid är samma till antal.

Kabeln som jag använder är RJ45 cat6 med en ca längd på 2meter där jag bara använder ett par.
Användarvisningsbild
Icecap
Inlägg: 26781
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Jag är ganska säker på att du INTE har reflexioner på 2m partvinnad kabel när pulserna är 30-50ms, alltså finns det ingen "studspulser"

Men då du tydligen vet att de kommer kan du väl beskriva i vilken tiddomän de kommer eller bättre: lägga in ett oscilloskopbild på hur det ser ut.

Jag tror helt enkelt inte på reflektioner.

Och ska du räkna med ett 1-Wire® nät är det ju bara att se till att nivån på S0-signalen är rätt, sedan räknar den rätt.
Nerre
Inlägg: 27402
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Inlägg av Nerre »

Motståndet och TxD behövs för att RxD skall svänga mellan etta och nolla. Det är näligen så att enligt RS-232 så är en nolla en spänning över 3 V och en etta en spänning under - 3 V (har jag för mig).

Om du kopplar utan det där motståndet kommer spänningen på RxD att variera mellan 0 V (=odefinierat) och en plus-spänning (=nolla).
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Inlägg av MGKea »

Har tyvärr inget oscilloskop.

S0 är en kortslutning.

Studspulserna finns där under ett intevall om 200ms. Har även testat DTR till CTS... så..! Studspulserna kan vara upp till 5st.

Ta en tryckknapp på en dörrklocka. Tryck in knappen och släpp den. Får du inga studsar...?
Nerre
Inlägg: 27402
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Inlägg av Nerre »

Att en mekanisk brytare studsar beror just på att den är mekanisk.
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Inlägg av MGKea »

Hur skall man förklara det? .... DTR till CTS är ju enkel koppling som skall fungera. Men samma fenomen uppstår.

Studsar som de jag upplever får de flesta om inte alla. Samma gäller de som använder en räknare i ett 1-wire nät.

Jag vill på enklast möjliga sätt filtrera bort dessa studspulser. Filtret bör fungera som så att en puls tasemot och låser följande inkommande pulser i 200ms.
Nerre
Inlägg: 27402
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Inlägg av Nerre »

Jag tror ju att anledningen till att de använder RxD i det där schemat är just att använda UARTen som ett filter.

En serieport ligger ju normalt och väntar på en startbit. När startbiten kommer så "läser" den de kommande bitarna till en byte.

När du tar emot en byte så representerar den en "inspelning" av vad som hände precis efter den första flanken. Men du behöver ju inte veta det. Du behöver bara veta at varje gång du tar emot en byte så har det varit en startande flank. Du får alltså en byte från serieporten för varje puls (om du ställer serieporten på en vettig hastighet).
Skriv svar