МЕГАОММЕТР на Атмега328Р

КОМПАКТНЫЙ ИЗМЕРИТЕЛЬ УТЕЧКИ
МЕГАОММЕТР НА Атмега328Р

Промышленный вариант мегаомметра достаточно габаритен и имеет немалый вес. Единственный достоинством этого монстра является, то что он поверен, но если вам в ремонте нужно срочно измерить сопротивление утечки, то электронный вариант более предпочтителен.

Поискав в интернете, простого устройства не нашел, единственный мегаомметр, который повторили радиолюбители был из журнала «Silicon Chip» октябрь 2009 года, но с доработанной прошивкой. Предлагаемый вашему вниманию прибор имеет габариты 100х60х25 (корпуса были приобретены на AliExpress) и имеет вес не более 100 грамм. Устройство собрано на микроконтроллере Atmega328P. Питание осуществляется от литеевого аккумулятора и ток потребления составляет около 5 мА. Чем меньше сопротивление измеряемой цепи, тем больше ток потребления и достигает 700-800 мА, но нужно учесть, что цепи с сопротивление меньше 10 кОм встречаются редко и измерение осуществляется за несколько секунд. В устройстве применены два DC-DC преобразователя на MT3608 и MC34063. Первый используется для питания контроллера, напряжение аккумулятора повышается и стабилизируется на уровне 5 вольт, второй преобразователь на 100В, это определено тем, что в основном используется для замеров утечки в электронных устройствах, ну и сделать 500 или 1000В экономичный преобразователь очень пробематично. Сначала была идея оба преобразователя собрать на МТ3608, но после того, как я спалил 8 микросхем, было решено сделать на МС34063. Да и при 500, 1000В пришлось применять более высокоомный делитель и как следствие применение операционных усилителей Rail-To-Rail.

Индикация осуществляется на жидкокристаллический дисплей. Для заряда аккумулятора применен контроллер заряда на TP4056 (отдельная платка 17х20 мм).

Устройство собрано на двухсторонней печатной плате из фольгированного стеклотекстолита, изготовленной по технологии ЛУТ. Не стоит пугаться слова «двухсторонняя».Распечатываются две картинки ПП низ и верх(зеркально). Совмещаются на просвет и скрепляются степлером в виде конверта. Вкладывается заготовка и сначала прогревается с двух сторон утюгом, затем с двух сторон тщательно проглаживается через два стоя писчей бумаги. Отпечатанную заготовку бросаем в емкость с теплой водой примерно на пол часа, затем пальцем под струёй теплой воды убираем остатки бумаги. После травления лудим в сплаве Розе. Сквозные отверстия для проводников выполнены медным луженым проводом диаметром 0.7 мм. Входы прибора выполнены из латунных трубок от старого мультиметра, поэтому можно применять штатные щупы от мультиметров, но желательно сделать самодельные с зажимами типа «крокодил».

Применены SMD детали, резисторы 5%, конденсаторы 10%. Нужно учесть, что это не омметр и не служит для точного измерения сопротивления, хотя точность в диапазоне 1К — 1М достаточно велика. Для повышения достоверности показаний весь диапазон измерения сопротивлений разбит на три. В прошивке применен oversampling. Использованы три делителя напряжения 1;10, 1:100 и 1:1000. Последний диапазон очень растянут, от 10 мОм до 100 мОм и при дискретности АЦП микроконтроллера 10 бит имеет очень крупный шаг, около 90 кОм. К тому же пришлось применить цепи защиты входом микроконтроллера и они вносят погрешность на двух верхних диапазонах. Ниже вы видите рисунки с результатами замеров.

Может кто-то захочет усовершенствовать прибор или более точно откалибровать, поэтому я прикладываю исходники. При калибровке подключаем точный резистор не хуже 1%, например 47 кОм и подбираем коэффициент для диапазона 10-100 кОм в строке:

if ((volt1<1000)&&(volt1>volt0))
{
amper = volt1/1800.0; //uA
volt = 100000.0 — volt1;
if (amper!=0) om = (volt/amper — 1800.0)*1.1235; //подбирается множитель.
} else

Шкала от 10 до 100 мОм очень не линейна, вначале показания занижаются kx2, а в конце диапазона завышаются kx1, поэтому подбираются два коэффициента аналогично, но резистор ставим 20 мОм, затем 47 мОм и затем 91 мОм:

#define kx1 -0.145
#define kx2 0.8

…………

if ((volt2<1000)&&(volt2>volt1))
{
volt = 100000.0 — volt2; //на Rx
amper = volt2/18000.0;
if (amper!=0) om = volt/amper;
om = (om + om*(((1000.0 — volt2)/1000.0)*kx1 + volt2/1000.0*kx2));

С наилучшими пожеланиями, Самоделкин и Ю.Градов.

Исходники

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

Источник: usamodelkina.ru