Как подключить ne555 к ардуино
Arduino.ru
Управление NE555 оптопарой
Собираю блок управления коллекторного двигателя 12v. Интересует такой вопрос,шим вывод UNO подсоединен к оптотранзистору CNY-17,коллектор оптотранзистора управляет выводом 4 (сброс) NE555, которая в свою очередь рулит затвором полевика. Леплю из того что есть. На сколько жизнеспособна такая схема?
хотя конечно как вариант подключить полевик на ULN2803 все равно есть свободные ноги и в скетче инвертировать шим максимум оборотов будет = 0. а минимум =255. Но что то напрягает,боюсь что,в регулировках оборотов при увеличении или уменьшении начнется блукание и головная боль. Скетч еще тоже из набросков потому показывать пока не буду,более менее приведу в порядок и выложу на суд,хотя наверное раньше вопросами всех задолбаю.
Спасибо,тупо не знал.
А на транзисторах схема драйвера мосфета не нравится совсем? Типа такой:
Весьма приличные параметры параметры у нее.
есть еще одна схема. еще не проверял. вырезал кусок. там вообще была и верхняя часть сделана на 555 с накачкой для открытия верхнего полевика. нижнюю часть вырезал. рекомендовать не буду, но как вариант. мне понравилась минимумом компонентов и достопностью
Линк, со всеми примерами и калькуляторами: http://home.cogeco.ca/
значит хорошо. не рекомендовал потому что не проверял. единственное вроде инвертирует сигнал, но это можно в коде исправить
Цифровой измеритель емкости с использованием Arduino Uno и таймера NE555
в Ардуино 0 3,424 Просмотров
Емкостные датчики широко используются для измерения различных физических и химических параметров процесса, таких как смещение, ускорение, толщина, усилие, давление, напряжение, уровень и влажность. При этом измеренное значение емкости сопоставляется с измеряемой величиной для дальнейшей индикации или управления.
Этот проект на Arduino UNO позволяет измерять емкость в диапазоне от 1 мкФ до 1 мФ с последующим выводом результата на LCD индикатор и на монитор компьютера (последовательный монитор Arduino IDE).
Приведем две схемы: первая схема — с таймером NE555, который работает в режиме нестабильного мультивибратора, вторая — с таймером NE555 в моностабильном режиме.
Первая схема
Здесь таймер NE555 (IC1) работает с двумя внешними резисторами (R1 и R2) и с конденсатором (Cx), емкость которого должна быть измерена. IC1 питается от +5В платы Arduino, таким образом, отпадает необходимость в использовании внешнего источника питания.
Таймер IC1 на выводе 3 генерирует прямоугольные импульсы амплитудой 5В с определенной частотой (в зависимости от значений R1, R2 и Cx).
Вывод 3 IC1 подключен к контакту 2 платы Arduino. Так как этот вывод Arduino является аппаратным прерыванием (Interrupt 0), исходный код (capacityitance1.ino), загруженный в Arduino, использует обработчик прерываний, который выполняется всякий раз, когда на выходе таймера происходит переход сигнала с низкого на высокий уровень. Таким образом, непрерывно высчитывается период импульса.
Период импульса (T) зависит от параметров R1, R2 и Cx:
T = 0,693 × (R1 + 2 × R2) × Cx => Cx = 1,443 × T / (R1 + 2 × R2)
Измеренное значение Cx (в мкФ) затем выводиться на LCD индикатор и монитор компьютера.
Исходный код (capacitance1.ino) написан на языке программирования Arduino. Микроконтроллер Atmega328/Atmega328P запрограммирован с использованием программного обеспечения Arduino IDE. Выберите правильную плату из меню Инструменты→Плата в Arduino IDE и запишите программу (скетч) через стандартный порт USB на вашем компьютере.
Вторая схема
В данном случае таймер NE555 (IC1) работает в режиме моностабильного мультивибратора с внешним резистором R1 и конденсатором (Cx), емкость которого должна быть измерена.
В этом режиме работы, когда на триггерном выводе таймера с вывода 9 Arduino устанавливается логический ноль, на выходе таймера 3 устанавливается высокий уровень около 5 В в течение определенного периода времени, который определяется значениями R1 и Cx.
Период времени (T), при котором выход таймера остается высоким, определяется по формуле:
T = 1,1 × R1 × Cx => Cx = T / (1,1 × R1)
Так же как и в предыдущей схеме, выход таймера подключен к контакту 2 Arduino, который является выводом аппаратного прерывания (Interrupt 0). Исходный код (capacitance2. ino), загруженный в Arduino, использует обработчик прерывания в пределах прерывания, то есть двухуровневую вложенную подпрограмму прерываний (ISR).
Первый обработчик прерываний запускается каждый раз, когда выход таймера переходит от низкого к высокому состоянию, а второй ISR вызывается из первого, когда выход таймера переходит от высокого к низкому.
Таким образом, время, в течение которого выход таймера остается высоким, получается путем вычисления разницы во времени между двумя такими последовательными прерываниями, которые равны T.
Скетч (capacitance2.ino), написанный на языке программирования Arduino.
Триггерный импульс с высокого уровня на низкий, подаваемый с вывода 9 Arduino на вывод 2 IC1, генерируется с помощью следующего кода:
digitalWrite (9, HIGH);
digitalWrite (9, LOW);
digitalWrite (9, HIGH);
> Примечание. Чтобы измерить емкость конденсатор (Cx), подключите конденсатор и нажмите Reset на плате Arduino Uno.

