Räkna Hz eller Pulser med Arduino Uno?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Corpze
Inlägg: 256
Blev medlem: 29 januari 2013, 17:31:27

Räkna Hz eller Pulser med Arduino Uno?

Inlägg av Corpze »

Hej, Sitter och försöker förstå hur min Arduino ska visa mest precist resultat från min TSL237 "light-to-frequncy" sensor och enligt några på arduinos forum är det bättre att räkna pulser eftersom jag kommer att hamna på riktigt låga Hz (1-10Hz ca)

Men hur kommer det fungera ihop med att sensorn skickar Hz, om den nu gör det? går det att räkna pulser ändå?

PDF på sensorn: http://www.parallax.com/Portals/0/Downl ... L237-J.pdf
Användarvisningsbild
4kTRB
Inlägg: 21315
Blev medlem: 16 augusti 2009, 19:04:48

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av 4kTRB »

Du använder väl en logisk grind som släpper fram
signalen under en bestämd tid?
Sedan dividerar du antalet framsläppta pulser med tiden.
Corpze
Inlägg: 256
Blev medlem: 29 januari 2013, 17:31:27

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av Corpze »

Det mesta är helt ologiskt enligt mig...

Det här biblioteket använder jag iaf: http://interface.khm.de/index.php/lab/e ... r-library/

Det jag gjort med hans exempelkod är att ändra gatetime'en till 1000ms då jag läst (vet ej om det faktiskt är så) att den räknar Hz då Hz betyder just "per sekund"
Användarvisningsbild
mrOh
EF Sponsor
Inlägg: 541
Blev medlem: 6 mars 2005, 13:54:31
Ort: Bromma

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av mrOh »

Vet inte om jag förstår vad du söker men du kan ju mäta tiden ganska noggrant genom att trigga ett interupt på rising eller falling flank och kolla millis()-lastTime eller liknande. Där du avslutar interuptrutinen med lastTime = millis();
exempel:

Kod: Markera allt

void interupt(){
time = millis()-lastTime;
lastTime = millis();
}
Vill du ha ökad upplösning kanske det funkar med micros() tänk bara på att den overflow'ar på 70 minuter typ.
Senast redigerad av mrOh 5 mars 2013, 12:29:46, redigerad totalt 1 gång.
sodjan
EF Sponsor
Inlägg: 43262
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av sodjan »

> och enligt några på arduinos forum är det bättre att räkna pulser

Bättre än vadå? Alternativet är kanske att mäta tiden mellan
två pulser (inversen av att räkna pulser, kan man säga).
Vilket som är bäst beror nornalt på den aktuella frekvensen
och hur snabbt man behöver svaret.

> Men hur kommer det fungera ihop med att sensorn skickar Hz,

Nej, det gör den inte.
Det skickar ut pulser som varierar i frekvens med ljuset.
Enheten för att mäta hur snabbt pulserna kommer heter Hertz (Hz).

Det som att säga att en vattenkran "skickar ut liter" i stället för vatten.

> går det att räkna pulser ändå?

Ändå vadå? Men svaret är "ja".

> Det jag gjort med hans exempelkod är att ändra gatetime'en till 1000ms då jag läst (vet ej om det
> faktiskt är så) att den räknar Hz då Hz betyder just "per sekund"

Det är helt ointressant vilken mättid du använder!
Det viktiga är att du vet vilket antal pulser du förväntar dig
under den valda tiden. Vad ska värdete användas till? Ska värdet räknas
om till något slags absolut ljusstyrka eller ska du det "bara" vara ett "skymningsrelä" ?
Corpze
Inlägg: 256
Blev medlem: 29 januari 2013, 17:31:27

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av Corpze »

Det kan jag prova med, jag kommer bara ha den aktiv så länge jag trycker ner en knapp för att mäta bakgrundsljus (2-10sek)
sodjan
EF Sponsor
Inlägg: 43262
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av sodjan »

Notera också att sensorn har ett frekvensområde på ca 1-2 Hz
till flera 100 KHz! Så det aktuella mätområdet som önskas
är ju en viktig parameter här. Om du vill mäta i "flera 100 KHz"
området så är nog inte mätning av enstaka pulser ett alternativ.

> ...för att mäta bakgrundsljus

Och i vilket mätområde förväntas det ligga ?
Vilken noggranhet kräver mätningen? (Viktigt !!)
Corpze
Inlägg: 256
Blev medlem: 29 januari 2013, 17:31:27

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av Corpze »

Nu börjar jag förstå, tack för förklaringarna Sodjan, dock hänger jag inte riktigt med i svängarna:

> och enligt några på arduinos forum är det bättre att räkna pulser

"Bättre än vadå? Alternativet är kanske att mäta tiden mellan
två pulser (inversen av att räkna pulser, kan man säga).
Vilket som är bäst beror nornalt på den aktuella frekvensen
och hur snabbt man behöver svaret."

