- Необходими компоненти:
- Обяснение на веригата:
- 555 Таймер, базиран на генератор на квадратни вълни:
- Затвор на Шмит:
- Arduino измерва капацитета:
- Резюме и тестване:
Когато попаднем на платки, които са проектирани преди това или изваждаме такива от стар телевизор или компютър, в опит да ги поправим. И понякога трябва да знаем капацитета на определен кондензатор в платката, за да премахнем неизправността. Тогава се сблъскваме с проблем при получаването на точната стойност на кондензатора от платката, особено ако това е устройство за повърхностно монтиране. Можем да закупим оборудване за измерване на капацитета, но всички тези устройства са скъпи и не са за всеки. Имайки предвид това, ще проектираме прост измервател на капацитет на Arduino, за да измерим капацитета на неизвестни кондензатори.
Този измервателен уред може лесно да бъде направен, а също и рентабилен. Ще направим Измервател на капацитет, използвайки Arduino Uno, спусъка на Schmitt и таймера 555 IC.
Необходими компоненти:
- 555 IC таймер
- IC 74HC14 затвор на Schmitt или НЕ порта.
- 1K Ω резистор (2 броя), 10KΩ резистор
- Кондензатор 100nF, кондензатор 1000µF
- 16 * 2 LCD,
- Макет и някои конектори.
Обяснение на веригата:
Схемата на кондензатора с помощта на Arduino е показана на фигурата по-долу. Веригата е проста, LCD е свързан с Arduino, за да покаже измерения капацитет на кондензатора. Квадратна вълнова генераторна верига (555 в режим на регулиране) е свързана към Arduino, където сме свързали кондензатора, чийто капацитет трябва да бъде измерен. Задейства се затвор на Schmitt (IC 74LS14), за да се гарантира, че към Arduino се подава само правоъгълна вълна. За филтриране на шума сме добавили няколко кондензатора с мощност.
Тази схема може да измерва точно капацитети в диапазон от 10nF до 10uF.
555 Таймер, базиран на генератор на квадратни вълни:
На първо място ще говорим за генератор на квадратни вълни, базиран на 555 Timer IC, или трябва да кажа 555 Astable Multivibrator. Знаем, че капацитетът на кондензатор не може да бъде измерен директно в цифрова верига, с други думи UNO се занимава с цифрови сигнали и не може директно да измерва капацитета. Така че ние използваме 555 схема на генератор на квадратни вълни за свързване на кондензатора с цифровия свят.
Просто казано, таймерът осигурява изход с квадратна вълна, чиято честота пряко се свързва с свързания към него капацитет. Така че първо получаваме сигнала с квадратна вълна, чиято честота е представителна за капацитета на неизвестния кондензатор, и подаваме този сигнал на UNO за получаване на подходящата стойност.
Обща конфигурация 555 в режим Astable, както е показано на фигурата по-долу:
Честотата на изходния сигнал зависи от RA, RB резистори и кондензатор C. Уравнението е дадено като, Честота (F) = 1 / (Период от време) = 1,44 / ((RA + RB * 2) * C).
Тук RA и RB са стойности на съпротивление и C е стойност на капацитета. Поставяйки стойностите на съпротивлението и капацитета в горното уравнение, получаваме честотата на изходната квадратна вълна.
Ще свържем 1KΩ като RA и 10KΩ като RB. Така формулата става, Честота (F) = 1 / (Период от време) = 1,44 / (21000 * C).
Пренареждайки условията, които имаме, Капацитет C = 1,44 / (21000 * F)
В нашия програмен код (вж. По-долу), за да получим точно стойността на капацитета, сме изчислили резултата в nF, като умножим получените резултати (във фарад) с „1000000000“. Също така използвахме '20800' вместо 21000, тъй като точните съпротивления на RA и RB са 0.98K и 9.88K.
Така че, ако знаем честотата на квадратната вълна, можем да получим стойността на капацитета.
Затвор на Шмит:
Сигналите, генерирани от веригата на таймера, не са напълно безопасни, за да се предават директно на Arduino Uno. Имайки предвид чувствителността на UNO, ние използваме спусъка на Schmitt. Затворът на Schmitt е цифров логически портал.
Тази порта осигурява OUTPUT въз основа на INPUT ниво на напрежение. Задействането на Schmitt има ниво на напрежение THERSHOLD, когато входният сигнал, приложен към портата, има ниво на напрежение по-високо от THRESHOLD на логическата порта, OUTPUT отива HIGH. Ако нивото на сигнала на входното напрежение е по-ниско от THRESHOLD, изходът на портата ще бъде НИСКИ. С това обикновено не получаваме спусъка на Шмит отделно, винаги имаме НЕ порта, следващ спусъка на Шмит. Работата на Schmitt Trigger е обяснена тук: Schmitt Trigger Gate
Ще използваме чип 74HC14, този чип има 6 порта на Schmitt Trigger. Тези шест порта са свързани вътрешно, както е показано на фигурата по-долу.
Таблицата на истината на обърнатата врата на Schmitt Trigger е показана на фигурата по-долу, с това трябва да програмираме UNO за инвертиране на положителните и отрицателните периоди от време на нейните терминали.
Свързваме сигнала, генериран от таймерна верига, към ST порта, ще имаме правоъгълна вълна от обърнати периоди от време на изхода, която е безопасно да се даде на UNO.
Arduino измерва капацитета:
Uno има специална функция pulseIn , която ни позволява да определим продължителността на положителното състояние или продължителността на отрицателното състояние на конкретна правоъгълна вълна:
Htime = pulseIn (8, HIGH); Ltime = pulseIn (8, LOW);
Функцията pulseIn измерва времето, през което високо или ниско ниво присъства на PIN8 на Uno. Функцията pulseIn измерва това високо време (Htime) и ниско време (Ltime) в микро секунди. Когато добавим Htime и Ltime заедно, ще имаме Продължителност на цикъла и чрез обръщане ще получим Честотата.
След като получим честотата, можем да получим капацитета, като използваме формулата, която обсъдихме по-рано.
Резюме и тестване:
В обобщение, свързваме неизвестния кондензатор към 555 таймерната верига, която генерира квадратна вълна, чиято честота е пряко свързана с капацитета на кондензатора. Този сигнал се подава на UNO през ST порта. ООН измерва честотата. С известна честота програмираме UNO да изчислява капацитета, използвайки формула, обсъдена по-рано.
Нека да видим някои резултати, които получих, Когато свързах 1uF електролитен кондензатор, резултатът е 1091,84 nF ~ 1uF. И резултатът с 0.1uF полиестерен кондензатор е 107.70 nF ~ 0.1uF
След това свързах 0.1uF керамичен кондензатор и резултатът е 100.25 nF ~ 0.1uF. Също така резултатът с електролитен кондензатор 4.7uF е 4842.83 nF ~ 4.8uF
Така че ние можем просто да измерим капацитета на всеки кондензатор.