Новичкам

Использование AVR с передатчиками радиоуправления

Многие меня спрашивают, как без дорогих модулей использовать сигнал приемника радиоуправляемых моделей для своих целей, например, включения БАНО (Бортовые аэронавигационные огни) на модели самолета или подсветки на квадрокоптере. Я решил привести пример использования микроконтроллеров AVR для этих целей.

Для управления, к примеру БАНО, с выключателя передатчика я буду использовать небольшой модуль Digispark Attiny85. Памяти и архитектуры МК Аttiny85 будет достаточно для моей цели:

Вес такого модуля всего 1,8 граммов. Питание на модуль можно подать двумя способами:

  1. На борту платы установлен линейный регулятор напряжения LM7805 питание на регулятор приходит с пина VIN, поэтому можно подключить напрямую с аккумулятора до 35В, однако будьте внимательны, в некоторых моделях могут быть установлены другие регуляторы, поэтому сначала убедитесь в его модели и посмотрите максимальное входное напряжение по datasheet. Минимальное будет в частых случаях 5+1,25 = 6,25 В. Если будет ниже, регулятор будет занижать выходное напряжение. Допуски на изготовление могут быть разные, поэтому гарантировано при 7В на входе будет 5В на выходе.
  2. Подать питание 5В на P3 куда по умолчанию выведен плюс питания от порта USB.

Использовать выводы микроконтроллера для питания светодиодной ленты не правильно на выходе платы МК всего до 40мА, этого хватит на два светодиода. Поэтому необходимо использовать силовые ключи — MOSFET либо оптопару. Подбирать необходимо по вашим потребностям. Я к примеру нашел MOSFET с двумя n-каналами в одном корпусе IRF5852TRPBF.

Если совсем по фэн-шую, то необходимо подключить к аккумулятору линейный регулятор LM7812, от него подвести питание на светодиодную ленту и модуль Digispark Attiny85. Такое подключение обеспечит стабильность питание. Напомним, что мы используем N-канальный MOSFE, это значит, что мы замыкаем землю.

Чтобы подключить Digispark вам необходимо установить драйверы, ссылка для скачивания в конце статьи, внести ссылку репозитария в Arduino IDE и установить платы через менеджер плат. Полезное видео по установке драйверов и прошивки данной платы по ссылке после статьи.

В виду того, что у Digispark свой бутлоадер, подключиться к нему и проводить отладку через COM порт, в привычном понимании, не получится. Поэтому отладку скетчей лучше проводить через, к примеру, Arduino Uno. Далее на своем примере я покажу, как использовать команды для считывания данных с порта приемника и проводить преобразования на свое усмотрение.

Подключим приемник к плате Arduino Uno, питание 5В и землю берем с платы, сигнальный провод подключаем к порту 2. Выбор порта в приемнике зависит от ваших целей, я использовал порт 3 это стик газа на передатчике. Далее используем следующий код:

#define inPutPin1 2

unsigned long duration;

void setup() {
  Serial.begin(9600);
  pinMode(inPutPin1, INPUT);
}

void loop() {
  duration = pulseIn(inPutPin1, HIGH);
  Serial.println(duration);
  delay(1000);
}

Команда PulseIn будет считывать данные с порта каждую секунду по изменению входного сигнала, в нашем случае постоянно, я использовал задержку в секунду, чтобы в мониторе порта сделать скриншот:

На картинке значение 990 соответствует 0% положения стика газа, 1480 — 50%, 1965 — 100%. В зависимости от качества исполнения стиков аппаратуры значения будут колебаться в этих пределах с большей или меньшей точностью.

Теперь мы можем использовать собранные данные для дальнейшего использования.

Я использовал лазерный модуль, которым я буду управлять и подключил его к P1 платы Digispark. Сигнал с приемника буду снимать в P0.

И так получаем следующий код:

#define inPutPin1 0
#define outPutPin1 1
unsigned long duration;

