частоти вимірювань з MCU

U

usbman

Guest
Мені потрібні деякі поради, як міра частоти F <100kHz
з MCU.Я хочу використовувати 89c52 для виконання цього завдання.

Я вже намагався це за допомогою простих добірною Деякі таймери
але результат не є точним достатньо.

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Плачу або дуже засмучений" border="0" />Хані підказки Ласкаво просимо

<img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Ідеї" border="0" />Cheers UsbMan

 
Налаштування таймера протягом однієї секунди перервати і контролювати частоту сигналу на т0 або T1 Pin

 
UsbMan Привіт!

Кращим способом є використання таймера в боротьбі з режимом.В цьому режимі Ваш лічильник розраховує TAKTS безпосередньо від контактної процесора.Тільки вам потрібно, це початок боротьби, погляньте на свій прапор переповнення, граф переповнення і зупинити його після точного часу.

Ви можете використовувати один таймер 89c52 в 16-бітному режимі для підрахунку зовнішніх TAKTS сигналу (воно може розраховувати до 1 / 24 FOSC, так що буде достатньо, щоб ваш 100kHz), а інший таймер з предделітель вважати час вимірювання.

Після першого підрахунку, якщо порахувати частоту є занадто низьким, ніж ви можете збільшити mesuring час, 10 і розраховуємо знову більшою точністю.Так що ваші точністю тільки залежить від вимірювання часу.

З найкращими побажаннями & 73!Клуг.

 
Клуг написав:Після першого підрахунку, якщо порахувати частоту є занадто низьким, ніж ви можете збільшити mesuring час, 10 і розраховуємо знову більшою точністю.
Так що ваші точністю тільки залежить від вимірювання часу.

 
usbman,

Якщо ви хочете виміряти низької частоти швидше, краще виміряти період замість частоти.Встановіть таймер для підрахунку з фіксованою, відносно високою частотою і використовувати вимірювальні введення як старт / стоп вхід для таймера.Це добре використовувати розділити на два контури (D тригер) на цьому вході.На даний момент по таймеру (наприклад), провідні кромки і зупиниться і читати результаті противному випадку краю.Конвертувати результат частоти.
Таким чином, ваш час вимірювання одно один цикл (період) вашого вимірюваного сигналу, замість фіксованого 1 або 10с.

Бажаємо удачі!

СТО

 
Спасибі всім, хто зробив sgestinons ....

Ідея від СТОЯНОВ DIT трюк для нижніх freqs (<100 Гц)

Ще раз спасибі

UsbMan

 
usbman

Ви говорите по-голландська?
Був в статті Elektor кілька років тому про UPC
Freq заперечують, що використовувалися якісь змішання двох частотах
алгоритму.Одна з них невідомо, і інші Ref frequencie
Було Сайд правильними до половини періоду.

Але в мене є лише стаття на голландською мовою, де-то.
Дозвольте мені знати, якщо ви цього хочете.

Міцуко

 
Міцуко,
Міцуко пише:

usbmanВи говорите по-голландська?

Був в статті Elektor кілька років тому про UPC

Freq заперечують, що використовувалися якісь змішання двох частотах

алгоритму.
Однією з них було невідомо, і інші Ref frequencie

Було Сайд правильними до половини періоду.Міцуко
 
Методом, який дає постійну точність (1 доба) виглядає наступним чином:

Початок підрахунку одночасно (з 2 лічильниками) періодів сигналу (NS), і ці годин (Nc); перестанемо вважати за час T> низький період, що підлягає вимірюванню.
Вимірюється Freq потім: Fs = (NS / NC) X Fc
(Л = Clock Freq.)
Якщо ви синхронізувати запуск і зупинка введення сигналу з точністю постійна.(пропозиція Т і Clock Freq.)

З MCU це хороше рішення, але ви повинні написати arthmetical підпрограм.(Це дає частоту або період, як ви хочете)
Остання редакція CADIX на 15 грудня 2002 17:52; редактировалось 2 раз в цілому

 
Привіт
Спробуйте подивитись цю схему.Може бути, це може допомогти вам.
WW * w.geocities.com/mpu51/fc50mhz/fc50mhz.html

 
частотоміри на мікроконтролері AT89C52
HTT * P: / / WW * w.qrx.narod.ru / Izm / rad.htm

 

Welcome to EDABoard.com

Sponsor

Back
Top