Серия «Учебные проекты». Учимся подключать к Ардуино различные датчики и модули. Часть 3.

Подключение модуля GSM GPRS SIM800

Миниатюрный модуль GSM/GPRS сотовой связи на основе компонента SIM800L, разработан компанией SIMCom Wireless Solutions. Стандартный интерфейс управления компонента SIM800L предоставляет доступ к сервисам сетей GSM/GPRS 850/900/1800/1900МГц для отправки звонков, СМС сообщений и обмена цифровыми данными GPRS. Поставляется с встроенной антенной, также можно подключить дополнительные антенны для улучшения качества сигнала. Управлять модулем можно при помощи персонального компьютера через преобразователь интерфейса USB-UART или непосредственно через UART модулем микроконтроллера самостоятельной разработки или Arduino, Raspberry Pi и аналогичными. Компонент SIM800L имеет реализованный стек протокола TCP/IP. Содержит микросхему MT6260SA компании MediaTek и микросхему приемопередатчика RFMD RF7176.


МОДУЛЬ GSM GPRS SIM800

К модулю GSM GPRS SIM800 MicroSIM подключаются динамик и микрофон. С модуля можно совершать звонки и принимать. Модуль имеет следующие характеристики:

  • напряжение питания: 3.7 В ~ 4.4 В;
  • потребляемый ток режима ожидания: 0,7 мА;
  • пиковый ток: 2 А ;
  • скорость UART: 1200 – 115200 бод;
  • формат SIM карты: microSIM;
  • рабочий диапазон: EGSM900, DCS1800, GSM850, PCS1900;
  • мощность передачи DCS1800, PCS1900: 1 Вт;
  • мощность передачи GSM850, EGSM900: 2 Вт;
  • режим сети: 2G;
  • габариты: 25 мм х 24 мм х 4 мм;
    • четыре диапазона EGSM900, DCS1800, GSM850, PCS1900
    • мощность передачи в различных диапазонах:
      • DCS1800, PCS1900 1 Вт;
      • GSM850, EGSM900 2 Вт.
    • автоматически выполняет поиск в четырех частотных диапазонах;
    • поддерживает сеть 2G;
    • сопротивление подключаемого динамика 8 Ом;
    • микрофон электретный;
    • управляется командами AT через UART (3GPP TS 27.007, 27.005 SIMCOM enhanced AT Commands);
    • автоматическое определение скорости передачи управляющих АТ команд;
    • отправка и получение GPRS данных (TCP/IP, HTTP, и т.д.)
    • макс скорость передачи GPRS данных 85,6 Кбод;
    • кодирование CS-1, CS-2, CS-3 и CS-4;
    • поддерживает GSM 07.10 протокол;
    • поддержка пакетной передачи широковещательного канала управления (PBCCH) CSD на скоростях 2.4, 4.8, 9.6 и 14.4 Кбод;
    • поддержка неструктурированных данных дополнительных услуг USSD;
    • поддерживает PAP ( протокол идентификации пароля);
    • поддержка часов реального времени RTC;
    • поддерживает симкарт питанием 3 и 1,8 В;
    • температура, ℃ :
      • воздуха при работе –30…75;
      • хранения –45…

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

Плату Arduino нужно подключить, следующем образом. Выходы с модуля TX и RX нужно подключить к пинам 2 и 3 на Arduino. Несколько модулей можно подключать к любым цифровым пинам выходы с модуля TX и RX нужно подключить к пинам 2 и 3 на Arduino, землю на плате  к земле на модуле, 5.5В также подключить к плате Arduino при помощи проводов.

Подключаем GSM модуль SIM800L

Подключение модуля освещенности LM393

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

Технические параметры:

  • напряжение питания: 3.3 В ~ 5.5 В;
  • потребляемый ток: 10 мА;
  • цифрового выход: TTL (лог 1 или лог 0);
  • аналогового выход: 0 В … Vcc;
  • диаметр монтажного отверстия: 2.5 мм;
  • выходной ток: 15 мА;
  • габариты: 42мм х 15мм х 8мм.