void setup() {
  pinMode(inPutPin1, INPUT);
  pinMode(outPutPin1, OUTPUT);
  digitalWrite(outPutPin1, LOW);
}

void loop() {
  duration = pulseIn(inPutPin1, HIGH);
 
  if (duration > 1480) {
    digitalWrite(outPutPin1, HIGH);
  }
  if (duration < 1480) {
    digitalWrite(outPutPin1, LOW);
  }

}

Из кода следует, что если положение стика газа выше 50% мы включаем лазерный модуль, если ниже — выключаем:

Так как у нас P1 с ШИМ мы можем плавно регулировать яркость лазерного модуля, для этого нужно использовать следующий код:

#define inPutPin1 0
#define outPutPin1 1
unsigned long duration;

void setup() {
  pinMode(inPutPin1, INPUT);
  pinMode(outPutPin1, OUTPUT);
  digitalWrite(outPutPin1, LOW);
}

void loop() {
  duration = pulseIn(inPutPin1, HIGH);
 
  if (duration >= 1050) {
    duration = map(duration, 1050, 1965, 0, 255);
    analogWrite(outPutPin1, duration);
  }
  else {
    digitalWrite(outPutPin1, LOW);
  }
}

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

Примерно так выглядит схема использования двух сигналов и двух выводов для управления светодиодными приборами. Спустя время зайдя на сайт я увидел, что не хватает контакта земли в схеме. Земля соединяет минус аккумулятора и ноги №3 от мосфетов. Прошу учесть.

Номиналы резисторов. Таблица, онлайн калькулятор

В 1952 году IEC (IEC — международная электротехническая комиссия) утвердила стандартные значения для резисторов, называемые номинальный ряд резисторов.

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

Идея создания номинального ряда довольно простая — установить стандартные значения для резисторов на основе допусков, с которыми они могут быть изготовлены.

Номиналы резисторов

Рассмотрим это на простом примере. Допустим, есть группа резисторов имеющих 10% отклонение от номинала (как в большую, так и в меньшую сторону).

Предположим, что первое предпочтительное значение должно быть равно 100 Ом. Следовательно, не имеет смысла изготавливать резистор, например на 105 Ом, так как резистор с сопротивлением 105 Ом падает в 10% диапазон допуска резистор на 100 Ом (90…110 Ом).

Поэтому следующее рациональное значение сопротивления должно быть в районе 120 Ом, поскольку резисторы на 100 Ом с допуском 10% имеют значение где-то между 90 Ом и 110 Ом, резистор 120 Ом имеет значение в диапазоне между 108 и 132 Ом, перекрывая тем самым диапазон между 100 и 120 Ом.

Следуя этой логике, стандартные номиналы резисторов с отклонением 10% в диапазоне между 100 и 1000 Ом будут следующие: 100, 120, 150, 180, 220, 270, 330 и так далее (с соответствующим округлением).

Номиналы резисторов — таблица

Буква «Е» обозначает, что резистор из номинального ряда EIA. Идущее после буквы «Е» число указывает на количество логарифмических шагов в диапазоне от 100 до 1000.

Ниже, в таблице номиналов резисторов, приведены значения от 1 Ом до 910 кОм. Это почти весь стандартный ряд, если требуется сопротивление в любом другом диапазоне (Ом, кОм, мОм), его номинал может быть получен простым делением или умножением на 10 данных из таблицы.

Отличия между сериями:

  • Е6 — допуск 20%,
  • E12 — допуск 10%
  • E24 — допуск 5% (и 2%)
  • Е48 — допуск 2%
  • E96 — допуск 1%
  • E192 — допуск 0,5, 0,25, 0,1% и выше

Номиналы резисторов — онлайн калькулятор

Для удобства привожу калькулятор для быстрого подбора сопротивления из стандартного номинального ряда резисторов.

Расчетное сопротивление
Серия EIA Номинальное значение Погрешность
E6
E12
E24
E48
E96
E192

