Амперволтметър на pic12f675 - измервателна техника - инструменти. Вграден волтметър на PIC12F675 Характеристики на волтметъра


В това устройство авторът използва оригиналния метод за управление на четирицифрен седемелементен LED индикатор със сигнали само от четири пина на микроконтролера. Програмата на микроконтролера осигурява автоматично калибриране на волтметъра.

Традиционното свързване на LED цифров индикатор с микроконтролер чрез сериен към паралелен преобразувател 74HC595 изисква използването на три изхода на микроконтролера за управление на кодовия преобразувател и още един изход за всяка цифра на индикатора. Следователно четирицифрен индикатор изисква седем пина. Това прави невъзможно използването на такива индикатори с микроконтролери с ниска мощност, например с PIC12F675, който има само шест извода (без да се броят изводите за захранване).

На втория етап нарастващата разлика в нивото на щифт 12 на чипа 74HC595 пренаписва нулевото съдържание на регистъра за изместване в регистъра за съхранение. Това напълно изгасва индикатора.

На третия етап информацията се зарежда в регистъра за смяна на микросхемата 74HC595 със сериен код, генериран от микроконтролера на пин 14 на микросхемата. Неговият изход 11 получава тактови импулси.

На четвъртия етап, с нарастваща разлика в нивото на щифт 12 на микросхемата 74HC595, информацията от неговия регистър за смяна влиза в регистъра за съхранение и поради високите нива на катодите, разрядите на индикатора остават изгасени.

На петия етап, на общия катод на разряда, за който е предназначен изходът на паралелен код към изходите на микросхемата 74HC595, програмата задава ниско ниво, включително елементите му в съответствие с този код. Това завършва обработката на прекъсването и състоянието на зададения индикатор остава непроменено до следващото прекъсване.

За управление на осемразряден индикатор са необходими осем изхода на микроконтролера. В този случай сигналите от допълнителните четири изхода просто контролират нивата на катодите на разрядите. Трябва да се отбележи, че в този случай е възможно да се използват индикатори както с общи катоди, така и с общи аноди, съответно свързващи елементи или разряди към изходите на кодовия преобразувател. Поради посочените по-долу причини, за предпочитане е динамичната индикация да се организира елемент по елемент в първия случай и бит по бит във втория.

Сега нека поговорим за волтметър, който използва описания принцип.

Основни технически характеристики

Измерено напрежение, V .............. 0...80

Дискретност на измерване, V ...... 0.1

Точност..................0,5% + единици мл. рез.

Захранващо напрежение, V...........7...15

Ток на потребление, mA, не повече от .........................30

Схемата на волтметъра е показана на фиг. 1. Използва динамична индикация елемент по елемент. Във всеки момент от времето високо нивомонтирани върху анодите на една група елементи със същото име на всички цифри на индикатора HG1. На общите катодни изводи на разрядите, в които тези елементи трябва да светят, се задава ниско ниво, в противен случай е високо. Моля, обърнете внимание, че елементи с едно и също име могат да бъдат включени едновременно във всички категории, но само един елемент е включен във всяка категория в момента. Ето защо беше избрано да се свържат анодите на елементите към изходите на микросхемата DD2, чиято товароносимост е по-висока от изходите на микроконтролера.

Ориз. 1. Верига на волтметър

При период на прекъсване от 2 ms честотата на опресняване на изображението на индикатора е 64 Hz и премигването му е незабележимо за окото. Избраният метод на динамична индикация също така позволи да се намали наполовина броят на резисторите (R4-R7), които ограничават тока през индикаторните светодиоди.

Микроконтролерът PIC12F675-I / P (DD1) остава незает в динамичната индикация на I / O линиите GP0 и GP3. Първият се използва като ADC вход, измереното напрежение се подава към него през делителя R1R2. На линия GP3, при липса на джъмпер S1, благодарение на резистора R3, се задава високо логическо ниво, което служи като сигнал, който поставя волтметъра в режим на калибриране. Ако джъмперът е инсталиран, нивото на този щифт е ниско и волтметърът работи нормално.

