frequentie meting met MCU

U

USBMan

Guest
Ik heb een aantal adviezen hoe frequenties meten f <100kHz
met een MCU.Ik wil 89c52 gebruiken voor die taak.

Ik heb al geprobeerd dit met een eenvoudige AANPAK met behulp van enkele timers
maar het resultaat is niet precies genoeg.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying or Very sad" border="0" />Hany tips zijn welkom

<img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Idea" border="0" />Cheers USBMan

 
Set up timer voor een seconde onderbreken en het toezicht op de frequentie signaal op T0 en T1-pins

 
Hi USBMan!

De beste manier is om timer gebruiken in balie modus.In deze modus is de teller tot nu toe takts rechtstreeks van pin van de processor.Alleen je nodig hebt is tegen te gaan beginnen, kijken naar haar overflow vlag, graaf overflows en te stoppen na de precieze periode van tijd.

U kunt een timer van 89c52 in 16-bits modus voor externe signaal takts tellen, (het kan wel rekenen op 1 / 24 van Fosc, dus het is genoeg om uw 100kHz zullen worden), en een timer met prescaler te tellen tijd meten.

Na de eerste telling, indien geteld frequentie te laag is dan je kunt verhogen mesuring tijd met 10 en tel weer in meer precisie.Dus je zal precisie hangt alleen het meten van de tijd.

Beste wensen & 73!Klug.

 
Klug wrote:Na de eerste telling, indien geteld frequentie te laag is dan je kunt verhogen mesuring tijd met 10 en tel weer in meer precisie.
Dus je zal precisie hangt alleen het meten van de tijd.

 
USBMan,

Als u wilt lage frequentie sneller te meten, is het beter om de periode te meten in plaats van de frequentie.Zet je timer op te tellen met vaste, relatief hoge frequentie te meten en gebruik uw input als een start / stop-input voor de timer.Het is goed om een kloof gebruik door twee circuit (D trigger) op deze ingang.Start de timer op (bijvoorbeeld) voorsprong en stop en lees het resultaat niet rand.Zet het resultaat aan frequentie.
Op deze manier is uw meettijd gelijk aan een cyclus (periode) van uw gemeten signaal, in plaats van vaste 1 of 10s.

Best of luck!

STO

 
Dank aan allen die gemaakt sgestinons ....

Het idee van STOYANOV dit de truc voor de lagere freqs (<100 Hz)

Thanks again

USBMan

 
USBMan

spreek je Nederlands?
Er was een artikel in Elektuur een paar jaar geleden over een UPC
freq teller die gebruikt een soort vermenging van twee frequenties
algoritme.Een was het onbekende, en de andere een ref frequencie
Het was Sayd correct te zijn tot een halve periode.

Maar ik heb maar het artikel in het Nederlands, ergens.
Laat me weten als je het wilt.

Mitsuko

 
Mitsuko,
Mitsuko wrote:

USBManspreek je Nederlands?

Er was een artikel in Elektuur een paar jaar geleden over een UPC

freq teller die gebruikt een soort vermenging van twee frequenties

algoritme.
Een was het onbekende, en de andere een ref frequencie

Het was Sayd correct te zijn tot een halve periode.Mitsuko
 
De methode die geeft een constante nauwkeurigheid (1 klok) is als volgt:

Start tellen tegelijk (met 2 tellers) de perioden van het signaal (NS) en deze van de klok (NC); stoppen tellen na een tijd T> laagste periode worden gemeten.
Gemeten freq is dan: F = (ns / NC) x Fc
(Fc = Klok freq.)
Als u synchroniseren starten en te stoppen met het invoeren van precisie signaal constant is.(Voorst T, en klok freq.)

Met een MCU is het een goede oplossing, maar je moet arthmetical routines te schrijven.(Het geeft u de frequentie of periode, zoals u wilt)
Laatst bewerkt door Cadix op 15 december 2002 17:52, edited 2 times in total

 
Hoi
Probeer te kijken dit circuit.Misschien kan u helpen.
ww * w.geocities.com/mpu51/fc50mhz/fc50mhz.html

 
frequentie meter op microcontroller AT89C52
htt * p: / / ww * w.qrx.narod.ru / IZM / rad.htm

 

Welcome to EDABoard.com

Sponsor

Back
Top