Интегральный таймер NE555
Что это за чудо?
Микросхема выпускается в двух вариантах корпуса — пластиковом DIP и круглом металлическом. Правда встретить 555 в круглом металлическом корпусе в наши времена очень сложно, чего не скажешь о версии в пластиковом DIP корпусе. Внутри корпуса с восемью выводами скрываются транзисторы, диоды и резисторы. Не будем вдаваться в доскональное изучение 555, но про ножки этой микросхемы я расскажу более подробно. Всего ножек 8.
1. Земля. Вывод, который во всех схемах нужно подключать к минусу питания.
2. Триггер, он же запуск. Если напряжение на пуске падает ниже 1/3 Vпит, то таймер запускается. Ток, потребляемый входом, не превышает 500нА.
3. Выход. Напряжение выхода примерно на 1,7 В ниже напряжения питания, когда он включен. Максимальная нагрузка, которую может выдержать выход — 200 мА.
4. Сброс. Если подать на него низкий уровень напряжения ( меньше 0,7 В), то схема переходит в исходное состояние не зависимо от того, в каком режиме находится таймер на данный момент. Если в схеме не нужен сброс, то рекомендуется подключить этот вывод к плюсу питания.
5. Контроль. Этот вывод позволит нам получить доступ к опорному напряжению компаратора № 1. Используется этот вывод очень редко, а вися в воздухе может сбивать работу, поэтому в схеме его лучше всего присоединить к земле.
6. Порог, он же стоп. Если напряжение на этом выходе выше ⅔ Vcc, то таймер останавливается и выход переводится в состояние покоя. Стоит заметить, что работает выход только тогда, когда вход выключен.
7. Разряд. Этот выход соединяется с землей внутри самой микросхемы, когда на выходе микросхемы низкий уровень и закрыт, когда на выходе высокий уровень. Может пропускать до 200 мА и иногда используется как дополнительный выход.
8. Питание. Данный выход нужно подключать к плюсу питания. Микросхема поддерживает напряжение в пределах 4,5-16 В. Может работать от обычной 9В-батарейки или от проводка USB.
Режимы
Ну что же пришло время поведать вам о режимах микросхемы 555. Их всего 3 и о каждом я расскажу более подробно.
Моностабильный
При подаче сигнала на вход нашей микросхемы, она включается, генерирует выходной импульс заданной длины и выключается, ожидая входного импульса. Важно, что после включения микросхема не будет реагировать на новые сигналы. Длину импульса можно рассчитать по формуле t=1.1*R*C. Пределов по длительности импульсов нет — как по минимальной, так и по максимальной длительности. Есть некоторые практические ограничения, которые можно обойти, но стоит задуматься над тем, нужно ли это и не проще ли выбрать другое решение. Итак, минимальные значения, установленные практическим образом для R составляет 10кОм, а для С — 95пФ. Можно и меньше, но при этом схема начнет поглощать много электричества.
Нестабильный мультивибратор
В этом режиме все довольно таки просто. Управлять таймером не нужно. Он все сделает сам — сперва включится, подождет время t1, потом выключится, подождет время t2 и начнет все заново. На выходе у нас получится забор из высоких и низких состояний. Частота с которой будет колебаться зависит от параметров величин R1,R2 и C и определяется она по формуле F= 1,44/ ( (R1 +R2)C). В течение времени t1 = 0.693 (R1 +R2)C на выходе будет высокий уровень, а в течение времени 2 = 0.693R2C — низкий.
Бистабильный
В данном режиме наша микросхема 555 используется как выключатель. Нажал одну кнопку — выход включился, нажал другую — выключился.
Конец
Возможно Вам уже надоел теоретический материал и в следующем уроке мы приступим к практике.

Используем Ардуино вместо осциллографа





Шаг третий: принцип работы
Когда Arduino включен, ток проходит от его контакта 5В через оба резистора для зарядки конденсатора. Это требует времени в зависимости от номинала резисторов и конденсатора. Когда заряд конденсатора достигнет 2/3 от источника 5 В, выходной контакт таймера 555 станет низким, то есть он будет находиться на уровне 0 вольт. И в этот момент конденсатор начнет пропускать ток через резистор B. Опять же, это требует времени, зависящего от конденсатора и резистора B. Когда напряжение снизится до 1/3 от 5 В, выходной контакт переключится на 5В (высокий), и цикл начнется снова с зарядки конденсатора. Результатом должен быть регулярный повторяющийся сигнал высокого-низкого уровня от этого чипа, который может быть использован в электронике, когда необходим сигнал синхронизации.
Шаг четвертый: отображение значений на Arduino
Чтобы иметь возможность видеть работу различных комбинаций резисторов и конденсаторов, мастер использовал Arduino для отображения времени на своем компьютере. Эта функция в программном обеспечении Arduino IDE называется последовательным монитором (см. рисунок со всеми номерами) и представляет собой способ связи между Arduino и компьютером во время работы Arduino.
Первые две переменные кода являются логическими переменными, что означает, что они могут быть равны только нулю или единице, которые в данной ситуации являются синонимами низкого или высокого напряжения, или синонимом 0В или 5В. Мастер назвал эти две переменные «state» и «lastState» (“состояние” и “последнее состояние”) и использует их для отслеживания изменений выходного контакта. Аналогично, для отслеживания времени используются две переменные, называемые «currentTime» и «lastTime» (“Текущее время” и “Последнее время”). И, наконец, еще одна переменная используется для сохранения продолжительности времени. Эта переменная называется «timeDifference» (“Разница во времени”), так как она будет разницей между текущим и прошлым временем. Это переменная типа “float” («с плавающей запятой»), что означает, что она может отслеживать десятичные дроби.
По сути, код работает так: если выходной контакт таймера 555 изменяется с низкого на высокий или с высокого на низкий, активируется функция, называемая “Отметка времени”. Это тип функции, называемый “подпрограммой обслуживания прерываний”, потому что, независимо от того, где Arduino находится в ее коде, функция временной метки будет запущена, а затем Arduino вернется к исходной точке. Во время временной метки Arduino обновит переменную “состояние” в соответствии с тем, является ли выходной вывод высоким или низким, и обновит переменную “Текущее время” с помощью функции, называемой “micros”. Это встроенная функция программного обеспечения Arduino, которая «возвращает» количество микросекунд с момента последнего включения или сброса Arduino. Теперь, когда “состояние” и “Текущее время” обновлены, Arduino вычислит разницу во времени и выведет ее на последовательный монитор компьютера. Затем он обновляет значения “lastState” и “lastTime” в соответствии с “состоянием” и “текущим временем” соответственно, чтобы они были готовы к следующему изменению выходного pin-кода.
Шаг пятый: прогнозирование
Есть формулы, которые можно выполнить, чтобы предсказать, сколько секунд будет отсчет времени. Они полезны, если задано конкретное время и нужно с чего начать подбор номинала. Формула предназначена для расчета высокого периода, количество времени, в течение которого выходной контакт находится в высоком положении (5В).
Высокий период = 0,7 * (Резистор А + Резистор В) * Конденсатор
Другая формула предназначена для расчета низкого периода, когда выход низкий (0В).
Низкий период: = 0,7 * (Резистор B) * (Конденсатор)
Для того, чтобы эти уравнения работали, единицы измерения должны быть в Омах для сопротивления и в Фарадах для конденсатора. Так, например, 10 кОм и 10 мкФ будут составлять 10 000 Ом и 0,00001 Ф. Итак, пример с двумя резисторами на 10 кОм и конденсатором емкостью 10 мкФ, Высокий период должен составлять 0,14 секунды, а Низкий-0,07 секунды.
Шаг шестой: эксперименты
Теперь, когда все настроено, можно поэкспериментировать с различными резисторами и конденсаторами, чтобы проверить, соответствует ли измеренное время расчетам.
Что интересно в этой схеме, можно увидеть эффект от установки нескольких резисторов или конденсаторов либо для резистора A или B, либо для конденсатора. Можно соединить компоненты последовательно или параллельно и посмотреть, как конденсаторы «ведут себя» относительно резисторам. Более подробно в видео.
Для проверки подключаем анод конденсатора (который подключен к контакту 6 из 555) к контакту Arduino A0 и отображается классический рисунок “зуб пилы”, характерный для конденсаторов. Затем, чтобы открыть «Последовательный плоттер», переходим в раздел “Инструменты” и нажимаем «Последовательный плоттер». Откроется окно, и мы должны увидеть изменение напряжения на графике.
Как подключить ne555 к ардуино

