- Какво е капацитивен сензорен сензор и как работи?
- Изграждане на четирипосочен капацитивен сензорен сензор
- Материали, необходими за ESP32 Сензорно управлявана схема
- Контролна верига за нашия капацитивен сензорен сензор
- Дизайн на печатни платки за капацитивна схема на сензор за докосване
- Arduino код за ESP32 базиран капацитивен сензорен сензор
- Тестване на схемата за сензорен сензор, базирана на ESP32
- Допълнителни подобрения
В много случаи вместо бутони се използват сензорни сензори. Предимството е, че не трябва да осигуряваме сила за натискане на бутон и можем да активираме клавиш, без да го докосваме с помощта на сензорни сензори. Технологията за сензорно докосване става популярна от ден на ден. И през последното десетилетие или нещо повече, стана трудно да си представим света без чувствителна на допир електроника. Както резистивен, така и капацитивен метод на докосване могат да бъдат използвани за разработване на сензор за докосване и в тази статия ще обсъдим груб начин за изработване на капацитивен сензор за докосване с ESP32, преди сме изградили и капацитивен бутон за докосване с Raspberry pi.
Въпреки че специфичните за приложение сензорни сензори могат да бъдат малко сложни, основният принцип, залегнал в основата на тази технология, остава същият, така че в тази статия ще се съсредоточим върху разработването на нашия капацитивен сензорен сензор с помощта на любимия ни ESP32 и парче мед - облечена дъска.
В предишния урок направихме Control Home Lights with Touch с помощта на TTP223 Touch Sensor и Arduino UNO. Сега в този проект изграждаме Touch сензор за ESP32, но същото може да се използва и за Arduino. Също така преди това използвахме базирани на докосване методи за въвеждане, използващи капацитивни сензорни подложки с различни микроконтролери, като Touch Keypad Interfacing с ATmega32 Microcontroller и Capacitive TouchPad с Raspberry Pi, можете също да ги проверите, ако се интересувате.
Какво е капацитивен сензорен сензор и как работи?
Кондензаторите се предлагат в много форми. Най-често срещаният се предлага под формата на оловен пакет или опаковка за повърхностно монтиране, но за да се образува капацитет, се нуждаем от проводници, разделени от диелектричен материал. По този начин е лесно да се създаде такъв. Добър пример би бил този, който ще разработим в следващия пример.
Като се има предвид гравираната печатна платка като проводящ материал, стикерът действа като диелектричен материал, така че сега остава въпросът как докосването на медната подложка води до промяна на капацитета по такъв начин, че контролерът на сензорния сензор да може да открие? Човешки пръст, разбира се.
Е, има главно две причини: Първата, едната включва диелектричните свойства на нашия пръст, втората е поради проводимите свойства на нашия пръст. Ще използваме капацитивно докосване. И така, ще насочим фокуса си към капацитивния сензорен сензорен сензор. Но преди да обсъдим всичко това, важно е да отбележим, че не се провежда проводимост и пръстът е изолиран поради хартията, използвана в стикера. И така, пръстът не може да разреди кондензатора.
Пръст, действащ като диелектрик:
Общоизвестно е, че кондензаторът има постоянна стойност, която може да се реализира от площта на двете проводими плочи, разстоянието между плочите и диелектричната константа. Не можем да променим площта на кондензатора само като го докоснем, но можем да сменим диелектричната константа на кондензатора, защото човешкият пръст има различна диелектрична константа от материала, който го показва. В нашия случай това е въздух, ние изместваме въздуха с пръсти. Ако питате как? Това е така, защото диелектричната константа на въздуха 1006 на морско ниво на стайна температура и диелектричната константа на пръста е много по-висока около 80, защото човешкият пръст се състои предимно от вода. И така, взаимодействието на пръста с електрическото поле на кондензатора води до увеличаване на диелектричната константа, поради което капацитетът се увеличава.
Сега, след като разбрахме принципа, нека преминем към направата на действителни печатни платки.
Изграждане на четирипосочен капацитивен сензорен сензор
В капацитивен сензорен датчик, използван в този проект има четири канала, и е лесно да се направи. По-долу споменахме подробния процес за изработването му.
Първо, направихме печатната платка за сензора с помощта на инструмента за проектиране на печатни платки Eagle, който изглежда нещо като изображението по-долу.
С помощта на размерите и Photoshop направихме шаблона и накрая стикера за сензора, който изглежда нещо като изображението по-долу,
Сега, когато приключихме със стикера, преминаваме към създаването на действителния шаблон за облицована дъска, който ще използваме за направата на нашата ПХБ, който изглежда нещо като изображението по-долу,
Сега можем да отпечатаме този файл и да продължим с процесите на направата на домашна печатна платка. АКО сте нов, можете да разгледате статията за това как да изградите PCB у дома. Можете също така да изтеглите необходимите PDF и Gerber файлове от долната връзка
- GERBER файл за четириканален капацитивен сензорен сензор
След като приключи, действителната гравирана печатна платка изглежда като изображението по-долу.
Сега е време да пробием някои дупки и ние свързваме няколко проводника с печатната платка. За да можем да го свържем с платката ESP32. След като приключи, изглежда като изображението по-долу.
Тъй като не поставихме via в печатната платка, спойката се появи навсякъде по време на запояване, поправихме грешката си, като поставихме пробивна дупка върху печатната платка, която можете да намерите в горния раздел за изтегляне. И накрая, беше време да сложите стикера и да го направите окончателен. Което изглежда нещо като изображението по-долу.
Сега приключихме със сензорния панел, време е да преминем към създаването на контролната верига за сензорния панел.
Материали, необходими за ESP32 Сензорно управлявана схема
Компонентите, необходими за изграждане на секцията на контролера с помощта на ESP32, са дадени по-долу, трябва да можете да намерите повечето от тях в местния магазин за хоби.
Също така изброих компонентите в таблицата по-долу с необходимия тип и количество, тъй като свързваме четириканален сензор за докосване и контролираме четири AC натоварвания, ще използваме 4 релета за превключване на натоварването с променлив ток и 4 транзистора за изграждане на релето схеми на драйвера.
Sl.No |
Части |
Тип |
Количество |
1 |
Реле |
Превключване |
4 |
2 |
BD139 |
Транзистор |
4 |
3 |
Винтова клема |
Винтова клема 5mmx2 |
4 |
4 |
1N4007 |
Диод |
5 |
5 |
0.1uF |
Кондензатор |
1 |
6 |
100uF, 25V |
Кондензатор |
2 |
7 |
LM7805 |
Волтажен регулатор |
1 |
8 |
1K |
Резистор |
4 |
9 |
560R |
Резистор |
4 |
10 |
Жълт светодиод |
LED |
4 |
11. |
Мъжки хедър |
Съединител |
4 |
12 |
Женска заглавна част |
Съединител |
30 |
13 |
Червен светодиод |
LED |
1 |
14. |
ESP32 Dev Board V1 |
ESP32 дъска |
1 |
12 |
Облечена дъска |
Generic 50x 50mm |
1 |
13 |
Джъмперни проводници |
Кабели |
4 |
14. |
Свързване на проводници |
Кабели |
5 |
Контролна верига за нашия капацитивен сензорен сензор
Изображението по-долу показва пълната схема на нашия сензорен сензор, базиран на ESP32.
Както можете да видите, това е много проста схема с много минимални необходими компоненти.
Тъй като това е проста схема на сензор за докосване, тя може да бъде полезна на места, където искате да взаимодействате с устройство чрез докосване, например, вместо да използвате типичен монтиран на борда превключвател, можете да включите / изключите уредите си с докосване.
В схемата, DC вход за барел се използва като вход, където осигуряваме необходимата мощност, необходима за захранване на веригата, оттам имаме нашия регулатор на напрежение 7805, който преобразува нерегулирания вход на постоянен ток в постоянен 5V DC, през който осигуряваме захранването на модула ESP32.
След това, в схемата, ние имаме нашите сензорни конектори на щифтове 25, 26, 27, 28, където ще свързваме тъчпада.
След това имаме нашите релета, които се превключват чрез транзистор BD139, диодът D2, D3, D4, D5 е там, за да предпази веригата от напрежение на всяко преходно напрежение, което се генерира при превключване на релето, диодите в тази конфигурация са известни като двупосочен диод / диод със свободен ход. Резисторите 560R в основата на всеки транзистор се използват за ограничаване на потока на тока през основата.
Дизайн на печатни платки за капацитивна схема на сензор за докосване
Печатната платка за нашата схема за сензорен допир е проектирана за едностранна платка. Използвахме Eagle, за да проектираме моята PCB, но можете да използвате всеки софтуер за дизайн по ваш избор. 2D изображението на нашия дизайн на дъска е показано по-долу.
За направата на силовите коловози се използва достатъчен диаметър на проследяване, който се използва за преминаване на тока през платката. Поставихме винтовия терминал отгоре, защото е много по-лесно да свържете товара си по този начин, а отстрани беше поставен конекторът за захранване, който е гнездо за барел с постоянен ток, което също осигурява лесен достъп. Пълният файл за дизайн на Eagle заедно с Gerber може да бъде изтеглен от линка по-долу.
- GERBER файл за ESP32 базирана сензорна схема за управление на сензора
Сега, когато нашият дизайн е готов, е време да ецваме и спояваме дъската. След приключване на процеса на ецване, пробиване и запояване дъската изглежда като изображението, показано по-долу,
Arduino код за ESP32 базиран капацитивен сензорен сензор
За този проект ще програмираме ESP32 с персонализиран код, който ще опишем скоро. Кодът е много прост и лесен за използване, Започваме с дефинирането на всички необходими щифтове, в нашия случай ние определяме щифтовете за нашите сензорни сензори и релета.
#define Relay_PIN_1 15 #define Relay_PIN_2 2 #define Relay_PIN_3 4 #define Relay_PIN_4 16 #define TOUCH_SENSOR_PIN_1 13 #define TOUCH_SENSOR_PIN_2 12 #define TOUCH_SENSOR_PIN_3 14PIN_DIN_PIN_3
След това, в раздела за настройка, започваме с инициализиране на UART за отстраняване на грешки, след това въведохме забавяне от 1S, което ни дава малко време за отваряне на прозорец на сериен монитор. След това използваме функцията Arduinos pinMode, за да направим релейните щифтове като изход, което отбелязва края на раздела Setup () .
void setup () {Serial.begin (115200); забавяне (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
Започваме нашия цикъл с оператор if , вградената функция touchRead (pin_no) се използва, за да се определи дали пин е бил докоснат или не. Функцията touchRead (pin_no) връща целочислени диапазони на стойности (0 - 100), стойността остава близо 100 през цялото време, но ако докоснем избрания щифт, стойността пада до нула и с помощта на променящата се стойност, можем да определим дали конкретният щифт е бил докоснат от пръст или не.
В оператора if проверяваме за някаква промяна в целочислените стойности и ако стойността достигне под 28, можем да сме сигурни, че сме признали докосване. След като операторът if стане истина, изчакваме 50 ms и отново проверяваме параметъра, това ще ни помогне да определим дали стойността на сензора е била задействана фалшиво, след това обръщаме състоянието на щифта с помощта на digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) , а останалата част от кода остава същата.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println („Сензор е докоснат“); digitalWrite (Relay_PIN_1,! digitalRead (Relay_PIN_1)); }} else if (touchRead (TOUCH_SENSOR_PIN_2) <28) {if (touchRead (TOUCH_SENSOR_PIN_2) <28) {Serial.println („Сензор Втори е докоснат“); digitalWrite (Relay_PIN_2,! digitalRead (Relay_PIN_2)); }} else if (touchRead (TOUCH_SENSOR_PIN_3) <28) {if (touchRead (TOUCH_SENSOR_PIN_3) <28) {Serial.println („Сензор три е докоснат“); digitalWrite (Relay_PIN_3,! digitalRead (Relay_PIN_3)); }} else if (touchRead (TOUCH_SENSOR_PIN_4) <28) {if (touchRead (TOUCH_SENSOR_PIN_4) <28) {Serial.println („Сензор четвърти е докоснат“); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Накрая завършваме нашия код с още 200 ms забавяне на блокирането.
Тестване на схемата за сензорен сензор, базирана на ESP32
Тъй като това е много прост проект, тестовият комплект е много прост, както можете да видите, свързах 4 светодиода с резистори, които действат като натоварвания, тъй като е свързан с релето, можете лесно да свържете всеки товар до 3 Amps.
Допълнителни подобрения
Въпреки че печатната платка е проста, все още има място за подобрения, както можете да видите от долната страна на действителната печатна платка, свързал съм много резистори в опит да свържа четири индикаторни светодиода и размерът на печатната платка също може да бъде намален, ако това се превръща в изискване, Надявам се, че статията ви е харесала и сте научили нещо полезно. Ако имате някакви въпроси, можете да ги оставите в раздела за коментари по-долу или да използвате нашите форуми, за да публикувате други технически въпроси.