Инфрацрвена светлосна бариера со Arduino за да го прочита мерачот на електрична енергија

бариера

Мерачи на електромагнетна електрична енергија на Ферари сè уште се користат во многу домаќинства за мерење на потрошувачката. Тие немаат директен интерфејс со електронско стекнување податоци. Од друга страна, сепак, прецизното и од минута во минута снимање на потрошувачката на енергија помага да се заштеди енергија, бидејќи потрошувачката на мирување и врвовите на товарот можат подобро да се анализираат. Како и да е, можноста да се добијат овие податоци е оптоелектронското скенирање на дискот за броење. Аквизицијата на сигналот е направена од Arduino Nano.

Ферари шалтер

Мерачот на Ферари работи на принцип на мотор. Текот на струјата низ неколку калеми поставува ротирачки диск за броење, што за возврат управува механички бројач. Бројот на вртежи на дискот е пропорционален на извршената електрична работа, која типично се мери и се пресметува во киловат часови (kWh). На пример, мојот метар чита 75 U/kWh, што значи дека 75 вртежи на дискот за броење значат потрошувачка од 1 kWh.

На дискот за броење има црвена марка. Преминувањето на оваа ознака низ прозорецот за гледање може да се открие и електронски да се обработи со помош на рефлексна бариера.

Артуино фотоелемент

Вистинската светлосна бариера се состои од диода што емитува инфрацрвена светлина SFH 409 (алтернативно: SFH 4346) и инфрацрвен фототранзистор SFH 309 FA (Слика 1). Се контролира со Arduino Nano. Во принцип, се разбира, други модели на Arduino се исто така соодветни, Nano главно се користи поради неговите мали димензии. Ознаките за поврзување на Слика 1 се однесуваат директно на обележувањето на таблата Arduino.

Употребата на микроконтролер нуди многу предности во однос на „конвенционалната“ структура на светлосна бариера со аналогни активирачки кола или дури дискретни транзистори. Покрај двете инфрацрвени компоненти, потребни се само уште две пасивни компоненти: Отпорник од 120 Ω се користи за ограничување на струјата преку диодата што емитира светлина, а отпорот од 2,2 kΩ ја претвора струјата што тече низ фотранзисторот во напон. Оди директно на аналогниот влез А7 на Ардуино.

Анодата на диодата што емитира светлина не е директно поврзана со работниот напон V5V, но со дигиталниот излез Д2 поврзани. Ефективно сузбивање на нарушното зрачење на околината може да се постигне на овој начин. Програмата за мерење се префрлува многу брзо Д2 диодата што емитува светлина е вклучена и исклучена и ја мери секоја од нив А7 резултат на напнатост. Последователното формирање на разлика ја елиминира амбиенталната светлина што го погодува сензорот, резултатот ја содржи само светлината генерирана од диодата што емитува светлина. Овој принцип на мерење може да се спроведе само со голем напор без микроконтролер.

Двете други компоненти, зелена ЛЕД и 560 Ω отпорник, не се потребни за вистинската функција на светлосната бариера. Тие се користат само за визуелни повратни информации за правилната функција на уредот. Залудно ќе барате балансирачки отпорници или потенциометри во колото. Нивото на активирањето за прилагодување на светлосната бариера во различни средини е поставено со користење на софтвер.

Цената за Arduino Nano се движи помеѓу 8 УСД за „Кина клон“ и 50 евра. Споредбата на цената е вредна кога купувате! Не мора да користите нано, ако имате доволно простор, дефинитивно можете да користите друг модел.

градба

Компонентите, вклучувајќи го и Arduino Nano, се лепат во универзална табла за леб. Неговата големина е избрана така што се вклопува во „цицање“ во стандардно пластично куќиште без дополнителни елементи за прицврстување (слика 2). Arduino е поставен на таков начин што неговата мини-USB конекција е подостапна однадвор дури и кога куќиштето е затворено.

Инфрацрвена диода што емитуваат светлина и фототранзистор се поставуваат од долната страна на таблата (Слика 2 лево) така што инфрацрвената светлина може да стигне до надворешната страна преку две дупки дупчат во долната обвивка на куќиштето. Врвот на компонентите подоцна ќе лежи точно на површината на куќиштето на мерачот директно над дискот за броење (Слика 4). Означувањето, кое се нанесува со постојан маркер и се протега на страните на куќиштето, го олеснува позиционирањето на мерачот (слика 3). За да работи рефлексната светлосна бариера, диодата што емитуваат светлина и фотранзисторот треба да седат што е можно поблизу, но без директна светлина од диодата да може да го погоди транзисторот.

Диодата што емитува зелено светло се поставува нормално одозгора, така што подоцна може да се види на страната свртена далеку од мерачот (Слика 2 долу десно). Неговата должина е избрана така што да се изедначува со горниот дел од куќиштето.

софтвер

Arduino е идеално погоден за контрола на светлосната бариера и стекнување податоци во реално време, но има свои ограничувања кога станува збор за долгорочно складирање и визуелизација на податоците. Поради оваа причина, софтверот се состои од два дела. Еден дел работи на Arduino и се грижи за стекнување на податоци. Вториот дел може да се инсталира на кој било (по можност Linux) компјутер кој има трајно масовно складирање (на пр., Хард диск или SD мемориска картичка), како и USB и мрежен интерфејс. Добар избор е Raspberry Pi. Бидејќи веќе има RasPi во мојот подрум за мерење на потрошувачката на гас, го искористив веднаш. Arduino и контролниот компјутер се поврзани преку USB кабел. Од една страна, ова обезбедува напојување на Arduino и, од друга страна, комуникацијата помеѓу двата софтверски дела се одвива со користење на едноставен сериски протокол.

Комплетниот софтвер е на Github во складиштето емеир (дпредавачки јастер со јаснфраре светлосна бариера) е достапна. Копија се испраќа преку

во локалниот работен директориум.

Датотеката arduino_sketch/ReflectorLightBarrier.ino ја содржи скицата Arduino. Мора да се состави со користење на Arduino IDE и да се вчита во програмската меморија на Arduino.

По стартување, софтверот Arduino е вклучен Режим на активирање на податоци. Тоа е подобро прилагодено за прв тест за функција Режим на сурови податоци, во кој софтверот континуирано излегува од диференцијалниот напон измерен на фотранзисторот на серискиот интерфејс. Различните режими се вклучуваат со испраќање команди од контролниот компјутер до Arduino. Можете да го користите серискиот монитор на Arduino IDE или терминална програма како миником употреба.

Испраќање на знакот Ц. на Arduino предизвикува да оди во режим на команда. Сега реагира на разни контролни команди:

во Режим на сурови податоци Arduino постојано ги емитува измерените вредности на серискиот интерфејс. Ова е вредноста на разликата што софтверот ја пресметува како што е опишано погоре со одземање на напоните кога е вклучена и исклучена диодата што емитува светлина. Така можете да тестирате дали сè одма се одвиваше при поставување на хардверот: Ако држите парче хартија пред рефлексната бариера, промената на неговото растојание треба да предизвика значителни разлики во измерените вредности.

Програмскиот дел релевантен за стекнување на измерена вредност е:

Склопување и прилагодување

Светлосната бариера е прицврстена на куќиштето на мерачот со две ленти двострана леплива лента (види слика на почетокот на статијата). IR диодата и фототранзисторот треба да седат точно над дискот за броење. Означувањето на куќиштето помага при прецизно позиционирање (слика 3).

Кога работи мерачот на електрична енергија, податоците за мерењето првично се снимаат во Режим на сурови податоци. Терминална програма како што е, на пример, тука е корисна миником, што може да ги запише податоците што се извршуваат преку серискиот интерфејс во текстуална датотека. По увозот на оваа датотека во програма за табеларни пресметки (на пример LibreOffice Калкулација) можете да генерирате графичка слична на Слика 5, што помага да се утврдат праговите на активирањето: Во текот на податоците за мерење (сина), може да се идентификуваат двата премина на ознаката за броење, бидејќи нивната црвена боја доведува до значително намалување на рефлектираната светлина . Ова резултира во дефинирање на двата прага на активирање на 85 (ниско, црвено на слика 5) и 90 (високо, жолто).

Командата S 85 90 ги запишува вредностите за праговите на активирањето во EEPROM на Arduino. Преживувате при исклучување на напојувањето и рестартирање на програма.

Отсега па натаму, управувате со софтверот Arduino во Режим на активирање на податоци. Еве излез на серискиот интерфејс се случува само во случај на активирачки настан: Кога ниско Ниво на активирање, програмата дава карактер 0 и кога високо Нивоа 1 попуст. Покрај тоа, диодата што емитува зелено светло се вклучува соодветно, што е од голема помош за визуелна проверка на функцијата: Статусот на активирањето е „0“ и диодата што емитува светлина е исклучена само кога црвената марка за броење е пред бариерата на светлината, инаку е осветлена:

Снимање на читање и потрошувачка на метар

Скриптата Python emeir.py работи на контролниот компјутер, кој ги прима податоците доставени од Arduino преку USB серискиот интерфејс. во Режим на активирање на податоци ова се само нули и единици, чиешто префрлување сигнализира премин на ознаката за броење. Бидејќи е познат односот на бројот на вртежи на бројачот кон потрошувачката на енергија, можно е директно да се заклучи количината на потрошена енергија:

Кога активира активирањето, програмата го запишува новото отчитување на мерачот и употребената енергија од последниот активирач-чекор = 1/75 (вртежи по kWh) во базата на податоци со кружен облик. Овој принцип е сличен на постапката опишана во Читање на броила со магнетометар HMC5883 и Малина Пи.

Програмата, исто така, го презема создавањето на базата на податоци emeir.rrd, која се наоѓа во истиот директориум како и скриптата Python. За да го направите ова, треба да го започнете еднаш со опцијата -c:

Новосоздадената база на податоци логично започнува со читање на бројачот 0. За да ја синхронизирате со механичкиот бројач, забележете го механичкото отчитување на бројачот (на пример, 132290.0) и запишете го што е можно побрзо во базата на податоци:

Потоа рестартирајте го emeir.py. Ја чита зачуваната контра вредност од базата на податоци и продолжува да брои. За континуирана работа, emeir.py треба да се инсталира како услуга во позадина, така што ќе преживее од одјавувањето и се рестартира системот. Услугата за блогови покажува можности за ова во позадина.

Привлечна графика може да се генерира од базата на податоци со кружен тек, користејќи rrdtool. Следните команди ја генерираат графиката прикажана на слика 6 за читање и потрошувачка на метар за последните три дена:

Тенок веб-сервер како lighttpd «lighty» заедно со неколку HTML страници и Perl скрипти ја прават графичката потрошувачка погодно достапна на интранет. Принципот е опишан во написите за снимање на потрошувачката на гас и мерењето на температурата.

Заклучок

Малиот, само-направен уред работи без проблеми повеќе од една година и веќе обезбеди интересни откритија. На пример, разликата помеѓу времето за одмор и време на посетеност е значајна. Затоа треба да бидете многу внимателни кога одлучувате кому да ги ставите достапни податоците за вашата потрошувачка во реално време! Покрај врвовите на потрошувачката, за кои главно се одговорни електричното работење на кујнскиот шпорет и подготовката на топла вода, забележливо е малку брановидно оптоварување на основата. Ова се должи на работата на ладилникот или замрзнувачот, кои периодично се вклучуваат и исклучуваат. Ако го одземете ова, останува основна потрошувачка од околу 60 W, што е предизвикано од работата на разни електронски уреди, како што се рутерите DSL, рачни часовници и секако Arduino и Raspberry Pi (!) Што се користат за мерење на потрошувачката. Понатамошно ограничување тогаш бара употреба на преносен мерач на трошоци за енергија што е вметнат во електричните водови на одделните уреди. Има нешто вакво за амбициозните „направи сам“ како комплет од ЕЛВ.