Страница 1 из 2
Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 09:13:49
aleksandr-zh
Доброго всем дня
Ищу проверенную схему и прошивку частотомера промышленной сети 50 Гц. С индикацией процента, т.е., 50.00 гц
была схема на диске на каком-то ходовом Мк, перерыл всё, не могу найти!
или проверенный алгоритм, а то голову сломал, как обеспечить такую точность (аппаратные особенности типа "кварца" и его термостабильности не учитываем пока)
у меня есть высокостабильные кварцы на 1, 4 и 10 мгц
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 13:56:51
koyodza
aleksandr-zh писал(а):проверенный алгоритм, а то голову сломал, как обеспечить такую точность (аппаратные особенности типа "кварца" и его термостабильности не учитываем пока)
Обычно на НЧ измеряется не частота, а период, и потом пересчитывается в частоту. Только брать нужно не один период, а несколько, например 50-100, измерять их длительность, ну а дальше думаю понятно
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 14:03:54
aleksandr-zh
koyodza писал(а):aleksandr-zh писал(а):проверенный алгоритм, а то голову сломал, как обеспечить такую точность (аппаратные особенности типа "кварца" и его термостабильности не учитываем пока)
Обычно на НЧ измеряется не частота, а период, и потом пересчитывается в частоту. Только брать нужно не один период, а несколько, например 50-100, измерять их длительность, ну а дальше думаю понятно
это я понимаю
я как думаю (как я бы сделал аппаратно):
генератор
делитель
входная цепь=ключ запуска счета
ждем 1 секунду, остановка счета
выдача на индикаторы
как аппаратно - понимаю, а вот как сделать предделители и кварц с оптимальной частотой - не могу въехать...
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 15:43:56
koyodza
aleksandr-zh писал(а):я как думаю (как я бы сделал аппаратно):
генератор
делитель
входная цепь=ключ запуска счета
ждем 1 секунду, остановка счета
выдача на индикаторы
Не совсем: насчёт "ждём 1 секунду" непонятно к чему она у Вас привязана.
Нужно измерить длительность некоторого количества периодов входной частоты. Т.е. счётчиков нужно два: один считает периоды входного сигнала до некоторого фиксированного значения N, второй счётчик (СТ2) считает количество импульсов образцового генератора f0 (тут частота нужна хотя бы 1МГц, можно и повыше). Первый счётчик при переходе, например, из состояния 0 в 1 разрешает счёт второму счётчику, при переходе из состояния N в N+1 запрещает. После чего получаем f = (f0 * N) / СТ2
Чем больше N (а соответственно и время измерения) и чем выше f0, тем выше разрешающая способность.
Преимущество метода - время измерения может быть относительно небольшим. Например, классический метод измерения числа импульсов за фиксированный интервал времени для получения разрешения в 0,01Гц требует времени измерения не менее 100 секунд.
Учтите, что длительность измерительного интервала будет меняться при изменении входной частоты. Но поскольку частота сети меняется в очень узких пределах, то это изменение будет крайне незначительным
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 16:37:11
aleksandr-zh
спасибо
этот алгоритм я знаю
но запутался в самом алгоритме для МК
инициализация, (например, кварц на 8 мгц, предделитель на 8, жесткая установка таймера на 1)
ждем сигнал датчика. Например, в прерывании от внешнего сигнала
запуск ВЧ-счетчика
второй задействован на подсчет времени
при сигнале датчика снова в процедуре прерывания. Анализ. Преобразование и отображение на индикаторах
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 21:06:50
koyodza
Какой именно МК хотите использовать?
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 21:11:12
aleksandr-zh
koyodza писал(а):Какой именно МК хотите использовать?
мне был бы удобен Мега8а
PIC'и -раздарил.
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 22:53:33
koyodza
aleksandr-zh писал(а):мне был бы удобен Мега8а
PIC'и -раздарил.
Кроме меги и PIC'ов вообще-то существует масса других семейств. Ну да ладно...
Используем таймер1 для счёта длительности. Счёт периодов будем вести программно (частота низкая, это не сложно).
Настраиваем таймер в режим 0, 16-битный счёт. Входной сигнал (после преобразования в прямоугольную форму, естественно) подаём на вход захвата таймера ICP1 (можно использовать внутренний компаратор).
Разрешаем прерывания от ICF1 (в обработчике прерывания будем вести счёт их количества, это N).
При приходе первого (в измерительном цикле) прерывания ICF1 запоминаем ICR1
При приходе N+1 запоминаем ещё одно значение ICR1
Вычитая из второго первое получаем длительность (это будет ТС2 в предыдущем посте).
На возможное переполнение таймера плюём, при вычитании 16-разрядных чисел без заимствования всё станет на свои места.
Здесь есть нюансы: тактовая таймера1 (для Вашего случая - когда измеряется частота сети) должна быть 3/N МГц, чтобы не возникало переполнения таймера1. Например, если будем измерять за 50 периодов, то тактовая должна быть не выше 60кГц, желательно в диапазоне 30-60кГц. Т.е. соответствующим образом нужно настроить прескаллер таймера
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 23:25:22
aleksandr-zh
спасибо
завтра-послезавтра займусь
по поводу иных семейств:
меняют МК или когда требует шеф\заказчик, или просто "так надо!"
когда что-то ГОРАЗДО дешевле
когда на что-то есть вкусности типа: бесплатные\дешевые средства разработки, программаторы, отладочные платы...
для домашних поделок выбирать МК с BGA - не резон

или оживлять импортные мега-творения без толкового даташита
а тут всё уже есть: и даташиты (даже на русском частично), и средства разработки, и компиляторы вменяемые...
но это уже халивар и не по теме

Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Вт окт 25, 2011 23:33:12
koyodza
Кроме стоимости есть и другие характеристики. Да и стоимость у атмела тоже не очень хорошая, особенно на более крупные чипы. А на мегах8 не очень-то разгонишься делать серьёзные вещи.
У меня есть и другие причины нелюбить атмел, хотя я и выполнил несколько разработок на их базе, когда это было целесообразно по ряду причин. Однако предпочитаю использовать другие семейства, от других производителей.
Ну а гордиться наличием криво переведеных даташитов - совсем недостойное занятие.
Ладно, холивар устраивать не будем

Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Ср окт 26, 2011 15:04:35
aleksandr-zh
всё, сделал. Оказалось всё намного проще
ps
про халиварные войны
я делаю простые (или для меня уже простые) поделки.
Еще ни разу не встречался с задачей (видимо, просто не брался), в которой не хватало "мощи" у МК.
да, были мысли: МК не справляется. Но потом оказывалось, что "высокоуровневые" привычки мешали сделать оптимальный для данной задачи алгоритм. Делал иначе и всё работает... И даже остается и память, и "мощности"

Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Ср окт 26, 2011 15:17:36
koyodza
aleksandr-zh писал(а):всё, сделал. Оказалось всё намного проще

Интересно. Поделитесь
aleksandr-zh писал(а):ps про халиварные войны
я делаю простые (или для меня уже простые) поделки.
Еще ни разу не встречался с задачей (видимо, просто не брался), в которой не хватало "мощи" у МК.
да, были мысли: МК не справляется. Но потом оказывалось, что "высокоуровневые" привычки мешали сделать оптимальный для данной задачи алгоритм. Делал иначе и всё работает... И даже остается и память, и "мощности"

Никакая оптимизация алгоритма не позволит Вам сделать на меге8 ни FAT (полнофункционально), ни USB mass storage. Да и TCP/IP полноценный тоже. Также проблематично будет измерять площадь импульса сложной формы длительностью в милисекунду, одновременно поддерживая работу пары ПИД-регуляторов и коммуникацию по трём интерфейсам. А в остальном согласен

Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Ср окт 26, 2011 17:47:48
aleksandr-zh
блин
я ж написал: не приходилось иметь дела с ТАКИМИ задачами
прогу выложу, но как сделаю ВСЁ в железе - сейчас всё работает без внешнего формирователя
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Ср окт 26, 2011 19:05:50
koyodza
aleksandr-zh писал(а):прогу выложу, но как сделаю ВСЁ в железе - сейчас всё работает без внешнего формирователя
Да прога мне не интересна. Мне интересен алгоритм измерения. Использовали мой, усовершенствовали его или совсем какой-то другой взяли?
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Ср окт 26, 2011 20:19:56
aleksandr-zh
koyodza писал(а):aleksandr-zh писал(а):прогу выложу, но как сделаю ВСЁ в железе - сейчас всё работает без внешнего формирователя
Да прога мне не интересна. Мне интересен алгоритм измерения. Использовали мой, усовершенствовали его или совсем какой-то другой взяли?
Упрощенно так:
кварц - 4 мгц, предделитель таймера - 8
анализ одного полупериода - 10ms
(планирую сделать усреднение по 10 замерам)
инициализация таймера, портов...
ждем сигнал от датчика
сброс таймера1
ждем сигнал от датчика
читаем таймер
вывод на индикатор (через другой таймер0 организована динамическая индикация). пауза. откл этот тайтмер0
в начало
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Ср окт 26, 2011 22:35:58
koyodza
aleksandr-zh писал(а):анализ одного полупериода - 10ms
(планирую сделать усреднение по 10 замерам)
ждем сигнал от датчика
сброс таймера1
ждем сигнал от датчика
читаем таймер
Т.е. измеряете длительность одного периода? Это плохо, джиттер фронтов будет гадить. Да и сброс таймера явно ведь программно выполняете, в обработчике прерывания? Латентность входа в прерывание (задержка) тоже колеблется. Точности 0,01Гц таким подходом не достигнуть
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Ср окт 26, 2011 23:13:07
aleksandr-zh
знаю. поэтому и буду делать усреднение
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Ср окт 26, 2011 23:51:38
koyodza
aleksandr-zh писал(а):знаю. поэтому и буду делать усреднение
А почему не воспользовались алгоритмом выше?
http://radiokot.ru/forum/viewtopic.php? ... 3#p1003653
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Чт окт 27, 2011 06:44:37
aleksandr-zh
не понял нюансов )) сегодня постараюсь разобраться
Re: Схема\прошивка\алгоритм частотомера пром.сети 50 Гц
Добавлено: Чт окт 27, 2011 12:21:06
aleksandr-zh
удалил свое сообщение
начинаю понимать Вашу идею
надо сохранить в режиме compare значение регистра захвата