Когато включите волтметъра за първи път с липсващ джъмпер S1, индикаторът HG1 ще се покаже с мигащ най-десен знак. В това състояние на входа на устройството трябва да се приложи напрежение възможно най-близко до 80 V, като се контролира с примерен волтметър. При краткотрайно свързване на контактните площадки, предназначени за джъмпер S1, устройството ще изчисли и запомни коефициента на калибриране и ще го използва в бъдеще.

Въпреки това, 80 V е доста голямо напрежение и трудностите при получаването му не са изключени. В този случай, по време на индикацията на стойността на еталонното напрежение, устройството трябва да се изключи и включи отново. Индикаторът ще покаже , а при следващо изключване и включване - , , отново и още в кръг. Калибрирането трябва да се извърши при най-високото налично напрежение от тези стойности. Колкото по-високо е референтното напрежение, толкова по-точно е калибрирането. Ако по време на калибриране входното напрежение се различава твърде много от референтното напрежение, коефициентът няма да бъде изчислен и индикаторът ще покаже

След калибриране изключете волтметъра и накрая инсталирайте джъмпер S1, в противен случай следващия път, когато го включите, ще трябва да повторите всичко отново. Волтметърът може да работи и без калибриране, ако джъмперът S1 вече е инсталиран при първото му включване. В този случай използва коефициента, записан в програмата, но грешката може да надхвърли 10%. Това ще бъде предупредено от включената точка в най-дясната цифра на индикатора.

Аналогово-цифровото преобразуване се извършва в режим "заспиване" на микроконтролера, за да се намалят смущенията от неговите работни възли. От това състояние той автоматично излиза в края на преобразуването.

Устройството се захранва от напрежение от 5 V, получено с помощта на интегриран регулатор на напрежение DA1. Можете да използвате стабилизатора 78L05 вместо посочения на диаграмата само в краен случай, тъй като стабилността на изходното му напрежение е с порядък по-лоша. Без да влошавате параметрите, можете да използвате стабилизатора LP2951. Ценеровият диод VD1 за напрежение 5,6 V, заедно с вътрешния защитен диод на микроконтролера, предпазва последния от повреда, когато измереното напрежение надвишава допустимата стойност. Без ограничител захранващото напрежение на микроконтролера в тази ситуация може критично да се увеличи.

Устройството е сглобено върху печатна платка с размери 40x36 mm, изработена от едностранно фолио от фибростъкло с дебелина 1,5 mm, показано на фиг. 2. Повечето резистори и кондензатори са с размер 0805 за повърхностен монтаж. Използва се резистор R1 за надеждна работа при високо напрежение с изходна мощност 0,5 W. Кондензатор C1 може да бъде инсталиран както керамичен, така и изходен оксид, за който платката има място, обозначено с C1". 3.

Волтметър на PIC16F676 - статия, в която ще говоря за самостоятелно сглобяване на цифров DC волтметър с граница 0-50V. Статията предоставя верига на волтметър на PIC16F676, както и печатна електронна платкаи фърмуер. Волтметърът, използван за организиране на индикацията в.

Спецификацииволтметър:

  • Разделителната способност на показване на резултата от измерването е 0.1V;
  • Грешка 0.1 ... 0.2V;
  • Захранващото напрежение на волтметъра е 7 ... 20V.
  • Средна консумация на ток 20mA

Дизайнът се основава на схемата на автора Н. Зайец от статията "Миливолтметър". Самият автор е много щедър и с готовност споделя своите разработки, както технически, така и софтуерни. Въпреки това, един от съществените недостатъци на дизайна му (по мое мнение) е остарелостта елементна база. Използването на които в момента не е напълно разумно.

Фигура 1 показва електрическа схемаавторска версия.

Ще прегледам накратко основните възли на веригата. Чип DA1 - регулируем регулатор на напрежението, изходно напрежениекойто се регулира от настроен резистор R4. Това решение не е много добро, тъй като за нормалната работа на волтметъра е необходим отделен източник на 8V DC. И това напрежение трябва да е постоянно. Ако входното напрежение се промени, тогава изходното напрежение ще се промени, а това не е приемливо. В моята практика такава промяна доведе до изгаряне на микроконтролера PIC16F676.

