реклама на сайте
подробности

 
 
> Измерение частоты через АЦП, Как сделать?
hd44780
сообщение Oct 27 2011, 07:57
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Сделал прибор на ATMega16 - показывает напряжение, ток нагрузки, мощности разновсякие.... Сеть бытовая, 50 Гц.
Тут всё нормально работает. Спасибо участникам форума, которые ранее отвечали на мои вопросы.

Схема входного каскада - рис.

Вопрос - как можно померить частоту имея на входе АЦП поднятое на 2.5в напряжение сети 50 Гц.
Вообще-то оно совершенно не капает, ну так, интересно просто. Для полноты функционала так сказать ...

Сейчас я сделал так:
АЦП цифрует 20 раз за период (таймер 1khz = 1ms).
В обработчике прерывания написал:

// Миллисекунды
ms++;

// Проверка перехода через 0 (- -> +)
if (adcU>3)
{ // Положительная полуволна
if (isUNegative==1)
{ // Была отрицательная - переход
pulses++;

isUNegative = 0;
} // if
} // if
else // отрицательная полуволна
isUNegative = 1;

adcU - код со входа ADC1 за вычетом смещения ср. точки ADC0.
isUNegative - просто флаг, отслеживает переход синусоиды через 0.
pulses - кол-во переходов синусоиды вверх через 0.

Цикл измерений длится 0.5 сек (10 периодов).
Потом идёт обсчёт, в т.ч. и частоты:

// Частота
frequency = pulses*1000.0;
frequency/=ms;

frequency - частота в Гц, float.

pulses и ms считают постоянно, никогда не обнуляясь.

Проблема в том, что частота в итоге "плавает" где-то в интервале 49-51 Гц, хотя частотомер из осциллографа-мультиметра UT-81B показывает ровно 50 Гц. Да и сам я понимаю, что реально частота не может так гулять, она жёстко контролируется.

Читал соседнюю тему про частоту, например, эту - http://electronix.ru/forum/index.php?showt...=29796&st=0 , но у меня порт В, где все входы таймеров T0, T1 занят, там ШД дисплея HD44780 crying.gif .... Освободить могу, переведя дисплей в 4 бит режим работы с перебросом его целиком на PORTC, но я терпеть не могу 4 бит режим работы, глючный он какой-то. У меня так метеостанция работает (деваться было некуда), так там вечно на дисплее какая-то байда лезет. Библиотека для LCD там не самодельная, а стандартная, из CvAVR. Думал дисплей коцнутый, но на 8 бит работает идеально...
Отвлёкся я ...

PC6, PC7 свободны, но я не знаю, может ли TC2 считать внешние импульсы или он только под кварц часовой заточен ...

Можно, конечно, налепить внешний компаратор, счётчик, но это усложние схемы, доп. корпуса и пр....
Да и делает тот компаратор то же самое, что и мой программный счётчик...

Спасибо.

PS
Админам:
Кнопка CODEBOX не фурычит, валится ошибка -

Сообщение: Недопустимый аргумент.
Строка: 1225
Символ: 3
Код: 0
URI-код: http://electronix.ru/forum/jscripts/ips_text_editor.js

Смайлики вставляются нормально.
Браузер - IE8 со всеми обновлениями.
Винда - 2003 SP2 сервер лицензионный. Обновляется регулярно.
Оперу и пр. альтернативы не предлагать, у нас на работе запрещено biggrin.gif .

