Меню

Схема для измерения магнитного поля



2 Схемы

Принципиальные электросхемы, подключение устройств и распиновка разъёмов

Датчики магнитных полей

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

Модуль датчика Холла KY-003

Данный модуль предназначен для обнаружения магнитного поля при помощи эффекта Холла. Этот эффект состоит в том, что в проводнике с постоянным током, помещенном в магнитное поле возникает поперечная разность потенциалов [1-3].

Габариты 28 х 15 мм, масса модуля 1,2 г. На плате имеется два крепежных отверстия диаметром 2 мм на расстоянии 10 мм друг от друга. Для подключения служит трехконтактный разъем. Центральный контакт – питание +5В, контакт «-» — общий, контакт «S» — информационный. Когда индукция магнитного поля превышает заданное значение на информационном выходе модуля высокий логический уровень сменяется на низкий. На модуле имеется светодиод, который загорается при срабатывании датчика. В качестве иллюстрации можно загрузить на плату Arduino UNO программу LED_with_button [4], и подключить вместо кнопки данный модуль.

Модуль срабатывает только на северный полюс магнита, порог срабатывания достаточно высокий, магнит нужно подносить вплотную. Потребляемый ток 6,3 мА в ждущем режиме и составляет 11 мА при срабатывании.

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

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

Модуль на основе геркона KY-021

Датчик представляет собой нормально разомкнутый геркон с добавочным сопротивлением 10 кОм [5-6].

Габариты модуля 24 х 17 мм, масса 1,2 г. Для подключения служит трехконтактный разъем. Центральный контакт – питание +5В, контакт «-» — общий, контакт «S» — информационный.

Потребляемый ток равен нулю в ждущем режиме и составляет 0,5 мА при срабатывании.

Модуль подключается и испытывается абсолютно аналогично тактовой кнопке [4,7]. Геркон можно использовать в системах сигнализации, для подсчета числа оборотов и т.п. Способов использования герконов великое множество [8-9].

Модуль датчика Холла (линейный) KY-024

Модуль предназначен для измерения напряженности постоянного магнитного поля [10-11].

Габариты модуля 44 х 15 х 13 мм, масса 2,8 г., в плате модуля имеется крепежное отверстие диаметром 3 мм. Чувствительным элементом служит датчик Холла SS49E. Индикация подачи питания осуществляется светодиодом L1.

Датчик имеет четыре контакта. «A0» — аналоговый выход, напряжение на котором меняется в зависимости от индукции магнитного поля. Выводы питания «G» — общий провод, «+»– питание +5В. На цифровом входе «D0» присутствует низкий логический уровень, если напряженность магнитного поля не превышает заданного порога, при срабатывании датчика низкий уровень меняется на высокий. Порог срабатывания цифрового канала датчика можно менять многооборотным подстроечным резистором. При срабатывании датчика загорается светодиод L2.

Потребляемый ток 9 мА в ждущем режиме и 11 мА при срабатывании.

Модуль срабатывает только на северный полюс магнита. Максимальное расстояние срабатывания 6 мм.

Аналоговый канал позволяет организовать измерение количественных характеристик магнитного поля. Показания на аналоговом порте Arduino UNO меняются от 550 до 200 единиц в зависимости от расстояния до магнита (в память Arduino UNO была загружена программа AnalogInput2).

Модуль с герконом KY-025

Чувствительным элементом модуля является обычный геркон, работающий вместе с компаратором на микросхеме LM393YD, по заверениям продавцов [12-13] это позволяет уменьшить, ток, протекающий через контакты геркона, и тем самым увеличить его ресурс.

Читайте также:  Чувствительные элементы деформационных средств измерения давления

Габариты модуля 45 х 18 х 13 мм, масса 2,8 г., аналогично предыдущему случаю в плате модуля имеется крепежное отверстие диаметром 3 мм. Индикация питания осуществляется светодиодом L1.

При срабатывании геркона загорается светодиод L2. Потребляемый ток 3,7 мА в ждущем режиме и 5,8 мА при срабатывании.

Какой порог чувствительности должен регулироваться переменным резистором неясно, видимо данные модули с компаратором LM393YD являются стандартными и к ним припаивают различные датчики в зависимости от назначения конкретного модуля. Разумеется, модуль срабатывает дискретно как кнопка, в чем можно убедиться с помощью программы LED_with_button [4]. На выводе «A0» постоянно присутствует напряжение питания +5В. Выводы питания «G» — общий провод, «+»– питание +5В. На цифровом входе «D0» присутствует низкий логический уровень, при срабатывании геркона низкий уровень меняется на высокий. Целесообразность данного модуля, по мнению автора, спорна, учитывая, что и в простейшем случае включения геркона типа модуля KY-021 сила тока, протекающая через контакты геркона, существенно меньше одного миллиампера.

Модуль датчика Холла KY-035

Данный модуль представляет собой микросхему SS49E, без каких либо дополнительных устройств [14]. Установка микросхемы на плате в данном случае может быть объяснена, только требованиями унификации при создании данного набора датчиков.

Габариты модуля 29 х 15 мм, масса 1,2 г. Для подключения служит трехконтактный разъем. Центральный контакт – питание +5В, контакт «-» — общий, контакт «S» — информационный.

Потребляемый модулем ток составляет около 6 мА и не зависит от состояния датчика.

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

С помощью данного модуля можно организовать контроль расстояния до источника магнитного поля, подсчет числа оборотов и т.п. Микросхема чувствительна к магнитному полю с индукцией в диапазоне 600-1000 Гс [15].

Полезные ссылки

  1. https://ru.wikipedia.org/wiki/Эффект_Холла
  2. http://arduino-kit.ru/catalog/id/modul-datchika-holla
  3. http://www.14core.com/wiring-hall-effect-sensor-switch-magnet-detector-module/
  4. http://robocraft.ru/blog/arduino/57.html
  5. http://arduino-kit.ru/catalog/id/modul-na-osnove-gerkona
  6. http://www.zi-zi.ru/module/module-ky021
  7. http://2shemi.ru/mehanicheskie-datchiki-dlya-arduino/
  8. https://electrosam.ru/glavnaja/slabotochnye-seti/oborudovanie/gerkony/
  9. http://electrik.info/main/school/419-gerkony-sposoby-upravleniya.html
  10. http://arduino-kit.ru/catalog/id/modul-datchika-holla-_lineynyiy_
  11. http://www.zi-zi.ru/module/module-ky024
  12. http://arduino-kit.ru/catalog/id/modul-magnitnyiy-datchik-s-gerkonom
  13. http://www.zi-zi.ru/module/module-ky025
  14. http://arduino-kit.ru/catalog/id/modul-datchika-holla_
  15. https://ru.wikipedia.org/wiki/Гаусс_(единица_измерения)

Все файлы документации и программ находятся в общем архиве. Обзор подготовил Denev.

Источник

Делаем высокочувствительный детектор электромагнитного поля

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

Это простое устройство способно обнаруживать даже очень слабые электромагнитные поля. Относительная напряженность поля отображается в графическом виде на ЖК-индикаторе, дополнительно прибор сигнализирует звуковым зуммером и светодиодом (Рисунок 1).

Рисунок 1. Внешний вид детектора электромагнитного поля.

Схема соединений компонентов прибора в среде Fritzing изображена на Рисунке 2. (Схема в более высоком разрешении доступна для скачивания в разделе загрузок). Как видно на рисунке, схема очень проста и состоит из платы Arduino Nano, двустрочного ЖК-индикатора, зуммера, светодиода, переключателя и батареи питания 9 В.

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

Основой прибора является плата Arduino Nano. В качестве датчика используется отрезок медного провода диаметром 1.5 мм, но вы можете использовать любой тип провода. Чувствительность прибора можно регулировать программно (в исходном коде), а также путем изменения номинала резистора, включенного между землей и аналоговым входом A0. Можно предусмотреть в конструкции несколько резисторов и подключать их в схему с помощью переключателя. В авторском варианте с помощью переключателя выбирается один из двух резисторов и, соответственно, степень чувствительности прибора. Таким образом, прибор можно откалибровать, сравнивая его показания с промышленным решением.

Читайте также:  Расходомер ультразвуковой методика измерений

Светодиод подключен к выходу D10, звуковой зуммер к выходу D9. ЖК индикатор 16×2 подключается к плате Arduino по параллельному 4-битному интерфейсу. Для регулировки контрастности индикатора используется подстроечный резистор.

Программная часть прибора (скетч Arduino) представляет собой комбинацию двух Arduino-проектов: из проекта измерителя уровня громкости на Arduino KTAudio используется часть для работы с ЖК-индикатором, а из проекта детектора электромагнитного поля Aaron ALAI EMF Detector используется часть для работы с сенсором. Автор внес некоторые коррективы для повышения стабильности работы устройства. Скетч доступен для скачивания в разделе загрузок.

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

Все компоненты прибора можно разместить в небольшом корпусе (Рисунок 3).

Рисунок 3. Вариант расположения компонентов детектора электромагнитного
поля в корпусе.

Загрузки

Перевод: Vadim по заказу РадиоЛоцман

Источник

Измерение напряженности магнитного поля с помощью Arduino

В этом проекте мы будем использовать датчик Холла и плату Arduino Uno для измерения напряженности магнитного поля. Мы будем использовать датчик Холла с наименованием UGN3503U, который измеряет величину напряженности магнитного поля и обеспечивает на своем выходе аналоговое напряжение пропорциональное напряженности магнитного поля, которое мы затем будем переводить с помощью аналогового-цифрового преобразования в Arduino в цифровой вид. Датчик измеряет напряженность магнитного поля (электромагнитную индукцию) в гауссах (GAUSS). Один гаусс равен одной десятитысячной Тесла (Тл).

Величину напряженности магнитного поля, преобразованную в цифровую форму с помощью Arduino, мы затем будем показывать на ЖК дисплее 16х2.

Плата Arduino имеет 6 каналов АЦП (аналогового-цифрового преобразования). Любой из них можно использовать в качестве аналогового входа. АЦП Arduino Uno имеет разрешающую способность 10 бит, что соответствует значениям целых чисел в диапазоне 0-(2^10) 1023. Это означает что входное напряжение в диапазоне от до 5 Вольт преобразуется в целое число от 0 до 1023. То есть одному цифровому значению (шагу) соответствует шаг аналогового напряжения 5/1024= 4.9mV.

В нашем проекте мы будем подключать аналоговый выход датчика Холла к контакту ‘A0’ платы Arduino Uno.

Более подробно о датчике Холла можно прочитать в этой статье: подключение датчика Холла к микроконтроллеру AVR.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Датчик Холла UGn3503U (купить на AliExpress).
  3. ЖК дисплей JHD_162ALCD (16×2) (купить на AliExpress).
  4. Конденсатор 100 мкФ (2 шт.) (купить на AliExpress).
  5. Источник питания с напряжением 5 В.

Работа схемы и программы

Схема устройства представлена на следующем рисунке.

Жидкокристаллический (ЖК) дисплей 16×2 использует 16 контактов для своей работы в случае если нужен черный цвет. Если черный цвет не нужен, то достаточно 14 контактов. В этом случае контакты черного цвета можно либо запитать, либо оставить их как есть. То есть из 14 контактов ЖК дисплея мы имеем 8 контактов для данных (7-14 или D0-D7), 2 контакта для подачи питания (1&2 или VSS&VDD или GND&+5v), 3-й контакт для управления контрастностью (VEE) – определяет насколько «толстыми» будут выглядеть символы на экране, и 3 управляющих контакта (RS&RW&E).

На представленной схеме мы использовали только 2 управляющих контактах ЖК дисплея – это позволяет лучше понять логику работы схемы начинающим. Контакт для управления контрастностью и READ/WRITE сравнительно редко используются и в нашем случае их можно замкнуть на землю. Это переводит ЖК дисплей в режим чтения и обеспечивает ему максимальную контрастность. Поэтому нам нужно только управлять состоянием контактов ENABLE и RS чтобы передавать символы и данные на ЖК дисплей.

В схеме необходимо сделать следующие соединения с ЖК дисплеем:
PIN1 или VSS – на землю
PIN2 или VDD или VCC – к источнику питания +5 В
PIN3 или VEE – на землю (обеспечивает наилучшую контрастность – лучше для начинающих)
PIN4 или RS (выбор регистра) – к контакту PIN8 ARDUINO UNO
PIN5 или RW (Read/Write) – на землю (переводит ЖК дисплей в режим чтения, что упрощает взаимодействие с ним для начинающих)
PIN6 или E (Enable — доступность) к контакту PIN9 ARDUINO UNO
PIN11 или D4 – к контакту PIN10 ARDUINO UNO
PIN12 или D5 – к контакту PIN11 ARDUINO UNO
PIN13 или D6 – к контакту PIN12 ARDUINO UNO
PIN14 или D7 – к контакту PIN13 ARDUINO UNO

Читайте также:  Приставка для измерения емкости электролитических конденсаторов

ARDUINO IDE позволяет пользователю использовать ЖК дисплей в 4 битном режиме. Этот режим позволяет уменьшить число используемых контактов ARDUINO. 4-битный режим взаимодействия с ЖК дисплеем предусмотрен для ARDUINO по умолчанию, поэтому нет необходимости предпринимать какие либо действия чтобы его включить. В представленной схеме можно увидеть, что мы использовали 4-битный режим (D4-D7). То есть у нас с ARDUINO соединено 6 контактов ЖК дисплея: 4 контакта для передачи данных и 2 контакта для управления.

Чтобы задействовать АЦП в Arduino Uno необходимо сделать следующие вещи:

1. analogRead(pin);
2. analogReference();
3. analogReadResolution(bits);

Плата Arduino Uno по умолчанию имеет опорное напряжение АЦП равное 5 В. То есть максимальное входное напряжение для АЦП будет равно 5 В. Но поскольку некоторые датчики обеспечивают на своем выходе напряжение в диапазоне 0-2.5 В, то в этом случае если мы будем использовать опорное напряжение АЦП 5 В, то мы потеряем в точности преобразования. Поэтому в Arduino предусмотрена специальная команда для изменения опорного напряжения АЦП (“ analogReference(); ”.

Максимальная разрешающая способность (разрешение) АЦП платы Arduino составляет 10 бит, изменить его можно с помощью команды “ analogReadResolution(bits) ;”. Эта функция может быть полезна в некоторых случаях, например, когда нужно увеличить скорость аналого-цифрового преобразования.

Теперь, если все установки работы с АЦП выполнены, мы можем непосредственно считать значение с выхода АЦП с помощью функции “ analogRead(pin); ”, где “pin” обозначает номер контакта, с которого мы будем считывать аналоговый сигнал. В нашем случае это будет контакт “A0”. Значение с выхода АЦП можно сразу присвоить переменной целого типа (integer) с помощью команды “ int ADCVALUE = analogRead(A0); ”.

Для взаимодействия с ЖК дисплеем прежде всего необходимо подключить библиотеку для работы с ним с помощью инструкции ‘ #include
’. Эта библиотека сразу по умолчанию включает 4-битный режим взаимодействия с ЖК дисплеем.

После этого необходимо сообщить Arduino тип подключаемого ЖК дисплея. ЖК дисплеи бывают различных типов, например 20×4, 16×2, 16×1 и т.д. В нашем случае мы будем подключать к Arduino ЖК дисплей 16×2, поэтому нам необходимо использовать инструкцию ‘ lcd.begin(16, 2); ’.

Далее плате Arduino необходимо сообщить, к каким ее контактам мы подключили ЖК дисплей. В соответствии с представленной схемой нам необходимо использовать команду LiquidCrystal lcd(8, 9, 10, 11, 12, 13) , которая сообщит Arduino что ЖК дисплей подключен к ее контактам 8, 9, 10, 11, 12 и 13.

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

Исходный код программы

Представленная программа должна делать следующие действия: как только вблизи датчика Холла появляется какой-нибудь магнит (магнитное поле) напряжение на его выходе изменяется, значение этого напряжения подается на АЦП платы Arduino, которая переводит его в цифровую форму (число от 0 до 1023). После этого значение напряженности магнитного поля высвечивается на ЖК дисплее.

Источник