Проект tinyAVR 20. Светодиод как датчик и индикатор

December 21, 2014 by admin Комментировать »

Как уже упоминалось, светодиоды можно использовать в качестве датчиков. Фактически светодиоды могут менять режим работы (излучатель света или фотодетектор) так быстро, что создается впечатление, будто в одном корпусе находятся два устройства. Для включения светодиода как датчика, нужно подать на него обратное напряжение. При работе светодиода в обычном режиме нужно подать на него прямое напряжение. В этом проекте мы покажем, как включить светодиод для детектирования света без применения дорогого АЦП. Тот же самый светодиод будет служить индикатором обнаруженного света.

Светодиод при обратном смещении можно рассматривать как зависящий от света источник питания, включенный параллельно с конденсатором. Чем больше падает света, тем больше величина тока— а это быстрее разряжает конденсатор. На рис. 5.7 светодиод находится под обратным напряжением: его анод подключен к заземлению, а катод — к выводу микроконтроллера (контакт 2). Микроконтроллер подает на контакт 2 напряжение Vcc, которое заряжает конденсатор. Затем катод светодиода подключается к входному контакту (контакт 1) микроконтроллера. Конденсатор (который был заряжен до Vcc) теперь разряжается, и, когда напряжение на конденсаторе упадет ниже определенного уровня, контакт 1 микроконтроллера считает логический 0. Если интенсивность падающего света выше, то конденсатор разряжается быстрее, а если света меньше, то конденсатор разряжается хдольше. Таким образом, путем измерения времени падения напряжения на контакте 1 до логического 0, наш микроконтроллер может оценить интенсивность света, падающего на светодиод.

Рис. 5.7. Светодиод в качестве фотодетектора

Спецификация проекта

Цель проекта — использовать светодиод одновременно и как датчик, и как индикатор обнаруженного света. На рис. 5.8 показана блок-схема устройства. В ней один светодиод и несколько других компонентов. Светодиод мигает, а частота этого мигания пропорциональна интенсивности падающего света: если светодиод поместить под более яркий свет, он будет мигать быстрее.

Рис. 5.8. Блок-схема устройства

Описание устройства

На рис. 5.9 изображена принципиальная схема устройства на базе микроконтроллера ATtinyl5, в которой красный светодиод LED1 в прозрачном корпусе служит для определения и индикации (изменением частоты мигания) интенсивности окружающего света.

Рис. 5.9. Принципиальная схема устройства

Схема проста: в ней всего четыре компонента. Напряжение источника питания может быть от 3 до 5,5 В. Светодиод подключен к выводам РВО и РВ1 микроконтроллера. На выходе РВЗ формируется меандр с частотой, пропорциональной интенсивности падающего света. Схема работает так: сначала на светодиод подается прямое смещение (на некоторое время). Затем на све^диод подается обратное смещение (для этого изменяются последовательности битов, подаваемые на РВО и РВ1). На следующем шаге РВО конфигурируется как входной контакт. В цикле измеряется интервал времени, который требуется светодиоду для изменения напряжения на контакте РВО с логической 1 на логический 0. Это время Т обратно пропорционально падающему на светодиод свету. В результате светодиод начинает мигать с частотой, которая обратно пропорциональна времени Т. При более слабом свете наш светодиод мигает медленнее, а по мере увеличения интенсивности падающего света частота мигания светодиода возрастает. Так обеспечивается визуальная индикация интенсивности падающего света.

Конструкция

Принципиальную схему проекта можно скачать по ссылке: www.ayrgenius.com/ tinyavrl.

Схема изготовлена на небольшой печатной плате (рис. 5.10 и 5.11) и состоит всего из пяти компонентов.

Рис. 5.10. Печатная плата устройства (сторона компонентов)

Рис. 5.11. Печатная плата устройства (сторона пайки)

Программирование

