Клеммные колодки Keen Side

Амперметр переменного тока на ATmega8

Страница 3 из 4
Новичок
 
Регистрация: 13.02.2015
Адрес: Тула
Сообщений: 13
Репутация: 10
 
07.09.2015 19:04 #21
Попробовал собрать пару амперметров. Выяснилось, что требуется тщательно подбирать ОУ - не с каждым экземпляром удается устранить положительное напряжение на выходе при нулевом токе через ТТ и добиться более-менее равномерной характеристики. На реальной активной нагрузке (типа нагреватель, утюг и т.д.) получил достаточную точность где-то +/- 0,5А. Тестил на нагрузках 500, 1000, 1200, 2000 Вт. Из-за недостатка программерского опыта не смог устранить некоторое "плавание" показаний тока вокруг некой средней точки - например показания контрольного мультиметра 2,51А, а показания моего девайса периодически колеблются в пределах 2,23 - 2,76А.
По-поводу ОУ. Для моделирования в Протеусе лучше всего подходит AD8572, а вот с AD823, AD8512 ничего не получается вообще - отказываются работать в качестве выпрямителя. Попробовать собрать на них в железе возможности нет.
antonydublin
Я пробовал Ваш пример перевести на CVAVR - что-то никак не получается. Видимо не понимаю до конца Ваш замысел. Пробовал считывать раз в 100мс данные с АЦП при помощи таймера, а затем в основном цикле выводить на индикацию - не работает. Поэтому пока оставил код программы как и было раньше.
В схеме Протеуса R21 и R22 по 39к. В реальном железе эти резисторы должны быть 68к - видимо это косяки Протеуса - плоховато он аналоговые схемы моделирует. Два встречно-параллельных светодиода - это двухцветный светодиод. При перегрузке выше 35А начинает попеременно мигать цветами. Кнопкой выбираем режим амперметра - среднеквадратичные показания или средневыпрямленные.
Вот схема и архив с файлом Протеуса и прошивкой.
Изображения
Тип файла: jpg 1.jpg (564.1 Кб, 0 просмотров)
Вложения
Тип файла: 7z AMP.7z (33.8 Кб, 0 просмотров)
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 873
Репутация: 381
372 0
3 0
 
07.09.2015 20:52 #22
Цитата:
... не смог устранить некоторое "плавание" показаний тока вокруг некой средней точки - например показания контрольного мультиметра 2,51А, а показания моего девайса периодически колеблются в пределах 2,23 - 2,76А.
Скорее всего, это легко объясняется "инертностью" контрольного прибора. От природы последнего (стрелочный или цифровой) зависит скорость смены показаний. Т.е. фактически показанная контрольным прибором величина тока является средним значением за больший период времени (0.3-2 сек). Ваше устройство, возможно, просто быстрее реагирует на скачки тока, которые, в свою очередь, могут быть связаны с колебаниями сетевого напряжения (190-240В). Так, (2.23+2.76)/2=2.5 Это я угадываю.
Цитата:
... видимо это косяки Протеуса - плоховато он аналоговые схемы моделирует.
И это верно. Отлаживать аналоговые схемы, тем более схемы на ОУ, лучше в TinaTi, Microcap, LTSpice и т.д. Если модели какого-то элемента нет в их библиотеках, с сайтов большинства производителей доступны spice модели (*.lib и т.п.), которые можно добавить в эти программы в качестве новых макросов. Но и такой подход нельзя считать страховкой от неожиданностей в железе.
Цитата:
Я пробовал Ваш пример перевести на CVAVR - что-то никак не получается. Видимо не понимаю до конца Ваш замысел. Пробовал считывать раз в 100мс данные с АЦП... - не работает.
И не будет работать. Данные необходимо считывать минимум 1000 раз/сек, чтобы в период синуса уложилось хотя бы 20 точек. Что даёт приемлемую точность. А при оцифровке 10 раз/сек получится ерунда (если, конечно, Вы считываете не отфильтрованный после ОУ уровень DC сигнала). Нарушается незыблемая теорема Котельникова (соотношение между периодом дискретизации и периодом сигнала). Хотя здесь упоминание этой Th. немного не корректно. Просто указываю на ошибочный выбор периода оцифровки 100мс. Информации по этому вопросу полно, хотя бы тут http://www.kit-e.ru/articles/circuit/2010_07_144.php.

Вообще, стоит использовать лабораторный генератор и осциллограф при отладке схемы. Вы будете уверены в том, что на входе усилителя, что на выходе, и какие показания должны быть на конструируемом приборе. А затем можно подключать датчики. Иначе сложно судить о достоверности результатов.
Последний раз редактировалось antonydublin; 07.09.2015 в 20:59.
Оценка
Новичок
 
Регистрация: 13.02.2015
Адрес: Тула
Сообщений: 13
Репутация: 10
 
07.09.2015 21:18 #23
antonydublin
Я наверное неправильно выразился по поводу 100мс по таймеру. По моим предположениям в течении 100мс накапливаются данные в переменную по формуле value=value+(adc_data*adc_data) , где adc_data это данные ADCW. При частоте АЦП 62,500 kHz делается где-то 480 выборок. Далее вычисляем indication = (sqrt(value/adc_count)), где adc_count это количество выборок. Затем по истечении интервала 100мс значение indication выводим на индикатор.
Возвращаясь к теме с ТТ, подключенному к ОУ со смещением на 1/2 питания. Если за Aref принять напряжение питания, то работает следующий код, по крайней мере в Протеусе (за основу взял свой старый код).

void sampleADC() // работа АЦП
{
delay_us(10);

ADCSRA |= (1<<ADSC); // запуск АЦП
while(!(ADCSRA & (1<<ADIF))); // ждём окончания конвертирования
ADCSRA |=(1<<ADIF); // сбрасываем флаг записью 1

adc_count++; // увеличиваем счетчик счётчик количества измерений на 1

if (ADCW<=511)
{
M = 511-ADCW;
}
else
{
M = ADCW-511;
};

value = (value + (M*M)); // вычисляем сумму квадратов и записываем в value

if (adc_count==480) // если произведено 480 измерений ( ~200мс )
{
indication = (sqrt(value/adc_count))*11; // вычисляем среднеквадратичное значение

Iporog = indication%10000;

I++; // увеличиваем счетчик обновления индикатора

if (I>=10)
{
if (Iporog>=1000) // если показания больше 10 Ампер
{
count3 = indication%10000/1000; // 1-й разряд - десятки Ампер
count2 = indication%1000/100; // 2-Й разряд - единицы Ампер
count1 = indication%100/10; // 3-й разряд - десятые доли Ампера
}
else
{
count3 = indication%1000/100; // 1-й разряд - единицы Ампер
count2 = indication%100/10; // 2-Й разряд - десятые доли Ампера
count1 = indication%10/1; // 3-й разряд - сотые доли Ампера
};

I=0;
};
};

if (adc_count>480) // если произведено более 480 измерений ( ~200мс )
{
value = 0; // обнуляем переменную максимального значения напряжения
adc_count = 0; // обнуляем счётчик количества измерений
};
}

Так вот моделируется эта моя писанина отлично, но вот эти строки даже для меня как начинающего писать программы режет глаз:

if (ADCW<=511)
{
M = 511-ADCW;
}
else
{
M = ADCW-511;
};

Просьба, подскажите плз как это "правильно" пишется. Я графически на бумаге понимаю как эти строчки работают и что именно они выполняют (что-то типа двухполупериодного выпрямителя, если такое сравнение уместно), но на грамотный язык CVAVR оформить не могу - не хватает опыта.
Оценка
Знаток
 
Аватар для iev91
 
Регистрация: 12.10.2009
Адрес: Тольятти
Сообщений: 231
Репутация: 86
74 10
1 0
 
08.09.2015 02:35 #24
Евгений, напрасно ты проигнорировал мое замечание относительно нагрузки для токового трансформатора. Он должен быть нагружен максимально, иначе получается фильтр высоких частот, которых в промышленной сети предостаточно.

Прыгают показания, скорее всего, из-за биений между частотой сети и частотой измерений. Ведь никакого ФНЧ в системе нет - ни аппаратного, ни программного. Для устранения этого явления можно сделать принудительную синхронизацию. Перед началом серии измерений нужно дождаться фронта сигнала при переходе через 0 (например, из минуса в плюс). Тогда серия ляжет на одно и то же место в сигнале и будет одинаковым, даже если конец серии не совпадает с точкой перехода через 0.
Оценка
Знаток
 
Аватар для iev91
 
Регистрация: 12.10.2009
Адрес: Тольятти
Сообщений: 231
Репутация: 86
74 10
1 0
 
08.09.2015 03:02 #25
Проверил схему в симуляторе - и ничего не понял. Напрасно ты не описал идею, как задумано, как оно должно работать! Схема на ОУ вроде бы выпрямляет входное напряжение, так зачем это делать еще раз программно, но уже от средней точки в 511 единиц?? Ведь средняя точка тогда придется куда-то на середину напряжения этого полупериода. Зачем там подается какое-то отрицательное смещение? Ничего не понимаю. Давай-ка дальше сам, дружище...
Оценка
Новичок
 
Регистрация: 13.02.2015
Адрес: Тула
Сообщений: 13
Репутация: 10
 
08.09.2015 07:03 #26
iev91
Так ведь ТТ нагружен на резистор 220 Ом согласно даташиту. Про мое сообщение об ОУ со смещением на 1/2 питания и с куском кода про 511 - это к той схеме, с которой я начинал эту тему.
А с принудительной синхронизацией попробую, спасибо за подсказку.
Изображения
Тип файла: jpg 2.jpg (453.3 Кб, 0 просмотров)
Вложения
Тип файла: 7z AMP_2.7z (25.2 Кб, 0 просмотров)
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 873
Репутация: 381
372 0
3 0
 
24.10.2015 20:11 #27
Цитата:
Сообщение от EvgenyVK
lllll
Почитал отзывы по датчикам, в частности Allegro ACS712, они очень чувствительны к внешним магнитным полям... Вряд ли он будет работать корректно... Сомнения берут.
Сегодня наткнулся вот на эту страницу http://www.tretnik.com/ampermetr_20_per.html и вспомнил тему амперметра. Хотя на фотографиях по ссылке маркировки микросхем не разобрать, но с большой вероятностью использован датчик ACS712 или ему подобный. И если этот амперметр продают и, можно предположить, выпускают пусть и небольшими партиями, значит м/с работает стабильно. Никаких защит и экранов на плате не видно.
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 873
Репутация: 381
372 0
3 0
 
05.11.2015 16:23 #28
Продолжая тему амперметра. Сегодня в руки попался Амперметр АМ-2, но не похожий на тот, что на сайте производителя. Может подделка, а может ранняя модель. Заявленной точности 1% соответствует, правда поверял клещами Unit UT231. Мне помнится, именно такую точность хотел получить ТС. Правда, на шильдике заявлено "индикатор тока", а не контрольный прибор или, тем более, измеритель тока.

Я не поленился и заглянул внутрь АМ-2. В пристёжке схема и фотографии. Хоть я и торопился, но вряд ли ошибся в схеме, она простая до нельзя. ТТ + PIC16F676. Трансформатор тока намотан явно вручную проводом диаметром 0,1...0,14 (изоляцию снимать не стал, а точнее через лакоткань не определишь). Витков много, в навал. Кольцо ТТ судя по скруглённым кромкам или альсифер, или импортный феррит. Сопротивление обмотки 142 Ома.

Может, ТС будет интересно, а судя по количеству просмотров темы не только ему. Тем не менее, конструкция рабочая, можно повторять. Только реализовать программную часть.
Изображения
Тип файла: jpg Амперметр АМ-2 схема.jpg (137.9 Кб, 0 просмотров)
Тип файла: jpg Амперметр АМ-2.jpg (391.0 Кб, 0 просмотров)
Тип файла: jpg Амперметр АМ-2 шильдик.jpg (390.3 Кб, 0 просмотров)
Тип файла: jpg АМ-2 в разборе 1.jpg (459.6 Кб, 0 просмотров)
Тип файла: jpg АМ-2 в разборе 2.jpg (457.1 Кб, 0 просмотров)
Оценка
Banned
 
Регистрация: 01.05.2013
Сообщений: 3,556
Репутация: 497
513 208
28 2
 
06.11.2015 10:16 #29
Берём амперметр постоянного тока включаем в диагональ диодного моста ... и никакого гемора ...
Оценка
Гуру
 
Регистрация: 08.05.2006
Адрес: москва
Сообщений: 8,281
Репутация: 2218
2,204 1,138
40 83
 
06.11.2015 11:38 #30
и никакого гемора
Кроме диодов эдак ампер на 100, радиатора и их замены в случа КЗ.....
Оценка
Ответ
Страница 3 из 4
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Скидки 15%, кэшбэк 15% и бесплатная доставка от ТМ Электроникс
Часовой пояс GMT +3, время: 01:48.
Обратная связь РадиоЛоцман Вверх