ГЛАВА 2.Разработка устройства измерения Дальности на ультразвуковом датчике с gsm модулем
Разработка устройства начинается со способа измерения расстояния и перевод измеренных значений в цифровой вид. Для измерения расстояний в десятки см , нами был выбран ультразвуковой метод измерения расстояния как наиболее простой и достаточно точный.
В качестве датчика расстояния использовали ультразвуковой датчик HC-SR04, Принцип работы ультразвукового датчика расстояния основан на излучении импульсов ультразвука и измерении, отраженного от объекта импульса. В основу метода возбуждения ультразвука используется пьезорезистивный преобразователь. На пьезорезистивный преобразователь подаются электрические сигналы частотой 40 кГц и превращаются в ультразвуковые колебания, которые после отражения будут приняты таким преобразователем. В приемнике наоборот ультразвук превращается в электрические колебания. Если все это разнести во времени, то один пьезорезистивный преобразователь может быть как излучателем, так и приемником ультразвуковых импульсов.
Преобразователь излучает короткий ультразвуковой импульс. Одновременно с этим, в датчике запускается таймер. Когда отраженный от объекта ультразвуковой импульс вернется обратно в датчик, таймер считает время принятия сигнала. По этому времени вычисляется расстояние до объекта.
Ультразвуковой датчик
Для нашего устройства был выбран ультразвуковой датчик HC-SR04, разработанный компанией "RoboBox". Этот датчик содержит 2 пьезорезистивных преобразователя – один работает в режиме излучателя, другой в режиме приема. Достоинством такого датчика является простота схемного решения и возможность определять достаточно малые расстояния - до десятков мм.
Технические характеристики HC-SR04[5]:
-Напряжение питание: 5 В.
-Потребление в режиме тишины: 2 мА.
-Потребление при работе: 15 мА.
-Диапазон расстояний: 2–400 см.
-Эффективный угол наблюдения: 15°.
-Рабочий угол наблюдения: 30°.
На рис. 1.4. приведен внешний вид датчика.
Рис.1.4. Внешний вид датчика HC-SR04.
Для нас важны размеры датчика на( рис.1.5).
Рис.1.5.Размеры датчика
Назначение выводов:
Vcc — плюс контакт питания.
Trig — Вход запуска датчика для измерения.
Echo — Выход эхо, отраженного сигнала.
GND — минус контакт питания
Принцип измерения расстояния при помощи датчика HC-SR04.
Для излучения ультразвука на схему датчика необходимо подать TTL импульс длительностью 10 мкс, на контакт схемы Trig. При подаче такого импульса схема генерирует 8 импульсов с частотой 40 кГц, эти импульсы возбуждают пьезорезистивный преобразователь и происходит изучение ультразвука в направлении на препятствия. Отраженные импульсы принимаются вторым пьезопреобразователем. Сравнивая времена излучения и приема пачки импульсов, схема датчика формирует Echo– импульс также уровня TTL, длительность которого пропорциональна расстоянию. Зная ширину вырабатываемого импульса можно определить расстояние до отражающей поверхности по следующему соотношению:
Ширина импульса(мкс)/58=дистанция(см)
На рис. 1.4 приведены временные импульсов ультразвукового датчика HC-SR04.
Рис.1.4.Временные диаграммы импульсов HC-SR04.
Микроконтроллер PIC16F628А
Для преобразования длительности формируемого на выходе ультразвукового датчика в значение расстояния и дальнейшей передачи на вход 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 ядра:
-35 команд.
-Все команды выполняются за один цикл (200нс), кроме команд переходов, выполняющихся за два цикла.
-Тактовая частота:
-DC-20МГц, тактовый сигнал.
-DC-200нс, один машинный цикл.
-Память программ(FLASH)-2048x14.
-Память данных(ОЗУ) -224х8.
-Память EEPROM данных -128х8.
-Система прерываний:
-16 специальных аппаратных регистров.
-8-уровневый аппаратный стек.
-Прямой, косвенный и относительный режим адресации.
Вычисления в МК производятся арифметико-логическим устройством (ALU), которое, в свою очередь при работе взаимодействует с регистрами. Основной регистр, используемый в вычислениях, называется аккумулятором или рабочим регистром, обозначается W и не отображается на адресное пространство. Остальные регистры образуют память данных и делятся на 2 группы:
-регистры специального назначения (SFR) — используются для управления ядром и периферией;
-регистры общего назначения (GPR) — по сути просто оперативная память, доступная программисту.
Для связи с другими устройствами имеется два восьмиразрядных PORTA и PORTB. Архитектура микроконтроллера PIC16F628А приведена на рис.1.5.
Рис.1.5. Архитектура микроконтроллера PIC16F628A
Pасположение выводов микроконтроллера PIC16F628A приведено на рис.1.6.
Рис.1.6.Расположение выводов PIC16F628A PDIP-18L
Описание выводов МК, обозначение и их описание приведено в таблице 1.4[7]
Табл.1.4. Описание выводов PIC16F628A[7]
Обозначение | Тип | Буфер | Описание |
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 | - | Общий провод (земля) |