Резисторите R5-R6 са делител на входното (измерено) напрежение. DD1 - микроконтролер, HG1-HG3 - три отделни седемсегментни индикатора, които са събрани в една информационна шина. Използването на отделни седемсегментни индикатори значително усложнява печатната платка. Това решение също не е много добро. Да, и консумацията на ALS324A е прилична.

Фигура 2 показва преработена електрическа схема на цифров волтметър.

Фигура 2 - Принципна диаграма на DC волтметър.

Сега помислете какви промени са направени в схемата.

Вместо регулируем интегриран стабилизатор KR142EN12A беше решено да се използва интегрален стабилизатор LM7805 с постоянно изходно напрежение + 5V. По този начин беше възможно надеждно да се стабилизира работното напрежение на микроконтролера. Друг плюс на това решение е възможността за използване на входното (измерено) напрежение за захранване на веригата. Освен ако, разбира се, това напрежение е повече от 6V, но по-малко от 30V. За да се свържете към входното напрежение, просто затворете джъмпера (джампер). Ако самият стабилизатор е много горещ, той трябва да бъде инсталиран на радиатор.

За защита на входа на ADC от пренапрежение към веригата беше добавен ценеров диод VD1.

Резистор R4 заедно с кондензатор C3 се препоръчват от производителя за надеждно нулиране на микроконтролера.

Вместо три отделни седемсегментни индикатора е използван един общ индикатор.

За разтоварване на отделните крака на микроконтролера са добавени три транзистора.

В таблица 1 можете да намерите целия списък с части и тяхната възможна замяна с аналог.

Таблица 1 - Списък на частите за волтметър PIC16F676
Позиционно обозначение Име Аналог/замяна
C1 Електролитен кондензатор - 470mkFh35V
C2 Електролитен кондензатор - 1000uFx10V
C3 Електролитен кондензатор - 10mkFh25V
C4 Керамичен кондензатор - 0.1mkFx50V
DA1 Интегрален стабилизатор L7805
DD1 Микроконтролер PIC16F676
HG1 7-сегментен LED индикатор KEM-5631-ASR (OK) Всякакви други маломощни за динамична индикация и подходящи за свързване.
R1* Резистор 0.125W 91 kOhm SMD размер 0805
R2* Резистор 0.125W 4.7 kOhm SMD размер 0805
R3 Резистор 0.125W 5.1 ома SMD размер 0805
R4 Резистор 0.125W 10 kOhm SMD размер 0805
R5-R12 Резистор 0.125W 330 Ohm SMD размер 0805
R13-R15 Резистор 0.125W 4.3 kOhm SMD размер 0805
VD1 Ценеров диод BZV85C5V1 1N4733
VT1-VT3 Транзистор BC546B КТ3102
XP1-XP2 Закачете заглавката към дъската
XT1 Клеморед за 4 контакта.

Фигура 3 - Печатна платка за волтметър на PIC16F676 (от страната на проводниците).

Фигура 4 - страна на печатната платка на разположението на частите.

Фигура 4 - Отпечатаната страна на поставянето на частите (дъската на фигурата не е в мащаб).

Що се отнася до фърмуера, промените не бяха значителни:

  • Добавена деактивация на незначеща цифра;
  • Увеличено е времето за издаване на резултата към седемсегментния LED индикатор.

Волтметър, сглобен от известни работни части, започва да работи веднага и не се нуждае от настройка. В някои случаи е необходимо да се регулира точността на измерване чрез избор на резистори R1 и R2.

Външен видволтметър е показан на фигури 5-6.

Фигура 5 - Външен вид на волтметъра.

Фигура 6 - Външен вид на волтметъра.

Волтметърът, разгледан в статията, беше успешно тестван у дома, беше тестван в автомобил, захранван от бордова мрежа. Нямаше сривове. Може да е чудесно за дългосрочна употреба.

Интересно видео

