Вольтамперметр на PIC16F676 та 74HC595
- вимірювати напругу в діапазоні до 50V;
- вимірювати силу струму в діапазоні до 10А;
- вимірювати заряд в А*год;
- відображення на 3-х розрядному світлодіодному індикаторі.
Вольтамперметр на PIC16F676 та 74HC595 (1 LED)
Конструкція є не новою і походить вона з неіснуючого на сьогодні сайту. Проте інтернет зберіг копії конструкції на інших сайтах (тут, тут та інші). Конструкція виявилась вдалою і її повторило багато людей і до неї є різні прошивки та варіанти друкованих плат а також двох індикаторний 4–х розрядний варіант. З часом з’явились ідеї щодо покращення функціоналу, що і було зроблено. Прошивка була переписана заново (за що велике ДЯКУЮ SOIRу).
Мета модернізації при незмінній (ну майже незмінній) схемотехніці:
- позбутись ненадійних підстроєчних резисторів замінивши їх на цифрову корекцію кнопками.
- програмна корекція зміщення підсилювача шунта (також налаштовується кнопками).
- додавання порогу по досягненні заданої напруги (індикатор заряду акумулятора).
Ці методи були випробувані в подібній конструкції (Дводіапазонний вольтамперметр на МК ATMEGA8) і показали хороші результати. Відмова від підстроєчних резисторів обумовлена вкрай поганою їх стабільністю.
Сама схема практично не змінилась. Лише підстроєчні резистори вхідного дільника (для U) та ті, що задають підсилення ОП (для I) замінено на постійні з відповідним перерахунком. Вхідний дільник для U має коефіцієнт ділення 1:10 і сумарно має бути десь в діапазоні 50-100 кОм. Для струму коефіцієнт підсилення ОП залежить від опору вибраного шунта. Діапазон напруг для вимірювання МК становить 0-5 V. Точність підбору резисторів 5%... а далі все кнопками. І ще…. Для правильного відображення струму біля нуля необхідно операційник дещо змістити в плюс. Це залежить від конкретного екземпляра ОП. Детально про це можна почитати в цій статті у розділі «Вимірювальний блок». Кому цікаво, мої номінали вказані на фото.
Вибір типу індикаторів (СК, СА) резистором (к.11 МК) тут вже не працює. Це мінус…. але є дві прошивки для різного типу індикаторів…а це вже плюс.
При ввімкненні пристрою - індикація напруги «-U-»,. Короткочасне натискання кнопки «В» активує індикацію режиму роботи: напруга «-U-», струм «-I-», лічильник ампер/годин "-C-" і далі по кругу.
Параметри вимірів:
- напруга «-U-»: 0…50,0V; (формат показу - хх,хВ).
- струм «-I -»: 0…9,99 А; (формат показу - х,ххА).
- ємність «-C -»: 0…999 А*год.
Режим налаштування кнопками:
- Калібрування напруги.
В режимі «-U-» утримувати більше 3-х сек. кн. «Н» до появи на індикаторі напису «cUH». Кнопками «В» та «Н» коригуємо покази з еталонним вольтметром. Поточні покази мигають почергово з коефіцієнтом. Коефіцієнтом в межах 0-200. 100 по замовчуванню і це практично відповідає нулю корекції. Щоб не зв’язуватись з мінусом на індикаторі. Вихід з режиму одночасне натискання кн. «В» та «Н» або 10 сек бездіяльності. При виході коефіцієнти записуються в пам’ять МК та відображаються на індикаторі (дві дужки по боках).
- Корекція зміщення ОП.
В режимі «-I-» утримувати більше 3-х сек кн. "В" 3 сек, з'явиться напис "cI0". На індикатор по черзі виводитися величина зміщення і виміряна сила струму. (Слід враховувати, що нижче нуля покази завжди будуть 0.00. Тому слід спочатку виставити це зміщення таким, щоб покази струму були вище нуля, а потім поступово зменшувати.)
- Калібрування струму.
В режимі «-I-» утримувати більше 3-х сек кн. «Н» до появи на індикаторі напису «cIH». Кнопками «В» та «Н» коригуємо покази з еталонним амперметром. Поточні покази мигають почергово з коефіцієнтом. Коефіцієнтом в межах 0-200. Вихід та збереження аналогічно U.
- Скидання лічильника ємності.
В режимі «-C-» утримувати більше 3-х сек кн. «Н». З’явиться напис «rSc». кн. "В" скидає лічильник і зразу ж перехід в режим показів "С".
- Порогова напруга (індикатор заряду).
Для чого це потрібно? Так як цей пристрій "заточений" під зарядний пристрій автомобільних акумуляторорів, то користувачу зручно бачити коли акумулятор досяг заданої напруги (14,3V), що свідчить про повний заряд. Одночасно цим сигналом можна буде вимикати саме зарядне. Для ATX БЖ подаючи його на к.4 TL494.
По замовчуванні порогову напругу 14,3V і прописано "тілі" програми. Гістерезис - 1V. Сигнал виводиться на к.3 МК (лог. 1 - досягнуто поріг). При необхідності порогову напругу можна змінити записавши в EEPROM за адресою 0x03 своє значення. На малюнку приклад для напруги 8,8V.
Всі деталі розміщені на друкованій платі розміром 55х45 мм. Розробка не моя… я лише дещо поправив під себе. Додатково на платі є місце під Step-Down перетворювач на MC34063, який можна задіяти при високій напрузі живлення, щоб не перегрівати стабілізатор 78L05.
Фото плати з номіналами.
Як видно з номіналів резисторів підсилювача шунта (47к та 560 ом) коефіцієнт його підсилення = 84.9. При струмі 10А падіння на шунті становитиме 5/85=0,059V і розсіювана ним потужність становитиме 0, 59 Вт. А сам опір шунта = 5.9 mΩ. Шунт на платі маленький відрізок ніхромового дроту (товщиною приблизно 1мм). При такому варіанті тонкі доріжки до шунта варто «підсилити» мідним дротом. Також можна використовувати будь-які інші (цементні, ноутбучні) з подібним номіналом (5-10 mΩ). На платі для цього зарезервоване місце. Номінали дільника напруги (47к та 5,1к).
Слід врахувати, що між схемою та платою є незначні розходження. Вимірювальні входи МК (с.8 та к.11) зашунтовані конденсаторами для кращої фільтрації сигналу (на платі присутні і підписані). Тому при збірці пристрою необхідно бути уважним.
Конструкція зібрана на доступній елементній базі і є універсальною. Але найкраще вона вписується у зарядний пристрій для заряджання автомобільних акумуляторів. Індикатор не захаращений зайвою інформацією, а індикація на досить великих LED індикаторах добре читається на великій відстані.
Ось так це виглядає в корпусі
Тому, що схема не змінювалась, то старі прошивки також підходять. Вибір типу індикатора в такому випадку вибирається підключенням к..11 МК до +5В (СК) чи «землі» (СА) через опір номіналом 1К.(є на платі) А також кому неохота займатись цифровою корекцією – можуть використовувати підстроєчні резистори.
Увага! МК PIC16F676 містить калібровочну константу. Записана вона в останній комірці памяті і її правильне (заводське) значення впливає на роботу МК. В шістнадцятирічному форматі вона матиме приблизно таке значення 3438 (для кожного МК вона своя). Не всі програматори зберігають константу при програмуванні (PICkit 2 зберігає і навіть намагається її відновити при втраті, а інші ні…) Тому при першому зчитуванні програматором необхідно її (константу) запам’ятати, а ще краще нашкрябати на корпусі самого МК. При програмуванні МК слід перевіряти її наявність і при втраті ввести в останню комірку памяті.
Не все з задуманого вдалося реалізувати. На заваді став брак ресурсів МК.
В архіві все необхідне для виготовлення.
Обговорення конструкції тут.
studiotandem (березень 2021)