31 березня 2014 р.

Перевірка поштової скриньки на наявність кореспонденції за допомогою мікроконтролера PIC

Стан: проектування, прототип створено.

Історія

Ідучи додому за звичай я перевіряю поштову скриньку, відкриваючи скриньку поштовим ключем за ради визначення чи є там що чи не має. Так як скринька знаходиться височенько, та і не дуже освітлене приміщення, то зазирнути до скриньки без відкривання - неможливо. Потрібне було рішення для перевірки наявності кореспонденції.

Рішення

Вивчаючи мікроконтролери я вигадав рішення для перевірки кореспонденції. За допомогою матриці з 18 фоторезисторів = 6 у ряд х 3 ряди, котрі освітлюються світлодіодами LED1-3 на час сканування, визначаться чи перекритий хоч один фоторезистор якоюсь кореспонденцією. Якщо так - показуємо що кореспонденція є, вмикаючи додатковий світлодіод LED4.
Для перевірки кореспонденції вмикається схема на певний час схему за допомоги маленької кнопки S1, котра виведена до дверці скриньки або на блокову стінку скриньки.
Мікроконтролер вмикає світлодіоди LED1-3, і починає сканувати матрицю фоторезисторів PH1-PH18. Використовуються фоторезистор GL5516, у темному стані повинен мати значення опору 0.5M, при освітленому стані 5-10K.
Поки що є два варіанти для сканування:
1. Перевіряти TTL рівень вхідного сигналу по шинам B0-B5, ввімкнувши внутрішню підтяжку сигналу контролером. На виходах A0-A2, послідовно вмикати сигнал логічний "0" для вибору ряду.
2. Перевіряти рівень вхідного сигналу по шинам A0-A2 за допомогою аналого-цифрового перетворювача (ADC), ввімкнувши підтяжку сигналу за допомогою резисторів R7-R9. На виходах B0-B5, послідовно вмикати сигнал логічний "0" для вибору стовпчика.

Перший варіант сканування матриці

Швидший і простіший, але все буде заважити від  випробувань з реальним елементами та їх властивостями. Так як потрібно отримати рівень логічний "0" (max=0.2VDD) та логічна "1" (min=0.8VDD), на вхідних лініях за допомоги тільки фоторезисторів. Якщо співвідношення внутрішньої підтяжки сигналу контролером, та  фоторезистора не дасть достатнього рівня, то можливо використання зовнішніх резисторів для підтяжки сигналу до логічної "1".

Другий варіант сканування матриці

Надає більш гнучку схему реалізації, так як контролюється значення напруги на кожному фоторезисторі, і можливо використовувати калібровані константи для визначення стану світло-темрява.
Але перевіряти потрібно кожен з фоторезисторів так як використовується один модуль ADC.
Час перевірки 18*(4ms*9.5) (RC) = 684ms. Час може бути меншим, так як пошук ведеться до першого затемненого фоторезистора.

По закінченню сканування мікроконтролер вимикає світлодіоди LED1-3, і вмикає додатковий світлодіод LED4 якщо був затемнений хоч один фоторезистор.

Для аналізу стану матриці зі фоторезисторів, використано мікроконтролер PIC16F716 

Реалізація 

Використовується  мікроконтролер PIC16F716 (можна і інший, просто він під руками у наявності), він без вбудованого генератора, використовується зовнішній генератор на основі простішого RC генератора (R5/C1). Живлення від 3V=2х1.5V.
Монтажна плата в ширину та глибину дна поштової скриньки (~300х150 мм).
Світлодіоди освітлення розміщаються на верхній частині  поштової скриньки.
Для вмикача S1 просвердлюється отвір.
При натисканні на S1, можна бачити засвітлювання  поштової скриньки жовтим кольором на короткий час сканування, якщо є кореспонденція вмикається зелений світлодіод і він світиться до вимикання схеми, але не більше 30 сек і схема вимикається.

Перелік елементів

Мікроконтролер PIC16F716 - 1шт
фоторезистор GL5516 - 18шт
транзистор BC547 - 1шт
резистор R7-R9: 510k - 3шт
резистор R2,R5: 10k - 2шт
резистор R1,R3,R4,R6: 51R - 2шт
конденсатор С1: 22pF  - 1шт
конденсатор C2: 100x6.3 - 1шт
конденсатор C3:  0.1mF - 1шт

світлодіоди LED1-LED3 жовтий - 3 шт.
світлодіод LED4 зелений - 1 шт. 
Елемент живлення AAA - 3шт.

Додаю перші етапи тестування на макеті з матриці фоторезисторів 6х3, та монтажної плати.
R7-R9 - 10k
Макет для тестування

Монтажна діагностична плата

Для калібрування, так тестування використовується вивід даних через RS-232.

Після тестувань з'ясувалося що є проблематичним визначити стан , тому що папір якщо це один лист пропускає достатньо світла, і визначення стану стало проблемою так як є похибка вимірювання і не стабільності. Ця похибка має майже той самий розмір що і кількість світла що проходить через папір. Необхідно використати такий спектр що затримається у білому паперові найбільше.

Створено ряд вимірювань котрі були зведені  до таблиць та графіків, для визначення оптимального часу експонування. Вибір кожного стовпчика матриці дає можливість отримати оцифровані значення напруги з 3-х рядків. Експозиція від 5 до 100 ms з кроком 5 ms. Для тестового освітлення використано групу світлодіодів від кишенькового ліхтарика що дає не рівномірне (точкове) освітлення матриці.

Замір без затінювання 

Замір з затінюванням листом офісного білого паперу А4.

Значення різниці між двома вимірюваннями


Ось значення для одного з стовпчиків матриці для рядків S0-S2 (на схемі A0-A3), де визначено оптимальне значення експозиції 18ms.

lexxai. 2014-05-06.

За даними  матеріалами опубліковано наукову публікацію "Метод визначення оптимального часу освітлення світлочутливого елемента при обробленні цифрового зображення у програмно-апаратному комплексі для визначення наявності непрозорих або напівпрозорих об'єктів

Немає коментарів:


Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready