Нагрузочный резистор для светодиода: Резистор для автомобиля 27w

Содержание

Резистор для автомобиля 27w

Администратор 06.07.2018

Я думаю хватит. Нагрузка хорошая, плюс ваши светодиодные лампы, думаю не меньше 2в каждая.

Константин 04.07.2018

Планирую поставить на каждую сторону поворотников мотоцикла. Спереди 21В сзади 10В лампы . Поворотники диодные. Хватит 27В на сторону ? или что предложите. Сейчас при включении — просто горят а не мигают

Администратор
04.05.2017

Алексей, здравствуйте. В Вашем случае необходимы резисторы на 55Вт

алексей 03.05.2017

здравствуйте купил светодиодные лампы h7 мощность каждой 36W,у родных 55W.Хватит ли резисторов по 27W?

Администратор
24.03.2014

Лучше на каждую лампу поставить.

Здравствуйте ! хотел узнать одного резистора 27 w хватит на одну сторону поворотов или это для каждой лампы ?

Администратор 24.08.2013

Я думаю, что при включении поротников у вас нет сопротивления, резистор на 27W точно решит эту проблему.

Владимир 10.08.2013

Здравствуйте! Поставил на Skoda Octavia TOUR в задние поворотники вместо ламп светодиоды. При аварийке работает исправно, при включении поворотов они работают в ускоренном режими. Подскажите, пожалуйста, какие нагрузочные резисторы поставить. Подойдут ли «нагрузочные резисторы 27W» ?

Администратор
15.05.2013

Иван , температура нагриева этих резисторов порядка 60 градусов.

Подскажите насколько сильно при использовании нагреваются эти резисторы??

Администратор 22.04.2013

да надо 6 обманок

Здравствуйте, у меня ваз 2115 поставил задние светодиодные фонари, начал гореть чек неисправности ламп, посоветуйте какую обманку лучше поставить и ещё вопрос- в фонарях 6 ламп значит надо ставить 6 обманок?

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

Администратор
23.11.2012

вот такие https://dled.ru/products/svetodiodnaja-obmanka-t10-w5w

есть ли резистор на 5 ватт на бокоые указатели поворота?

Здравствуйте подскажите существуют ли разновидность обманок или единственный параметр изображен выше?

Подскажите как правильно он крепится на провод в цеп. На + или — . Или как то особенно….

Администратор 05.01.2012

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

Владимир 04.01.2012

а есть резисторы, только на 4-4,5 Вт для обмана бортовика на габаритных огнях???

Администратор 29.12.2011

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

Здравствуйте у меня Volkswagen Touareg, хочу поставить себе светодиодные габаритные огни цоколь W5W и противотуманные фары цоколь HB4 9006. Читал на форумах, что компьютер выдаёт ошибку при установки светодиодных ламп на данную модель. Обманка решит эту проблему ?

Оставить свой отзыв:

Заметки для мастера — Освещение на светодиодах


Светодиодные лампочки и их классификация


Светодиодные лампы или светодиодные светильники в качестве источника света используют светодиоды (англ. Light-Emitting Diode, сокр. LED), применяются для бытового, промышленного и уличного освещения. Светодиодная лампа является одним из самых экологически чистых источников света. Принцип свечения светодиодов позволяет применять в производстве и работе самой лампы безопасные компоненты. Светодиодные лампы не используют веществ, содержащих ртуть, поэтому они не представляют опасности в случае выхода из строя или повреждения колбы.

Мощность и световой поток. 

Это — основные характеристики, которые влияют на выбор лампы, светодиодной в том числе. Здесь экономичность led лампы можно увидеть в конкретных цифрах.

Например, чтобы выдать световой поток 250 Лм, диодные лампы расходуют 2,5–3 Вт электроэнергии. Люминесцентной (энергосберегающий) лампе требуется примерно вдвое больше, лампе накаливания — в 10 раз больше, около 30 Ватт. Температура светодиодных ламп Различают стандартную и световую температуру.

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

Цветовая температура показывает тип свечения. Чтобы не углубляться в технические подробности, рекомендуем для квартиры или дома приобретать светодиодные лампочки со световой температурой в пределах 2200–3300 Кельвинов, для офисных 4000–4500 Кельвинов — ближе к дневному свету.

Размеры led лампы В отличие от традиционной лампы, светодиодные могут иметь самую различную форму. Поэтому при покупке светодиодных ламп стоит обратить внимание на габаритные размеры, всегда указанные на коробке в стандартном формате «длина Х ширина Х высота». Выбирая светодиодные лампы для конкретных плафонов, обязательно стоит учитывать этот параметр. Срок службы, защита Если сравнить цены на лампы, светодиодные окажутся гораздо дороже. Поэтому покупателя обязательно интересует срок службы. Он составляет 30–50 тысяч часов — led лампа обеспечивает 3–5 лет непрерывного освещения. В повседневном режиме светодиодные лампочки могут служить 10 лет. Они имеют определенную степень защиты от пыли и влажности, которая обозначается на упаковке по стандарту IP.

 

          Светодиодная лампа для лестничной площадки

 

        Во многих случаях для освещения лестничных площадок или подъезда достаточно двух светодиодов.

 

Рис.1

        На рис.1 показана схема их включения в сеть 220В. Светодиоды EL1, EL2 могут быть любого типа, в том числе повышенной яркости. При указанных номиналах резисторов средний ток через каждый из них – около 5 мА. Важно, чтобы светодиоды были подключены в противоположной полярности и каждый из них, работая в полупериоде сетевого напряжения «своей» полярности, служил ограничителем обратного напряжения для другого. Если ошибочно включить светодиоды в одинаковой полярности, к ним окажется приложенным полное обратное сетевое напряжение и оба они выйдут из строя.

        Детали, за исключением резистора R1, монтируют на круглой стеклотекстолитовой плате диаметром 28мм. Надфилем на периферии платы делают три шлица, предназначенных для Г-образных скоб из белой жести, припаянных к верхней кромке цоколя Е27 от сгоревшей лампы накаливания. Этими скобами плату в дальнейшем крепят к цоколю.

        Из отверстия в центральном контакте цоколя удаляют остаток вывода сгоревшей лампы и припой. Один из выводов резистора R1 пропускают в это отверстие, другой соединяют с резистором R2 на плате. После крепления платы со смонтированными деталями к цоколю выступающий вывод резистора R1 обрезают, а его оставшую часть припаивают к центральному контакту.

       

Тертышник Э.

г. Обнинск

Калужская обл.   

 

          Светодиодный ночник

 

Рис.2

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

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

        Корпус фумигатора представляет собой вилку с нагревательным элементом и местом для установки брикета, пропитанного ядовитым для комаров веществом. При перегорании нагревательного элемента фумигатор обычно выбрасывают. Чтобы превратить неисправный фумигатор в ночник нужно собрать в его корпусе схему, показанную на рисунке 2. А светодиоды расположить на месте неисправного нагревательного элемента.

        Напряжение от электросети поступает через конденсатор С1, на реактивном сопротивлении которого падает избыток напряжения, на выпрямительный мост VD1-VD4 на доступных диодах КД209. На выходе моста включен нагрузочный резистор R2 и конденсатор С2, сглаживающий пульсации.

        Постоянное напряжение с этого конденсатора поступает на два последовательно включенных белых сверхярких светодиода HL1 и HL2.

        Конденсатор С1 должен быть на напряжение не меньше 400В. Это имеет отношение и к замене диодов выпрямительного моста.

        Количество светодиодов можно увеличить.

 

Лыжин Р.

 

          Светодиодная настольная лампа

 

        Принципиальная схема светодиодной лампы показана на рис.3.

Рис.3

        Суммарное напряжение падения 15-ти последовательно включенных светодиодов составило 54В. Как известно, светодиоды стабилизируют прямое напряжение, поэтому больше этого напряжения на их последовательной цепи быть не может, вот и конденсатор С2 был взят на 63В. На диодах VD1 и VD2 и конденсаторе С1 сделан бестрансформаторный источник с гасящим конденсатором. Роль стабилитрона здесь играют последовательно включенные светодиоды. Они же от него и питаются.

        Оптимальная емкость конденсатора С1 подобрана в пределах (3,3мкФ) при которой светодиоды светят ярко, но не нагреваются.

        Резистор R1 – для разрядки конденсатора С1 после выключения лампы.

        Конденсатор С1 должен быть на напряжение не ниже 250В. Здесь использован импортный аналог конденсатора К73-17. За подбором емкости этого конденсатора можно установить желаемую яркость свечения. Печатная плата показана на рис.4

Рис.4

        Резистор R1 служит только для разряда С1 после выключения схемы.

        Диоды указанные на схеме можно заменить на КД105, КД209 или другими выпрямительными средней мощности на обратное напряжение не ниже 300В.

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

 

Каравкин.В 

USB тестер + нагрузочный резистор

Доброго дня! В обзоре USB тестер 3 в 1 + нагрузочный резистор.
Посылка до Москвы добралась за 20 дней.

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

Устройство умеет измерять: напряжение (V), ток (A), проходящую энергия электрического заряда (mAh) и сохранять в ячейках памяти (0-9)

Спецификации


Устройство располагает 2х строчным сегментным экраном с подсветкой (с хорошими углами обзора, примерно при 120 градусах цвет инвертируется), USB выход, USB вход с кабелем и microUSB вход для тестирования кабелей (дублирует вход).
Кнопка по кругу переключает ячейки памяти для хранения измеренной «емкости» от 0 до 9. Измерения сохранятся после отключения питания.
Кнопка многофункциональна:
Для очистки ячейки памяти и перехода к следующей нужно держать нажатой кнопку, следующая ячейка обнулится.
По двойному клику тестер переходит в режим просмотра (экран начинает мигать), по клику можно переходить по ячейкам памяти и просматривать сохраненные значения, по повторному двойному клики происходит выход из этого режима.

Для тестирования решил измерить «емкость» недавно приобретенного XIAOMI POWER BANK.
Я его разрядил полностью, потом поставил на зарядку и примерно через 5 часов получил следующий результат. Ровно 9300mАh

Во время зарядки XIAOMI Power Bank адаптер питания отдавал ток около 2А и напряжение 5.39V, которое рассматриваемый тестер посчитал превышением и в процессе зарядки подсветка экрана все время мигала и показывалась стрелочка вверх.

(нажмите для анимации)

Так же измерил «емкость» noname power banka, присланного в подарок. Внутри акумулятор без опознавательных знаков.

Внутренности




Результат, полностью зараженного мини (повербанка 772mAh)

Сравнение с Charger Doctor

Нагрузочное устройство состоит из двух резисторов и светодиода, который горит красным.
Резисторы по 5.1Ом. На сколько я понимаю, один резистор не соединен.

Резистор (один) очень сильно грется и начинает вонять (даже при токе 300мА). К сожалению нет переключателя 1А/2А.

от блока питания

от XIAOMI Power Bank

На странице с товарам под измерениями есть такое предупреждение

Note: This data is mobile power discharge capacity, not battery capacity. According to our experience, the mobile power discharge capacity is about 1.9 times of the battery capacity.

Не зря я в обзоре слово емкость брал в кавычки, на самом деле это не емкость как таковая, а прошедшая энергия.
Плюсы:
  • Информативное полезное устройство
  • Непрерывное измерение
  • Измерение «емкости» с сохранением значений.
  • Возможность протестировать USB кабели
Минусы:
  • Нагрузочное устройство в комплекте не имеет переключателя 1А/2А как обещал магазин

Нагрузочные резисторы (обманки) «DLED

Нагрузочные резисторы (обманки).

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

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


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

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

Не спешите расстраиваться !

Это не означает , что Вы купили не рабочую светодиодную лампу , или данная лампа Вам не подходит!!!

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

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

 

Также существуют универсальные нагрузочные резисторы (обманки) без привязанности к какому либо цоколю автомобильной лампы. Установка этих нагрузочных резисторов — не на много сложнее. Просто зажмите клипсу провода обманки вместе с проводом идущим к лампе, один провод обманки  на «+» , второй провод на «-» . Работу проводите при выключенном зажигании Вашего автомобиля.

Чтобы купить нагрузочные резисторы (обманки) — прейдите по ссылке.

Разработка таймера на STM32 Часть 1

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

Функции будут следующими:
1. Таймер. Нужен для засекания времени и оповещения о том, что время вышло.
2. Секундомер. 
3. Термометр, кстати, практика использования шины I2C
4. Эмулятор броска двух кубиков.
5. Режим релаксации, медленного включения и выключения светодиодов разных цветов. (вот здесь нужен программный ШИМ)

Начнем с проектирования  «железа».
Все устройство будет управляться контроллером STM32F030F4P6 и для этих функций возможностей STM32 более чем достаточно, даже с небольшим количеством выводов в корпусе TSSOP20

Контроллер позволяет включить его практически без обвязки, подав только питание. Поскольку устройство переносное, а контроллер питается напряжением 2.4 — 3.6 вольта, то для питания используется 2 пальчиковых батарейки AA напряжением 1.5 вольта без дополнительных стабилизаторов. Контроллер работает от двух батареек, даже слегка подсевших.Единственное, что нужно внимательно соблюдать полярность. Защиты по питанию нет, если неправильно вставить батарею, то контроллер сгорит.

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

Отображение будет осуществляться при помощи индикатора BA56-11GWA с общим анодом. В каждом  Общий анод позволит использовать для управления светодиодами специализированный драйвер светодиодов STP16CP05MTR у которого есть 16 выходов. Поскольку у индикатора BA56-11GWA есть выходы на каждый светодиод, то мы можем использовать статическую индикацию.

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

Получаем 8 светодиодов на одну цифру, т.е. нам понадобится каскад из двух драйверов светодиодов. Кроме того, что одна микросхема драйвера фактически включает в себя два сдвиговых регистра, что неплохо экономит меcто на плате, у этого драйвера есть очень интересное свойсво, нам не нужны будут нагрузочные резисторы для каждого светодиода, поскольку используется один нагрузочный резистор один на микросхему, который подключается к выводу R-EXT
Расчитывается номинал по схеме из даташита.

Если поставить переменный резистор, то можно даже управлять яркостью светодиодов. В нашем случае был использован резистор 2 КОм для 10 милиампер тока на каждый резистор.
Информацию от пользователя будем получать при помощи двух кнопок без фиксации. Этого достаточно для создания двухуровнего меню, а если использовать отслеживание одновременного нажатия кнопок, то получим фактически три кнопки, чего будет достаточно для настройки и управления. 
Для получения значения окружающей температуры воспользуемся датчиком  

Датчик работает по линии I2C, и требует для подключения двух нагрузочных резисторов на эту линию.

Для более точной работы (хотя это и не обязательно) будет использоваться кварц 8 мегагерц.

У контроллера в корпусе TSSOP20 всего 20 выводов. Для нашего приложения они будут распределены следующим образом

 

  1. boot0  — на землю
  2. PF0    OSC_IN   — подключение кварца
  3. PF1    OSC_OUT  — подключение кварца
  4. NRST  — резет   не задействуе
  5. VDDA  —    3.3V
  6. PA0 —   не используется
  7. PA1 —       кнопка 1
  8. PA2 —       кнопка 2
  9. PA3 —   не используется 
  1. PA4    spi nssLE   — импульс защелки
  2. PA5   — SPI1_SCK    — импульсы
  3. PA6   — SPI1_MISO  не используем, будет управление ШИМ на светодиоды 
  1. PA7  —  SPI1_MOSI выход данных
  2. PB1   — простая пищалка
  1. VSS   —  3.3 v
  2. VDD   — земля
  3.  PA9   —  I2C1_SCL(2)(5)       — для опроса температуры
  4. PA10 —  I2C1_SDA(2)(5)      — для опроса температуры
  5. SWDIO_PA13    — отладчик
  6. SWCLK_PA14     — отладчик


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



Схема таймера на STM32, нажмите для увеличения.

Печатная плата делалась под конкретную коробочку, поэтому пришлось расположить детали довольно компактно. Хотя плата двусторонняя, но выполнить ее вполне можно в домашних условиях методом ЛУТ.

Разводка платы при помощи программы Eagle вручную. Автомат не смог сделать, слишком много переходов с одной стороны на другую. Плата и схема в формате Eagle доступна для бесплатного скачивания здесь>>

плавающих контактов, подтягивающие резисторы и Arduino

Плавающие контакты

на Arduino всегда были для меня загадкой. Просто это никогда не имело особого смысла. Я сделал это видео больше для себя — просто чтобы конкретизировать его в своем мозгу. Я надеюсь, что это может добавить солидарности и к вашему пониманию…

Стенограмма:

В сегодняшнем уроке мы поговорим о плавающих контактах с Arduino.

Обычно вы думаете: эй, если что-то плавает, это хорошо.Ваш корабль терпит крушение, вы плывете в океане, и эй, вы плывете, это лучше, чем тонуть, верно? Ну, с электроникой это не так. Подумайте о фене в ванне, который не обязательно смешивается. Итак, суть в том, что плавающие контакты — это плохо. В этом уроке мы попытаемся ответить на вопрос: почему, черт возьми, они плохие? Что такое плавающая булавка? В чем дело?

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

Итак, у меня есть моя плата Arduino, она подключена к макетной плате, и у меня есть кнопка на этой макетной плате. Одна сторона кнопки подключается к земле, а другая сторона кнопки подключается к цифровому контакту два, а цифровой контакт два — это место, где я буду пробовать напряжение, которое буду использовать. Я буду использовать функцию цифрового считывания, чтобы определить напряжение там. Таким образом, вы можете увидеть, что настроено, когда я нажимаю кнопку, цифровой контакт два будет кавычками без кавычек, «увидеть напряжение земли». Он увидит низкое напряжение.И тогда вернётся низкий. Итак, в моей программе я буду использовать оператор if и скажу, что если на цифровом выводе 2 низкий уровень, то продолжайте и делайте что угодно. Может быть, мы включим светодиод.

Что ж, возникает вопрос, что происходит на выводе 2, когда я не нажимаю кнопку, а это своего рода ключ. Так что мне просто интересно, что вы думаете, что происходит на выводе 2, когда я не нажимаю кнопку? Ну, почему бы нам просто не пойти посмотреть, давайте просто проверим это сами. Итак, давайте продолжим, перейдем к Arduino IDE и немного повозимся.Итак, мы в Arduino IDE, и я собираюсь перейти к File, Examples, Basics, BareMinimum. И я просто настрою простой скетч.

Итак, первое, что я собираюсь сделать, это использовать контакт, который будет обозначать контакт 2, который будет входным контактом. Теперь я собираюсь перейти к настройке, я собираюсь установить режим этого входа Pin на вход, как мы говорили ранее. А потом я включу последовательную связь, чтобы посмотреть информацию, поступающую через последовательный монитор. И, кстати, если что-то из этого не имеет смысла, просто посмотрите другие мои видео.У меня есть куча других видео на эту тему. Ладно, немного домашнего хозяйства.

Хорошо, а теперь давайте перейдем к петле, и первое, что я хочу сделать, это сделать цифровое считывание этого пин-кода. Так что помните, это своего рода предпосылка. Я хочу определить, какое напряжение на этом цифровом выводе. Итак, что я собираюсь сделать, так это объявить и инициализировать переменную, и я собираюсь установить эту переменную равной выходу функции цифрового чтения. Давайте сделаем это. Итак, я объявил и инициализировал значение датчика, и эта переменная будет содержать вывод функции цифрового чтения, и цифровое чтение будет возвращать либо высокий, либо низкий уровень.

И это будет выглядеть как единица или ноль, так что единица — это высокий уровень, а ноль — низкий. Теперь я хочу посмотреть на это значение. Итак, чтобы увидеть это значение, я воспользуюсь этой функцией последовательной записи, и мы отобразим ее в окне последовательного монитора. Хорошо, мы здесь. Я мог бы сказать написать, я имел в виду печать. Итак, последовательная печать, и я на самом деле использую строку печати, и что это делает, ну, вы увидите это, когда мы посмотрим на последовательный монитор. Он допускает возврат каретки в конце каждого возврата значения.Итак, давайте проверим это и загрузим. А затем давайте посмотрим на последовательный монитор. Хорошо, теперь посмотрите на этот серийный монитор, обратите внимание, что здесь происходит, там есть единицы и нули, единицы и нули, единицы и нули. Это выглядит довольно случайным.

Я просто отключу автоматическую прокрутку, чтобы мы могли это увидеть. Вы можете сказать, что на самом деле нет… Может быть, в этом есть какая-то случайная последовательность, но по большей части это выглядит просто как шум. Так что я чувствую, что это отвечает на вопрос. Что происходит на выводе номер 2, когда кнопка не нажата.И ответ таков: ну, мы действительно понятия не имеем. Это кто знает? Он просто плавает там. Мы понятия не имеем, что эта булавка собирается делать. Итак, это проблема или имеет значение? Ну да, это имеет значение. И почему это важно?

Что ж, давайте продолжим и напишем нашу программу со схемой, настроенной таким образом, и посмотрим, как работает наш светодиод. Итак, я собираюсь закрыть окно последовательного монитора и добавить еще немного кода. Я собираюсь добавить оператор if. Итак, я добавил оператор if/else.Теперь в этом операторе if/else говорится, что если значение датчика равно низкому, то выполните цифровую запись на выводе 13 с высоким уровнем. Итак, контакт 13 имеет встроенный светодиод на большинстве плат Arduino. Если вы используете Arduino UNO, как и я, то у вас обязательно будет встроенный светодиод. Итак, я говорю, что если Sensor_Value низкий, я хочу, чтобы вы записали булавку выше. И это может показаться немного нелогичным, так что просто вспомните схему.

Мы знаем, что когда мы нажимаем кнопку, контакт 2 подключается к земле.Таким образом, контакт 2 будет показывать нулевое напряжение, когда мы нажимаем кнопку, а нулевое напряжение низкое. Итак, мы нажимаем кнопку Sensor_Value, которая будет назначена выходу digitalRead. Если мы нажимаем кнопку, то digitalRead будет равен нулю, поэтому Sensor_Values ​​равен нулю. А потом мы собираемся сказать, что если его Sensor_Value равен нулю, то это низкое значение? Если это так, включите светодиод, подключите цифровое право к выводу 13 высокого уровня. И затем, если это что-то еще, то сделайте его низким. Итак, что мы должны здесь делать: когда я нажимаю кнопку, загорается свет, когда я не нажимаю кнопку, свет гаснет.

Итак, давайте продолжим и посмотрим, как это работает с нашей текущей настройкой. Теперь, прежде чем мы загрузим его, нам нужно установить цифровой контакт 13 в качестве выхода. Итак, давайте сделаем это. Хорошо, а потом загружу. Теперь я загрузил его на свою доску. И когда я смотрю на свой Arduino, светодиод на контакте 13, он как бы пульсирует. Похоже, он быстро мигает. Итак, во-первых, что странно, так это то, что он включен, даже если он быстро пульсирует, этого не должно происходить, потому что я даже не касаюсь кнопки.Теперь, когда я касаюсь кнопки, она перестает пульсировать, и светодиод загорается немного ярче, а затем я отпускаю ее, и она снова начинает пульсировать. Так в чем тут дело? Что ж, почему бы нам не пойти дальше и снова не посмотреть на серийный монитор?

Ладно, последовательный монитор делает то же самое. Видите, мы получаем все эти единицы и нули, все виды случайного разбрызгивания единиц и нулей. Итак, проблема с плавающим штифтом заключается в том, что независимо от того, что я делаю с кнопкой, есть шум, мешающий этому штифту, и это в определяющем значении дает ложные срабатывания при нажатии кнопки.Я не нажимаю кнопку, мы все еще получаем низкое значение на этом выводе, и это нехорошо, это неправильно. Итак, как нам решить эту проблему?

В данном случае мы используем подтягивающий резистор. Подтягивающий резистор привяжет этот плавающий контакт к известному напряжению и известному состоянию. И в этом случае мы привяжем его к пяти вольтам. Итак, давайте посмотрим на этот новый макет макетной платы, используя внешний подтягивающий резистор. Итак, теперь у меня есть в дополнение к правой стороне кнопки, прикрепленной к контакту 2.Теперь мне нужно подтянуть резистор на пять вольт. Теперь это просто резистор, как и любой другой резистор, он просто подтягивается, потому что так мы его используем.

И что мы делаем, так это переводим этот пин в определенное состояние. И в этом случае он будет высоким, потому что мы подключили его к пяти вольтам. Итак, давайте снова зададим наш вопрос, каково значение на выводе 2, когда мы выполняем цифровое чтение, а кнопка не нажата. Ну, теперь мы можем видеть, что вывод будет показывать пять вольт, потому что он подключен к пяти вольтам через этот резистор 10 кОм.Мы знаем ответ на наш вопрос.

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

Наверное, плавают спасательные шлюпки, но суть вы поняли.Так что теперь все крутые. Я не получаю эти ложные входные данные. Итак, позвольте мне нажать кнопку, и мой светодиод загорится, это круче или что? Итак, я отпускаю, нажимаю, загорается светодиод, отпускаю, и он гаснет. Итак, если мы подумаем об этой схеме, когда мы нажимаем кнопку, путь наименьшего сопротивления — это что для контакта 2? Путь наименьшего сопротивления должен идти к земле, и поэтому он видит это напряжение земли. Когда мы не нажимаем кнопку, у булавки 2 нет опций. Он увидит, как пять вольт сходят с пятиконтактного контакта на Arduino.И именно поэтому он будет показывать пять вольт или больше.

Подтягивающие и подтягивающие резисторы — основы схемотехники

Если вы посмотрите на любую цифровую электронную схему, вы в основном найдете в ней подтягивающие и подтягивающие резисторы. Они используются для правильного смещения входов цифровых вентилей, чтобы они не плавали случайным образом, когда входное условие отсутствует. Для любого микроконтроллера во встроенной системе, такой как Arduino, подтягивающие и подтягивающие резисторы используют входные и выходные сигналы для связи с внешними аппаратными устройствами, ввод-вывод общего назначения (GPIO).Реализация подтягивающих и подтягивающих резисторов в схеме позволит вам достичь либо «высокого», либо «низкого» состояния. Если вы не реализуете это и к вашим контактам GPIO ничего не подключено, ваша программа будет считывать «плавающее» состояние импеданса.

Подтягивающие резисторы

Подтягивающий резистор используется для создания дополнительного контура по критически важным компонентам, обеспечивая при этом четкое определение напряжения даже при разомкнутом переключателе. Он используется для обеспечения подтягивания провода к высокому логическому уровню при отсутствии входного сигнала.Это не особый вид резистора. Это простые резисторы с постоянным значением, подключенные между источником напряжения и соответствующим выводом, который определяет входное или выходное напряжение в отсутствие управляющего сигнала. Когда переключатель разомкнут, напряжение входа затвора подтягивается до уровня входного напряжения. Когда ключ замкнут, входное напряжение на затворе уходит прямо на землю. Вам нужно использовать подтягивающий резистор, когда у вас низкое состояние импеданса по умолчанию и вы хотите подтянуть сигнал к «высокому».

Схема нагрузочного резистора

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

Подтягивающие резисторы

С другой стороны, подтягивающий резистор используется для обеспечения того, чтобы входы логических систем устанавливались на ожидаемых логических уровнях всякий раз, когда внешние устройства отключены или имеют высокое сопротивление. Это гарантирует, что провод находится на определенном низком логическом уровне, даже если нет активных соединений с другими устройствами.Подтягивающий резистор удерживает логический сигнал вблизи нуля вольт (0 В), когда никакие другие активные устройства не подключены. Он понижает входное напряжение до земли, чтобы предотвратить неопределенное состояние на входе. Он должен иметь большее сопротивление, чем импеданс логической схемы. В противном случае входное напряжение на выводе будет иметь постоянное логическое низкое значение независимо от положения переключателя. Когда переключатель разомкнут, напряжение на входе затвора снижается до уровня земли. Когда ключ замкнут, входное напряжение на затворе переходит на Vin.Без резистора уровни напряжения практически плавали бы между двумя напряжениями.