Не дожидаясь, когда проблема стабильности ESP8266 будет решена производителем, решил оснастить свои изделия сторожевым таймером.
Сторожевой таймер (Watchdog timer, WDT) — аппаратно реализованная схема контроля над зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой. Если сброса не произошло в течение некоторого интервала времени, происходит принудительная перезагрузка системы. В некоторых случаях сторожевой таймер может посылать системе сигнал на перезагрузку («мягкая» перезагрузка), в других же — перезагрузка происходит аппаратно (замыканием сигнального провода RST или сброса питания).
Перебрав разные схемы от применения внешнего микроконтроллера или специализированной WDT микросхемы до простейшей RC-цепочки, остановился на интегральном таймере NE555.
555 — аналоговая интегральная схема, универсальный таймер — устройство для формирования (генерации) одиночных и повторяющихся импульсов со стабильными временными характеристиками. Применяется для построения различных генераторов, модуляторов, реле времени, пороговых устройств и прочих узлов электронной аппаратуры.
Под разными названиями ее производят самые различные компании, в том числе существует и наш отечественный аналог — КР1006ВИ1. Мне он и попался за 20 рублей в радиомагазине.
Итак собираю схему NE555 в режиме генератора импульсов
R4, R5 и C1 подобраны таким образом, что время длинного импульса с логическим «1» на выходе таймера составляет около 12с, затем короткий импульс 0.2с с логическим «0», перезагружающий микроконтроллер, и опять длинный цикл. Подача короткого сигнала «0» на вход устройства сбрасывает время таймера. При подтянутом к «0» таймер имеет постоянное низкое напряжение на конденсаторе и «1» на выходе. Диод на входе нужен, чтобы конденсатор С1, задающий время таймера, не заряжался от высокого уровня на входе, что приводит к уменьшению периода срабатывания.
Сперва подумал, что удачным решением было подключить вход таймера к GPIO0 ESP-шки. GPIO0 при загрузке прошивки в ESP, подтягивается к земле. Поэтому в режиме прошивки таймер отключается. Но вовремя работы GPIO0 на выход, если оставить его подтянутым к земле, то при подачи на порт «1» он просто сгорает. Поэтому подключаем таймер на GPIO2 или любой другой порт ESP-шки, а работу таймера отключаем в режиме программирования второй контактной группой выключателя.
Выход таймера подключил к RESET ESP8266. Потом вспомнил обсуждения на форуме, что ресет у ESP-шки не всегда спасает и решил модернизировать схему.
Как говориться, «против лома нет приема» — сброс питания ESP8266 всегда давало 100% результат. Так как выход NE555 рассчитан на ток 200мА (у КР1006ВИ1 100мА), маломощное 5-вольтовое реле подключил к нему напрямую.






















