|
Индикация текущего тока блока питания, Среднее арифметическое или RMS? |
|
|
|
Dec 9 2008, 07:42
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
Цитата(Арк К @ Dec 9 2008, 09:36)  Эффективное значение - это из другой оперы  эффективное = действующее. это синонимы общепринятая характеристика постоянного (т.е. не меняющего знак) тока есть среднее значение (вспомните хотя бы ШИМ). для источника питания, имхо, следует использовать индикацию именно среднего значения, для получения которого использовать метод скользящего среднего
Сообщение отредактировал ARV - Dec 9 2008, 07:43
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
Dec 9 2008, 10:15
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
ну как... типа так: Код int average(int val){ static int buf[BUFSZ]; static int current = 0; long result = 0;
buf[current] = val; for(int i=0; i<BUFSZ; i++) result += buf[i]; if(++current == BUFSZ) current = 0;
return result / BUFSZ; } подаете на вход очередной замер АЦП, получаете на выходе усредненный по последним BUFSZ замерам результат. чем больше BUFSZ, тем "среднее"  возможно с терминологией у меня путаница - может это и не то, о чем я говорил... но работает хорошо
Сообщение отредактировал ARV - Dec 9 2008, 10:16
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
Dec 9 2008, 13:19
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(ARV @ Dec 9 2008, 10:15)  возможно с терминологией у меня путаница - может это и не то, о чем я говорил... но работает хорошо  Самое то, лично мне понравилось. При работе с длинным буфером можно существенно уменьшить время вычисления, если избавиться от цикла FOR. Код int average(int val) { static int buf[BUFSZ]; static int current=0; static long result=0; result-=buf[current]; buf[current]=val; result+=val; if(++current==BUFSZ) current=0; return result/BUFSZ; }
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Dec 9 2008, 17:33
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(sonycman @ Dec 8 2008, 21:13)  Ого, вариант с программным ФНЧ - это интересно! Спасибо! В общем, надо будет попробовать всеми тремя способами - благо места на ЖКИ хватает. А весь смысл в том, чтобы показания на дисплее как можно точнее соответствовали показаниям отдельного амперметра. Какое значение получается в амперметрах постоянного тока? Среднее? Действующее? Я не в курсе, к сожалению  Вообще, про аббревиатуру RMS - root mean square - квадратичное значение? То есть действующее значение? Тогда что такое эффективное значение? 99% амперметров меряют среднее значение. Даже на переменке. Просто потом помножают на коэффициент (для чистой синусоиды). На тех амперметрах, что меряют RMS, это обязательно напишут  . А вообще RMS в амперметрах нужно для того, чтобы ток был пропорционален мощности, выделяющейся в чисто линейной+резистивной нагрузке. Формула: и квадрат делить на р. Но если нагрузка нелинейная, хоть и резистивная, например лампочка, то всё это уже не срабатывает. Не говоря уж о всяких индуктивных-емкостных нагрузках. Вобщем для каждой нагрузки нужен свой амперметр  . Вывод: не заморачивайтесь и считайте среднее, с амперметром совпадёт наилучшим образом.
|
|
|
|
|
Dec 9 2008, 18:48
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
To: galjoen P=(I^2)*R, а не делить. Чем больше R, тем "труднее электронам":) Цитата(galjoen @ Dec 9 2008, 20:33)  Но если нагрузка нелинейная, хоть и резистивная, например лампочка, то всё это уже не срабатывает. Не говоря уж о всяких индуктивных-емкостных нагрузках. Вобщем для каждой нагрузки нужен свой амперметр  . Вывод: не заморачивайтесь и считайте среднее, с амперметром совпадёт наилучшим образом. А тут я с Вами полностью согласен. RMS считать имеет смысл для синусоидальных сигналов, в чём практического смысла для автора топика нет. И ещё. Скользящее среднее "хуже" медианной фильтрации, т.к. учитывает при расчёте результата все отсчёты и даже заведомо недостоверные (импульсные помехи). Ну а если требуется сильно понизить динамику то тут уже нужно применять последовательно включённый ФНЧ любой реализации. Если хотитите поднять разрешение - экспоненциальное сглаживание поможет. Кто во что горазд. ИМХО. Сейчас книг по ЦОС, что грязи и только слепой не увидит, да глухой не услышит, как кто-то их вслух почитывает  И последнее, самое главное: голову надо использовать с умом, а чтоб ум завёлся надо его тренировать, самому докапываться до первоисточников, пытаться самому понять и прочувствовать физический смысл явления... Простите - наболело. Если я где-то ошибаюсь, то поправьте меня пожалуйста.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Dec 9 2008, 19:15
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
Цитата(demiurg_spb @ Dec 9 2008, 21:48)  А тут я с Вами полностью согласен. RMS считать имеет смысл для синусоидальных сигналов, в чём практического смысла для автора топика нет. гм... как раз для синусоидальных сигналов можно и не использовать (не считать) RMS - достаточно поправочного коэффициента (и для некоторых характерных форм тока тоже достаточно коэффициентов "формы" - см. в любом электротехническом справочнике). а вот когда форма тока далека от "справочной" - тут либо мерить электромагнитным амперметром, либо обсчитывать по формулам отсчеты АЦП (либо применять специальные микросхемы). например, измерить действующее значение напряжения (тока) после обычного диммера (фазовое регулирование) не так-то просто...
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
Dec 9 2008, 19:43
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(ARV @ Dec 9 2008, 22:15)  гм... как раз для синусоидальных сигналов можно и не использовать (не считать) RMS - достаточно поправочного коэффициента (и для некоторых характерных форм тока тоже достаточно коэффициентов "формы" - см. в любом электротехническом справочнике). а вот когда форма тока далека от "справочной" - тут либо мерить электромагнитным амперметром, либо обсчитывать по формулам отсчеты АЦП (либо применять специальные микросхемы). например, измерить действующее значение напряжения (тока) после обычного диммера (фазовое регулирование) не так-то просто... Это понятно. Я использовал не то слово: не синусоидальных, а периодических. Т.к. этим алгоритмом (вычислением среднеквадратичного значения) находится эквивалентная по мощности постоянная величина за период. А какой период у автора топика - период обновления индикации (как-то притянуто, хотя и не исключено)... Всё что я хочу сказать - это то, что для постоянного сигнала как не считай получишь одно и тоже значение, т.к. не требуется искать этот самый эквивалент, поскольку оригинал им и является  Меня смешит больше другое - надпись TRUE RMS на некоторых приборах. Можно подумать, что просто RMS - это конечно RMS, но как-то не совсем TRUE:)
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Dec 10 2008, 01:02
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(defunct @ Dec 10 2008, 04:46)  Лишь бы LCD успел корректно отобразить ;> Если сильно часто перерисовывать - есть шанс что младшие(изменяемые) разряды сольются в кашу. Вы конечно заметите, что ток изменился но толку от цифры-каши будет ноль. Да, да, согласен. Матричные дисплеи от Мэлта не отличаются высокой скоростью срабатывания ячейки. Да и графические тоже. Каши не получается, но хорошо заметно, как меняется символ. Видимо, весьма низкая скорость "потухания\зажигания" ячейки жк. Другое дело, дисплей от телефона Siemens S65 - гораздо шустрее. Но даже там глаз хорошо замечает момент обновления экрана контроллером ЖКИ (а это частота в несколько десятков герц!). Вот если бы можно было засинхронизироваться с моментом начала отрисовки, так сказать, с "кадровой" частотой... ну да это уже другая тема совсем...
|
|
|
|
|
Dec 10 2008, 01:15
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Цитата(defunct @ Dec 10 2008, 04:46)  Лишь бы LCD успел корректно отобразить ;> Если сильно часто перерисовывать - есть шанс что младшие(изменяемые) разряды сольются в кашу. Вы конечно заметите, что ток изменился но толку от цифры-каши будет ноль.
Наверное не стоит обновлять чаще 2-х раз в секунду. 1-раз в сек, на мой взгляд, самое оно. Также можно выводить минимальный и максимальный ток за период измерения. Тут диспут несколько бессмысленный. Цифровой индикатор на лабораторном источнике безусловно - лихачество. Он крайне неудобен по сравнению со стрелочным прибором. На стрелочном приборе человек затрудняется с точным отсчетом, зато прекрасно чувствует динамику процесса. Чаще всего, это и нужно. Если нужно повысить точность, то следует помнить, что человек не способен воспринимать символьные отсчеты быстрее 1 с. Это годится для индикатора с периодическим наблюдением за медленно меняющейся величиной. Усреднение показаний? Да, можно предложить кучу алгоритмов. Простейший - складывать ПОЛОВИНУ предыдущих и текущих показаний. Или еще замешивать два, три прошлых показания с убывающим коэффициентом. Можно просто вести контроль функции на гладкость. Т.е. ограничить изменение показаний только младшим разрядом, все время добавляя/вычитая единичку из предыдущего показания. Но, опять же, при выключении нагрузки показания будут либо сильно запаздывать, либо будет сплошное мелькание младшего разряда индикатора. Нащупать компромисс придется уже на практике.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|