De menar på att så låga Hz som jag kommer "hamna på" 2-20Hz medför stora felmarginaler, jag vet dock inte om det stämmer?

"Det är helt ointressant vilken mättid du använder!
Det viktiga är att du vet vilket antal pulser du förväntar dig
under den valda tiden. Vad ska värdete användas till? Ska värdet räknas
om till något slags absolut ljusstyrka eller ska du det "bara" vara ett "skymningsrelä" ?"

Ok, ang. pulserna så vet jag inte vad jag förväntar mig, förstår inte riktigt hur du menar?
Värdet skall omräknas till Magnitud/bågsekund2
Corpze
Inlägg: 256
Blev medlem: 29 januari 2013, 17:31:27

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av Corpze »

sodjan skrev:Notera också att sensorn har ett frekvensområde på ca 1-2 Hz
till flera 100 KHz! Så det aktuella mätområdet som önskas
är ju en viktig parameter här. Om du vill mäta i "flera 100 KHz"
området så är nog inte mätning av enstaka pulser ett alternativ.

> ...för att mäta bakgrundsljus

Och i vilket mätområde förväntas det ligga ?
Vilken noggranhet kräver mätningen? (Viktigt !!)
1-100Hz, inte mer iaf.

Mätområdet kommer vara från 16-23 Mag/bågsekund2 och det mostvarar några lux ner till 0.001 lux, även om det inte är direkt jämförbart
sodjan
EF Sponsor
Inlägg: 43262
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av sodjan »

> De menar på att så låga Hz som jag kommer "hamna på" 2-20Hz medför stora
> felmarginaler, jag vet dock inte om det stämmer?

Inte nödvändigtsvis.
Men om man ska räkna pulser vid låga frekvenser blir ju mättiden
väldigt lång om man vill ha någon slags noggrannhet. Om tiden bara
är 10 sek så blir det ju väldigt svajigt vid 2 Hz (5 eller 6 pulser ger
ett fel på upp till 20 %).

> Värdet skall omräknas till Magnitud/bågsekund2

OK, och noggranheten??
20%?, 5%?, 10 promille? 10 ppm?

> 1-100Hz, inte mer iaf.

OK. Vid 100 Hz för du 0.1% noggrannhet vid 10 sekunders mätning (1000 pulser).
D.v.s om sensorn i sig ger den noggrannheten. Det kanske är OK.

Vid 1 Hz är det kanske mer praktiskt att mäta pulstiden, eftersom mättiden
annars blir orimligt lång. Man kan ju göra båda delarna och ha en brytpunkt
där man byter mätmetod, kanske vid 10 Hz eller liknande. Det för matchas
mot önskade mättider o.s.v.

Vid 10 Hz behöver tidbasen en upplösning på 10 KHz för att få 0.1% noggrannhet
vid mätning av pulstiden. Sedan kan man räkna t.ex 10 pulser och klara sig med
en långsammare klocka. Eller hellre 8 eller 16 pulser av "binära" orsaker... :-)
Användarvisningsbild
4kTRB
Inlägg: 21315
Blev medlem: 16 augusti 2009, 19:04:48

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av 4kTRB »

Finns fler sätt att mäta frekvens på.
T.ex. så finns det F to V converters som färdiga ic.
Då får du mäta spänningen med Uno.

Edit:

Länk till olika F to V chip: http://www.datasheetdir.com/LM2917+Volt ... -Converter
Senast redigerad av 4kTRB 5 mars 2013, 13:26:16, redigerad totalt 1 gång.
Corpze
Inlägg: 256
Blev medlem: 29 januari 2013, 17:31:27

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av Corpze »

Rent spontant så känns det som pulser kanske är at föredra, orginalapparaten som jag försöker efterlikna använder samma sensor fast mäter på ca 2sek som snabbast, jag kan tänka mig att kunna mäta i 10sek och noggrannheten är 0,1 mellan 16-23 mag/as2.
Användarvisningsbild
4kTRB
Inlägg: 21315
Blev medlem: 16 augusti 2009, 19:04:48

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av 4kTRB »

Tycker ändå att TC9400/9401/9402 från Microchip
verkar vara trevliga ic för dessa ändmål.

http://www.datasheetdir.com/TC9401+download
Corpze
Inlägg: 256
Blev medlem: 29 januari 2013, 17:31:27

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av Corpze »

Nu vet jag inte hur orginalapparaten är konstruerad, men det chippet som är monterat på kretskortet, är det ett freq-volt chip tro?
SQM-board.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
sodjan
EF Sponsor
Inlägg: 43262
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Räkna Hz eller Pulser med Arduino Uno?

Inlägg av sodjan »

Vilken "originalapparat"?
Är det den som ska ersättas med en Arduino lösning?
Vad är det som sitter på kortet? Ser ut som en PIC...
Är det ljussensorn till vänster? Har den någon märkning?
Den har en Xport så den är alltså nätverksansluten.
Har den någon produktsida eller dokumentation?
Skriv svar