понедельник, 14 мая 2018 г.

Как подключить фоторезистор

Попался в мои руки Китайский фоторезистор LDR5528, который после недолгого поиска по интернету был опознан как GL5528.
На LDR5528 datasheet я найти не смог, а вот на GL5528 datasheet я таки нашел и он состоит всего из одной страницы. Да и какой там может быть даташит на фоторезистор - не так и много у него параметров.


Из даташита можно почерпнуть немного информации о его сопротивлении, вольтаже и рабочих температурах. Последнее актуально если планируется использовать его в каких-либо экстремальных условиях - характеристики 5528 позволяют использовать его при морозе до 30 градусов.


Итак, сам фоторезистор я тут же проверил мультиметром, темноты смог добится, засунув фоторезистор в спичечный коробок, оставив торчать наружу только кончики ножек - мультиметр показал что-то около 10 мОм. Максимальное освещение - фонарик зажигалки, сопротивление фоторезистора 200 Ом.
Дальше задумался, как подключить фоторезистор к Arduino nano. После недолгих раздумий решил использовать встроенный АЦП. По какой схеме подключить к АЦП фоторезистор, я привел ниже.


Резистор на 100 ом - на всякий случай, всегда стараюсь подстраховываться и ограничиваю токи там, где их можно ограничить. Резистор на 4.7 кОм - можно на 10 кОм, мне просто под руку попался на 4.7.
Сам код:

Переменная svet будет иметь значение от 0 до 1024. Этого вполне достаточно, дабы комфортно работать с освещенностью, но если вам необходимо точно измерять освещенность в люксах - то этот вариант неприемлем из-за своей простоты.
Подключение фоторезистора к Arduino по такой схеме - хороший вариант для использования arduino в качестве умного датчика света, способного определить степень освещенности, включить-выключить свет согласно таймеру, либо приглушать свет в определенное время.

понедельник, 30 апреля 2018 г.

Сенсор TTP223 описание

Пришли мне с Китая сенсоры TTP223, заказывал впервые и ранее с ними не работал. Посему сегодня сделаю на этот TTP223 описание на русском языке, дабы те, кто в будущем будет знакомиться с этим сенсором, не лопатили горы информации на английском.


Размер TTP223 небольшой - всего 11 на 14 миллиметров, его можно запихнуть куда угодно. Это и неудивительно, ведь на плате минимум деталей - сама микросхема в корпусе SOT-23-6L, светодиод с резистором да конденсатор.


Минус этой платы в том, что отсутствует крепежное отверстие, поэтому крепить его можно либо прижимая чем-то, либо на клей. Три вывода, два на питание и один в качестве шины данных - очень хорошо при использовании микроконтроллеров, в которых мало портов ввода-вывода.

Вот такое первое впечатление. Теперь давайте посмотрим на что способен сенсор. Для начала ознакомимся с микросхемой, на базе которой он собран - это TTP223, которая опознается по маркировке на корпусе - 223B

Функционал. Из даташита видим, что есть два конфигурационных вывода: AHLB - отвечает за уровень на выходе; TOG - отвечает за режим работы. Оба вывода представлены на плате не запаянными перемычками.
Пара А, она же вывод AHLB, в нераспаянном состоянии дает нам высокий уровень на выходе при срабатывании датчика, тоесть логическую единицу. Если пару эту запаять - получится инверсия, тоесть когда датчик срабатывает - на выходе будет логический 0, в пассивном состоянии - логическая единица.
Пара В, она же вывод TOG, в нераспаянном состоянии делает из датчика тактовую кнопку, тоесть когда датчик срабатывает - состояние вывода меняется согласно конфигурации вывода AHLB, как только сенсор возвращается в режим ожидания - состояние вывода становится прежним. В запаянном состоянии сенсор будет вести себя как кнопка с фиксацией - датчик сработал, состояние вывода поменялось и держится в таком положении до тех пор пока датчик вновь не сработает, после чего меняется.
Итак, мы разобрались зачем нужны контакты А и В на плате сенсора TTP223, теперь давайте разберемся с электропитанием.

Питание. Качаем на TTP223 datasheet и видим в нем, что эта микросхема способна работать от 2 вольт до 5.5 вольт. Это дает нам ответ на вопрос будет TTP223 работать от 3.3 В - сенсор можно использовать как с Arduino с её 5 В, так и с STM32 при питании 3.3 В.


Енергопотребление тоже порадовало - мой мультиметр показал 7 мкА в ждущем состоянии и 13,8 мА при срабатывании при напряжении питания 5 В, при 3.3 в в режиме ожидания 4мкА, при срабатывании - 6,8 мА.

Еще одна особенность - на выходе сенсор выдает логическую единицу в 3.6 В при питании 5 В. При 3.3 В на выходе - 2,7 В. Это может создать некоторые неудобства, если подключить сенсор напрямую на затвор полевого транзистора - сенсор его не откроет либо откроет не полностью.

Расстояние срабатывания. Поскольку сенсор емкостный, то расстояние, на котором он срабатывает, можно регулировать размерами сенсорной пластины. На плате предусмотрен контакт для запаивания внешнего сенсора. Также предусмотрено место под конденсатор для регулировки чувствительности. Конденсатор, согласно даташиту, может быть от 0 до 50 пФ.
На каком расстоянии срабатывает TTP223, который китайский, можно увидеть на этих фото.


Реагирует на металл - подносил к нему маленькие кусачки. С пальцем примерно то же расстояние - 2-3 миллиметра.
Этого расстояния вполне достаточно, чтоб закрепить датчик под какой-то пластиковой декоративной пластиной, либо под корпусом выключателя.

Это основные характеристики сенсора ttp223, более подробно о нем можно узнать из даташита. В дальнейшем я опишу несколько способов подключения данного сенсора к различным микроконтроллерам, а также использование сенсора ttp223 без микроконтроллера, подключая его на затвор полевого транзистора.

воскресенье, 22 апреля 2018 г.

Как мультиметром проверить MOSFET

Как проверить полевой транзистор мультиметром?
Исходя из особенностей конструкции полевых транзисторов способ проверки отличается от способа проверки биполярных транзисторов. Тем не менее есть один надежный способ проверки.
Транзистор должен быть выпаян, на распаяном транзисторе в большинстве случаев этот способ не сработает за счет обвязки (окружающих деталей). Мультиметр ставим на режим прозвонки диодов.
Сам полевой транзистор может содержать в себе встроенный диод, он будет между Drain и Source. Поэтому для начала ищем даташит на наш полевик - чтобы точно знать с чем имеем дело.
Для примера возьмем MOSFET IRLZ44N. Из даташита на него мы узнаем где у него какие ноги.

IRLZ44N цоколевка

Из этого же даташита мы видим, что есть диод, а это значит, что между Drain и Source мы увидим вместо бесконечного сопротивления - некое падение напряжения.



Итак, ставим черный щуп на Drain, красный на Gate. Прибор должен показать бесконечное сопротивление, тоесть показатели просто не поменяются. Меняем щупы местами - картина та же. Переставляем красный с Drain на Source, потом меняем местами (Красный на Gate, черный на Source) - показания меняться не должны. Gate, он же затвор, отделен от Drain и Source, если звониться в какую-либо сторону - затвор пробит, мосфет неисправен.


Теперь нам надо прозвонить Drain и Source, но для начала коротим все ноги щупом - дабы те напряжения, которые мы ему передали при прозвонке, уравнять. Ставим черный щуп на Drain, красный - на Source. Тут мы должны увидеть тот самый диод - тоесть падение напряжения. Меняем щупы местами - бесконечное сопротивление, как и в случае с Gate. Если видим что-то иное - коротим ноги щупом и повторяем замер. Если результат не бесконечное сопротивление - наш полевой транзистор вышел из строя.


