Организация беспроводной связи на базе Arduino UNO и модуля GSM/GPRS SIM900 - Студенческий научный форум

XIV Международная студенческая научная конференция Студенческий научный форум - 2022

Организация беспроводной связи на базе Arduino UNO и модуля GSM/GPRS SIM900

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

Arduino – это простая в использовании открытая электронная платформа, включающая так называемые стартовые наборы разработчика (starter kit) и открытое программное обеспечение и предназначенная для быстрого создания интерактивных электронных устройств. Она была создана группой энтузиастов, которые позиционировали свою разработку как платформу для быстрой реализации небольших проектов. Arduino строится на базе микроконтроллеров Atmel и используется для получения сигналов от аналоговых и цифровых датчиков, управления различными исполнительными устройствами и обмена информацией с компьютером при помощи различных интерфейсов.

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

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

Модуль для работы микроконтроллерных устройств Arduino и аналогичных в сетях сотовой связи по стандартам GSM и GPRS. Ориентирован на использование в системах автоматики и управления. Обмен данными с другими модулями происходит через интерфейс UART. Модуль собран на модуле SIM900, имеет антенну, слот для SIM карты и 2 гнезда 3,5 мм. GSM/GPRS shield представлен на рисунке 1.


Рисунок 1 – GSM/GPRS shield с антенной

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

сборка должна отправлять SMSсообщения на телефон;

сервис должен быть доступен на известных мобильных платформах;

сервис должен находиться в специальном облаке от разработчика;

приложение должно отображать уровень сигнала от модуля;

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

иметь функцию регистрации температуры в диапазоне –40 °C до +100 °C;

иметь функцию обмена данными с использованием канала GSM по средствам AT-команд;

питаться от внешнего источника питания 5в 1 А.

Устройство GSM/GPRS shield, позволяющей Arduino работать в сетях сотовой связи по технологиям GSM/GPRS для приёма и передачи SMS с показанием изменения температуры.

Рекомендуемое номинально напряжение данного модуля лежит в диапазоне 4,8–5,2 В, было решено использовать преобразователь напряжения на основе LM, он запитывает схему постоянным напряжением 3,5 вольт. Так как потребление GSM-модуля в момент регистрации равна 2 Ампера, мы будем использовать адаптер 5 В 2 А. Ниже, на рисунке 2 представлена функциональная структура системы.


Рисунок 2 – Функциональная схема системы подключения

В соответствии с техническим заданием требуется разработать принципиальную схему системы. Основой системы является плата Arduino и модуль SIM900. Обмен данными между модулями происходит посредством интерфейса UART. Ниже приведены порты платы Arduino и модуля SIM900.

Таблица 1 – Порты Arduino

Обозначение порта

Тип порта

Значение

Уровень напряжения

5V

 

Выход 5 В

5 В

3.3V

 

Выход 3.3 В

3.3 В

Vin

 

Внешнее напряжение

От 6 до 20В

Reset

 

Сброс

0 В

GND

 

Земля

 

A0

Аналоговый вход

Вход АЦП

 

A1

Аналоговый вход

Вход АЦП

 

A2

Аналоговый вход

Вход АЦП

 

A3

Аналоговый вход

Вход АЦП

 

A4

Аналоговый вход

Вход АЦП

 

A5

Аналоговый вход

Вход АЦП

 

PIN0

Цифровой порт

Вывод RX Serial порта

5 В или 0 В

PIN1

Цифровой порт

Вывод TX Serial порта

5 В или 0 В

PIN2

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN3

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN4

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN5

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN6

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN7

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN8

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN9

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN10

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN11

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN12

Цифровой порт

Цифровой вход-выход

5 В или 0 В

PIN13

Цифровой порт

Цифровой вход-выход

5 В или 0 В

Таблица 2 – Порты модуля SIM900

Обозначение порта

Тип порта

Значение

Уровень напряжения

V

Порт питания

Порт питания модуля

От 4,8–5,2 В

GND

Земля

Земля модуля

Земля

GND

Земля

Земля слота SIM

Земля

SIM_TXD

Цифровой порт

Вывод TX Serial порта

От 2.5 – до 3 В

SIM_RXD

Цифровой порт

Вывод RX Serial порта

От 2.5 – до 3 В

RST

Сброс

Перезагрузка модуля

От 1 – до 4 В

Принципиальная схема системы представлена ниже.

Рисунок 3– Принципиальная схема системы

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

Линия Control идущая от коллектора транзистора Q2 к выводу PortD.4 микроконтроллера добавлена для перестраховки и нужна за тем чтобы следить включен ли модуль. Так как порог выключения у SIM900 составляет 3,2 вольта то даже при незначительной просадке напряжения модуль автоматически выключится, тогда как микроконтроллер продолжит работать и выполнять программу (порог сброса у ATmega328 2,7 вольта). В рабочем состоянии на этой линии находится низкий уровень. Если микроконтроллер обнаружит что на этой линии высокий уровень, выполнится функция повторного запуска GSM модуля.

За измерение температуры отвечает датчик LM328, он подключается к выводу PortD.0 микроконтроллера.

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

Рисунок 3 - Алгоритм МПС

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

в строке currStr хранится текущая строка, которую передает нам плата;

AT+CMGF – задаёт режим работы, 1-текстовый. Эта команда будет вызываться первой, от этого зависит формат последующих команд и ответов модема;

AT+IFC=1,1 – программный контроль передачи данных;

AT+CPBS=SM – выбор основной памяти сим-карты. Данный режим стоит по умолчанию;

AT+CNMI – разрешение индикационного содержимого SMS сообщений.

Скетч у нас выглядит таким образом, что Arduino отправляет sms-сообщение с данными температуры только при получении приходящего сообщения с текстом «temp». Результат работы показан на рисунке 5.

Рисунок 5 – Результат работы

Таким образом, в данной работе было произведено проектирование аппаратной части, разработана принципиальная схема устройства, разработан алгоритм программного обеспечения, реализация которого осуществлена на языке Arduino C++ (программный код опущен). В конечном итоге была разработана система сбора данных о температуре.

Список использованных источников:

Arduino gsm модуль: принцип работы, популярные модели [Электронный ресурс]. URL: https://bezopasnostin.ru/gsm-signalizatsiya/gsm-moduli-arduino.html#i-3

LMx35, LMx35A Precision Temperature Sensors [Электронныйресурс]. https://components101.com/asset/sites/default/files/component_datasheet/LM335-Temperature-Sensor.pdf

АРДУИНО - КИТ [Электронный ресурс]. URL: https://arduino-kit.ru/catalog/id/shield-gprs-gsm-sim900-s-antennoy

Просмотров работы: 35