Как снять частоту синусоидального сигнала?
|
|
AlexxNB |
Дата: Вс, 16.12.2007, 13:41 | Сообщение # 1 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
Есть синус-сигнал амплитудой 3 вольта и частотой 20кгц. Каким образом можно "почуять" изменение частоты в 1гц? Интересует самый простой вариант... =) Собираю прибор на 16F876... ПС: совсем новичок... Целую неделю изучал программирование ПИКов на PicBasicPro по книжке Ч.Хелибайка. Позавчера перешел на Протон(порадовался), а вчера освоил Протеус(вообще обрадовался).
|
|
|
|
Romario |
Дата: Вс, 16.12.2007, 20:47 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
58
Замечания:
±
На сайте с 14.09.2007
Статус:
Offline
|
Один из вариантов: Поставьте на вход МК компаратор, который будет срабатывать от 3-х вольт и выдавать импульс 5В в порт, их и считайте.
|
|
|
|
AlexxNB |
Дата: Вт, 18.12.2007, 00:46 | Сообщение # 3 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
командой COUNTER? Попробую в протеусе.... Добавлено (18.12.2007, 06:46) --------------------------------------------- не... команда COUNTER тут не годится. Зайдем с другой стороны. Каким образом можно посчитать количество тактов кварца за период импульса на входе?
|
|
|
|
Yrok |
Дата: Вт, 18.12.2007, 10:01 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
Quote командой COUNTER? Попробую в протеусе.... Добавлено (18.12.2007, 06:46) --------------------------------------------- не... команда COUNTER тут не годится. Зайдем с другой стороны. Каким образом можно посчитать количество тактов кварца за период импульса на входе? Всеравно вернешься к команде Counter и компаратору!!!!!--только кварц желательно использовать на 20 МГц. Команда Counter как раз и считает "количество тактов кварца"))))))))))
Сообщение отредактировал
Yrok - Вт, 18.12.2007, 10:02
|
|
|
|
AlexxNB |
Дата: Вт, 18.12.2007, 10:21 | Сообщение # 5 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
counter считает вроде количество импульсов на входе за промежуток времени.... разве нет?
|
|
|
|
Yrok |
Дата: Вт, 18.12.2007, 15:10 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.09.2007
Статус:
Offline
|
Protonom увлекался давно --и насколько помню команда Counter аналогична команде Count в PicBasicPro--поэтому воть))) Quote COUNT COUNT Pin,Period,Var Подсчитывает количество импульсов, появившихся на штырьке Pin за период Period и передает результат в Var. Штырек автоматически делается входом. Pin может быть константой, 0-15, или переменной, содержащей число 0-15 (напр. B0) или имя штырька (напр. PORTA.0). Period - в миллисекундах. Он отслеживается частотой генератора, основанного на OSC, определенном посредством DEFINE. COUNT проверяет состояние Pin в быстром цикле и считает переходы уровня с низкого на высокий. С 4MHz генератором он проверяет состояние штырька каждый 20us. С 20MHz генератором он проверяет состояние штырька каждые 4us. Из этого можно определить, что самая верхняя частота импульсов, которая может быть считана - 25KHz с 4MHz генератором, и 125KHz с 20MHz генератором, если частота имеет 50% заполнение периода (время на высоком уровне - то же, что и на низком). Поэтому мы конечно несчитаем количество отрезков по 20 или 4 us--но прерываемся на проверку именно каждые 20 или 4 us.
|
|
|
|
AlexxNB |
Дата: Вс, 23.12.2007, 03:17 | Сообщение # 7 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
Да не COUNTER не подходит... Новые исходные данные: есть нормальный импульсный сигнал частотой 30000.1 Гц. Чтобы померить эту частоту командой COUNTER мне нужно ждать 10 секунд - не подходит. Мне нужно мерить частоту как минимум 10 раз в секунду(если чаще то лучше). Полазал по импортным форумам - нашел тока всякие разговоры о прерываниях и внутренных таймерах. Но так ничего и не понял. Кто нибудь может подсказать принцип, или если есть время то примерчик как померить вышеуказанную частоту за минимально возможное время...Добавлено (23.12.2007, 09:17) --------------------------------------------- Научился снимать частоту используя CAPTURE - думаю точнее получить не удаться ни при каких раскладах
|
|
|
|
Nuken |
Дата: Вс, 23.12.2007, 03:22 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
1
Замечания:
±
На сайте с 05.12.2007
Статус:
Offline
|
1) http://www.picbasic.co.uk/forum/showthread.php?s=&threadid=550 2)http://www.melabs.com/resources/samples.htm#submitted смотреть counter.zip 3) http://www.g7ltt.com/njqrp/ik3oil-counter.pdf
Сообщение отредактировал
Nuken - Вс, 23.12.2007, 03:31
|
|
|
|
Alex |
Дата: Чт, 15.01.2009, 19:56 | Сообщение # 9 |
Группа:
Удаленные
Ранг:
Сообщений:
Статус:
|
Quote Чтобы померить эту частоту командой COUNTER мне нужно ждать 10 секунд Не понятно почему 10 секунд. Импульсы с таким малым периодом вы можете отслеживать и в течении 100 Мс. Он вам их насчитает 3000 штук. Более чем достаточно для вычисления частоты. Quote сигнал частотой 30000.1 А вот что-бы доли герцов мерить, нужно измерять период. Потом делим и получаем нужную частоту.
|
|
|
|