Сообщение отредактировал hd44780 - Oct 27 2011, 08:09
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- hd44780   Измерение частоты через АЦП   Oct 27 2011, 07:57
- - woroba   Так у Вас зазор 1mS, вот показания и плюшут. Попр...   Oct 27 2011, 08:38
- - hd44780   Чаще запускать пытался, там другие проблемы были. ...   Oct 27 2011, 08:59
|- - ILYAUL   QUOTE (hd44780 @ Oct 27 2011, 12:59) Чаще...   Oct 27 2011, 09:03
|- - hd44780   Цитата(ILYAUL @ Oct 27 2011, 12:03) A род...   Oct 27 2011, 09:16
- - ILYAUL   QUOTE В наличии есль К554СА3 Ну тогда его выход на...   Oct 27 2011, 09:26
|- - hd44780   Цитата(ILYAUL @ Oct 27 2011, 12:26) Ну то...   Oct 27 2011, 10:09
- - Палыч   Цитата(hd44780 @ Oct 27 2011, 11:57) Цикл...   Oct 27 2011, 10:19
- - _pv   Так как частота примерно известна, то Можно Герцел...   Oct 27 2011, 15:39
|- - ILYAUL   QUOTE (_pv @ Oct 27 2011, 19:39) Можно Ге...   Oct 27 2011, 16:32
|- - _pv   Цитата(ILYAUL @ Oct 27 2011, 23:32) Т.е т...   Oct 27 2011, 16:48
|- - ILYAUL   QUOTE (_pv @ Oct 27 2011, 20:48) Капитан ...   Oct 27 2011, 17:21
- - hd44780   Во, чего я придумал - поставить туда ещё один МК -...   Oct 27 2011, 16:33
|- - ILYAUL   QUOTE (hd44780 @ Oct 27 2011, 20:33) Во, ...   Oct 27 2011, 16:35
- - hd44780   Во, точно, у меня AtTiny2313 валяется ...   Oct 27 2011, 16:56
- - maksimp   Если один отсчёт АЦП например больше нуля, а следу...   Oct 27 2011, 19:07
- - Павлик   Поставить РС814 на переменку, транзистор оптопары ...   Oct 27 2011, 20:07
|- - hd44780   Цитата(Павлик @ Oct 27 2011, 23:07) Поста...   Oct 28 2011, 06:19
|- - ILYAUL   QUOTE (hd44780 @ Oct 28 2011, 10:19) Поэт...   Oct 28 2011, 06:34
- - hd44780   Перепаял слегка схему, освободил 5 младших ног POR...   Oct 30 2011, 07:01
- - hd44780   Переменные-защёлки не помогли. Стабильно показывае...   Oct 30 2011, 09:10
- - woroba   Вам же Палыч на первой странице показал алгоритм, ...   Oct 30 2011, 15:14
- - hd44780   woroba, не валите всё в одну кучу. Замечания Палыч...   Oct 30 2011, 15:47
|- - Палыч   Цитата(hd44780 @ Oct 30 2011, 18:47) Заме...   Oct 31 2011, 11:54
|- - rx3apf   Цитата(Палыч @ Oct 31 2011, 15:54) Кстати...   Oct 31 2011, 12:14
- - DrGluck   А попробуйте пересчитать полученную погрешность из...   Oct 31 2011, 06:44
|- - hd44780   Цитата(DrGluck @ Oct 31 2011, 09:44) А по...   Oct 31 2011, 07:09
- - DrGluck   ЦитатаКварц хрен знает какой, родом из радиобазара...   Oct 31 2011, 07:39
- - hd44780   Наверное, введу константу. Не будешь же делать тес...   Oct 31 2011, 08:35
- - DrGluck   http://metrologyia.ru/   Oct 31 2011, 08:57
- - hd44780   Ну и что? Про излучение цезия-133 ( http://metrolo...   Oct 31 2011, 11:15
- - hd44780   Сделал так для отладки: компаратор по приходу импу...   Nov 5 2011, 10:24
|- - _pv   Цитата(hd44780 @ Nov 5 2011, 17:24) Резул...   Nov 5 2011, 11:07
- - hd44780   Спасибо большое всем, получилось. По ходу ещё 1 в...   Nov 6 2011, 11:05
|- - Палыч   Цитата(hd44780 @ Nov 6 2011, 15:05) Интер...   Nov 6 2011, 12:53
- - hd44780   500 периодов пока не делал, это всё-таки 10 сек......   Nov 7 2011, 07:30


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 21:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.02285 секунд с 7
ELECTRONIX ©2004-2016