Схема подтягивающего резистора

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

Идеальные значения сопротивления для подтягивающих и подтягивающих резисторов

Когда кнопка нажата, на входной контакт устанавливается низкий уровень. Значение резистора рядом с источником питания определяет, сколько тока вы хотите пропустить от VCC через кнопку, а затем на землю. Через подтягивающий резистор будет протекать большой ток, если значение сопротивления слишком низкое.Это может привести к ненужному потреблению энергии, даже когда переключатель замкнут, поскольку устройство нагревается. Это состояние называется сильным подтягиванием , и его всегда следует избегать, когда требуется низкое энергопотребление.

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

На основании двух вышеприведенных условий для подтягивающих резисторов необходимо использовать резистор, который как минимум в 10 раз меньше значения импеданса входного вывода. Для логических устройств, работающих при напряжении 5 В, типичное значение подтягивающего резистора должно быть в пределах 1–5 кОм. С другой стороны, для переключателей и резистивных датчиков типичное значение подтягивающего резистора должно быть в пределах 1-10 кОм.

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

Подтягивающие резисторы и подтягивающие резисторы

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


Как работает подтягивающий и подтягивающий резистор

Подтягивающие и подтягивающие резисторы

очень распространены при использовании микроконтроллеров или любых других цифровых логических устройств.Входные и выходные контакты этих устройств должны быть правильно установлены в состояние HIGH или LOW, чтобы цифровая схема работала правильно. Эти логические состояния представлены двумя разными уровнями напряжения, при этом любое напряжение ниже одного уровня считается логическим «0», а любое напряжение выше другого уровня рассматривается как логическая «1». Если вход цифрового логического элемента находится за пределами диапазона, в котором он может восприниматься как логический 0 или логическая 1, то схема может иметь ложный срабатывание, и желаемый результат не может быть получен.

В этом уроке мы покажем вам, как работают подтягивающие и подтягивающие резисторы. Для моделирования схемы мы будем использовать программное обеспечение Proteus.

Аппаратные компоненты

Ниже приведены необходимые аппаратные элементы, необходимые для схемы Pull-up и Pull-down:

Соединение

  1. Откройте программное обеспечение Proteus
  2. Выберите компоненты (упомянутые выше) из библиотеки.
  3. Для схемы нагрузочного резистора: подключите резистор 10 кОм напрямую к +5 В, а затем подключите переключатель и GND.
  4. Подключите вольтметр параллельно выключателю.
  5. Для цепи подтягивающего резистора: подключите переключатель к +5 В, а затем подключите резистор 10 кОм и заземление.
  6. Подключите вольтметр параллельно резистору.

Описание работы

Подтягивающие резисторы

— это просто резисторы с фиксированным значением, которые подключаются между конкретным контактом и источником напряжения. Значение на выводе всегда будет высоким, когда переключатель находится в открытом состоянии.Когда переключатель замкнут, контакт будет подключен непосредственно к земле, а выход на контакт будет низким. Чтобы показать выход схемы, мы подключили вольтметр параллельно переключателю.

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

[inaritcle_1]

Заявка

  • Эта схема широко используется для сопряжения устройств с микроконтроллерами.
  • Подтягивающие и подтягивающие резисторы также используются в шине управления I2C.

Принципиальная схема

подтягивающий подтягивающий резистор

[совпадающее_содержимое]

В чем разница между подтягивающими и подтягивающими резисторами?

Подтяжка предназначена для фиксации неопределенного сигнала до высокого уровня с помощью резистора, который также действует как ограничитель тока.Таким же образом, подтянуть вниз означает зафиксировать неопределенный сигнал на низком уровне с помощью резистора. Подтягивание означает ввод тока в устройство, а подтягивание — вывод тока.

Каталог

 

I Нагрузочный резистор s

но подтягивающий резистор может создать канал выходного тока для схемы.

1. Концепция

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

 Если выходной уровень OC (открытый коллектор, TTL) или OD (открытый сток, CMOS), он не будет работать без подтягивающего резистора. Ни один резистор не может выдать высокий уровень без источника питания.

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

2. Причины использования

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

Цифровая схема имеет три состояния: высокий уровень , низкий уровень , и состояние высокого сопротивления . В некоторых приложениях нежелательно состояние высокого сопротивления, которое можно стабилизировать путем подтягивания вверх или вниз в зависимости от требований конструкции.

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

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

3. Функции и дефекты подтягивающих резисторов

① Функции

● Когда схема TTL управляет схемой CMOS, если выходной высокий уровень схемы ниже ниже ниже уровень схемы CMOS (обычно 3.5В), то необходимо подключить подтягивающий резистор к выходному концу ТТЛ, чтобы увеличить выходной высокий уровень.

● Цепь затвора должна использовать подтягивающий резистор, чтобы увеличить выходной высокий уровень.

● Для повышения управляемости выходных контактов в некоторых микроконтроллерах часто используются подтягивающие резисторы.

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

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

● Улучшить  анти-электромагнитную и помехозащищенность магистрали. На него легко влияют внешние электромагнитные помехи, если штифты плавают.

●Несоответствие сопротивлений при передаче на большие расстояния может легко вызвать интерференцию отраженных волн.Использование нагрузочных резисторов может соответствовать сопротивлению и эффективно подавлять помехи.

② Дефекты

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

4. Меры предосторожности

Следует отметить, что если сопротивление подтяжки слишком велико, на выходе произойдет задержка ( RC-задержка ).

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

Принципы выбора сопротивления подтягивания:

 Учитывая  энергосберегающую и токоотводящую способность   микросхемы, сопротивление должно быть достаточно большим. Если сопротивление велико, то и ток будет мал.

Подтягивающее сопротивление должно быть небольшим, чтобы обеспечить достаточный ток привода.Ток большой, когда сопротивление мало.

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

5. Принцип расчета сопротивления натяжения

① Принцип расчета максимального значения действует на высоких уровнях.

Например, при сопротивлении нагрузки 1К напряжение питания 5 вольт, при высоком уровне требуется не менее 4.5 вольт, то максимальное сопротивление подтяжки R ≧ 1к, значит максимальное значение 1к. Если оно превышает 1 кОм, выходной высокий уровень будет меньше 4,5 вольт.

② Принцип расчета минимального значения

Убедитесь, что номинальный ток   транзистора не превышен. Если транзистор не полевая лампа, а обычный триод, минимальное значение можно рассчитать и по току насыщения.

Например, если Rmin= 5 В/47 мА = 106 Ом, если сопротивление меньше этого сопротивления, транзистор будет перенасыщен.Если оно больше этого значения, сопротивление проводника трубки станет больше, что не способствует низкоуровневому выходному сигналу.

6 . Применение нагрузочного резистора  

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

Перемычки

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

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

II Подтягивающие резисторы

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

1. Basic C oncept

 Подключите неопределенный сигнал к земле через резистор и зафиксируйте его на низком уровне.

 Вывод тока с устройства.

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

2. Подтягивающие резисторы на базе транзистора

Подтягивающий резистор применяется к базе транзистора по следующим причинам:

① Предотвращение шумовых помех

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

База транзистора не может быть подвешена. Когда входной сигнал нестабилен (например, в состоянии высокого импеданса), добавление подтягивающего резистора может эффективно соединить цепь с землей.

Особенно, когда  GPIO (ввод/вывод общего назначения)  связан с этой базой, если микросхема с GPIO только что была включена и инициализирована, внутренняя часть GPIO также находится во включенном состоянии, т.е. очень нестабильна и склонна к шуму, вызывающему сбои в работе. В этом случае добавление подтягивающего резистора может устранить этот эффект. При наличии резкого уровня импульса, когда его длительность очень мала, напряжение может быть легко сброшено резистором, в противном случае оно не может быть стянуто вниз.


Устройства ввода-вывода общего назначения (GPIO)

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

Во избежание временной задержки

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

Облегчение установки напряжения смещения

Добавление подтягивающего резистора к базе в основном предназначено для установки напряжения смещения таким образом, чтобы не было искажения сигнала . Особенно когда во входном сигнале есть переменный ток, если температура повышается, Ic будет увеличиваться, что приводит к увеличению Ie и падению напряжения на Re. Поскольку Vbe = Vb-IeRe, а Vb в основном удерживается подтягивающим резистором, поэтому Vbe уменьшается.Уменьшение Vbe приводит к уменьшению Ib, что приводит к увеличению Ic, что делает Ic в основном постоянным. Это также принцип управления с обратной связью.

Система управления с обратной связью

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

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

III Установка подтягивающих и подтягивающих резисторов

При выборе подтягивающих и подтягивающих резисторов следует учитывать характеристики переключающей трубки и входные характеристики цепи нижнего уровня, которые можно проиллюстрировать в следующих аспектах:

 Возможность движения и потребляемая мощность

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

Управление запросом цепи нижнего уровня

Аналогично, в качестве примера используется подтягивающий резистор. Когда на выходе высокий уровень и переключатель выключен, подтягивающий резистор должен обеспечить достаточный ток для нижней цепи.

Высокий и низкий уровень

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

Частотные характеристики

Для подтягивающих резисторов емкость между подтягивающим резистором и электродом сток-исток переключающей трубки и входная емкость между цепями нижнего уровня легко вызовут RC-задержку. . Большее сопротивление приведет к большему количеству задержек.