Нека да обобщя. След всички промени се оказа, че изобщо не е лош цифров DC волтметър на микроконтролера PIC16F676 с граница на измерване 0-50V. На всеки, който ще повтори този волтметър, пожелавам работещи компоненти и успех в производството!


Продължаваме да се занимаваме с възможностите за изпълнение на волтметър - амперметър, базиран на микропроцесор.
Не забравяйте архива с файловете, ще ни трябват днес.

Ако искате да поставите големи индикатори, ще трябва да решите проблема с ограничаването на текущата консумация през MK портовете. В този случай е необходимо да поставите буферни транзистори на всеки бит на индикатора.

Големи показатели


Така че схемата, разгледана по-рано, ще приеме формата, показан на фиг. 2. За всеки бит на индикатора са добавени три транзистора VT1-VT3 на буферното стъпало. Инсталираното буферно стъпало инвертира изходния сигнал на МК. Съответно, входното напрежение на базата на VT2 е обратно спрямо колектора на посочения транзистор, което означава, че е подходящо за подаване на запетая към изхода. Това прави възможно премахването на транзистора VT1, който преди това е бил във веригата на фиг. 1, като последният се заменя с разделителен резистор R12. Не забравяйте, че стойностите на резисторите в базовите вериги на транзисторите VT1-VT3 също са се променили.
Ако искате да поставите индикатори с нетрадиционно големи размери, тогава ще трябва да поставите резистори с ниско съпротивление (1 - 10 Ohm) в колекторната верига на тези транзистори, за да ограничите токовите удари при включване.

Логиката на MK за тази опция се нуждае само от лека промяна в програмата по отношение на инвертиране на изходния сигнал на управлението на битовете, а именно портовете RA0, RA1, RA5.
Нека разгледаме само това, което ще се промени, а именно подпрограмата, която вече ни е известна под условното име "Функция за формиране на динамичен дисплей" в Обява #2(вижте папката "tr_OE_30V" в архива или първата част на статията):

