Arduino металлоискатель с дискриминацией. Металлодетектор и система оповещения с помощью ардуино

Широтно-импульсная модуляция (ШИМ, английская аббревиатураPWM - Pulse-Width Modulation) - это способ кодирования аналогового сигнала путем изменения ширины (длительности) прямоугольных импульсов несущей частоты. На рис.1 представлены типичные графики ШИМ-сигнала.

Так как при ШИМ частота импульсов, а значит, и период (Т) остаются неизменными, то при уменьшении ширины импульса (t) увеличивается пауза между импульсами (рис.16) и наоборот, при расширении импульса пауза сужается (рис.1в).

Если ШИМ-сигнал пропустить через фильтр низших частот (ФНЧ), то уровень постоянного напряжения на выходе фильтра будет определяться скважностью импульсов ШИМ. Скважность Q - это отношение периода импульсов Т к их длительности t, т.е. Формула:

Величина, обратная скважности, которая также встречается в литературе, называется “коэффициентом заполнения” (К3). Назначение ФНЧ - не пропускать на выход несущую частоту ШИМ.

Сам фильтр может состоять из простейшей интегрирующей RC-цепочки или же отсутствовать вовсе, например, если нагрузка имеет достаточную инерцию.

Рис. 1. Графики работы ШИМ.

Таким образом, с помощью двух логических уровней “1 ” и “0” можно получить любое промежуточное значение аналогового сигнала. Широтно-импульсная модуляция широко используется в современной электронике, например, в импульсных источниках питания или в устройствах цифровой обработки звуковых сигналов. В описан широтно-импульсный модулятор на одной КМОП-микросхеме.

Он выполнен на основе двух логических элементов (рис.2) микросхемы К176ЛП1 (рис.За), которая называется универсальным логическим элементом (зарубежный аналог - CD4007).

Универсальность ИМС заключается в том, что она может быть использована и как три самостоятельных элемента НЕ, и как элемент ЗИЛИ-НЕ (рис.Зб), и как элемент НЕ с большим коэффициентом разветвпения (рис.Зв).

Рис. 2. Широтно-импульсный модулятор на одной КМОП-микросхеме.

Рис. 3. Структура микросхемы К176ЛП1.

Микросхема содержит шесть МОП-транзисторов, три из которых (VT1...VT3) - с п-каналом, три других (VT4... VT6)-с р-каналом. Напряжение питания подают на выводы 14 (+9 В) и 7 (общий), выводы 6, 3 и 10 - входы, остальные - выходы.

Разные по функциональному назначению логические элементы получают путем соответствующих соединений входных и выходных выводов. Модулятор (рис.2) изменяет коэффициент заполнения импульсов автогенератора в соответствии с управляющим напряжением.

Регулирование коэффициента заполнения обеспечивается шунтированием времязадающего резистора R2 сопротивлением каналов полевых транзисторов VТ1 и VТ2, входящих в состав микросхемы.

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

Для устранения этого недостатка предлагаю выполнить широтно-импульсный модулятор на трех логических элементах (рис.4). Трехэлементный генератор запускается в любом случае, а конденсатор просто снижает его частоту. Широтно-импульсный модулятор построен на микросхеме DD2 и инверторе DD1.

Полевые транзисторы VТ1 и VТ2 из состава микросхемы подключены через диоды VD1 и VD2 параллельно резистору R2.

Рис. 4. Широтно-импульсный модулятор на трех логических элементах.

При высоком уровне на выходе генератора диод VD2 открывается, т.е. сопротивление п-канала VТ2 включается параллельно R2. Подобным образом сопротивление р-канала VТ1 включается через VD1 параллельно R2 при низком уровне на выходе генератора.

Широтно-импульсный модулятор измененяет коэффициент заполнения импульсов генератора в соответствии с управляющим напряжением. Само изменение частоты колебаний минимально зависит от коэффициента заполнения, т.к. сопротивление канала одного транзистора возрастает, а другого уменьшается при любой величине управляющего напряжения. Таким образом, среднее за период значение шунтирующего резистор R2 сопротивления остается постоянным.

Увеличение управляющего напряжения, поступающего на модулятор, приводит к увеличению длительности выходных импульсов, уменьшение - наоборот. Частота колебаний остается неизменной. Данный генератор может генерировать сигнал частотой до 10 МГц.

В. Калашник, г. Воронеж. E-mail: kalaviv[a]mail.ru. РМ-07-12.

Литература:

  1. Широтно-импульсный модулятор на одной КМОП микросхеме. - Электроника, 1977, №13, С.55.
  2. Генераторы на элементах КМОП. - Схемотехника, 2007, №6, С.37.

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

Ключ я взял IRF630 . Почему именно этот MOSFET ? Да просто у меня их откуда то завелось штук десять. Вот и применяю, так то можно поставить что либо менее габаритное и маломощное. Т.к. ток тут вряд ли будет больше ампера, а IRF630 способен протащить через себя под 9А. Зато можно будет сделать целый каскад из вентиляторов, подсоединив их к одной крутилке — мощи хватит:)

Теперь пришло время подумать о том, чем мы будем делать ШИМ . Сразу напрашивается мысль — микроконтроллером. Взять какой-нибудь Tiny12 и сделать на нем. Мысль я эту отбросил мгновенно.

  1. Тратить такую ценную и дорогую деталь на какой то вентилятор мне западло. Я для микроконтроллера поинтересней задачу найду
  2. Еще софт под это писать, вдвойне западло.
  3. Напряжение питания там 12 вольт, понижать его для питания МК до 5 вольт это вообще уже лениво
  4. IRF630 не откроется от 5 вольт, поэтому тут пришлось бы еще и транзистор ставить, чтобы он подавал высокий потенциал на затвор полевика. Нафиг нафиг.
Остается аналоговая схема. А что, тоже неплохо. Наладки не требует, мы же не высокоточный девайс делаем. Детали тоже минимальные. Надо только прикинуть на чем делать.

Операционные усилители можно отбросить сразу. Дело в том, что у ОУ общего назначения уже после 8-10кГц, как правило, предельное выходное напряжение начинает резко заваливаться, а нам надо полевик дрыгать. Да еще на сверхзвуковой частоте, чтобы не пищало.


ОУ лишенные такого недостатка стоят столько, что на эти деньги можно с десяток крутейших микроконтроллеров купить. В топку!

Остаются компараторы, они не обладают способностью операционника плавно менять выходное напряжение, могут только сравнивать две напруги и замыкать выходной транзистор по итогам сравнения, но зато делают это быстро и без завала характеристики. Пошарил по сусекам и компараторов не нашел. Засада! Точнее был LM339 , но он был в большом корпусе, а впаивать микросхему больше чем на 8 ног на такую простую задачу мне религия не позволяет. В лабаз тащиться тоже было влом. Что делать?

И тут я вспомнил про такую замечательную вещь как аналоговый таймер — NE555 . Представляет собой своеобразный генератор, где можно комбинацией резисторов и конденсатором задавать частоту, а также длительность импульса и паузы. Сколько на этом таймере разной хрени сделали, за его более чем тридцатилетнюю историю… До сих пор эта микросхема, несмотря на почтенный возраст, штампуется миллионными тиражами и есть практически в каждом лабазе по цене в считанные рубли. У нас, например, он стоит около 5 рублей. Порылся по сусекам и нашел пару штук. О! Щас и замутим.


Как это работает
Если не вникать глубоко в структуру таймера 555, то несложно. Грубо говоря, таймер следит за напряжением на конденсаторе С1, которое снимает с вывода THR (THRESHOLD — порог). Как только оно достигнет максимума (кондер заряжен), так открывается внутренний транзистор. Который замыкает вывод DIS (DISCHARGE — разряд) на землю. При этом на выходе OUT появляется логический ноль. Конденсатор начинает разряжаться через DIS и когда напряжение на нем станет равно нулю (полный разряд) система перекинется в противоположное состояние — на выходе 1, транзистор закрыт. Конденсатор начинает снова заряжаться и все повторяется вновь.
Заряд конденсатора С1 идет по пути: «R4->верхнее плечо R1 ->D2 «, а разряд по пути: D1 -> нижнее плечо R1 -> DIS . Когда мы крутим переменный резистор R1 то у нас меняются соотношения сопротивлений верхнего и нижнего плеча. Что, соответственно, меняет отношение длины импульса к паузе.
Частота задается в основном конденсатором С1 и еще немного зависит от величины сопротивления R1.
Резистор R3 обеспечивает подтяжку выхода к высокому уровню — так так там выход с открытым коллектором. Который не способен самостоятельно выставить высокий уровень.

