Hur gör man för att mäta frekvens med en PIC?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Hur gör man för att mäta frekvens med en PIC?

Inlägg av Magnus_K »

Sitter och klurar på två problem som jag inte riktigt vet hur jag ska bemöta och tänkte fråga eliten om lite tips om vilken riktning jag ska gå.

Just nu PWM-styr jag en fläkt men för att få feedback om hastigheten så behöver jag göra två saker; dels tillfälligt öka till 100% pulskvot och under samma period, mäta frekvensen på en annan ingång. När frekvensen är fastställd ska pulskvoten återgå och frekvensingången kan koppla av.
Jag kommer försöka utföra detta ca 1 gång per sekund.

Det kommer säkert följdfrågor men vilka funktioner använder man till det här?

Om jag får säga vad jag kommit fram till än så länge är att man låter en counter räkna upp, baserad på antal PWM-cykler (tex räkna fallande flanker). När denna counter nått sitt mål (ca 1 gång per sekund) så triggas en interrupt.
I denna interrupt sätts pulskvoten till 100% och man mäter frekvensen genom att ... (där tar det stopp på mina ideér)
När interrupten är över så återställs pulskvoten till tidigare och så går det om igen.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Micke_s »

Hur snabb är signalerna. Spontant så hade jag valt en pic med capture campare hårdvara.
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Icecap »

Typisk är att man använder Capture-funktionen.

Den låter man fånga två pulser och tar sedan tiden mellan dom. Den tid delar man upp i en konstant vars värde beror på capturefrekvens.

Om det är för att styra en fläkt med tacho-puls till ett konstant varvtal 'är det enklare att lösa det hela med interruptstyrning.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Magnus_K »

Vad bra. PIC:en jag sitter med har just en Capture-funktion. Ska ta och läsa på om denna.
Fläkten snurrar allt mellan 0-3300 RPM och avger en puls varje varv. Pulserna kommer alltså med en frekvens av 0-55 Hz och 50% pulskvot.

Återkommer antagligen med lite mer frågor. Det brukar sluta så :wink:
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Icecap »

En frekvens på 0Hz är ingen frekvens...

Och sedan är det frågan för om du verkligen behöver att mäta RPM eller om tiden mellan pulserna räcker. Det sparar ju en uträkning om det går bra.

Det går ju också att om man har ett specifikt RPM som ska mötas att räkna baklänges till vilken tid det ska vara mellan flankerna och sedan räkna, då slipper man räkna för varje flank.

Man kan även mäta tiden över ett antal flanker för att få högre noggrannhet...

Så det finns nog med möjligheter och kombinationer.
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Agwan »

Jo då, 0Hz är en frekvens det med.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Micke_s »

Agwan: Hur vet du att det inte bara är nära 0Hz :badgrin:
Agwan
Inlägg: 1617
Blev medlem: 15 september 2009, 09:05:14

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Agwan »

0 har ju bara en värdesiffra, så nära 0 innefattas. Men hur som helst så är det inget problem med frekvensen 0Hz, oavsett antalet värdesiffror.
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Icecap »

Agwan: Hur mäter du 0Hz?
ElectricNooB
Inlägg: 600
Blev medlem: 26 juli 2011, 20:58:06

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av ElectricNooB »

DC? :wink:

Nämen seriöst: "Finns" det 0Hz? jag menar då f=1/T men T=1/f... :?
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: Hur gör man för att mäta frekvens med en PIC?

Inlägg av Wedge »

DC-komponenten i en signal motsvaras av 0 Hz i FFT, så om inte 0 Hz finns så finns det ingen likspänning heller.
Skriv svar