ДОброй ночи!!!
Речь не совсем таки о частотомере, в его стандартном представлении. Нужно на основе входящего сигнала (100 - 10000Гц) формировать код, в зависимости от того, какое значение частоты подводится к атмеге в данный момент. Возможно ли при таких частотах осуществлять измерение этой частоты каждую 1/20 секунду?
Частотомер на Atmega8
- Реклама
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Частотомер на Atmega8
Конечно возможно, а в чем собственно вопрос?если минимальная частота 100 Гц, а частота измерений 20 Гц, то вполне можно сделать 4-5 измерений за это время(1/20 секунды) и даже провести конечное усреднение.Просто измеряется время между фронтами спада или подъема и считается частота.
Можно я думаю так же сделать измерение половины цикла, то есть при этом нужно значение частоты делить на два.
Какие есть наработки в этом направлении?И что значит формировать код?Вывод на USART?
Можно я думаю так же сделать измерение половины цикла, то есть при этом нужно значение частоты делить на два.
Какие есть наработки в этом направлении?И что значит формировать код?Вывод на USART?
Re: Частотомер на Atmega8
Наработок пока нет, все в рамках задумки ещё 
Нет, не усарт. Код будет обрабатываться самим МК. Это будет некий АЦП но с гораздо большей разрядностью.
Просто ещё не совсем понял, частота измеряется по времени от фронта до фронта или по количеству фронтов за промежуток времени?
Нет, не усарт. Код будет обрабатываться самим МК. Это будет некий АЦП но с гораздо большей разрядностью.
Просто ещё не совсем понял, частота измеряется по времени от фронта до фронта или по количеству фронтов за промежуток времени?
- VT1
- Поставщик валерьянки для Кота
- Сообщения: 2458
- Зарегистрирован: Вс июл 11, 2010 14:39:04
- Откуда: Россия.
- Контактная информация:
Re: Частотомер на Atmega8
АЦП то зачем в частотомере?isx писал(а):Это будет некий АЦП
Наберите в гугле принцип действия частотомера и почитайте для начала, хотя об этом и здесь на форуме много раз писали.
Есть два основных принципа. Один измеряет частоту, другой период. Первый удобен на высоких частотах, а второй на очень низких, но во втором приходится делать еще одно преобразование для пересчета периода в частоту для того, что бы подать на индикацию. Хотя если делаете на МК, то это небольшая проблема и легко решается.
Re: Частотомер на Atmega8
АЦП не в частотомере, а на основе частотомера )
- Реклама
-
codenamehawk
- Вымогатель припоя
- Сообщения: 528
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: Частотомер на Atmega8
Заводите измеряемый сигнал на внешнее прерывание.
Прерывание настраиваете на срабатывание по фронту сигнала.
При первом прерывании запускаете внутренний таймер, частота которого намного выше частоты измеряемого сигнала.
При втором прерывании записываете значения таймера, сколько импульсов он насчитал.
Зная длительность одного импульса таймера, высчитываете длительность измеряемого импульса и высчитываете его частоту.
На атмеге16 с 16МН кварцем, с довольно высокой точностью измеряю от 0.04 Гц частоту до 200 000 Гц.
(При частоте входных импульсов 0.04 Гц, время измерения около 25 сек.)
На частотах близких к максимальной, для повышения точности измерения, замер произвожу при приеме 256 или 512 входных импульсов.
Прерывание настраиваете на срабатывание по фронту сигнала.
При первом прерывании запускаете внутренний таймер, частота которого намного выше частоты измеряемого сигнала.
При втором прерывании записываете значения таймера, сколько импульсов он насчитал.
Зная длительность одного импульса таймера, высчитываете длительность измеряемого импульса и высчитываете его частоту.
На атмеге16 с 16МН кварцем, с довольно высокой точностью измеряю от 0.04 Гц частоту до 200 000 Гц.
(При частоте входных импульсов 0.04 Гц, время измерения около 25 сек.)
На частотах близких к максимальной, для повышения точности измерения, замер произвожу при приеме 256 или 512 входных импульсов.
Re: Частотомер на Atmega8
Ясно... Спасибо за информацию 
Как дойду до практического решения ждите опять с вопросами
Как дойду до практического решения ждите опять с вопросами
-
mikhail_kmm61
- Родился
- Сообщения: 13
- Зарегистрирован: Вс окт 07, 2012 20:12:58
Re: Частотомер на Atmega8
Уважаемый isx ! Не ищи в GOOGLE. А то, не дай бог, найдешь метод нулевых биений.
Смысл использования контроллера в его способности ВЫЧИСЛЯТЬ.
Fin=Fclk*m/n. Время измерения T выбираешь сам, исходя из минимальной измеряемой частоты.
Как видишь, в формуле время измерения T не присутствует, оно влияет только на погрешность измерения,
при этом относительная погрешность постоянна для любой входной частоты.
m -число периодов измеряемой частоты Fin за время T;
n - число периодов тактовой частоты Fclk за время T;
PS. Метод описан в какой-то книге по измерениям. Ссылку когда-то давал Леонид Иванович Ридико,
который (ИМХО) наверно уже устал этот принцип измерения частоты объяснять(продвигать).
Смысл использования контроллера в его способности ВЫЧИСЛЯТЬ.
Fin=Fclk*m/n. Время измерения T выбираешь сам, исходя из минимальной измеряемой частоты.
Как видишь, в формуле время измерения T не присутствует, оно влияет только на погрешность измерения,
при этом относительная погрешность постоянна для любой входной частоты.
m -число периодов измеряемой частоты Fin за время T;
n - число периодов тактовой частоты Fclk за время T;
PS. Метод описан в какой-то книге по измерениям. Ссылку когда-то давал Леонид Иванович Ридико,
который (ИМХО) наверно уже устал этот принцип измерения частоты объяснять(продвигать).