Диоды можно ставить любые совершенно, кондеры примерно такого номинала, отклонения в пределах одного порядка не влияют особо на качество работы. На 4.7нанофарадах, поставленных в С1, например, частота снижается до 18кГц, но ее почти не слышно, видать слух у меня уже не идеальный:(

Покопался в закромах, которая сама расчитывает параметры работы таймера NE555 и собрал схему оттуда, для астабильного режима со коэффициентом заполнения меньше 50%, да вкрутил там вместо R1 и R2 переменный резистор, которым у меня менялась скважность выходного сигнала. Надо только обратить внимание на то, что выход DIS (DISCHARGE) через внутренний ключ таймера подключен на землю, поэтому нельзя было его сажать напрямую к потенциометру , т.к. при закручивании регулятора в крайнее положение этот вывод бы сажался на Vcc. А когда транзистор откроется, то будет натуральное КЗ и таймер с красивым пшиком испустит волшебный дым, на котором, как известно, работает вся электроника. Как только дым покидает микросхему — она перестает работать. Вот так то. Посему берем и добавляем еще один резистор на один килоом. Погоды в регулировании он не сделает, а от перегорания защитит.

Сказано — сделано. Вытравил плату, впаял компоненты:

Снизу все просто.
Вот и печатку прилагаю, в родимом Sprint Layout —

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

Как видно, частота плывет — оно и понятно, у нас ведь частота работы зависит от резисторов и конденсатора, а раз они меняются, то и частота уплывает, но это не беда. Во всем диапазоне регулирования она ни разу не влазит в слышимый диапазон. А вся конструкция обошлась в 35 рублей, не считая корпуса. Так что — Profit!

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

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

Схема ШИМ контроллера 12В


Поразмыслив пришёл к выводу, что нужна схема для регулятора скорости мотора постоянного тока в виде ШИМ-контроллера. Он может сделать гораздо больше, чем просто изменять скорость двигателя. Данная схема имеет выход 12 вольт с различной скважностью и её можно использовать в качестве многих других целей:
  • Регулятор скорости мотора;
  • Светодиодный диммер подсветки;
  • Регулятор тепла для нагреваемого провода;
  • Регулятор напряжения для электролитического травления и т. д.

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

Детали для регулятора

  • 1 х 0,01 мкФ керамический конденсатор
  • 1 х 0.1 мкФ керамический конденсатор
  • 2 х 1N4001 выпрямительные диоды
  • 1 х 1N4004 выпрямительный диод
  • 1 х IRF530 100 В 14 А полевой транзистор
  • 1 х 100 Ом резистор
  • 1 х 1 кОм резистор
  • 1 х NE555 таймер
  • 1 x 8-контактный разъем под м/с
  • 1 х 100 кОм потенциометр
  • 1 х 70 х 100 односторонняя ПП


На этой картинке показана печатная монтажная плата для сборки ШИМ регулятора, но вы можете разработать свой вариант. При пайке обратите внимание на расположение таймера 555. Все остальные детали вполне понятны куда чего.


Есть 3 перемычки на плате: от GND к С1, с контакта 7 555 на D1 и GND к IRF530.


Также на плате есть сквозное отверстие под транзистор IRF530 - это на теплоотвод.


При подключении мотора, нужно проверить направление вращения двигателя, прежде чем переходить к окончательной сборке, хотя электромотор будет исправно работать в любом направлении. Ну вот и вся конструкция, проверенная и 100% рабочая - успехов вам в её самостоятельной сборке!

ШИМ регулятор оборотов двигателя постоянного тока проще всего организовать с помощью ШИМ регулятора. ШИМ — это широтно-импульсная модуляция, в английском языке это называется PWM - Pulse Width Modulation. Теорию я подробно объяснять не буду, информации полно в интернете.

Своими словами — если у нас есть двигатель постоянного тока на 12 вольт — то мы можем регулировать обороты двигателя изменяя напряжение питания. Изменяя напряжение питания от нуля до 12 вольт будут изменятся обороты двигателя от нуля до максимальных. В случае с ШИМ регулятором мы будем изменять скважность импульсов от 0 до 100% и это будет эквивалентно изменению напряжения питания двигателя и соответственно будут изменятся обороты двигателя.

Рассмотрим первый ШИМ регулятор на 5 ампер. Есть такая самая любимая микросхема всех радиолюбителей — это таймер NE555 (или советский аналог КР1006ВИ). Вот на этой микросхеме и собран ШИМ регулятор. Кроме таймера здесь я использую стабилизатор на 9 вольт LM7809, мощный полевой транзистор с N-каналом IRF540, сдвоенный диод Шоттки, а также другие мелкие детали. Схема по которой собран этот регулятор всем известна и очень популярна.

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

Подключение ШИМ регулятора очень простое. Вы видите 4 клеммы — две клеммы для подачи питания (+) и (-), и две клеммы для подключения мотора (M+) и (M-).

Сделал еще ШИМ регулятор с защитой по току. Для этих целей использовал распространенный операционный усилитель LM358 и два оптрона PC817. При превышении тока, который мы задаем подстроечником R12, срабатывает триггер-защелка на операционнике DA3.1, оптронах DA4 и DA5 и блокируется генерация импульсов по 5 ноге таймера NE555. Чтобы снова запустить генерацию нужно кратковременно снять питание со схемы с помощью кнопки S1.


Top