Существует два модуля, визуально отличие только в количестве выводов (3 pin и 4 pin), дополнительный вывод добавлен, для снятие прямых показаний с фоторезистора (аналоговый выход), в статье пойдет речь о четырех контактом варианте модуля. В этих двух модулей, измерение осуществляется с помощью фоторезистора, который изменяет напряжение в цепи в зависимости от количества света, попадающего на него. Чтобы представить, как свет будет влиять на фоторезистор, краткая таблица приведена на рисунке

Модуль освещенности с четырьмя выводами содержит два выходных контакты, аналоговый и цифровой и два контакта для подключения питания. Для считывания аналогового сигнала предусмотрен отдельный вывод «AO», с которого можно считать показания напряжения с 0 В … 3.3 В или 5 В в зависимости от используемого источника питания. Цифровой вывод DO, устанавливается в лог «0» или лог «1», в зависимости от яркости, чувствительность выхода, можно регулировать с помощью поворотного потенциометра. Выходной ток цифрового выхода, способен выдать более 15 мА, что очень упрощает использования модуля и дает возможность использовать его минуя контроллер Arduino и подключая его напрямую ко входу однокональному реле или одному из входов двухконального реле. Основная микросхема модулей, это компаратор LM393 (U1), который производит сравнение уровней напряжений на входах INA- и INA+. Чувствительность порога срабатывания задается с помощью потенциометром R2 и в результате сравнений на выходе D0 микросхемы U1, формируется лог «0» или лог «2», который поступает на контакт D0 разъема J1.

Назначение J1 (в исполнении 4 pin)

  • VCC: «+» питание модуля
  • GND: «-» питание модуля
  • D0: цифровой выход
  • A0: аналоговый выход

Назначение J1 (в исполнении 3 pin)

  • VCC: «+» питание модуля
  • GND: «-» питание модуля
  • D0: цифровой выход

Небольшая управляющая программка:

  • Определяем уровень сигнала с аналогового пина.
  • Сравниваем уровень с пороговым значением. Максимально значение будет соответствовать темноте, минимальное – максимальной освещенности. Пороговое значение выберем равное 300.
  • Если уровень меньше порогового – темно, нужно включать светодиод.
  • Иначе – выключаем светодиод.

#define PIN_LED 13

#define PIN_PHOTO_SENSOR A0

void setup() {

Serial.begin(9600);

pinMode(PIN_LED, OUTPUT);

}

void loop() {

int val = analogRead(PIN_PHOTO_SENSOR);

Serial.println(val);

if (val < 300) {

digitalWrite(PIN_LED, LOW);

} else {

digitalWrite(PIN_LED, HIGH);

}

}

Серия «Учебные проекты». Учимся подключать к Ардуино различные датчики и модули. Часть 2.

Подключение GPS-модуля VK2828U7G5LF

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

Модуль EM-411. Устройство создано на базе высокопроизводительного чипа SiRF Star III, который обладает низким потреблением энергии. Модуль имеет  большой объем памяти для сохранения данных альманаха, поддерживает стандартный протокол NMEA 0183. Время холодного старта составляет около 45 секунд.

VK2828U7G5LF. Этот модуль построен на базе чипа Ublox UBX-G7020-KT. С его помощью можно получать координаты по GPS и ГЛОНАСС. В приёмнике имеется встроенная память, в которую можно сохранять настройки. Модуль оснащён встроенной керамической антенной, работает по протоколу NMEA 0183. Напряжение питания модуля 3,3-5В.

SKM53 GPS. Один из самых дешёвых модулей, обладающий низким потреблением тока. Время холодного запуска примерно 36 секунд, горячего – 1 секунда. Для позиционирования используются 66 каналов, для слежения 22 канала. В модуле имеется встроенная GPS антенна, устройство обеспечивает высокую производительность навигации при различных условиях видимости.

Neo-6M GPS. Приёмник производится компанией u-blox. В этом модуле используются новейшие технологии для получения точной информации о местоположении. Напряжение питания модуля 3-5В. Линейка устройств представлена типами G, Q, M, P, V и T со своими уникальными характеристиками.  Время холодного старта около 27 секунд.

На GPS-модуля VK2828U7G5LF все контакты разъёма подписаны, обозначают данные сокращения следующее:

  1. E – Enable;
  2. G – GND;
  3. R – Rx;
  4. T – Tx;
  5. V — + питания;
  6. P — сигнал захвата спутников, он же выводится на два светодиода на плате модуля (PPS).

Технические характеристики модуля:

  • Напряжение питания: 3.3 В — 5 В;
    • потребляемый ток: 25-35 мА;
    • чувствительность приёмника: -148 dBm (холодный старт), -160 dBm (захват), -162 dBm (трекинг);
    • максимальная высота: 50 км;
    • максимальная скорость: 500 м/с;
    • точность измерения скорости: <0,1 м/с;
    • точность измерения направления: <0.5 градуса;
    • точность позиционирования: <2,5 м;
    • принимаемые системы: GPS, GALILEO, SBAS (WAAS, EGNOS, MSAS, GAGAN);
    • среднее время холодного старта: 26 с;
    • частота обновления параметров: 1-10 Гц.;
    • формат выходных данных NMEA 0183 V3.0;
    • типы передаваемых сообщений: GGA, GSA, GSV, RMC, VTG, GLL, MSS;
    • размеры: 28.4×28.4 мм.

GPS-МОДУЛЬ VK2828U7G5LF
Подключение GPS-модуля VK2828U7G5LF

Подключение модуля RTC Arduino DS1302

Микросхема DS1302 содержит часы реального времени с календарем и 31 байт статического ОЗУ. Она общается с микропроцессором через простой последовательный интерфейс. Информация о реальном времени и календаре представляется в секундах минутах, часах, дне, дате, месяце и годе. Часы работают или в 24-часовом или 12-часовом формате с индикатором AM/PM (до полудня/ после полудня). В дополнение к основным функциям хранения времени DS1302 имеет два вывода питания для подключения основного и резервного источника питания, возможность подключения программируемой цепи заряда к выводу VCC1 и семь дополнительных байтов ОЗУ. DS1302 представляет собой одноименную микросхему на небольшой плате с необходимой обвязкой, позволяющий среди прочего подключить батарейку на 3-5 В, благодаря чему питание модуля можно осуществлять, как через Arduino, так и самостоятельно.


RTC Модуль часов реального времени DS 1302

Чип хронометража DS1302 trickle-charge содержит часы реального времени / календарь и 31 байт статической оперативной памяти. Оно взаимодействует с микропроцессором через простой последовательный интерфейс. Часы реального времени / календарь обеспечивают секунды, минуты, часы, день, дата, месяц и год. Дата окончания месяца автоматически корректируется на месяцы с менее чем 31 днём, включая поправки на високосный год. Часы работают в режиме 24-часовой или 12-часовой формата с индикатором AM/PM. Сопряжение DS1302 с микропроцессором упрощается за счёт использования синхронной последовательной связи. Только три для связи с часами/ОЗУ требуются провода: CE, I/O (линия передачи данных) и SCLK (последовательные часы). Данные могут передаваться в часы/оперативную память и обратно по 1 байту за один раз или в пакете до 31 байта. DS1302 конструирован к работе на очень низкой мощности и сохраняет информацию и данные по часов поясу на меньше чем 1μw. DS1302 является преемником DS1202. В дополнение к основным функциям хронометража DS1202, DS1302 имеет дополнительные функции двойного выводам питания для основного и резервного источников питания. Трек зарядное устройство для VCC1, и семь дополнительных байтов оперативной памяти. Чип DS1302 снабжён:

  • Интерфейсом 3-Wire; (3-провода) линия разрешения CE, линия тактирования SCLK, двунаправленная линия данных I/0;
  • Регистрами данных; 40 однобайтных регистра, 31 из которых доступны для хранения данных пользователя;
  • Компаратором контролирующим состояние напряжения VCC и VBAT; если VCC < VBAT + 0,2 то чип переходит на резервное питание;
  • Программируемым устройством заряда аккумуляторной батареи малым током;

Регистр модуля хранит 1 байт данных. Так как модуль использует интерфейс передачи данных 3-Wire, то и доступ к данным охарактеризован им.

Схема подключения RTC модуля DS1302 к плате Arduino Uno*


Схема подключения DS1302 через пины А5 и А4
Подключение к Ардуино Нано

Серия «Учебные проекты». Учимся подключать к Ардуино различные датчики и модули. Часть 1.

Подключение модуля ARDUINO ETHERNET SHIELD НА БАЗЕ W5100 ENC28J60.

Подключить плату Аrduino к интернету можно несколькими способами. Беспроводное подключение прекрасно организуется с использованием платформ ESP8266 или ESP32. Можно использовать Lora модули с соответствующими WiFi-шлюзами. Но самым помехоустойчивым и “традиционным” является старый добрый Ethernet. Используя обычный RJ45 разъем и витую пару вы сможете объединить вашу плату с другим сетевым оборудованием, будь то роутер, маршрутизатор или тот же WiFi модем. Преимущества Ethernet-подключения – скорость, стабильность, большая защищенность от помех. Недостатки очевидны – оборудование привязывается проводом, причем в условиях реальной эксплуатации качество этого провода должно быть высоким.

Наиболее популярные Ethernet модули для Ардуино сегодня выпускаются на основе микросхемы wiznet w5100, которая способна поддерживать обмен данными с постоянной скоростью в 100 Мбит/сек. Для устройств на базе w5100 написаны готовые библиотеки, данная архитектура является простой и идеально подойдет начинающим любителям электроники, которые могут использовать как стартовую площадку для последующих проектов.

ARDUINO ETHERNET SHIELD НА БАЗЕ W5100 ENC28J60

Ключевые характеристики модулей на базе W5100:

  • Рабочее напряжение – 5 Вольт, подходит питание с платы Arduino.
  • Внутренний буфер  16 Кб.
  • Скорость соединения достигает значения в 10/100 Мбит/сек.
  • Связь с платой ардуино осуществляется посредством порта SPI.
  • W5100 поддерживает TCP и UDP.

Варианты модулей на базе других микросхем:

Модуль на базе Wiznet W5500. Имеет меньшие размеры, меньше греется, имеет большую мощность.

Модуль на базе enc28j60. Это гораздо более бюджетный вариант, дешевле W5100, но и потенциальных проблем с ним может возникнуть больше.

Наиболее удобным способом работы с W5100 является использование готовых шилдов Ethernet Shield для Arduino Uno или Nano. На таких модулях уже выполнены все необходимые обвязки, шилд просто вставляется в соответствующие разъемы платы и вам остается только загрузить скетч. Естественно, что при желании к плате могут быть подключены и другие устройства.

Подключение ARDUINO ETHERNET SHIELD НА БАЗЕ W5100 ENC28J60 к Arduino

Отдельного упоминания заслуживает модуль Arduino Nano Ethernet. Он выполнен в формфакторе, облегчающим подключение к плате Nano v 3.0, но обладает практически такими же возможностями, что и “обычный” вариант для Uno. В основе шилда лежит микросхема ENC28J60.


Ethernet для Arduino Nano

Подключение тензодатчика HX711

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

Интегральная микросхема НХ711 представляет собой аналого-цифровой преобразователь с частотой дискретизации 24 бит и встроенным малошумящим операционным усилителем. Мультиплексор позволяет выбирать один из двух имеющихся входных каналов. Канал А имеет программируемый выбор коэффициента усиления, который может быть 64 или 128. Канал В работает с предустановленным коэффициентом, равным 32.

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

Основные технические характеристики НХ711:

  • Разрядность АЦП – 24 бит
  • Усиление по входу А – 64 или 128
  • Усиление по входу В – 32
  • Частота измерений – 10 или 80 раз в секунду
  • Питающее напряжение – 2,6-5,5 В
  • Потребляемый ток – менее 10 мА
  • Входное напряжение – ± 40 мВ

На плате с АЦП имеются два разъёма – J1 и JP2, на которых имеются следующие обозначения:

  1. J1
    1. E –, E + питание тензорного моста
    1. A –, A + дифференциальный вход канала А
    1. В –, В + дифференциальный вход канала В
  2. JP2
    1. GND, VCC питание
    1. DT, SCK – информационные шины

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

  • Красный – Е +
  • Чёрный – Е –
  • Белый – А –
  • Зелёный – А +
Подключение тензодатчика HX711 к Arduino

Подключение датчика GROVE TOUCH SENSOR


GROVE TOUCH SENSOR

Достоинства сенсорных кнопок:

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

Недостатки сенсорных кнопок:

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

Характеристики сенсорного датчика GROVE TOUCH SENSOR*

Время отклика Размер Напряжение питания Толщина диэлекстрика
220 мс и 80 мс 20Х20 мм 2–5 В 2 мм

Для соединения необходимы такие элементы:

  • Arduino Uno;
  • светодиод;
  • резистор;
  • сенсорный датчик GROVE TOUCH SENSOR.

Размещение и соединение всех элементов в окне «Макетная плата» показано на рисунке


Подключение датчика GROVE TOUCH SENSOR к Ардиуно Уно

Пример управляющей программы:

const int buttonPin = 2; // Выставляем значения порта, подсоединённого с сигнал-портом кнопки

    int count = 0; // Переменная, предназначенная для выбора режима работы

    void setup() {

    pinMode(LED_BUILTIN, OUTPUT); // Команда для адекватного реагирования светодиода

    pinMode(buttonPin, INPUT); // Открываем порт для считывания

    }

    void loop() {

    if(digitalRead(buttonPin)){ // При нажатии кнопки…

    count = count + 1; // Изменяем режим кнопки

    if(count > 2){ //В случае превышения значения count начинаем отсчет сначала

    count = 0;

    }

    while(digitalRead(buttonPin)){ // Пустой цикл для ожидания, пока пользователь отпустит кнопку

    }

    }

    if(count == 0) { // 3 режима по переключению кнопки:

    digitalWrite(LED_BUILTIN, LOW); // 1: Выключенный светодиод

    } else if(count == 1) {

    digitalWrite(LED_BUILTIN, HIGH); // 2: Включенный

    } else {

    digitalWrite(LED_BUILTIN, HIGH); // 3: Мигающий

    delay(100);

    digitalWrite(LED_BUILTIN, LOW);

    delay(100);

    }

    }

Учебный проект. Разработка робота в отслеживанием траектории движения.

Для создания   проекта был выбран микроконтроллер Arduino UNO потому что это полноценная система, позволяющая управлять различными системами и считывать данные из разных источников. Основное преимущество Arduino UNO — это стандартизированное распределение выводов, позволяющее применять готовые к использованию решения, расширяющие возможности системы. Используя специальные платы, называемые шилдами (Shield), можно расширить возможности Arduino, подключив, например, сетевую карту, драйвер для управления шаговым двигателем или датчик расстояния. Со стороны программы каждый вывод схемы четко определен, что в свою очередь позволяет легко создавать собственные макеты на основе примеров.

Ардуино UNO

Элементная база для построения робота

Двигатели
Шилд управления работой двигателей L298N
Колесная платформа
Батарейки АА
Ультразвуковой датчик HCSR04

Схема соединений элементов роботизированной платформы:

Этапы сборки робота​

Результат сборки

Разработка программы управления. Зная характеристики и возможности робота, мы можем составить схему поведения робота: 

  • робот должен ехать прямо, пока не увидит препятствие 
  • увидев препятствие, он должен оглядеться и определить оптимальный маршрут (поехать в ту сторону, где помеха находятся дальше или отсутствует) 
  • если препятствие оказалось слишком близко, робот по каким либо причинам его не заметил его (слабая отражающая способность, крохотная преграда, или робот подъезжал к нему под таким углом, что звук просто не мог отразиться обратно) – необходимо отъехать назад и дальше следовать второму пункту данного алгоритма 
  • после завершения маневра ехать по прямой линии до следующей преграды 
Блок-схема алгоритма для разработку программы управления

Скетч программы управления

Учебный проект. Лабораторный блок питания с управлением на Ардуино.

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

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

Пример лабораторного блока питания

Источники питания бывают двух типов: первичные источники питания и вторичные источники питания. Первичные источники электропитания преобразуют неэлектрические виды энергии в электрическую. Примеры первичных источников: электрическая батарейка, солнечная батарея, ветрогенератор и другие. Вторичные источники электропитания преобразуют один вид электрической энергии в другой для обеспечения необходимых параметров напряжения, тока, частоты, пульсаций и т.д. Примеры вторичных источников питания: трансформатор, AC/DC преобразователь (например, компьютерный блок питания), DC/DC преобразователь, стабилизатор напряжения и т.д. Питание широко используемых электронных устройств и бытовой радиоэлектронной аппаратуры осуществляется в основном вторичными источниками питания, преобразующими энергию переменного тока с номиналами напряжения 5, 9, 12, 15 и 27 В. 

Лабораторный блок питания — это одна из разновидностей вторичного источника электропитания. Разновидности и главные характеристики лабораторных блоков питания: 

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

Наиболее распространенные требования предъявляемые к блокам питания используемым при проектировании цифровых устройств: 

  1. напряжение от 0 до 15 В,
  2. максимальный ток нагрузки до 1 А,
  3. установка защиты по превышению тока от 0 до 1А, 
  4. удобство эксплуатации, 
  5. удобство ремонта и регулировки. 

Проанализировав параметры наиболее популярных лабораторных блоков питания, выводим средние показатели: 

  • максимальная мощность: 95,8 Вт, 
  • максимальное напряжение: 39,4 В, 
  • максимальный ток: 3,3 А, 
  • количество каналов: 1, 
  • масса: 6,9 кг. 

Микроконтроллер в блоке питания служит дополнительной защитой от короткого замыкания. Именно он, в реальном времени, следит за значениями выходного тока. Если этот показатель превысит заданную максимальную величину он примет защитные меры, а именно: немедленно выключит ЦАП путём обнуления регистра порта РС, а также проинформирует пользователя миганием светодиода. Напряжение на выходных клеммах будет снято – нагрузка отключена. В этом состоянии блок питания может находиться неограниченное время. Для возобновления подачи напряжения достаточно выставить необходимое выходное напряжение. При превышении указанных режимов защита автоматически сработает опять. Также микроконтроллер может служить таймером для блока питания, позволяющий отключать выходное напряжение по истечении заданного отрезка времени или издавать звуковой сигнал. В разработанном лабораторном блоке питания микроконтроллер выполняет функции: 

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

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

Микросхема LM2596
Структурная схема LM2596

Для подачи питания на разработанный лабораторный блок  будет использоваться блок питания на 24 В

Питание для микроконтроллера было решено сделать отдельно. Поэтому для питания микроконтроллера будет использована батарея «Крона» с выходным напряжением 9 Вт, и входной разъём для неё. Учитывая, что Ардуино Нано питается от 5 до 12 В, батарея «Крона» будет отличным вариантом. Для удобства управления питания будут использованы два выключателя, для лабораторного блока питания и для микроконтроллера. Для изменения напряжения и тока на преобразователе будут использоваться два цифровых потенциометра. Так как регулировка напряжения и тока будет проводится непосредственно через микроконтроллер потребуются три тактовые кнопки. Микроконтроллером будет Arduino Nano на процессоре ATmega328T.

Arduino Nano

Для вывода информации Arduino Nano потребуется дисплей, был выбран жидкокристаллический дисплей 16:2.

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

Соединим все необходимые элементы

После пайки, сборки и проверки на работоспособность лабораторного блока питания были проведены тесты.

Внешний вид собранного лабораторного блока питания изображен на рисунке ниже.

Собранный лабораторный блок питания

Так как для разработки лабораторного блока питания был использован блок питания на 24 В, а напряжение которое можно подать на преобразователь от 10 до 40 В, то была составлена таблица характеристик разработанного лабораторного блока питания с разным входным напряжением. Тестирование проводилось с тремя блоками питания с разными выходными напряжениями, на 12 В, 19В и на 24В. 

Таблица с результатами тестирований разработанного блока питания

Входное напряжение Выходное напряжение Выходной ток Мощность КПД 
12 В 12 В 3 А 36 Вт 70% 
19 В 19 В 3 А 56 Вт 75% 
24 В 24 В 3 А 72 Вт 95% 

Учебный проект. Подсветка помещения на Ардуино.

Для разработки автоматизированной подсветки помещения на базе микроконтроллера ATMEGA328P и светодиодной ленты нами было использовано: 

  • программируемый контроллер Arduino Uno R3; 
  • провода; 
  • инфракрасный датчик движения; 
  • два блока питания на 12V, 1A; 
  • монохромная светодиодная лента; 
  • резистор; 
  • транзистор.  
Компоненты для создания подсветки помещения
ИК-датчик движения

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

Схема соединения элементов автоматизированной подсветки помещения на базе микроконтроллера ATMEGA328P и светодиодной ленты
Собранная автоматизированная подсветка помещения на базе микроконтроллера ATMEGA328P и светодиодной ленты
Тестируем систему

В ходе тестирования настраиваем чувствительность и время задержки на инфракрасном датчике движения.