16. void Indicator ()( 17. while (show_digit< 3) { 18. portc = 0b111111; // 1 ->C 19. if (show_digit == 2)( delay_ms(1); ) 20. porta = 0b100111; 21. покажи_цифра = покажи_цифра + 1; 22. switch (show_digit) ( 23. case 1: ( 24. if (digit1 == 0) ( ) else ( 25. Cod_to_PORT(DIGIT1); 26. PORTA &= (~(1)<<0)); //0 ->A0 27. ) break;) 28. case 2: ( 29. Cod_to_PORT(DIGIT2); 30. PORTA &= (~(1<<1)); //0 ->A1 31. break;) 32. case 3: ( 33. Cod_to_PORT(DIGIT3); 34. PORTA &= (~(1<<5)); //0 ->A5 35. break;) ) 36. Delay_ms(6); 37. if (RA2_bit==0) (PORTA |= (1<<2);// 1 ->A2 38. Delay_ms(1);) 39. if ((show_digit >= 3)!= 0) прекъсване; 40.) show_digit = 0;)


Сравнете двата варианта. Инверсията на сигнала на порт RA (ред 20 от списък #2) е лесна за четене, защото е написана в двоична форма. Достатъчно е да комбинирате заключенията на МК и двоичното число. В редове 19 и 37 се появиха малко странни условия, които ги нямаше в началото. В първия случай: "забавяне на сигнала за логическа нула на порта RA1 по време на индикацията на втория бит." Във втория: "ако портът RA2 има логическа нула, инверсия." Когато компилирате окончателната версия на програмата, можете да ги премахнете, но те са необходими за симулация в PROTEUS. Без тях запетаята и сегментът „G“ няма да се показват нормално.
Защо? - питате, защото първият вариант работи чудесно.

В заключение си спомнете думите на ковача от филма "Формула на любовта": "... ако един човек е строил, друг винаги може да го разглоби!".
Късмет!

Читателски вот

Статията беше одобрена от 27 читатели.

За да участвате в гласуването, се регистрирайте и влезте в сайта с вашето потребителско име и парола.

Амперволтметърът е предназначен за измерване на ток 0-9.99A и напрежение 0-100V с разделителна способност съответно 0.01A и 0.1V.

Операционният усилвател може да бъде заменен с LM2904, LCD дисплеят трябва да е на контролера HD44780. Броят на символите е 2x8... Можете също така да използвате дисплей с 2x16 знака, но в този случай по-голямата част от дисплея ще остане неизползвана. В такава ситуация в устройството, където ще бъде вграден амперволтметърът, се препоръчва да се изреже прозорец само под работната част на дисплея, на който ще се показва информация. важно! Директно на дисплеите, като правило, в захранващата верига на подсветката е инсталиран резистор за ограничаване на тока. Ако няма резистор, тогава трябва да го инсталирате сами в отворената верига към LED +. Съпротивление на резистора 6 ... 100 Ohm, в зависимост от желаната яркост на подсветката ...

Настройката на устройството е проста: - първо с резистора "контраст" настройваме необходимия контраст на дисплея, а с резисторите "set U" и "set I" регулираме точността на показанията на волтметъра и амперметъра . Желателно е да се направи настройка на горните граници на показанията на волтметъра и амперметъра. Ако след настройка амперметърът без товар показва някаква стойност на тока, избираме операционен усилвател, така че стойността на тока да е 0,00A без товар!

Устройство за снимки!



Извеждане на информация на дисплей 2х16.

Свързване на амперметъра към захранването.

Днес ще ви кажа как да направите универсален прост измервателен уред с възможност за измерване на напрежение, ток, консумация на енергия и амперчасове на евтин микроконтролер PIC16F676по следната схема.

Принципна схема на волтаметър

Печатната платка на DIP части се оказа 45x50 mm. Също така в архива има печатна платка за SMD части.

За микроконтролер PIC16F676има два фърмуера: в първия - възможност за измерване на напрежение, ток и мощност - vapDC.hex, а във втория - същото като в първия, добавена е само възможността за измерване на ампери / часове (не винаги е необходимо) - vapcDC.hex.

Резисторът, маркиран със сиво на печатната платка, е свързан в зависимост от индикатора: ако използваме индикатор с общи катоди, тогава резисторът (1K), идващ от 11-ия крак на MK, е свързан към +5, а ако индикаторът е с общ анод, след което свързваме резистора към общия проводник.

В моя случай индикаторът и общият катод, резисторът се намира под платката, от 11-ия крак на MK до +5.

Кратко натискане на бутона " AT" активира индикацията за режим на работа: напрежение "-U-", ток "-I-", мощност "-P-", брояч на ампер / час "-C-". Някои екземпляри на операционния усилвател LM358имат положителен офсет на изхода, той може да бъде компенсиран чрез цифрова корекция на измервателния уред. За да направите това, трябва да превключите на текущия режим на измерване "-I-". Задръжте "бутона" за 7-8 секунди з" докато на индикатора се появи надпис "-S.-". След това използвайте бутоните " AT" и " з»правилно отместване «0». При натискане на бутоните индикаторът директно показва константа, при натискане - коригираните текущи показания. Изход от режим - едновременно натискане на клавишите " AT" и " з". Резултатът е индикацията "-3-", тоест запис в енергонезависима памет. Броячът на ампер / час се нулира чрез задържане на бутона " з„3-4 сек.

В моя случай сложих само бутона " AT", за да превключите режима на работа. Бутон " з„Не задавам, тъй като корекцията на тока не е необходима, ако операционният усилвател LM358нов, значи практически няма офсет, а ако има, значи е незначителен. Поставих сегментния индикатор на отделна платка, която може лесно да бъде прикрепена към кутията на устройството, например, вградена в конвертиран ATX PSU.

Свързваме захранването към сглобеното устройство, прилагаме измереното напрежение и ток, регулирайки показанията на волтметъра и амперметъра с тримерни резистори според показанията на мултиметъра.

В резултат на това целият дизайн на волтаметъра струва 150 рубли, без фолио от фибростъкло. Пономарев Артьом беше с вас ( сталкер68), до скоро на страниците на сайта радио вериги !

Обсъдете статията VOLTAMPERVATTMETER