Дальше ставим черный щуп на Source, красным касаемся Gate и ставим после этого на Drain. MOSFET должен открыться, тоесть показать низкое сопротивление. Так как напряжение, которым мы открыли полевой транзистор - низкое, то и сопротивление транзистора будет велико.


По сути Gate-Source - это конденсатор, который мы только что зарядили. Пока он заряжен - полевой транзистор открыт.
Если ваш мосфет ведет себя не так - скорей всего он вышел из строя.
Такой способ проверки полевых транзисторов поможет проверить фактически все широко распространенные MOSFET-транзисторы.

понедельник, 16 апреля 2018 г.

Как выбрать MOSFET

Не так давно мне нужно было подключить нагрузку к Arduino nano и я столкнулся проблемой силовых ключей. У меня было несколько IRF640N, по мощности они подходили, но я сомневался можно ли их открыть 5-тью вольтами.
В даташите на этот MOSFET сказано, что максимальное напряжение для начала(!) открытия составляет 4 вольта.


Я на скорую руку собрал схемку для проверки сей надписи.
Вот так все в железе - через IRF640N я запитал светодиод.



Всё заработало, чего я в принципе и ожидал. НО! Запитан светодиод, которому много тока не нужно. А как будет вести себя мосфит, если через него попробовать прокачать несколько ампер?. Давайте же разберемся с MOSFET транзисторами и посмотрим какие из них будут работать при управлении Arduino, а какие - нет.

Как выбрать MOSFET, руководствуясь даташитом.


На данный момент самые популярные и недорогие MOSFET-транзисторы - N-канальные. Поэтому речь пойдет именно о них.
Итак, при подборе MOSFET-транзистора следует учитывать несколько параметров. Я думаю, что максимальный ток и максимальное напряжение, с которым они могут работать, учитывают все. А вот некоторые нюансы в плане напряжений открытия а так же максимальной рабочей частоты (или эффективной рабочей частоты) - учитываются не всеми. Тем не менее я расскажу и про максимальные токи с напряжениями. С них и начнем.

Максимальный ток и максимальное напряжение MOSFET


В даташите они указаны на самом видном месте. Для примера можем взять тот же IRF640N. Идем в гугл, вбиваем IRF640N datasheet, качаем, открываем и смотрим.
Ищем табличку с надписью "Absolute Maximum Ratings", в ней есть фактически все необходимые нам данные.


Из этой таблички мы видим, что максимальный непрерывный ток при температуре в 25 градусов составляет 18 Ампер, при температуре 100 градусов - на пять ампер меньше, тоесть 13 A (параметр Continuous Drain Current). Отсюда мы можем так же узнать мощность рассеивания, это параметр Power Dissipation.
Теперь посмотрим максимальное напряжение, это уже будет таблица Electrical Characteristics, в ней есть параметр Drain-to-Source Breakdown Voltage, он составляет 200 вольт. Но обратите внимание на то, что это напряжение пробоя, так что не стоит надеяться что мосфит будет работать при таком напряжении, всегда нужно оставлять хотя бы треть величины про запас (на случай непредвиденного скачка напряжения в схеме, например, или чтоб ничего не сгорело через час-другой, работая на пределе).


Итак, основные максимальные параметры мы рассмотрели, давайте теперь перейдем к напряжению управления мосфитом.

Что такое Gate Threshold Voltage или можно ли открыть MOSFET логическим уровнем


Когда я включал светодиод через мосфит, я этот самый мосфит открыл логической единицей с Arduino nano, тоесть напряжением в 5 вольт. Тем не мене, открыл я его не полностью. Тоесть ток, который пошел через открытый логической единицей MOSFET составляет всего 22 мА, так как чтоб светодиод не сгорел, я ограничил ток резистором на 220 Ом. Если я попытаюсь запитать через этот транзистор нагрузку в несколько ампер, то тогда станет ясно, что он открыт не полностью. В даташите в таблице Absolute Maximum Ratings у параметра Continuous Drain Current стоит примечание V(gs)=10. Это значит, что максимальный ток будет при напряжении между Gate и Source 10 вольт, это напряжение его полного открытия.


Есть и еще один параметр: Static Drain-to-Source On-Resistance - это сопротивление полностью открытого MOSFET транзистора. У IRF640N сопротивление 0.15 Ом, тоесть меньше одного Ома. Но в условиях сказано, что для того, чтоб сопротивление было таким, нужно чтобы напряжение между Gate и Source составляло 10 вольт.


Таким образом мы из даташита узнали, что данный мосфит не может управляться логическим уровнем в 5 вольт при высоких нагрузках. Для полноценной работы ему необходимо подать на затвор 10 вольт. Где их взять? Существуют специальные драйвера для управления мосфитами, которые в таких случаях и применяются. Но что делать, если не хочется ставить драйвер? Или нет возможности, например нет времени ждать.

Есть специальные MOSFET транзисторы, которые управляются логическим уровнем. Давайте рассмотрим несколько таких мосфитов.
Первым будет IRL510. Выбор на него пал по причине наличия сего мосфита в моих закромах, плюс к тому же я с ним уже работал.
Идем в гугл, вбиваем туда IRL510 datasheet, открываем на сей мосфит даташит и смотрим. Первое различие с 640-вым - это Gate-Source Threshold Voltage, который ровно в два раза ниже. Но основной параметр не этот, нужно обратить внимание на сопротивление транзистора (Drain-Source On-State Resistance), а точнее на условие, при котором сопротивление по даташиту низкое и соответствует полностью открытому мосфиту.


Более того, отсюда мы видим, что irl510 может управляться 4-мя вольтами.
Для более глубокого понимания можно рассмотреть irlz44n и irfz44n. Первый управляется логическим уровнем, второй же - нет.
Глянем характеристики IRLZ44N из datasheet на него.


Как видим сопротивление указано и для 4 вольт и для 10-ти. Gate Threshold Voltage максимум 2 вольта. Отсюда делаем вывод, что данный полевой транзистор откроется при логической единице в 5 V.
В случае с irfz44n мы видим сопротивление только для 10-ти вольт, да и напряжение открытия у него от 2 до 4 вольт.


Отсюда вывод, что этот мосфит не сможет полностью открыться при 5-ти вольтах. Тем не менее, он откроется. Что будет, если заставить мосфит работать в полуоткрытом состоянии, я расскажу позже, а сейчас поговорим о том, что делать, если нам надо управлять MOSFET транзистором не 5-тью вольтами, а 3.3 V, подключая к STM32, например.
Первый вариант - это подбор полевого транзистора, способного работать с управляющими 3.3 V.

Давайте посмотрим как читать графики из даташитов на MOSFET-транзисторы. Берем, к примеру, IRL510. Нас интересует график Typical Transfer Characteristics, в нем приведены два параметра: Drain Current - это амперы, которые пройдут через транзистор; и Gate-to-Source Voltage - это напряжение на затворе.
Проводим через график две черты, первую вертикальную в месте примерно 3.3 вольт, вторую горизонтальную в месте пересечения первой линии с линией графика - это будут амперы, которые мы получим, открыв транзистор напряжением 3.3v


Мы видим, что получается больше 10-ти ампер, таким образом делаем вывод, что вполне возможно запитать через этот полевой транзистор нагрузку до 10-ти ампер (помним про необходимость запаса).
Теперь возьмем еще один MOSFET с управлением логическим уровнем - IRLZ44N.


Тут примерно та же картина, что и у предыдущего мосфита.
Теперь глянем два графика, один на IRF640N, второй на IRFZ44N.