Код проекта написан на языке ассемблера (листинг 5.1). Сначала программа инициализирует контакты РВО и РВ1 как выходные и выставляет на РВО логическую 1, а на РВ1 —логический 0 (для обратного смещения светодиода). Затем контакт РВО настраивается как входной и программа ждет, пока напряжение на РВО не снизится до логического 0. Время хранится в регистре г 19. Затем РВО опять конфигурируется как выходной контакт и светодиод получает прямое смещение (чтобы включить его) на тот промежуток времени, который хранится в регистре г19. Таким образом, если микроконтроллер в первом цикле измерения фиксирует время Г, за которое светодиод "разряжается", то он включает светодиод на то же время Т. В итоге частота мигания светодиода будет пропорциональна падающему на него свету.

.include "tnl5def.inc"

.cseg .org 0

/светодиод как датчик света… main:

ldi rl6, 255 out DDRB, rl6 ldi rl6, 0′ out PORTB, rl6 ldi rl9, 1 rcall delay ldi rl9, 1

new_main:

sbi DDRB, 0

nop

nop

sbi PORTB, 1 ; LED forward bias cbi PORTB, 0 rcall delay sbi PORTB, 0

cbi PORTB, 1 ; reverse bias cbi DDRB, 0 ; LED discharge cbi PORTB, 0

; настроить регистры для минимальной задержки

ldi rl9, 1

wait_here:

sbis PinB, 0 rjmp its_one rcall min_delay inc rl9

brne dont_inc_r20 rjmp over_flow dont_inc_r20: rjmp wait_here over_f low: its_one:

in rl6, PORTB ldi rl7, ObOOOOlOOO

eor rl6, rl7 ; переключить РВЗ для генерирования ; пропорциональной свету частоты out PORTB, г16 mov r2, г19 rcall delay mov г19, r2 rjmp new_main delay:

ldi r20, О dec_r2 0:

dec_r21: dec r20 brne dec_r20 dec rl9 brne dec_r20 ret

min_delay: in rO, SREG ldi rl8, 200

not_over: dec rl8 brne not_over out SREG, rO ret

Работа устройства

Схема была протестирована с помощью светодиода с известной интенсивностью свечения. При небольших значениях прямого тока через светодиод интенсивность излучаемого света практически линейно зависит от тока. Свет от тестового светодиода подавался на светодиод-датчик LED1. Никакой другой внешний свет на датчик не падал (оба светодиода были заключены в закрытую трубку, заклеенную черной клейкой лентой). Ток тестового светодиода изменялся от 0,33 до 2,8 мА. Регистрировалась частота переключения светодиода. На рис. 5.12 видно, что зависимость практически линейна.

Рис. 5.12. Частота мигания светодиода-датчика в зависимости от интенсивности падающего света

Микроконтроллер ATtinyl5 имеет восемь выводов. Наша схема использует только три из шести контактов ввода/вывода. Остальные контакты можно применить для управления внешними устройствами или для обмена данными с ними. Эффективность работы светодиода в качестве датчика зависит от источника тока и емкостных характеристик светодиода. Мы оценили эти цифры для сравнения с теми, которые приводятся в литературе. Для оценки обратного фотоэлектрического тока мы подключили резистор сопротивлением 1 МОм параллельно светодиоду- датчику и замерили напряжение на резисторе. Датчик освещался постоянным светом, и регистрировалось напряжение на резисторе. Мы изменили значение сопротивления на 500 кОм, потом на 100 кОм и повторили измерения. В результате (при постоянном освещении) мы получили при всех измерениях фотоэлектрический ток примерно 25 мА. При этом же освещении датчика замерялась и частота мигания,

генерируемая схемой рис. 5.9, а время задержки, ток и напряжения подставлялись в уравнение dU/dt = УС (для вычисления емкости обратно смещенного р-п-перехода), Полученные в итоге значения находятся в диапазоне от 25 до 60 пФ.

Источник: Гадре, Д., Занимательные проекты на базе микроконтроллеров tinyAVR / Дхананья Гадре, Нигул Мэлхотра: Пер. с англ. — СПб.: БХВ-Петербург, 2012. — 352 с.: ил. — (Электроника)

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты