Измеритель дальности на ультразвуковом датчике с GSM модулем

Дипломная работа

Министерство образования и науки Российской Федерации

ФГАОУ ВПО «Северо-Восточный федеральный университет имени М.К. Амосова»

Физико-технический институт

Кафедра радиотехники и информационных технологий

Выпускная квалификационная работа

(направление: 11.03.01, Радиотехника, профиль «Радиотехнические средства передачи, приема и обработки сигналов»)

Измеритель дальности на ультразвуковом датчике с Gsm модулем

GSM — Global system or Mobile communications. Глобальный стандарт цифровой сотовой связи.

SIM — Subscriber Identification Module. Модуль идентификации абонента. — General Packet Radio Service. Пакетная радиосвязь общего пользования»

AT- От английского «Attention», набор команд.

UART — Universal Asynchronous Receiver-Transmitter. Универсальный асинхронный приемо-передатчик

МК — Микроконтроллер

ТТЛ — Транзисторно-транзисторная логика

ТШ — Триггер Шмитта

I/O — nput/Output. Вход/Выход

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

В качестве ультразвукового датчика используется приемо-передатчик ультразвука. Принцип работы ультразвукового датчика расстояния основан на излучении импульсов ультразвука и измерении времени задержки отраженного от объекта импульса. Управление работой ультразвукового датчика, преобразование времени задержки сигнала в расстояние и формирование данных для подачи на вход SIM-модуля производится с помощью перепрограммируемого микроконтроллера PIC16F628А. Передача данных при поступлении сигнала запроса на данное устройства производится с помощью специальных АТ команд, подаваемых на информационный вход SIM — модуля.

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

Целью данной выпускной квалификационной работы является разработка ультразвукового измерителя расстояния его сопряжение с GSM модулем для последующей передачи на сотовый телефон владельца. В качестве GSM модуля нами был выбран SIM900 компании «SimCOM», поддерживающий диапазоны частот GSM/GPRS 850/900/1800.

29 стр., 14476 слов

Датчики управления двигателем автомобиля

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

Для достижения поставленной цели необходимо решить следующие задачи:

Изучить документации, технические характеристики устройств которые будут использоваться в данной работе

Написать программу для микроконтроллера PIC16F628A, которая будет преобразовывать данные с ультразвукового датчика, затем отправлять полученный результат GSM модулю, которая в свою очередь доставит через смс-сообщение пользователя.

Изготовить печатную плату устройства измерения дальности на ультразвуковом датчике с GSM модулем.

Метод исследования: Экспериментальный, практический.

Апробация, по данной работе был получен диплом за активное участие в работе выставки-конкурса «Техническое творчество молодежи» в Лаврентьевских чтениях, которые проводились 18-22 апреля 2016 г.

Работа состоит из 2 глав, введения и заключение, списка источников, приложения.

В первой главе работы рассматриваются технические характеристики GSM модуля SIM900, как модуль передает, принимает данные с помощью АТ- команд. Рассмотрен пример общения модуля с компьютером через COM порт (RS-232), с помощью программы COM port toolkit 4.0.

Вторая глава посвящена, разработке устройства, алгоритме работы программы микроконтроллера, описанию технических характеристик ультразвукового датчика HC-SR04 и микроконтроллера PIC16F628A. Описанию принципиальной схеме устройства измерителя дальности на ультразвуковом датчике c GSM модулем. Изготовлению печатной платы устройства. В заключении, приводится выводы работы, и технические характеристики

канал ультразвуковой датчик микроконтроллер

(от названия группы Groupe Spécial Mobile, позже переименован в Global System or Mobile Communications) — глобальный стандарт цифровой мобильной сотовой связи, с разделением каналов по времени и частоте. Разработан Европейским институтом стандартизации электросвязи в конце 80-х годов. [1].

Стандарт прошел несколько этапов развития:

GSM 1982-1990. Запустили первую коммерческую сеть в январе 1992 г.

Скорость цифрового стандарта передачи данных до 9.6 Кбит/с. Сейчас не используется, все оборудование устарело.Phase 2

г. Включает диапазон 1900 МГц в 1995 г. Цифровой стандарт, поддерживает скорость передачи данных до 9.6 кбит/с. Второй этап развития GSM «ФАЗА 2» завершился в 1997 г.[1]Phase 2+

Следующий этап развития сетей стандарта GSM «ФАЗА 2+» не связан с конкретным годом внедрения. Новые услуги и функции стандартизируются и внедряются после подготовки и утверждения их технических описаний.Phase 2+ обеспечивает поддержку следующих услуг:

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

Для сотовой связи в России выделены частоты для стандартов GSM-900 и GSM-1800 МГц. Для GSM-900 выделенные частоты 890 до 915 МГц для передачи от клиента к базовой станции и 935 до 960 MГц для передачи от базовой станции клиенту. Разнос частот составляет порядка 40 50 МГц. Для GSM -1800 выделены 1710-1785 для передачи от клиента и 1805- 1880 для передачи от базовой станции.

Основные характеристики GSM приведены в таблицах 1.1-1.2.

Таб.1.1. Диапазон GSM 900/1800

Характеристики

GSM-900

GSM-1800

Частоты передачи ЦК и приема БЗ, МГц

890-915

1710-1785

Частоты приема ЦК и передачи БЗ, МГц

935-960

1805-1880

Дуплексный разнос частот приема и передачи, МГц

45

95

Ширина полосы канала связи, кГц

200

200

Таб.1.2. Диапазон GSM 850/1900

Характеристики

GSM-900

GSM-1900

Частоты передачи ЦК и приема БЗ, МГц

824-849

1850-1910

Частоты приема ЦК и передачи БЗ, МГц

869-894

1930-1990

Дуплексный разнос частот приема и передачи, МГц

45

85

В GSM используется временное распределение канала TDMA.

Это когда в одном частотном канале находятся несколько пользователей, они разделены каждым своим временем для передачи данных

Структура сети GSM приведена на рис. 1.1.

GSM состоит из трёх подсистем:

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

Измеритель дальности на ультразвуковом датчике с GSM модулем 1

Рис.1.1. Структурная схема сети GSM

Подсистема базовых станций.

ПБС состоит из базовых станций (BTS — Base Transceiver Station) и контроллеров базовых станций (BSC — Base Station Controller).Область, накрываемая сетью GSM, разбита на соты шестиугольной формы. Каждая ячейка покрывается одной BTS, при этом ячейки частично перекрывают друг друга, тем самым сохраняется возможность передачи обслуживания MS при перемещении её из одной соты в другую без разрыва соединения (Операция передачи обслуживания мобильного телефона (MS) от одной базовой станции (BTS) к другой в момент перехода мобильного телефона границы досягаемости текущей базовой станции во время разговора, или GPRS-сессии называется «Handover»).[2]

Подсистема коммутации.

Центр коммутации (MSC — Mobile Switching Centre)контролирует определённую географическую зону с расположенными на ней BTS и BSC. Осуществляет установку соединения к абоненту и от него внутри сети GSM, обеспечивает интерфейс между GSM и ТфОП, другими сетями радиосвязи, сетями передачи данных. Также выполняет функции маршрутизации вызовов, управление вызовами, эстафетной передачи обслуживания при перемещении MS из одной ячейки в другую. После завершения вызова MSC обрабатывает данные по нему и передаёт их в центр расчётов для формирования счета за предоставленные услуги, собирает статистические данные. MSC также постоянно следит за положением MS, используя данные из HLR и VLR, что необходимо для быстрого нахождения и установления соединения с MS в случае её вызова.

Центр технического обслуживания (Operations and Maintenance Centre)

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

Для разработки устройства передачи данных по GSM каналу будем использовать беспроводной модуль передачи данных компании SIM900, разработанный компанией SIMсom. Беспроводной модуль используется для передачи и приема на территории действия сотовых операторов таких как МТС, Мегафон и Билайн. В настоящее время список SIM модулей непрерывно расширяется — разработаны SIM- модули со встроенным GPS приемником. Для отладки программ разработаны специальные отладочные модули для конкретного типа SIM-модуля. Модуль SIM 900 относится к типу наиболее простых модулей из своего класса. Прежде чем собирать схему производится его отладка на отладочном модуле, который содержит непосредственно сам модуль и интерфейсы для подключения к компьютеру и другим устройствам.

Технические характеристики SIM900[3]:

Диапазон рабочих частот GSM-GPRS 850/900/1900 МГц.

Соответствие стандарту GSM фазы 2/2+.

Выходная мощность в стандарте GSM 850/900 — 2 Вт.

Выходная мощность в стандарте DCS 1800/PCS 1900 — 1 Вт

Управление посредством АТ-команд.

Напряжение питания — 3,2…4,8В.

Диапазон рабочих температур — -30…+80°С.

Размеры — 24х24х3мм.

Масса — 6,2грамм.

Скорость передачи данных:

  • При пакетной передаче данных GPRS — до 85,6 Кбит/с (входной трафик); до 42,8 Кбит/с (исходящий трафик).

При передаче данных стандарта GSM: до 14,4 Кбит/с.

Используемые аудиокодеки HR, FR, EFR, AMR.

Функция подавления эха.

Внешние интерфейсы-UART, Sim-карта, GPIO, I2C.

Часы реального времени.

Встроенный стек TCP/IP, UDP/IP.

Прошивка с поддержкой технологии Embedded AT позволяет записывать в память модуля и исполнять пользовательский код, написанный на языке С. В ряде случаев это позволяет отказаться от использования внешнего микроконтроллера

Расположение контактов SIM900 приведено на рис.1.2.

Измеритель дальности на ультразвуковом датчике с GSM модулем 2

Рис.1.2. Расположение контактов модуля SIM900

Нумерация контактов SIM900 на языке оригинала приводится в таблице 1.3.

Табл. 1.3 Нумерация контактов на языке оригинала

1

PWRKEY

41

GPIO1/KBR3

2

NC

42

GPIO1/KBR2

3

DTR

43

GPIO1/KBR1

4

RI

44

GPIO1/KBR0

5

DCD

45

GND

6

NC

46

GND

7

CTS

47

GPIO1/KBC4

8

RTS

48

GPIO1/KBC3

9

TXD

49

GPIO1/KBC2

10

RXD

50

GPIO1/KBC1

11

DISP_CLK

51

GPIO10

12

DISP_DATA

52

NETLIGHT

13

DISP_D/C

53

GND

14

DISP_CS

54

GND

15

VDD_EXT

55

VBAT

16

NRESET

56

VBAT

17

GND

57

VBAT

18

GND

58

GND

19

MIC_P

59

GND

20

MIC_N

60

RF_ANT

21

SPK_P

61

GND

22

SPK_N

62

GND

23

NC

63

GND

24

NC

64

GND

25

ADC

65

GND

26

VRTC

66

STATUS

27

DBG_TXD

67

GPIO11

28

DBG_RXD

68

GPIO12

29

GND

30

SIM_VDD

31

SIM_DATA

32

SIM_CLK

33

SIM_RST

34

SIM_PRESENCE

35

PMW1

36

PWM2

37

SDA

38

SCL

39

GND

40

GPIO1/KBR4

Для дальнейшей работы с SIM модулем необходимо описать используемые в нашей разработке назначения контактов:

VBAT- напряжение питания.

VRTC — питание часов реального времени.

GND — заземление

POWER_ON — POWER_OFF — включение/выключение питания (нужно зажать, как минимум за 64 мс для включения или 500 мс для выключения модуля).

MIC1P/MIC1N -дифференциальные аудио входы.

SPK_P, SPK_N — дифференциальные аудио выходы.

SIM_VDD — напряжение питания для SIM-карты, поддержка 1.8 V или 3В.

SIM_DATA — SIM данные выход/вход.

SIM_CLK — SIM часы._RESET — сброс.

SIM_PRESENCE- обнаружение сим- карты.

RXD — получение данных.

TXD — передача данных.

RTS — сигнал запроса на передачу.

CTS — очистка памяти для отправки данных.

RI — индикатор вызова.

DCD — обнаружение перевозчика.

DBG_TXD, DBG_RXD — используется для отладки и обновления прошивки.

NRESET — система сброса.

RF_ANT — главная антенна.

PWM1, PWM2 — модуляция, если не используются в модуле, должны быть открытыми.

NC- выход индикации нет соединения.

ADC — вход аналого-цифрового преобразователя от 0 до 2,8 В.

SDA — для подключения интерфейса I2С — вход данных.

SCL — для подключения синхронизации интерфейса I2С.

DISP-интерфейс подключения дисплея.

GPIO/KBR- выводы входа/выхода, выводы для клавиш.

STATUS- статус питание.

NETLIGHT- статус сети.

PWRKEY- кнопка включение питания.

Передача сообщений с помощью АТ — команд

АТ — команды разработаны компанией Hayes в 70-е годы. С помощью АТ-команд обмениваются приложения и модемы SIMCOM,WAVECOM для обработки событий услуг GSM. Для того, чтобы модем распознал эти команды, они должны быть записаны на понятном для модуля языке. Каждая команда всегда начинается словами AT или at , дополненных одной или больше командой и завершаемой в конце нажатием клавиши Enter. Команды воспринимаются модемом только тогда, когда он находится в «командном режиме» или offline.[4]команды обычно отправляются модему посредством коммуникационного программного обеспечения, в нашем случае ПО отправлять будет микроконтроллер PIC16F628A, но также можно ввести вручную, с компьютера.

Набор команд и архитектура оказались весьма удачными и неоднократно расширялись и дополнялись. ETSI выпустил ряд стандартов описывающих управление мобильными телефонами и модемами стандарта GSM, таких как GSM 07.05 и GSM0 7.07. Некоторые производители коммуникационного оборудования дополняют стандартный набор AT-команд своими собственными расширениями. Рассмотрим пример АТ команды. Все команды отправляются на беспроводной модуль с помощью программы COM port toolkit 4.0. Для этого надо настроить COM порт компьютера. В программе мы изменяем настройки как у нашего беспроводного модуля SIM900

Настройка соединения:

Скорость: 9600 бит/с по умолчания в нашем модуле SIM900.

Бит данных: 8.

Четность: нет.

Стоповые биты: 1.

Управление потоком: Нет.

Скриншот настройки компьютера для записи обмена данными с модулем на рис.1.3.

Измеритель дальности на ультразвуковом датчике с GSM модулем 3

Рис.1.3 Скриншот настройки соединения на программе COM PORT Toolkit 4.0

Модуль общается с компьютером посредством AT команд. Практически все команды работают в 3 режимах — в тестовом, в режиме чтения и записи.

В тестовом режиме возвращается OK, если команда поддерживается или возможные значения данных в параметре команды. Тестовый режим определяется окончанием команды в виде ‘=?’.

В режиме чтения возвращаются текущие значения параметра, отличается от тестового наличием в конце просто символа ‘?’.

И в режиме записи после ‘=’ идут новые значения параметров.

Количество параметров при чтении и записи не обязательно должно совпадать.

Рассмотрим АТ команды которые будут использоваться в нашей работе:

Включение и выключение режима ATE0 (режим эха):

  • 0, выключен
  • 1, включен. По умолчанию всегда 1.
  • ATH0 — разорвать все соединения.

Может принимать значения 0..5, указывающие какие виды связи нужно разорвать.

Отправка SMS.+CMGF — формат сообщений, 0-1.

  • 0, — режим PDU, управление кодом команды. Вывод сообщения в HEX коде. Этот режим стоит по умолчанию.
  • 1, — текстовый режим.

Команды текстовые. Вывод сообщения в текстовом виде.

Работа в режиме SMS.+CMGS=«ХХХХХХХХХХХ» — отправка SMS. Так же зависит от AT+CMGF. После ввода команды выдает приглашение «>» после чего можно вводить текст сообщений. Завершается символом ESC или Ctrl-Z.

Сделать запрос можно 2 способами:

  • Используя специальную команду:+CUSD=1,»#100#».
  • режим обработки ответа.
  • выполнить запрос, полученный ответ проигнорировать.
  • выполнить запрос, ответ вернуть в терминал.
  • отменить операцию.

Набирается команда «#100#», затем само сообщение. Отправляется только то, что находится в скобках.

  • Второй способ выглядит как обычный набор номера. Результат всегда возвращается в терминале. Но работает не на всех версиях прошивки.#100#;

Ответное сообщение приходит в сообщении +CUSD:

Вывод: Рассмотрена техническая характеристика GSM модуля SIM900. С помощью АТ-команд был проведен обмен данными между GSM модулем и компьютером через COM порт (RS-232).

Разработка устройства начинается со способа измерения расстояния и перевод измеренных значений в цифровой вид. Для измерения расстояний в десятки см , нами был выбран ультразвуковой метод измерения расстояния как наиболее простой и достаточно точный.

В качестве датчика расстояния использовали ультразвуковой датчик HC-SR04, Принцип работы ультразвукового датчика расстояния основан на излучении импульсов ультразвука и измерении, отраженного от объекта импульса. В основу метода возбуждения ультразвука используется пьезорезистивный преобразователь. На пьезорезистивный преобразователь подаются электрические сигналы частотой 40 кГц и превращаются в ультразвуковые колебания, которые после отражения будут приняты таким преобразователем. В приемнике наоборот ультразвук превращается в электрические колебания. Если все это разнести во времени, то один пьезорезистивный преобразователь может быть как излучателем, так и приемником ультразвуковых импульсов.

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

Для нашего устройства был выбран ультразвуковой датчик HC-SR04, разработанный компанией «RoboBox». Этот датчик содержит 2 пьезорезистивных преобразователя — один работает в режиме излучателя, другой в режиме приема. Достоинством такого датчика является простота схемного решения и возможность определять достаточно малые расстояния — до десятков мм.

Технические характеристики HC-SR04[5]:

Напряжение питание: 5 В.

Потребление в режиме тишины: 2 мА.

Потребление при работе: 15 мА.

Диапазон расстояний: 2-400 см.

Эффективный угол наблюдения: 15°.

Рабочий угол наблюдения: 30°.

На рис. 1.4. приведен внешний вид датчика.

Измеритель дальности на ультразвуковом датчике с GSM модулем 4 Измеритель дальности на ультразвуковом датчике с GSM модулем 5

Рис.1.4. Внешний вид датчика HC-SR04.

Для нас важны размеры датчика на( рис.1.5).

Измеритель дальности на ультразвуковом датчике с GSM модулем 6 Измеритель дальности на ультразвуковом датчике с GSM модулем 7

Рис.1.5.Размеры датчика

Назначение выводов:- плюс контакт питания.- Вход запуска датчика для измерения.- Выход эхо, отраженного сигнала.- минус контакт питания

Принцип измерения расстояния при помощи датчика HC-SR04.

Для излучения ультразвука на схему датчика необходимо подать TTL импульс длительностью 10 мкс, на контакт схемы Trig. При подаче такого импульса схема генерирует 8 импульсов с частотой 40 кГц, эти импульсы возбуждают пьезорезистивный преобразователь и происходит изучение ультразвука в направлении на препятствия. Отраженные импульсы принимаются вторым пьезопреобразователем. Сравнивая времена излучения и приема пачки импульсов, схема датчика формирует Echo- импульс также уровня TTL, длительность которого пропорциональна расстоянию. Зная ширину вырабатываемого импульса можно определить расстояние до отражающей поверхности по следующему соотношению:

Ширина импульса(мкс)/58=дистанция(см)

На рис. 1.4 приведены временные импульсов ультразвукового датчика HC-SR04.

Измеритель дальности на ультразвуковом датчике с GSM модулем 8

Рис.1.4.Временные диаграммы импульсов HC-SR04

Для преобразования длительности формируемого на выходе ультразвукового датчика в значение расстояния и дальнейшей передачи на вход SIM модуля используется микроконтроллер PIC16F628A, который принадлежит семейству широко распространенных PIC микроконтроллеров. Выбор данного микроконтроллера обусловлен тем, что у него имеется встроенный таймер и он имеет интерфейс связи UART, позволяющий передавать данные и систему команд типа АТ, которую понимает SIM модуль.

Технические характеристика PIC16f628А[6].

Микроконтроллер компании «Microchip» PIC16F628А -18-выводной FLASH микроконтроллер входит в состав распространенного семейства PIC16CXX. Микроконтроллеры этого семейства имеют 8-разрядную, высокопроизводительную и полностью статическую RISC архитектуру.

Тип корпуса — PDIP-18L.

Напряжение питания ядра — 2…5.5B.

Напряжение питания периферии — 2…5.5B.

Рабочая температура — -40…80oC.

Количество интерфейсов UART — 1.

Количество таймеров -3.

Количество компараторов -2.

Количество I/0 -15.

Характеристика высокопроизводительного RISC ядра:

команд.

Все команды выполняются за один цикл (200нс), кроме команд переходов, выполняющихся за два цикла.

Тактовая частота:

DC-20МГц, тактовый сигнал.

DC-200нс, один машинный цикл.

Память программ(FLASH)-2048×14.

Память EEPROM данных -128х8.

Система прерываний:

специальных аппаратных регистров.

  • уровневый аппаратный стек.

Прямой, косвенный и относительный режим адресации.

Вычисления в МК производятся арифметико-логическим устройством (ALU), которое, в свою очередь при работе взаимодействует с регистрами. Основной регистр, используемый в вычислениях, называется аккумулятором или рабочим регистром, обозначается W и не отображается на адресное пространство. Остальные регистры образуют память данных и делятся на 2 группы:

  • регистры специального назначения (SFR) — используются для управления ядром и периферией;
  • регистры общего назначения (GPR) — по сути просто оперативная память, доступная программисту.

Для связи с другими устройствами имеется два восьмиразрядных PORTA и PORTB. Архитектура микроконтроллера PIC16F628А приведена на рис.1.5.

Измеритель дальности на ультразвуковом датчике с GSM модулем 9

Рис.1.5. Архитектура микроконтроллера PIC16F628A

расположение выводов микроконтроллера PIC16F628A приведено на рис.1.6.

Измеритель дальности на ультразвуковом датчике с GSM модулем 10

Рис.1.6 Расположение выводов PIC16F628A PDIP-18L

Описание выводов МК, обозначение и их описание приведено в таблице 1.4[7]

Табл.1.4 Описание выводов PIC16F628A[7]

Обозначение

Тип

Буфер

Описание

1

2

3

4

OSC1/ CLKIN

I

ТШ/КМОП

Вход кристалла генератора, RC-цепочки или вход внешнего тактового сигнала

OSC2/ CLKOUT

O

Выход кристалла генератора. В RC-режиме — выход 1/4 частоты OSC1

/MCLR

I/P

ТШ

Сигнал сброса/выход программи-рующего напряжения. Сброс низким уровнем.

RA0 RA1 RA2 RA3 RA4 /T0CKI

I/O I/O I/O I/O I/O

ТТЛ ТТЛ ТТЛ ТТЛ ТШ

PORTA- двунаправленный порт ввода/вывода RA4/T0CKI может быть выбран как тактовый вход таймера/счетчика TMR0. Выход с открытым стоком.

RB0/INT RB1/TX/DT RB2/RX/CX RB3/CCPI RB4/PGM BR5 RB6/PGC RB7/PGD

I/O I/O I/O I/O I/O I/O I/O I/O

ТТЛ/ТШ ТТЛ ТТЛ ТТЛ ТТЛ ТТЛ ТТЛ/ТШ ТТЛ/ТШ

PORTB- двунаправленный порт ввода/вывода. RB1/TX,RB2/RX выводы интерфейса UART Может быть запрограммирован в режиме внутренних активных нагрузок на линию питания по всем выводам. Вывод RB0/INT может быть выбран как внешний вход прерывания. Выводы RB4…RB7 могут быть программно настроены как входы прерывания по изменению состояния на любом из входов. При программировании МК RB6 используют как тактовый, а RB7 как вход/выход данных.

Vdd

P

Положительное напряжение питания

Vss

P

Общий провод (земля)

Устройство будет работать в следующем порядке, для этого запрограммировали программу на МК PIC16F628A на среде програм-мирования микроконтроллеров PIC, высокоуровневая среда програм-мирования со своими специальными библиотеками MicroC Pro for PIC, на рис.1.7. скриншот общeго вида программы

Измеритель дальности на ультразвуковом датчике с GSM модулем 11

Рис.1.7 Скриншот программы MicroC PRO for PIC.

Рассмотрим общий алгоритм программы на рис.1.8

Измеритель дальности на ультразвуковом датчике с GSM модулем 12

Рис.1.8 Алгоритм работы программы

В начале программы объявление переменных, затем настройки регистров таймера и прерываний, затем ввод АТ команд для настройки работы модуля, и ждем звонок, до условия «да», потом запускающий триггер для HC-SR04 сработает, датчик сгенерирует 8 импульсов для передачи и на МК поступит отраженный сигнал, длительность считывает таймер, по формуле расчета (1)

Измеритель дальности на ультразвуковом датчике с GSM модулем 13

  • расстояния в метрах, t-время отраженного импульса в секундах, V-скорость ультразвука.[8]

Измеритель дальности на ультразвуковом датчике с GSM модулем 14

Упрощаем формулу

Измеритель дальности на ультразвуковом датчике с GSM модулем 15

Микроконтроллер в ожидании звонка переводится в спящий режим, будет просыпаться от прерываний контакта модуля UART_RI(4) , для уменьшения потреблении устройства.

Нашу программу на МК PIC16F628A прошивали с помощью программы PICkit 2 v2.61 и программатора PICkit 2. На рис.1.9 описание к каким контактам микроконтроллера надо соединить выводы программатора для загрузки программы.

Измеритель дальности на ультразвуковом датчике с GSM модулем 16

Рис.1.9. Выводы для программирования МК[9]

Потребления устройства.

Потребления тока устройства =20мА

Потребление тока SIM900;

В режиме ожидания от 2,2 мА

В режиме передачи= <550 мА

Максимальный ток (пиковый) =2 А

Устройство спроектировали на программе DipTrace , это программа предназначена для проектирования корпусов, компонентов и для создания рисунков печатных плат. Принципиальную схему создали на DipTrace Schematic. Рассмотрим принципиальную схему устройства рис.2.0

Измеритель дальности на ультразвуковом датчике с GSM модулем 17

Рис.2.0. Принципиальная схема устройства измерения расстояния

Из цепи антенны были удалены элементы согласования. На коротких расстояниях от RF_ANT(60) до антенны допускается. На PWRKEY(1) установили кнопку, для включения модуля нужно нажать 0.5 с. Светодиоды статуса установили через резисторы, при включении модуля должно загореться светодиод от STATUS(66).

Светодиод сети NETLIGHT(52) работает в следующих режимах:(горит/не горит)

мс/800мс — сеть не найдена

мс/3000мс — сеть найдена

мс/300мс — идет обмен по GPRS[10]

Выводы TX(9) и RX(10) соединили с микроконтроллером PIC16F628A которые обмениваются данными с помощью АТ-команд через последовательный интерфейс UART. Резисторы R4-R5 токоограничители статус светодиодов, по 300 Ом. Антенна любая на GSM диапазоне с разъемом SMA-F. Конденсаторы С1-4.7мкФ,С3-22пФ, С4-100мкФ, С5-104нФ,С7- 10пФ,С8-0.47мкФ. Держатель сим карты установлен с защитными диодами.

Измеритель дальности на ультразвуковом датчике с GSM модулем 18

Рис.2.6.Источник питания[4]

[Электронный ресурс]//URL: https://inzhpro.ru/diplomnaya/proverka-datchika-urovnya-ultrazvukovoy-duu-m/

Принцип работы устройства измерения расстояния.

Устройство при покоя находится в спящем режиме, МК запрограммировали чтобы он уходил при простоя в спящий режим, а просыпается он от SIM900, от контакта RI(4), который подключен к выводу RB4 микроконтроллера. При входящем звонке или смс на вывод RI (4) SIM900, логический уровень переходит на 0, из-за этого срабатывает прерывания на микроконтроллере и он просыпается. Устройство запрограммирована так что при входящем звонке, микроконтроллер посылает запускающий импульс длительностью 10 мкс к HC-SR04. После по времени отраженного сигнала рассчитывает расстояния(см) и отправляет данные через АТ-команды к нашему модулю.

Для данного устройства по схему указанной выше создали печатную плату, по технологию ЛУТ (лазерно-утюжная-технология), рисунок нарисовали на программе DipTrace PCB, у которого есть функции автопозиционирования и автотрассировки. Схема устройства выбрали двухсторонней из-за сложности трассировки с односторонней. Рассмотрим схему печатной платы верхней и нижней стороны нарисованной на DipTrace на рис.2.7. и 2.8

Измеритель дальности на ультразвуковом датчике с GSM модулем 19

Рис.2.7. Рисунок печатной платы, верхняя сторона

Измеритель дальности на ультразвуковом датчике с GSM модулем 20

Рис.2.8. Рисунок печатной платы, нижняя сторона

Вырезали двухсторонний стеклотекстолит с размером 13х8 см, рисунок распечатали на лазерном принтере, глянцевой бумагой, на А4. Далее подготовили заготовку, мелкой наждачкой очистили поверхность, потом обезжирили ацетоном. Затем переносим рисунок на стеклотекстолит. Рисунок аккуратно положили на заготовку и пригладили 3-5 минут утюгом, затем смочили водой и аккуратно сняли бумагу. Далее заготовку затравили используя хлорное железо, заранее приготовив раствор, вода и хлорное железо, отношения 1/1. Процесс травление заготовки на фотографии рис.2.9.

Измеритель дальности на ультразвуковом датчике с GSM модулем 21

Рис.2.9. Процесс травление заготовки

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

Измеритель дальности на ультразвуковом датчике с GSM модулем 22

Рис.3.0. Фотография печатной платы. Верхняя сторона

Измеритель дальности на ультразвуковом датчике с GSM модулем 23

Рис.3.1. Фотография печатной платы. Нижняя сторона

Измерения расстояния

Измеренное расстояния HC-SR04 сравнили с линейкой до 15 см, результаты на таблице 1.5.

Таблица 1.5 Результаты измерений

Измеренное расстояния на HC-SR04,см

Расстояния на линейке,см

2

2

3

3

4

4

6

5

6

6

7

7

8

8

10

9

10

10

12

11

12

12

13

13

15

14

15

15

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

Вывод 2 главы: Рассмотрены технические характеристики устройства, ультразвукового датчика HC-SR04, микроконтроллера PIC16F628A. Написана программа для микроконтроллера, рассмотрен блок-схема алгоритма работы программы. Построена принципиальная схема устройства измерителя дальности на ультразвуковом датчике c GSM модулем. Изготовлена печатная плата данного устройства. Получены результаты устройства.

ЗАКЛЮЧЕНИЕ

В результате выполненной работы::

  • Разработана и собрана схема преобразования данных с выхода ультразвукового датчика в удобный формат для подачи на вход SIM-модуля SIM900.
  • Написана и отлажена программа на языке MicroC PRO for Pic для микроконтроллера по переводу длительности выходного сигнала датчика HC-SR04 в расстояние.

— Освоено управление приема — передачи информации с SIM модуля при помощи встроенных АТ — команд модуля. Составлена программа работы модуля и проведена проверка работы устройства по приему вызова с сотового телефона и последующей передачей данных обратно на адрес телефона.

  • Для экономии заряда источника питания программно осуществлен «спящий» режим устройства.
  • Разработана печатная плата устройства и произведена сборка устройства.
  • Получены результаты измерений устройства измерителя дальности на ультразвуковом датчике с GSM модулем.

1.GSM.URL: https://ru.wikipedia.org/wiki/GSM. (Дата обращения 09.05.2016)

  • Степурин А. В. Протокол GPRS. Краткие инструкции для новичков. — К.: ОАО «Дом печати — ВЯТКА» 2005 г.
  • АТ команды модема.

URL:http://v90.kiev.ua/articles/at_commands.html (Дата обращения 10.04.2016)

  • Описание аппаратной части GSM модуля SIM900. URL:http://mt-system.ru/sites/default/files/documents/sim900_hardware_design_v2.05. pdf(Дата обращения 20.04.2016)

5.Ultrasonic Ranging Module HC — SR04. URL:http://www.micropik.com/PD F/HCSR04.pdf . (Дата обращения 20.04.2016)

6.PIC16F627A/628A/648A Data Sheet. URL:http://ww1.microchip.com/down-loads/en/DeviceDoc/40044G.pdf . (Дата обращения 16.04.2016)

  • Microchip. URL:http:// www.microchip.ru.(Дата обращения 16.04.2016)
  • Ультразвуковой дальномер.

URL:http://mcucpu.ru/index.php/pdevices/datc-hiki/45-datchiki-rasstoyaniya/165-hc-sr04. (Дата обращения 22.04.2016)

  • PICkit 2 Programmer/Debugger User Guide. URL: downloads/en/DeviceDoc/51553E.pdf
  • GSM модем SIM900.

URL: http://alex-exe.ru/radio/wireless/gsm-sim900/. (Дата обращения 13.04.2016)

Функция программы для отправки данных с помощью GSM модуля, передачи сообщение с данными от приходящего звонка

#define START_i trisa.f0 = 1 //вывод RA0 как вход, define определение как START_i

#define START porta.f0 // вывод RA0 на низкий уровень, define определение как START

#define trig_i trisb.f5=0 //вывод RB5 как выход, define определение как trig_i

#define trig portb.f5 //вывод RB5 как низкий уровень, define определение как trig_i

#define echo_i trisb.f0=1 //вывод RB0 как вход, define определение как echo

#define echo portb.f0 вывод RB0 на низкий уровень, define определение как echo

unsignedint TMR1_VAL; //переменныеchar value[5];output[10];_rd;;_flag,i;main() //начало программы

{

OPTION_REG.INTEDG = 1;

  • T1CON.T1CKPS0=0; //настройка таймеров, считывание времени с передним фронтом

T1CON.T1CKPS1=0;CON.TMR1CS=0;CON.TMR1ON=1;.GIE = 1; //настройка прерываний, их включение к определенным выводам

INTCON.RBIE=1;.INTE = 0;_i;_i;

  • delay_ms(500);
  • UART1_Init(9600);
  • //инициализация UART, со скоростью 9600 бит/c_flag=1;_ms(100);_Write_Text(«ate0»);
  • //AT команда выключение эхо модуля_Write(0x0d);_Write(0x0a);_ms(100);_Write_Text(«at+cvhu=0»);
  • // AT команда настройки сброса звонка_Write(0x0d);_Write(0x0a);_ms(100);1_Write_Text(«at+cmgf=1»);
  • // AT команда перевод в текстовый режим

UART1_Write(0x0d);_Write(0x0a);_ms(100);

do {

if (UART1_Data_Ready() == 1) { //при принятия данных с UART, условие идет дальше

UART1_Read_Text(output, «RING», 255); //c RX ждет слова RING (Звонка)_Write(‘a’);_Write(‘t’);1_Write(‘h’); //АТ команда сброса звонка

UART1_Write(0x0d);_Write(0x0a);_ms(100);_Write(‘a’);_Write(‘t’);_Write(‘+’);_Write(‘c’);_Write(‘m’);_Write(‘g’);_Write(‘s’);_Write(‘=’);_Write(‘\»‘);_Write(‘+’);_Write(‘7’);_Write(‘9’);_Write(‘1’);_Write(‘4’);_Write(‘2’);_Write(‘9’);_Write(‘1’);_Write(‘4’);_Write(‘7’);_Write(‘6’);_Write(‘0’);1_Write(‘\»‘); //отправка смс

INTCON.INTE = 1;(i=0; i<10;i++){ //запускающий триггер HC-SR04_ms(100);(!echo){= 0;_us(2);= 1;_us(10);= 0;H = 0;L = 0; //сброс таймеров

} }_ms(100);_Write(0x0d);_Write(0x0a);_ms(100);_Write_Text(value);_Write(‘s’);_Write(‘m’);_Write(0x1A); //отправка данных в см_ms(300);_flag=1;(value,0,5);

  • }.INTE = 0;.rbie=1;.INTE = 1;sleep;
  • //режим сна

} while(ready_flag);

  • }(){ //прерывания(INTCON.INTF){CON.TMR1ON=1;(echo);
  • //ждет сигнала с echo HC-SR04CON.TMR1ON=0;_VAL = TMR1H<<8;_VAL |= TMR1L;_VAL = TMR1_VAL/58;
  • // Расчет расстояния в смH = 0;L = 0;.INTF=0;(TMR1_VAL, value);
  • }if (INTCON.RBIF)

{.rbif=0;

}