Как видим, у обоих графики начинаются с 4.5 вольт, а не с 2V, как у предыдущих. Так же при 5-ти вольтах у IRF640N будет ток около одного Ампера, а учитывая, что Arduino может питаться по USB с прибора, который выдаст всего 4.5V - ток не составит и одного Ампера.

У IRFZ44N график чуть получше, при 5V он спокойно даст больше 10-ти Ампер.
Что будет если через полуоткрытый MOSFET потечет большой ток? MOSFET будет очень сильно греться, грубо говоря он станет работать как резистор, ибо его сопротивление будет высоко. Проще говоря, из ключа он превратиться в резистор. Это стоит учитывать при проектировании, стараясь подбирать полевые транзисторы таким образом, чтоб они открывались полностью. Либо запитывая через не полностью открытый полевик такой потребитель тока, который не будет брать на себя тока больше, чем половина из того, который может течь через наполовину открытый MOSFET. Это всё только в том случае, если нет возможности построить схему открытия MOSFET транзистора так, чтоб он открылся полностью. Например, как сделал я.


Это та схема, которой я запитал светодиод через IRF640N в самом начале статьи. По этой схеме можно подключать только те мосфиты, которые управляются логическим уровнем.
Как по названию MOSFET определить логическим он уровнем управляется или нет? Очень просто, я думаю вы уже заметили, что у тех, которые управляются логическим уровнем, в названии присутствует буква L.

Теперь посмотрим как правильно подключить MOSFET через биполярный транзистор. Для примера я взял всё тот же IRF640N, подключив его через MJE13005. С MJE13005 это конечно перебор, но я взял тот, что под руку попался. Вместо него можно использовать фактически любой маломощный NPN транзистор.


Правильная схема подключения полевого транзистора через биполярный должна предусматривать еще и защиту микроконтроллера на случай пробоя биполярного транзистора. Можно и пренебречь защитой, удешевив конструкцию, но я предпочитаю перестраховаться. По этой схеме MOSFET можно подключать как к Arduino, так и к STM32, либо любому микроконтроллеру AVR. Да и с PIC тоже работать будет. Вместо светодиода с резистором можно подключать любую нагрузку, какую вам захочется - мотор, например.

Есть еще один параметр, на который следует обращать внимание - это частота. Но этот параметр мы рассмотрим в следующий раз, так как эта статья и без него получилась довольно немаленькая.

пятница, 6 апреля 2018 г.

Печатные и беспаечные макетные платы

Одной из самых важных вещей в разработке является возможность быстрого создания прототипа разрабатываемого устройства - воплощение задуманного в железе.
И если раньше приходилось травить плату, возиться с разводкой, и при внесении изменений переделывать всё по новой - то теперь есть возможность использовать готовые решения, которые позволяют за считанные минуты воплотить задуманное.

Существует несколько вариантов создать макет устройства "на коленке".
Первый - самый простой и доступный для всех - навесной монтаж. Он пригоден для очень простых схем, в которых либо мало деталей, либо детали большие и есть возможность закрепить их на какой-то раме.
Некоторые умельцы умудряются делать плату из картона или пластика, разводя дорожки проводами.


Второй - самый быстрый, но требующий покупки беспаечных макетных плат. Беспаечная макетная плата - это плата, выполненная из пластика с контактными площадками в виде зажимов, соединенных между собой, как правило, по несколько штук. Такие соединения именуются шиной, у самых популярных они соединяются по 5 в ряд. Самые популярные макетные платы - на 170 точек, 400 и 830 точек.

У некоторых присутствуют дополнительные шины питания.
Вот, например, схема шин беспаечной макетной платы на 830 точек, которая имеет дополнительные две шины питания.

Беспаечная макетная плата на 830 точек схема соединения


К этой же плате продаются блоки питания, которые устанавливаются прямо на плату и подают по шинам питания 5v и 3.3v
Как происходит монтаж деталей на беспаечную макетную плату? Да очень просто - воткнул деталь ножками в плату - и готово. Вот так выглядит шина на беспаечной макетке на 170 точек. Шина на 5 точек монтажа.