IV Принципиальный анализ подтягивающих и подтягивающих резисторов

В Принципиальная схема-1 предположим, что транзистор T1 находится в состоянии насыщения при наличии входного напряжения.

Принципиальная схема-1

Импульсное напряжение 0-5В подается на базу T1. Когда входное напряжение равно 5 В, установите T1 Ube = 0,7 В, поэтому базовый ток T1:

Отложите базовый ток T2, поскольку T1 насыщен, тогда Uce = 0.3V, поэтому:

Принципиальная схема- 2

это Rsr  на рисунке. Во-первых, сделайте входное напряжение T1 равным 0 В, T1 будет отключен, а его коллектор должен выдавать высокий уровень. Но реальное напряжение коллектора равно

, которое не является ни высоким, ни низким.Если входное напряжение немного выше 0В, Т1 может попасть в область усилителя, что сильно увеличит потребляемую мощность транзистора и напряжение на коллекторе будет нестабильным.

Логически, когда лампа Т1 насыщена, ее коллекторное напряжение составляет 0,3 В, что является низким уровнем. Соотношение узел-ток коллектора:

То есть:

Это может быть выполнено с помощью транзистора T1 или любых других компонентов в схеме.Следовательно, когда добавляется система обратного уровня, это будет влиять на напряжение отсечки предыдущего уровня, так что напряжение коллектора транзистора падает с высокого уровня до состояния, которое не является ни высоким, ни низким.

Схема- 3

В этом случае нагрузочный резистор может быть подключен к входу задней цепи, как Rs на схеме 9005 1 Один конец этого резистора подключен к источнику питания Vcc, а другой конец подключен к входной клемме.

Предположим, что Rs = 5K, параллельное значение резисторов 10K и 5K составляет:

,

поэтому напряжение отсечки коллектора T1 составляет:

,

что намного выше, чем последнее вычисленное значение .

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

Следует отметить, что когда трубка Т1 насыщена, ток, генерируемый подтягивающим резистором, будет течь в коллектор.Следовательно, подтягивающий резистор является токоотводящей нагрузкой для T1. При выборе удельного сопротивления подтягивающего резистора необходимо учитывать потребляемую мощность нагрева предыдущего каскада.

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

В Подтягивающие и подтягивающие резисторы  Схема

1.Подтягивающий R Резистор C Цепь

На рисунке показана схема подтягивающего резистора, представляющая собой инвертор в цифровой схеме. Когда на входную клемму Ui инвертора не подается низкий уровень, подтягивающий резистор R1 может стабилизировать входную клемму на высоком уровне , предотвращая помехи низкого уровня, которые могут привести к неисправности инвертора.

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

2. Понижение R Резистор C Цепь

На рисунке показан инвертор в цифровой схеме. Входная клемма Ui заземляется через понижающий резистор R1, так что, когда нет входа высокого уровня, входная клемма может быть стабильной на низком уровне без высокоуровневых помех, которые вызывают неисправность инвертора.

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

 

Рекомендуемый  Артикул :

Что такое переменный резистор?

Анализ резисторов в последовательном и параллельном соединении

Понимание углеродных пленочных резисторов

Руководство для начинающих по прецизионным резисторам

Как управлять многими светодиодами / High LEDs Руководство для начинающих