Настройка чувствительности датчика

Учебный проект. Электронный замок на Ардуино

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

Устройство должно удовлетворять следующим требованиям:

  1. ввод кода осуществить при помощи гибкой клавиатуры 4/4 типа;
  2. использовать дисплей с выводом информации о состоянии запорного механизма в виде текста на каждый момент действия запорного механизма, включая режим ожидания;
  3. реализовать цветовую индикацию отображающую состояние запорного механизма;
  4. реализовать звуковой сигнал изменения положения защелки запорного устройства;
  5. реализовать отскок двери после отпирания замка кода;
  6. монтаж деталей и электроники произвести с тыльной стороны, при этом сохранить визуальный доступ ко всем компонентам для последующего представления макета;
  7. с лицевой стороны разместить дисплей, клавиатуру и цветовую индикацию;
  8. общий габарит макета выполнить в пределах 40х40х30 см.

Разработанный макет базируется на материнской плате Arduino UNO, что обуславливает применение большинства используемых компонентов.

Основным условием является то, что выходное напряжение с платы Arduino UNO – составляет максимум 5 вольт и 50 млА на каждый цифровой выход. Соответственно, номинал компонентов следует подбирать под эти параметры:

  1. Светодиоды (красный, зеленый) — от 3 до 5 вольт.
  2. Диммер — от 3 до 5 вольт.
  3. Дисплей со встроенным драйвером — 5 вольт.
  4. Сервопривод — 5 вольт.
  5. Гибкая клавиатура — 5 вольт.
  6. Плата АУ питание до 9 вольт.
  7. Батарея «Крона» — 9 вольт.

Для разработки кодового замка на базе микроконтроллера необходимы следующие элементы:

  • микроконтроллер Arduino Uno R3;
  • матричная клавиатура 4х4;
  • монохромный дисплей lcd1602;
  • провода;
  • макетная плата (400 точек);
  • коннектор для батареи (крона) 9 в;
  • светодиоды;
  • сервопривод sg90;
  • зуммер или пьезоэлемент;
  • пластиковая язычковая защелка.

Arduino Uno R3:

Arduino Uno R3

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

Характеристика матричной клавиатуры:

  • Габариты: 68×77×0,8 мм;
  • Рабочее напряжение: до 12 В;
  • Максимальный ток: 100 мА;
  • Сопротивление изоляции: >100 МОм;
  • Сопротивление контактов: <200 Ом;
  • Вес: 10 г.

Монохромный дисплей LCD 1602A представляет собой электронный модуль, основанный на драйвере HD44780 от Hitachi. LCD1602 имеет 16 контактов и может работать в 4-битном режиме (с использованием только 4 линии данных) или 8-битном режиме (с использованием всех 8 строк данных), так же можно использовать интерфейс I2C.

Технические параметры:

  • Напряжение питания: 5 В;
  • Размер дисплея: 2.6 дюйма;
  • Тип дисплея: 2 строки по 16 символов;
  • Цвет подсветки: синий;
  • Цвет символов: белый;
  • Габариты: 80мм x 35мм x 11мм.

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

Батарейка подсоединялась с помощью контактов

Куда же без диодов…

Защелка замка двигается при помощи сервопривода. Маленький сервопривод SG90 вполне подходит для использования. Имеет три вывода: плюс, минус и сигнал. Вращение ротора осуществляется на 180 градусов. Обеспечиваемый момент вращения при 4,8 В около 1,98 кг*см. Скорость вращения — 60 градусов за 0,14 сек. Рабочее напряжение от 3,5 до 7,2 Вольт.

Cервопривод SG90
Схема соединения элементов с контроллером

Подключаем LCD дисплей к плате ардуино. SCL вывод подсоединяем к аналоговому пину А4,а SDS вывод к пину А5. Провод питания подключаем к макетной плате.

Далее подсоединяем матричную клавиатуру 4х4 к цифровым пинам на Arduino (от D9 до D2). Подключение можно провести при помощи проводов питания или специальных коннекторов.

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

Следующим шагом подключаем пьезоэлемент к макетной плате и с помощью проводов питания соединяем с пином D13 на Arduino.

Подключим питание

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

Закрепляем готовую дверцу со всем механизмом к макетной установке.

Полностью готовый электронный замок