Примечание: в окно «Расчетное сопротивление» вписывайте значение без префиксов (кОм, МОм). Например, для поиска ближайшего значения для сопротивления 38 Ом – вводим 38. То же самое справедливо и для 38 кОм – вводим 38 (не забывая, что результат относится к кОм)

Светодиод (LED)

Общие понятия

Сейчас на рынке достаточно большое разнообразие светодиодов,  но принцип работы остается тем же

Как следует из названия — это в первую очередь диод, то есть прибор с односторонней проводимостью. Это отражено и в его УГО (Условном Графическом Обозначении), то есть значке, которым его изображают на принципиальных схемах.

Для номенклатурного обозначения светодиодов используют иностранную аббревиатуру LED — Light-emitting diode

Но никакого «плюса» и «минуса», как часто говорят, у него нет. А есть «анод» и «катод». Любой диод проводит ток в направлении от анода к катоду. Другими словами, чтобы светодиод засветился, нужно подать на анод плюс источника питания, ну а на катод — минус.

Но светодиод в корне отличается от лампы накаливания тем, что для его питания главное не напряжение, а ток, через него протекающий. Как и у любой другой детали, у него существуют предельно допустимые электрические параметры. И главный из них — именно максимально допустимый ток. Для большинства светодиодов (не сверхъярких) он равен 20 мА, из такой величины и следует исходить при подключении светодиода неизвестного типа. Кроме этого, есть максимально допустимое обратное напряжение, которое превышать тоже нельзя.

Правильное подключение светодиода

Казалось бы, самая естественная схема включения светодиода — такая (на схеме вместо батареи изображен генератор):

 

Именно так подключены светодиоды в многих фонариках и брелоках : три пуговичных батарейки и синий или белый светодиод.

Но сколько он проработает в таком включении? Очень недолго. Ведь главный предельно допустимый параметр — ток — здесь ограничен только внутренним сопротивлением применённых батареек. Они просто не в состоянии выдать ток, способный моментально сжечь светодиод. Хотя, кроме перегорания, есть ещё одно неприятное свойство светодиодов, свойственное белым и синим (а также сверхъярким любого цвета) светодиодам: деградация кристалла и люминофора. Проявляется она в сильном снижении яркости свечения (при том же токе). Причём, если при номинальном рабочем токе, заявленном производителем, яркость ощутимо упадёт примерно через год непрерывной работы, и даже более, то при повышенном токе достаточно и четверти часа.

На схеме видно, что при «обычном» включении светодиод потребляет 39,8А что недопустимо для его работы, поэтому не будем уподобляться неизвестным ремесленникам и научимся правильно подключать светодиоды.

Кроме источника питания и светодиода нам будет необходим ограничитель тока. В простейшем случае — обыкновенный резистор. Как его рассчитать? Да очень просто. У каждого светодиода есть прямое падение напряжения при рабочем токе, для светодиодов одного цвета оно примерно одинаково, ниже приведена таблица зависимости напряжения светодиодов от длины волны (цвета):

 

Это данные ориентировочные, лучше посмотреть по справочнику (datasheet) для конкретных светодиодов. Допустим, у нас есть зелёный светодиод и источник тока напряжением 3В. Почему именно столько? Да просто оно удобное: две пальчиковых батарейки. От одной батарейки светодиод не загорится: не хватит напряжения, а двух уже хватит. Пусть на нём падает 2 вольта и рабочий ток равен 20 мА. Тогда на нашем резисторе погасится 3В — 2В = 1В, и согласно закону Ома (R = U/I) нужное сопротивление резистора будет 50 Ом.

Для выбора номинала резистора воспользуемся таблицей или онлайн калькулятором. Поскольку сопротивления в 50Ом в стандартном ряду нет, берём ближайший в сторону увеличения — 51 Ом. Теперь получим рабочую безопасную схему включения светодиода:

На схеме отображены ток и напряжение участков цепи.