Подключить светодиод к контакту GPIO можно и часто.Но это будет работать только в том случае, если прямое падение напряжения светодиода составляет менее 5 В (или 3,3 В для некоторых GPIO (некоторые даже до 1,1 В!). GPIO часто ограничен примерно 20 мА, и, например, для Arduino Mega некоторые шины GPIO могут выдавать максимум 100 мА, поэтому одновременно будет гореть только 5 светодиодов. Мало того, если каждый светодиод занимает один GPIO, вы ограничены количеством имеющихся у вас GPIO, и часто не многие контакты имеют возможность ШИМ, поэтому вы даже не можете их затемнить.

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

 

Стандартный метод управления маломощным светодиодом (часто используемый только для отладки) может быть подключен непосредственно к GPIO, как показано ниже

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

Чтобы правильно выбрать резистор (R1 и R? на схеме), вам необходимо знать:

  • Напряжение контактов GPIO (обычно 5В для Arduino и 3.2, чтобы резистор не перегревался. При 20 мА и резисторе 500 Ом вам понадобится резистор на 200 мВт, но стандартный сквозной резистор составляет 0,25-0,5 Вт, так что это нормально, если у вас нет нескольких светодиодов

    .

    Светодиоды высокой мощности могут иметь мощность от 3 Вт до 500 Вт (более 10 Вт очень яркие, и их следует использовать с осторожностью, чтобы не повредить глаза). Светодиоды высокой мощности также часто используют напряжения, намного превышающие 5 В, которые Arduino использует при гораздо более высоких токах. Многие светодиоды мощностью 10 Вт работают при напряжении 12 В, и почти все светодиоды мощностью 100 Вт работают при напряжении 30 В и более, потребляя несколько ампер, поэтому их работа от GPIO мало что даст.

    Решением этой проблемы является полевой МОП-транзистор логического уровня. Вы можете использовать BJT, но полевые МОП-транзисторы, на мой взгляд, лучше, поэтому в этом руководстве мы будем использовать именно их. Вам также понадобится внешний источник питания для светодиода и, возможно, резистор, как описано в шаге 1, но это зависит от вашего драйвера (мы коснемся этого позже).

    МОП-транзисторы

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

    Базовая схема цепи приведена ниже, где R2 выступает в качестве дополнительного подтягивающего резистора, поэтому светодиод не будет светиться, если GPIO будет иметь вход с высоким импедансом:

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

    • Выберите сквозное устройство
    • Выберите тип N
    • Найти низкое сопротивление в открытом состоянии (менее 0.2 и убедитесь, что МОП-транзистор может рассеивать выделяемое им тепло. Если нет, вам может понадобиться радиатор на MOSFET.

      Светодиоды

      управляются током, а не напряжением, как думают некоторые. При выборе источника питания для светодиода у вас есть несколько вариантов. С маломощными вещами у вас все будет хорошо, если вы используете стандартные шины 5 В / 3,3 В на устройстве с токоограничивающим резистором, как показано на шаге 1. Источник питания для этого — постоянное напряжение, то есть он пытается поддерживать напряжение на уровне постоянный уровень и текущие изменения.При использовании светодиода высокой мощности использование этого метода может стать очень неэффективным, и яркость светодиода будет меняться по мере нагревания, поскольку значение резистора будет меняться по мере нагревания.

      Решением этой проблемы является стабилизатор постоянного тока постоянного напряжения (их легко найти, и их часто называют просто светодиодными драйверами). Эти устройства часто могут повышать или понижать входное напряжение в соответствии с потребностями светодиода, но, что наиболее важно, они будут снижать свой выходной сигнал, чтобы не превысить указанный вами предел тока.Это означает, что когда вы включаете его, драйвер будет регулировать светодиод при постоянном напряжении, а затем, когда он нагревается и потребляет все больше и больше тока, как только он достигает порога (скажем, 2 А), он снижает напряжение, чтобы поддерживать максимальное значение. 2А, что намного лучше для здоровья светодиода.

      Что делать, если у вас недостаточно GPIO? Arduino Uno позволяет использовать до 20 контактов GPIO, поэтому у вас может быть 20 светодиодов, если вы использовали предыдущие концепции, но тогда у вас нет места ни для чего другого, а что, если вам нужно даже больше 20 светодиодов?

      Одним из решений является разводка светодиодов в матричной схеме, как показано ниже:

      Использует только 8 GPIO, но позволяет управлять 16 светодиодами, но масштабируется, т.е.Использование 16 gpio позволяет управлять 64 светодиодами. Единственным недостатком является то, что вы должны вести его столбец за столбцом (или строку за строкой), так что вы можете реально управлять только 4 светодиодами одновременно, но если вы переключаетесь между ними достаточно быстро, вы не можете видеть это для человека. глаз.

      Это работает следующим образом, например, если вы хотите, чтобы светодиод в четвертом столбце и третьем ряду внизу (D12) был включен, вы должны потянуть GPIO 8 на низкий уровень и GPIO 3 на высокий уровень, что, в свою очередь, приведет только к включению светодиода. в четвертом столбце вдоль и в третьем ряду вниз.Однако вам нужно будет потянуть GPIO 1, 2 и 4 на низкий уровень и GPIO 5, 6 и 7 на высокий уровень, чтобы включить только светодиод D12.

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

      Другой способ управления большим количеством светодиодов — использовать что-то вроде микросхемы PCA9685, которая использует I2C, чтобы дать вам до 16 дополнительных выходов ШИМ.Вы также можете иметь несколько из них на I2C, если вам нужно больше, но это может ограничить скорость передачи данных. Эти модули PCA9685 часто продаются как сервоприводы, но они работают в диапазоне от 0 до 1, поэтому вы можете легко использовать их в качестве драйверов светодиодов.

      Тем не менее, PCA9685 имеет ограничение в 25 мА, что означает, что вы застряли со светодиодами с меньшей мощностью, хотя вы все равно можете подключить выход к MOSFET и управлять светодиодами с большей мощностью, но вам довольно редко нужно управлять таким большим количеством мощных светодиодов. светодиоды с питанием.

      Схема для PCA9685 показана ниже с перемычками на A0-A5 для выбора адреса I2C.C1 действует как пул заряда, поэтому светодиоды могут найти ток для быстрого включения, а C2 действует как развязывающий конденсатор для снижения шума и должен быть расположен как можно ближе к ИС.

      Существует множество драйверов светодиодов, и многие из них используют различные типы интерфейсов, такие как последовательный или SPI, но осмотритесь и посмотрите, что вы можете найти. Любой драйвер, который использует интерфейс, а не просто драйвер, означает, что вы можете сэкономить много GPIO, а также приводит к меньшей сложности, поскольку вам не нужно беспокоиться о программировании пошагового прохождения через строки и столбцы, как это было бы необходимо на шаге 4. .

      Иногда вам нужно управлять целой группой светодиодов, поэтому вы можете использовать адресные светодиоды, такие как WS2812 (обычно используемый адресный светодиод).

      Они часто поставляются в виде полос или панелей, но их можно найти и в виде отдельных светодиодов на плате, например, этот

      Они работают, обеспечивая светодиоды 5 В (иногда 12 В) и GND, а затем контакт данных. Контакт данных — это одиночный провод, который подключен к контакту GPIO на Arduino. Данные передаются на вход данных светодиода, а затем данные снова выводятся на следующий светодиод через выходной контакт на светодиоде.Данные отправляются таким образом, что каждый светодиод получает данные о своем цвете и яркости, чтобы вы могли указать такие вещи, как 3-й светодиод в строке зеленый, а 4-й оранжевый. Эти светодиоды можно менять с частотой 800 Гц (ограничено тем, сколько вы поместите в цепочку), и это означает, что вам нужен только один контакт на Arduino.

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

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

      • Если нужно быстро и красиво, используйте адресные светодиоды
      • Если вам нужна максимальная яркость (например, фонарик), используйте полевой МОП-транзистор для управления большим светодиодом
      • Если вам нужно много-много светодиодов, но вы хотите использовать свой собственный выбор светодиодов, используйте внешние драйверы, такие как PCA9685, и, при необходимости, каждый выход IC управляет MOSFET, который управляет светодиодом
      • Если вам просто нужно, чтобы простой светодиод мигал, чтобы сообщить вам, что он не вышел из строя, просто подключите его напрямую к GPIO с помощью резистора
      • .

       

       

      Подтягивающие резисторы I2C — Rheingold Heavy

      [mathjax][/mathjax]
      В предыдущем модуле мы рассмотрели основы I2C.Теперь мы собираемся более подробно рассмотреть подтягивающие резисторы, чтобы понять их функции и то, как они могут быть точно рассчитаны.

      Объективы

      1. Поймите, что подразумевается под подтягивающим резистором.
      2. Узнайте, что делают подтягивающие резисторы в цепи I2C.
      3. Уметь вычислить наименьший R P , используя V OL и I OL .
      4. Понимание концепции времени нарастания шины.
      5. Поймите, что подразумевается под емкостью шины и как с ней взаимодействуют подтягивающие резисторы.
      6. Уметь вычислить наивысший R P , используя все элементы C BUS .

      Общие сведения
      Основы I2C
      Прочтение предыдущих разделов будет полезно для менее опытных пользователей, но не обязательно.


      Схема
      С этим модулем не связана никакая схема.


      Настройка
      Этот модуль посвящен теории I2C, поэтому на данном этапе аппаратное обеспечение не требуется.


       

      5 августа 2021 г. — Краткое примечание. Я заметил, что формулы LaTex, включенные в этот модуль (и некоторые другие), отображаются неправильно. Я работаю над решением этой проблемы на бэкэнде! Простите за неудобства!!

      Подтягивающие резисторы I2C

      Как обсуждалось в модуле «Основы I2C», резисторы, которые обычно встречаются в цепях I2C, расположенных между линиями SCL и SDA и источником напряжения, называются подтягивающими резисторами. Но что такое подтягивающий резистор?

      Подтягивающий резистор используется для обеспечения состояния по умолчанию для сигнальной линии или контакта ввода/вывода общего назначения (GPIO).Как правило, они имеют высокое сопротивление в тысячи или десятки тысяч Ом. Высокое сопротивление гарантирует, что вы не будете вампирски высасывать слишком большой ток на постоянной основе через резистор в вашу систему (5 В / 10000 Ом = 0,5 мА тока), и на самом деле основной чип Arduino, Atmel ATMEGA328P, имеет внутренние 20 кОм. подтягивающие резисторы, которые можно включить с помощью кода для установки контактов GPIO в состояние высокого логического уровня.

      В случае I2C схемы, внутренние для подсистем обработки SCL и SDA микросхем, которые вы будете использовать, являются «открытыми стоками», что означает, что они могут потреблять ток, но не могут получать ток.Это означает, что вы подаете его им в виде логического высокого напряжения вашей схемы, которое в случае Arduino Uno обычно составляет 5 В. Чтобы установить это высокое напряжение, вы подключаете подтягивающий резистор между 5 В и шинами SCL и SDA соответственно. Это рисунок из предыдущего модуля, описывающий, что…

      Подтягивающий резистор I2C Объяснение

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

       


      Логический высокий и низкий уровень I2C

      «Напряжение низкого входного уровня», r L , составляет 0,3 x Vdd
      «Напряжение высокого входного уровня», r H , составляет 0,7 x Vdd

      Итак, когда мы подключаем все к нашему Arduino, нам нужно убедиться, что наши линии SCL и SDA имеют напряжение выше 3,5 В для регистрации высокого логического сигнала и ниже 1,5 В для регистрации низкого логического сигнала. Все, что между ними, это… ну… HIC SVNT DRACONES.

      Тем не менее, вы должны достичь определенного уровня напряжения, чтобы даже заставить внутренний MOSFET работать на вашей шине I2C, но не настолько, чтобы мы сожгли контакт.Думайте об этом как о падении напряжения на светодиодах. Если у вас есть падение на 1,7 В на вашем светодиоде, он не загорится, если вы не подадите напряжение выше этого, но вы должны ограничить ток до значения, указанного в техническом описании, чтобы не разрушить его. Таким образом, если у вас есть светодиод с падением напряжения 1,7 В и номинальным током 30 мА, вы можете найти токоограничивающий резистор следующим методом: (5,0–1,7 В) / 0,030 А = резистор 110 Ом.

      В случае наших выводов I2C номинал, указанный в техническом описании, равен V OL и I OL .Это из таблицы данных датчика температуры Atmel AT30TS750, которую мы будем использовать в нашем первом компонентном модуле I2C.

      Символ Параметр Условие Значение
      В OL1 Низкое выходное напряжение I OL1 = 3 мА 0,4 В

      Таким образом, в этом случае вычисление (5,0 В – 0,4 В) / 0,003 А = 1533 Ом. Это представляет собой минимально возможное значение подтягивающего резистора, обычно обозначаемое R P , которое вы можете использовать, потому что что-то меньшее сожжет ваши контакты I2C.Значение резистора будет больше при меньшем I OL , поэтому наименьшее значение I OL на шине будет определять минимальное значение R P .

      Откройте для себя радость понимания электроники

      24 мая 2019 г. • учебник

      В этой статье мы обсудим простой вопрос о том, как считывать состояние кнопки с помощью микроконтроллера. Как мы можем проверить, нажата кнопка или нет? Каковы распространенные ловушки?

      Вы можете сказать, что это не очень интересный проект сам по себе, и я это понимаю.Но я также убежден, что разбить более сложный проект на небольшие удобоваримые части — отличная идея для глубокого понимания темы. Таким образом, позже, в более сложных проектах, мы сможем сосредоточиться на интересных вещах, не отвлекаясь. Итак, поехали!

      Что такое кнопка?

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

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

      Здесь вы можете увидеть кнопку, которую мы хотим использовать, и ее принципиальную схему:

      Схема нашей простой тестовой схемы

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

      Он построен на основе PIC16F627A , который мы уже использовали в руководстве по миганию светодиодов, но основы, которые мы рассмотрим в этом руководстве, могут быть применены к любому микроконтроллеру PIC. Так что, если вы хотите использовать другой контроллер, вы можете продолжить чтение 🙂

      Давайте рассмотрим основы схемы, шаг за шагом:

      • Символы питания +5V и GND не являются компонентами, а просто символами.Все, что подключено к символу +5V, должно быть подключено к положительной клемме источника питания +5V, а все, что подключено к символам GND, должно быть подключено к клемме заземления. Иногда удобнее использовать несколько символов +5V и GND, потому что это избавляет нас от прорисовки ненужных лишних полос на принципиальной схеме, что делает ее менее читаемой. Дайте мне знать, если вы найдете это запутанным, мы можем раскрыть эту тему в следующем посте, если хотите 🙂
      • С этим покончено, давайте сосредоточимся на более интересных вещах! 🙂 Пин RB0 подключен к кнопке и к 4.Резистор 7кОм. Если кнопка нажата, контакт RB0 подключается к земле. Если кнопку отпустить, RB0 подключается к +5В через резистор. Подробнее об этом позже.
      • Существует также светодиод , подключенный к порту RB3, и это точно такая же схема, которую мы использовали в нашем руководстве по миганию светодиодов несколько недель назад. Мы будем использовать светодиод для индикации состояния кнопки.
      • Важно, чтобы контакт MCLR (основной сброс) также был подключен к +5 В, потому что в противном случае PIC16F627A будет постоянно перезагружаться и никогда не запустится.Мы говорили о функции штифта MCLR в нашем уроке по pic-flash, посмотрите, если хотите 🙂

      Теперь мы знаем, как выглядит схема. Давайте теперь поймем и это !

      Логические уровни: буквально 101 цифровая схема

      Два состояния кнопки дискретны. Что я имею в виду? Между ними нет ничего! Либо его толкают, либо отпускают. Нет такой вещи, как половинчатый.В электронике такие дискретные состояния еще называют логическими уровнями .

      Логические уровни имеют два состояния, традиционно обозначаемые как 0 или 1. Вы также можете представить их как ВЫКЛ или ВКЛ, или НИЗКИЙ и ВЫСОКИЙ. Цифровые схемы, такие как схемы микроконтроллеров, работают почти исключительно с такими сигналами, и это объясняет каламбур в заголовке этого раздела.

      Важное сообщение: +5V называется 1 или HIGH -level, а GND называется 0 или LOW -level.

      Подтягивающие и подтягивающие резисторы

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

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

      И действительно, если вы нажмете кнопку, то на контакте RB0 будет НИЗКИЙ уровень (потому что он соединен с землей). Но что, если кнопка остается открытой? Ну, тогда входы просто плавают! И это плохо, т.к. плавающий вход не имеет определенного логического уровня который будет сбивать с толку микроконтроллер.

      Вот почему мы добавляем на схему резистор R1:

      Когда кнопка разомкнута, резистор R1 подключает контакт RB0 к +5В. Вот почему мы называем его подтягивающим резистором : он подтягивает логический уровень до ВЫСОКОГО.

      Хорошо, но зачем нам резистор R1? спросите вы. И правда, если кнопка разомкнута, то ситуация точно такая же: пин RB0 будет подключен напрямую к +5В.

      Но что происходит, когда вы нажимаете кнопку? Тогда +5В будет подключено напрямую к GND, что является коротким замыканием! Короткое замыкание — это смерть любой цепи, и мы должны избегать его любой ценой.Нет ничего, что ограничивало бы ток, протекающий от +5 В к земле, что приводило к перегреву и возможной гибели электроники. Итак, еще раз, вот правильная схема, и я надеюсь, что смог убедить вас, что это имеет смысл:

      Значение подтягивающего резистора не очень критично. Для цепей 5 В часто используется значение 4,7 кОм, но вы также можете использовать вместо него 10 кОм. Все, что ниже 4,7 кОм, не является хорошей идеей, потому что тогда ток, протекающий через резистор, будет излишне высоким.

      Наконец, вы, конечно, можете использовать подтягивающий резистор . Это что? Это почти та же идея! Единственное отличие состоит в том, что подтягивающие резисторы соединяют вход PIC с землей, а затем вы устанавливаете переключатель между +5 В и входным контактом. Совершенно не важно, какой вариант вы выберете. Если вам интересно: мы выбираем вариант подтяжки в этом руководстве, потому что многие PIC-контроллеры имеют внутренних подтягивающих резистора , которые могут включаться автоматически, так что нам больше не нужен внешний резистор.Об этом мы поговорим ниже.

      Цифровой вход для микроконтроллера PIC

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

      Теперь скажем PIC16f627A обрабатывать RB0 как вход.Это довольно просто, мы должны установить так называемый tristate -register в значение 1:

        TRISB0 = 1;  

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

      • Настройка пинты как ввода : регистр с тремя состояниями установлен в 1 («1» выглядит как «I» в I ввод)
      • Настройка пинты как вывода : регистр с тремя состояниями установлен в 0 («0» выглядит как «O» в O вывода)

      Затем мы можем определить аббревиатуру для порта RB0, чтобы сделать наш код более понятным для пользователя:

        # определить ПО RB0  

      После этой строки мы можем ссылаться на RB0 как SW в коде (на мой взгляд, «SW» — это аббревиатура от «switch», но вы, конечно, можете использовать любую другую аббревиатуру, которую хотите.)

      Теперь мы хотим узнать, нажата ли кнопка. Как мы это делаем? Нам нужны эти строки:

        если (!ПО) {
      // сделай что-нибудь
      }
        

      Вы заметили «!» подписать? Этот инвертирует результат считывания SW. Если SW равно 1, то !SW равно 0, а если SW равно 0, то !SW равно 1. Звучит запутанно, но все, что он делает, это переключает 0 на 1 и 1 на 0.

      Нам нужно использовать «!» потому что, когда кнопка нажата, вход будет НИЗКИМ (потому что кнопка соединяет вход с землей).Если мы хотим вместо этого реагировать на отпускание кнопки, мы пишем вместо этого:

      .
        если (ПО) {
      // сделай что-нибудь
      }
        

      Наконец, есть хороший способ захватить как нажатую, так и отпущенную кнопку. Это работает так:

        если (!ПО) {
      // делаем что-то, когда кнопка нажата
      } еще {
      // делаем что-то еще, когда кнопка отпущена
      }
        

      Полный исходный код

      Хорошо, вот полный исходный код во всей красе:

        /*
       * Файл: основной.с
       * Автор: бос
       *
       * Создано 23 мая 2019 г., 21:58.
       */
       
      // НАСТРОЙКА
      #pragma config FOSC = INTOSCIO // Биты выбора генератора (генератор INTOSC: функция ввода-вывода на выводе RA6/OSC2/CLKOUT, функция ввода-вывода на выводе RA7/OSC1/CLKIN)
      #pragma config WDTE = OFF // Бит включения сторожевого таймера (WDT отключен)
      #pragma config PWRTE = OFF // Бит включения таймера включения (PWRT отключен)
      #pragma config MCLRE = ON // Бит выбора функции вывода RA5/MCLR/VPP (функция вывода RA5/MCLR/VPP — MCLR)
      #pragma config BOREN = ON // Бит разрешения обнаружения отключения питания (BOD включен)
      #pragma config LVP = OFF // Бит разрешения низковольтного программирования (вывод RB4/PGM имеет функцию цифрового ввода/вывода, для программирования необходимо использовать HV на MCLR)
      #pragma config CPD = OFF // Бит защиты кода памяти данных EE (защита кода памяти данных выключена)
      #pragma config CP = OFF // Бит защиты кода флэш-памяти программ (защита кода выключена)
      
      #включить 
      
      # определить ПО RB0
      # определить светодиод RB3
      # определить _XTAL_FREQ 4000000
      
      недействительным основным (недействительным) {
      
      // RB0 — вход
      ТРИСБ0 = 1;
      
      // RB3 — это выход
      ТРИСБ3 = 0;
      
      в то время как (1) {
      
      если (!SW) {
      светодиод = 1;
      } еще {
      светодиод = 0;
      }
      
      }
      
      возвращение;
      }
        

      Debouncing: что это такое и зачем вам это?

      До сих пор все, что делает наша программа, — это напрямую отображает состояние кнопки с помощью светодиода.Нажмите кнопку, загорится светодиод. Отпустите кнопку, и светодиод погаснет. Это не очень реалистичное приложение.

      Обычно кнопки используются для передачи некоторой информации в контроллер. Когда вы устанавливаете время на своей микроволновой печи, а сейчас 9 утра, вы должны нажать кнопку часов девять раз, чтобы перевести часы с 12 до 9 утра.

      Рассмотрим следующую схему (на этот раз с подтягивающим резистором вместо подтягивающего резистора, просто для развлечения):

      При нажатии кнопки S1 PIC-INPUT подключается к +5В.В противном случае он подключается к GND через подтягивающий резистор. Представьте теперь, что вы нажимаете кнопку в реальной жизни, удерживаете ее и очень внимательно следите за сигналом на этикетке PIC-INPUT . Вы увидите что-то вроде этого:

      Зеленая линия – сигнальный или логический уровень. Мы видим, что при нажатии на кнопку она прыгает! Это называется подпрыгиванием , и это происходит потому, что механический переключатель внутри кнопки вибрирует, когда кнопка нажата.Это очень быстрый процесс и длится всего около 0,5-1 миллисекунды. Не все кнопки подпрыгивают, но большинство из них. Это невидимо для человеческого глаза, но наши быстрые электронные схемы сбиваются с толку.

      Это настоящая проблема: подумайте еще раз о своей микроволновой печи. Когда вы нажимаете кнопку только один раз (как на графике выше), вы хотите увеличить часы с 13:00, скажем, до 14:00. Но что произойдет? Глядя на приведенную выше диаграмму, вы видите, что одно нажатие кнопки на самом деле регистрируется как более чем одно, в данном случае как три нажатия кнопки!

      Противодействие этому дребезгу называется устранением дребезга , кто бы мог подумать 🙂 Есть много способов сделать это, и на эту тему есть две отличные статьи на страницах All About Circuits и The Lab Book Pages.

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

      Устранение дребезга в программном обеспечении

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

      Вышеупомянутое программное обеспечение просто отображает состояние кнопки на светодиоде. Если кнопка нажата, светодиод загорается.Если кнопку оставить отпущенной, светодиод не горит. Таким образом, даже если есть подпрыгивание, мы никогда его не увидим: светодиод будет просто очень быстро мигать, а затем перестанет гореть после того, как мы отпустим кнопку, и подпрыгивание будет завершено.

      Итак, я написал другую программу. Он делает следующее:

      • В начале светодиод выключен.
      • Каждое нажатие кнопки меняет состояние светодиода.

      Задумайтесь на секунду. Это немного другая программа, чем раньше, и теперь нам очень нужна антидребезговая .

      Хорошо, но как это реализовать? Это очень просто 🙂 Ключевое наблюдение заключается в том, что подпрыгивание происходит очень быстро, поэтому нам просто нужно игнорировать очень быстрые изменения кнопок! Как мы скажем нашему PIC сделать это?

      Вот соответствующий код (полный код ниже):

        пока (1) {
      
      // переключить статус
      // (но только при нажатии кнопки
      // И когда прошло достаточно времени с момента последнего нажатия кнопки )
      если ((!SW) && (SW_debounce == 0)) {
      статус = !статус;
      }
      
      // если кнопка активна, устанавливаем буфер
      если (!SW) {
      SW_debounce = 100;
      }
      
      // управляем светодиодом
      если (статус) {
      светодиод = 1;
      } еще {
      светодиод = 0;
      }
      
      // устранение дребезга
      если (SW_debounce > 0) {
      SW_debounce--;
      }
      
      }
        

      Давайте пройдемся по строкам и объясним основную мысль!

      • Строки 1 и 27 составляют основной цикл, который выполняется снова и снова.
      • Строки 3-8 реагируют на нажатие кнопки. Переменная status содержит состояние светодиода. Выражение status = !status; инвертирует значение переменной, что мы и хотим, чтобы нажатие кнопки делало, ничего особенного.
      • Строки 15-20 довольно стандартны и просто отображают содержимое переменной состояния на светодиод.
      • Строки 11-13 важны для устранения дребезга. Помните, что вначале переменная буфера SW_debounce имеет нулевое значение.Однако всякий раз, когда кнопка нажимается, она устанавливается на 100. Затем второе нажатие кнопки (из-за подпрыгивания) не будет зарегистрировано программным обеспечением, потому что второе условие в строке 6 ( SW_debounce == 0 ) больше не выполняется. .
      • Если бы не строки 22-25, мы бы зашли в тупик, потому что больше никогда не сможем переключать светодиод. Помните, что внутренняя частота работы составляет 4 МГц, что соответствует примерно одному миллиону операций в секунду (вы должны делить на четыре по техническим причинам).Каждый раз, когда основной цикл проходит, в конце мы вычитаем 1 из переменной буфера SW_debounce . После ста циклов переменная буфера возвращается к нулю, и программное обеспечение может снова реагировать на нажатие кнопки.
      • Мы надеемся, что к тому времени, когда программа снова сможет реагировать, фаза дребезга кнопок уже закончилась. Таким образом мы можем научить контроллер игнорировать подпрыгивание. Число 100 выбирается методом проб и ошибок. Когда вы работаете с переключателями, просто немного поиграйте с этим числом.Это зависит от вашего коммутатора (некоторые из них имеют смехотворно долгое время возврата), а также от скорости работы. Если вы запускаете свою программу на низкой частоте в несколько кГц, значение 100 может сделать вашу программу слепой к нажатиям кнопок на пару секунд!

      Дайте мне знать, понятно ли вам это объяснение. Если вам непонятно, я постараюсь объяснить это лучше в следующий раз 🙂 Вот полный код:

        /*
       * Файл: main.c
       * Автор: бос
       *
       * Создано 23 мая 2019 г., 22:13
       */
       
      // НАСТРОЙКА
      #pragma config FOSC = INTOSCIO // Биты выбора генератора (генератор INTOSC: функция ввода-вывода на выводе RA6/OSC2/CLKOUT, функция ввода-вывода на выводе RA7/OSC1/CLKIN)
      #pragma config WDTE = OFF // Бит включения сторожевого таймера (WDT отключен)
      #pragma config PWRTE = OFF // Бит включения таймера включения (PWRT отключен)
      #pragma config MCLRE = ON // Бит выбора функции вывода RA5/MCLR/VPP (функция вывода RA5/MCLR/VPP — MCLR)
      #pragma config BOREN = ON // Бит разрешения обнаружения отключения питания (BOD включен)
      #pragma config LVP = OFF // Бит разрешения низковольтного программирования (вывод RB4/PGM имеет функцию цифрового ввода/вывода, для программирования необходимо использовать HV на MCLR)
      #pragma config CPD = OFF // Бит защиты кода памяти данных EE (защита кода памяти данных выключена)
      #pragma config CP = OFF // Бит защиты кода флэш-памяти программ (защита кода выключена)
      
      #включить 
      
      # определить ПО RB0
      # определить светодиод RB3
      # определить _XTAL_FREQ 4000000
      
      недействительным основным (недействительным) {
      
      // RB0 — вход
      ТРИСБ0 = 1;
      
      // RB3 — это выход
      ТРИСБ3 = 0;
      
      // переменная состояния, которую мы хотим переключать нажатием кнопки
      инт статус = 0;
      
      // вспомогательная переменная устранения дребезга
      интервал SW_debounce = 0;
      
      в то время как (1) {
      
      // переключить статус
      // (но только при нажатии кнопки
      // И когда прошло достаточно времени с момента последнего нажатия кнопки )
      если ((!SW) && (SW_debounce == 0)) {
      статус = !статус;
      }
      
      // если кнопка активна, устанавливаем буфер
      если (!SW) {
      SW_debounce = 100;
      }
      
      // управляем светодиодом
      если (статус) {
      светодиод = 1;
      } еще {
      светодиод = 0;
      }
      
      // устранение дребезга
      если (SW_debounce > 0) {
      SW_debounce--;
      }
      
      }
      
      возвращение;
      }
        

      Используйте внутренние подтягивающие резисторы

      Многие микроконтроллеры PIC имеют внутренние подтягивающие резисторы .Их можно включить или выключить, установив определенный бит в программном обеспечении. Для PIC16F627A они включаются так:

        nRBPU = 0;  

      Да, это включает их. Почему нам нужно установить его на ноль, чтобы включить их? Это техническая особенность, но вы можете сказать это по названию бита конфигурации. Это не RBPU , а скорее nRBPU , где «n» означает «отрицательный».

      И, говоря об аббревиатурах, RBPU расшифровывается как Port B Pull-Up .Обратите внимание, что мы не указали, для какого входного контакта мы включили подтягивания! Это связано с тем, что RBPU обеспечивает подтягивание каждого входного контакта на ПОРТУ B (ПОРТ B — это совокупность всех контактов RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7).

      Но подождите, разве это не портит наш светодиод на порту RB3? вы можете удивиться. Нет, RBPU влияет только на те контакты, которые настроены как входы. Поскольку мы настроили контакт RB3 как выход, он остается неизменным.

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

      Я перечислил окончательный исходный код, который устанавливает внутренние подтяжки и который поставляется с программным устранением дребезга, в приложении. Приведенная выше схема является наиболее идеальной, которую мы можем построить с помощью PIC16F627A, потому что она использует наименьшее количество внешних компонентов, и в будущем мы будем видеть такую ​​схему бессчетное количество раз 🙂

      Что теперь?

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

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

      Приложение: Программное устранение дребезга с включенными внутренними подтягиваниями

        /*
       * Файл: main.c
       * Автор: бос
       *
       * Создано 24 мая 2019 г., 00:05
       */
       
      // НАСТРОЙКА
      #pragma config FOSC = INTOSCIO // Биты выбора генератора (генератор INTOSC: функция ввода-вывода на выводе RA6/OSC2/CLKOUT, функция ввода-вывода на выводе RA7/OSC1/CLKIN)
      #pragma config WDTE = OFF // Бит включения сторожевого таймера (WDT отключен)
      #pragma config PWRTE = OFF // Бит включения таймера включения (PWRT отключен)
      #pragma config MCLRE = ON // Бит выбора функции вывода RA5/MCLR/VPP (функция вывода RA5/MCLR/VPP — MCLR)
      #pragma config BOREN = ON // Бит разрешения обнаружения отключения питания (BOD включен)
      #pragma config LVP = OFF // Бит разрешения низковольтного программирования (вывод RB4/PGM имеет функцию цифрового ввода/вывода, для программирования необходимо использовать HV на MCLR)
      #pragma config CPD = OFF // Бит защиты кода памяти данных EE (защита кода памяти данных выключена)
      #pragma config CP = OFF // Бит защиты кода флэш-памяти программ (защита кода выключена)
      
      #включить 
      
      # определить ПО RB0
      # определить светодиод RB3
      # определить _XTAL_FREQ 4000000
      
      недействительным основным (недействительным) {
      
      // включить подтягивания на PORTB
      // (Да, мы должны установить его в ноль, чтобы включить его, потому что этот бит конфигурации инвертирован.
      // Это видно по предыдущей "n" перед "RBPU")
      nRBPU = 0;
      
      // RB0 — вход
      ТРИСБ0 = 1;
      
      // RB3 — это выход
      ТРИСБ3 = 0;
      
      // переменная состояния, которую мы хотим переключать нажатием кнопки
      инт статус = 0;
      
      // вспомогательная переменная устранения дребезга
      интервал SW_debounce = 0;
      
      в то время как (1) {
      
      // переключить статус
      // (но только при нажатии кнопки
      // И когда прошло достаточно времени с момента последнего нажатия кнопки )
      если ((!SW) && (SW_debounce == 0)) {
      статус = !статус;
      }
      
      // если кнопка активна, устанавливаем буфер
      если (!SW) {
      SW_debounce = 100;
      }
      
      // управляем светодиодом
      если (статус) {
      светодиод = 1;
      } еще {
      светодиод = 0;
      }
      
      // устранение дребезга
      если (SW_debounce > 0) {
      SW_debounce--;
      }
      
      }
      
      возвращение;
      }
        
      .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *