Перейти к содержимому
Форум журнала практической электроники «Датагор»

Оригинал микро-ПК Raspberry Pi 3 Model B+ (Broadcom 1.4GHz quad-core 64 bit processor, Wifi, Bluetooth, USB)

Офигенная миниатюрная рация на литии BaoFeng UV-5R, 5W, 5-15 км! Охота, поход, торговый центр и т.п.

TrueRMS мультиметр UNI-T UT139A с автодиапазонами

Паяльнник 80W с терморегулятором и LCD-дисплеем, популярные жала серии 900M
Гость химик

Как измерять сетевое напряжение?

Рекомендованные сообщения

Гость химик

Добрый вечер. Вот уже два дня пытаюсь понять алгоритм измерения напряжения сети. Замер делаю внешним четырехканальным АЦП, данные обрабатываю микроконтроллером mega8.

Двенадцатибитный код я получил, а что делать дальше не знаю. АЦП хочу опрашивать так:

-первый вход АЦП опрашивается n-количество раз в секунду для быстрого реагирования на изменение напряжения сети; один раз в секунду выводится на индикатор; при превышении определенного напряжения реагировать.

-второй вход АЦП опрашивается в другой точке сети с выводом показаний один раз в 1-2 секунды; используется только для индикации.

-третий вход измеряет постоянное напряжение от датчика тока 1 раз в секунду, с ним проблем не вижу.

 

Короче задача подобрать способ реагировать на резкое изменение напряжения сети и выводить в буффер индикатора с погрешностью +/- 3В. Пока на этом все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик

Задача упростилась. Сегодня разобрался с аналоговым компоратором, так что быстро реагироввать будет он на перенапряжение сети.

Теперь мне нужно пару раз в секунду измерять напряжение. Вот нашел такую формулу:

...деление на 1,41 эквивалентно умножению на 0,709 . Если перевести число 0,709 в беззнаковое целое приведенное к 65536 (0,709 * 65536 = 46479), то можно умножить входное значение на это число, получив в результате то что надо в старших байтах. Те к примеру входное значение 3160 умножаем на 46479 : 3160*46479 = 146873640(в хексе 8C11D28), старшие 2 байта 08С1, это 2241, что и требовалось
Правильно ли будет воспользоваться ей? На сколько она будет точна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость kan
Задача упростилась. Сегодня разобрался с аналоговым компоратором, так что быстро реагироввать будет он на перенапряжение сети.

Теперь мне нужно пару раз в секунду измерять напряжение. Вот нашел такую формулу:

Правильно ли будет воспользоваться ей? На сколько она будет точна.

Про измерение действующего значения сети: _https://arv.radioliga.com/content/view/107/43/

Цифровой вольтметр _https://radiokot.ru/circuit/digital/measure/23/

РЕгистратор напряжения _https://radiokot.ru/circuit/digital/measure/14/

Ссылки с Кота с исходниками.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость химик

Так, кажется начал отходить от праздника, покрайней мере голова заработала.

Про измерение действующего значения сети: _https://arv.radioliga.com/content/view/107/43/

Здесь был, этот сайт меня как раз и запутал.

Цифровой вольтметр _https://radiokot.ru/circuit/digital/measure/23/

В принципе , если я не ошибаюсь, алгоритм вычисления амплитудного значения у нас одинаков, только реализован по разному.

Мой код:

 z1=ADC;
 di=4;
 while(di){
	for(z2=1;z2<z1;z2=z1){
	   ADC_Data(ADDR);
	   ADC_bit();
	   z1=ADC;
	   };
		 z3=z3+z2;
		 z2=0;
		 di--;
 };
			z4=z3/4;

Здесь я сравниваю показание с предидущим и если оно меньше то предыдущее и есть результат, если наоборот то повторяем.

 

РЕгистратор напряжения _https://radiokot.ru/circuit/digital/measure/14/

Ссылки с Кота с исходниками.

Здесь я ни чего не понял.

На сайте _https://electronix.ru/forum/lofiversion/index.php/t77648.html нашел на мой взгляд более интересный алгоритм, но опять же из-за ,порой, жестоких споров запутался.

Если по простому:

1. Отсеките все отрицательные полупериоды - (схема будет проще - можно убрать смещение / выбросить мостик, оставить только делитель и отсекающий диод да и тот можно выбросить т.к. в МК уже есть).

2. Обеспечьте семплирование АЦП с постоянной частотой Fd напр. 4kHz.

3. Словите начало очередного положительного полупериода (текущее показание с АЦП >0, а предыдущее =0), и начните суммировать все, что приходит с АЦП, заодно запоминая сколько чисел просуммировали.

4. в квадрат ничего не нужно возводить и так все числа положительные, т.к. отрицательные отсекли в п.1. (соответственно потом и корень не надо будет брать).

5. По окончанию полупериода (предыдущее показание АЦП > 0, текущее =0) остановите суммирование, поделите сумму на количество просуммированных семплов.

6. Числа получаемые в результате деления в п.5 пропустите через КИХ/БИХ фильтр по вкусу. (напр скользящее среднее по 8-ми точкам с отбросом мин и макс значений).

7. Поделите отфильтрованное число из п.6 на "K" найденное в процессе калибровки ну и собсно все - результат готов...

 

калибровка:

 

8. Измерьте среднеквадратичное напряжение в сети эталонным прибором.

9. Поделите полученное отфильтрованное число из п.6, на показание эталонного прибора из п.8, в результате получите число "K" для п.7

 

 

Вы удивитесь насколько точно оно будет работать, и ведь без никаких квадратов и корней!

Правда способ будет работать только для правильного синуса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

︽ Наверх страницы ︽
×
×
  • Создать...