Просто, правда? Почему берём ближайший номинал именно в сторону увеличеничя? Да чтобы даже при небольшой ошибке в расчётах ток светодиода не превысил максимально допустимого. Но чтобы уж совсем быть уверенным, что наш светодиод будет работать долго, лучше при расчётах задаться током не максимальным для данного светодиода, а немного меньшим. Например, 15 мА вместо максимальных 20 мА. Номинал резистора для светодиода получится 68 Ом:

 

Не бойтесь, что он будет светить намного слабее: наш глаз устроен так, что видимая яркость светодиода снизится в два раза только при уменьшении тока примерно в пять раз! Аналогичной зависимости (которая носит название закона Вебера-Фехнера) подчиняются и все остальные наши органы чувств. Благодаря ей свечение сверхъяркого светодиода мы видим при токе в несколько микроампер, хотя реальная яркость (которую покажет измерительный прибор) в тысячи раз меньше рабочей.

Если взять изначальное напряжение 4,5В, то номинал резистора, при 15мА, будет 169 Ом:

Определение рабочего напряжения светодиода

Как измерить рабочее напряжение светодиода? Если у вас нет понимания, какое рабочее напряжение у светодиода, воспользуйтесь мультиметром (или вольтметром), соберите схему в соответствии с нижним рисунком. Поскольку, сейчас часто встречаются светодиоды на 6В или 7В , лучше взять источник питания около 12В. Я установил напряжение светодиода на 6В и ток 50мА. Светодиод подключается к источнику питания через переменный резистор номиналом 1 кОм. Мультиметр подключается параллельно светодиоду, резистор выставляется на максимальное сопротивление. Как видно на рисунке при сопротивлении 990 Ом светодиод не горит, ток 6,67 мА: 

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

 

Хочу напомнить, что яркость светодиода не может регулироваться с помощью переменного резистора, регулировка осуществляется с помощью ШИМ-регулятора.

Включение нескольких светодиодов

С одиночным светодиодом разобрались. А как быть, если их несколько? Светодиоды  соединяют параллельно.

Мы помним, что так подключать светодиоды нельзя:

Хотя китайцы в фонариках так и делают. Немного спасёт дело общий ограничительный резистор, но это тоже неверное решение:

Как видно на схеме, резистор нужен меньшим номиналом, т.к. ток распределяется между тремя светодиодами, как раз в этом и есть нюанс, почему не стоит так делать. Дело в том, что существует технологический разброс прямого падения напряжения на светодиодах, и даже если их брать из одной партии (произведённых одновременно в одном технологическом цикле), он всё равно есть. В итоге у параллельно соединённых светодиодов будет разный ток. Номинальный ток, на пока еще работающем светодиоде, 18мА.

И тот, у которого он окажется больше всех, и превысит максимально допустимый, выйдет из строя раньше. Затем — следующий, но уже быстрее (т.к. ток распределится по оставшимся светодиодам и будет больше, чем раньше). И так запустится «цепная реакция» перегорания светодиодов, которую нередко можно наблюдать в дешёвых китайских фонариках, стОит только поставить туда батарейки помощнее.

Поскольку для питания светодиодов важнее обеспечить правильный ток, то и соединять их нужно последовательно. Но как быть, если напряжения источника питания не хватает даже для двух последовательно соединённых светодиодов? Тогда на каждый светодиод нужно ставить свой ограничительный резистор.

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

Рассчитать ограничительны резистор для последовательно соединённых светодиодов так же просто, как и для одиночного. Просто суммируем напряжение всех светодиодов, отнимаем от напряжения источника питания получившуюся сумму (это будет падение напряжения на резисторе) и делим на ток светодиодов (обычно 15 — 20 мА). Всё!