Шаг монтажных отверстий на плате как правило 2.54 миллиметра, что соответствует стандарту большинства деталей для сквозного монтажа (монтажа в отверстия).
Беспаечные макетные платы подходят и для ардуино. Я, например, использую программатор ISP для AVR-микроконтроллеров, собранный на двух макетных платах на 170 точек. На одну такую плату становиться Arduino nano, на вторую - микроконтроллер.
AVR программатор из Arduino nano


Также с легкостью на эту макетку можно установить и Arduino Pro Mini.

К платам продаются специальные провода с коннекторами на концах, но я использую кусочки витой пары - как раз становиться в отверстие. Мягкие многожильные провода тоже можно использовать, но перед этим их нужно залудить.
Схема на беспаечной макетной плате собирается быстро и при необходимости быстро переделывается - экономия времени. При этом ничего не надо греть паяльником - нет риска убить деталь перегревом. Плата используется многократно - не нужно постоянно покупать расходники.
Неоспоримым преимуществом является то, что платы можно соединять между собой.
Например, SYB-170, макетная плата на 170 точек - если соединить несколько, то можно получить плату на гораздо большее количество отверстий.
Как соединить, показано на фото ниже.


А вот с макетной платой MB-102 на 830 точек немного сложнее - их можно соединять только с одной стороны, боком друг к другу.

Минусы при использовании беспаечной макетной платы - это только то, что схему, собранную на такой макетке, нельзя использовать по назначению как готовое законченное устройство. "Нельзя" - это громко сказано, потому что всё таки можно, но с оглядкой. А если устройств требуется несколько - то дорого будет собирать каждое на макетке. Для подобных целей есть паечные макетные платы.

Паечная макетная плата - это плата из фольгированного стеклотекстолита, как правило с просверленными отверстиями, которые дорожками между собой не соединены, в отличие от шин на беспаечных макетных платах. Монтаж на такую плату выполняется с помощью паяльника. Бывают платы как односторонние, так и двусторонние.
Самые дешевые и популярные - это односторонние макетные платы на 432 точки размером 5 на 7 сантиметров. Шаг отверстий на плате так же стандартен и равен 2.54 миллиметрам.


Печатная макетная плата такого формата предусматривает разводку дорожек на ней проводами либо выводами деталей. Вот пример собранного устройства на половинке такой платы, вид со стороны дорожек.


Печатная макетная плата очень выгодна тогда, когда разработанное устройство необходимо сразу же пустить в дело или нужно несколько таких устройств, а времени на изготовление полноценной платы нет. Или же нет возможности. Из преимуществ - это низкая стоимость, экономия времени и возможность собрать устройство на печатной плате без изготовления этой самой платы. Из недостатков - необходимость разводить дорожки из подручных материалов. Это отнимает немало сил и времени, особенно если схема достаточно большая - очень важно не запутаться и не накосячить.

Недостатки при использовании макетных плат, которые описаны выше - невозможность использования компонентов поверхностного монтажа. SMD резистор на печатную макетную плату если и прилепишь, то с танцами и бубном. А на беспаечную - так без переходников не обойтись.
Тем не менее, SMD-микросхемы можно использовать и с макетными платами. Можно использовать маленькие платы-переходники типа sop-8 к dip-8 или SOIC-14 к DIP-14.

Либо же использоать специальные адаптеры, что и быстрее, и намного удобнее - они не требуют пайки.
Но для устройств на печатных макетных платах подобные адаптеры малопригодны. Хоть и можно впаять dip-панель и в нее установить такой адаптер, всё же данная конструкция пригодна исключительно для макета, а не для конечного устройства. Потому в конечных устройствах лучше использовать либо плату-переходник, либо же искать макетку с возможностью монтажа микросхем поверхностного монтажа.
Или разводить плату самостоятельно, травить и уже на ней собирать оконечный вариант устройства.