А если светодиодов у нас много, несколько десятков, а источник питания не позволяет соединить их все последовательно (не хватит напряжения)? Тогда определяем исходя из напряжения источника питания, сколько максимально светодиодов мы можем соединить последовательно. Например для 12 вольт — это 5 двухвольтовых светодиодов. Почему не 6? Но ведь на ограничительном резисторе тоже должно что-то падать! Вот оставшиеся 2 вольты (12 — 5х2) и берём для расчёта. Для тока 15 мА сопротивление будет 2/0.015 = 133 Ома. Ближайшее стандартное — 150 Ом: А вот таких цепочек из пяти светодиодов и резистора каждая, мы уже можем подключить сколько угодно! Такой способ называется параллельно-последовательным соединением

И подобная схема для источника питания на 9В:

Подключение к другим источникам питания

 

Ещё одна интересная тема — как подключить светодиод к сети 220 В. Например, воткнуть его для подсветки в выключатель. Казалось бы просто: ставим последовательно резистор, и всё. Но! Мы забыли ещё об одной важной характеристике светодиода: максимально допустимом обратном напряжении. У большинства светодиодов оно около 2 (правка редактора — в оригинале 20 вольт, что не соответствует табличным значениям). А при подключении его в сеть при обратной полярности (ток-то переменный, полупериода в одну сторону идёт, а вторую половину — в обратную) к нему приложится полное амплитудное напряжение сети — 315 вольт! Откуда такая цифра? 220 В — это действующее напряжение, амплитудное же в {корень из 2} = 1,41 раз больше.

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

Или же поставить два светодиода встречно-параллельно.

 

Вариант питания от сети с гасящим резистором не самый оптимальный: на резисторе будет выделяться значительная мощность. Действительно, если применим резистор 24 кОм (максимальный ток 13 мА), то рассеиваемая на нём мощность будет около 3 Вт! Можно снизить её в два раза, включив последовательно диод (тогда тепло будет выделяться только в течение одного полупериода). Диод должен быть на обратное напряжение не менее 400 В. При включении двух встречных светодиодов (существуют даже такие с двумя кристаллами в одном корпусе, обычно

разных цветов, один кристалл красного свечения, другой зелёного) можно поставить два двухваттных резистора, каждый сопотивлением в два раза меньше.

Оговорюсь, что применив резистор большого сопротивления (например 200 кОм) можно включить светодиод и без защитного диода. Ток обратного пробоя будет слишком мал, чтобы вызвать разрушение кристалла. Конечно, яркость при этом весьма мала, но например для подсветки в темноте выключателя в спальне её будет вполне достаточно.

Благодаря тому, что ток в сети переменный, можно избежать ненужных трат электричества на нагрев воздуха ограничительным резистором. Его роль может выполнять конденсатор, который пропускает переменный ток, не нагреваясь. Почему так — вопрос отдельный, рассмотрим его позже. Сейчас же нам нужно знать, что для того, чтобы конденсатор пропускал переменный ток, через него должны обязательно проходить оба полупериода сети. Но ведь светодиод проводит ток только в одну сторону! Значит, поставим встречно-параллельно светодиоду обычный диод (или второй светодиод), он и будет пропускать второй полупериод.

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

Конденсатор должен быть на напряжение не менее 400 вольт, или специальный для цепей переменного тока напряжением не менее 250 вольт.

А если мы хотим сделать светодиодную лампочку из нескольких светодиодов? Включаем их все последовательно, встречного диода достаточно одного на всех.

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

На рисунке в каждой цепочке нарисовано по три светодиода, на самом деле их может быть и больше десятка.

Как расчитать конденсатор? От амплитудного напряжения сети 315В отнимаем сумму падения напряжения на светодиодах (например для трёх белых это примерно 12 вольт). Получим падение напряжения на конденсаторе Uп=303 В. Ёмкость в микрофарадах будет равна (4,45*I)/Uп, где I — необходимый ток через светодиоды в миллиамперах. В нашем случае для 20 мА ёмкость будет (4,45*20)/303 = 89/303 ~= 0,3 мкФ. Можно поставить два конденсатора 0,15 мкф (150 нФ) параллельно.

Можно также использовать диодный мост, но это очень громоздко.

 

 

 

WP2Social Auto Publish Powered By : XYZScripts.com