Разработка устройства передачи данных по каналу GSM
Устройство будет работать в следующем порядке, для этого запрограммировали программу на МК PIC16F628A на среде програм-мирования микроконтроллеров PIC, высокоуровневая среда програм-мирования со своими специальными библиотеками MicroC Pro for PIC, на рис.1.7. скриншот общeго вида программы
Рис.1.7. Скриншот программы MicroC PRO for PIC.
Рассмотрим общий алгоритм программы на рис.1.8
Рис.1.8. Алгоритм работы программы
В начале программы объявление переменных, затем настройки регистров таймера и прерываний, затем ввод АТ команд для настройки работы модуля, и ждем звонок, до условия "да", потом запускающий триггер для HC-SR04 сработает, датчик сгенерирует 8 импульсов для передачи и на МК поступит отраженный сигнал, длительность считывает таймер, по формуле расчета (1)
L-расстояния в метрах, t-время отраженного импульса в секундах, V-скорость ультразвука.[8]
Упрощаем формулу
Микроконтроллер в ожидании звонка переводится в спящий режим, будет просыпаться от прерываний контакта модуля UART_RI(4) , для уменьшения потреблении устройства.
Нашу программу на МК PIC16F628A прошивали с помощью программы PICkit 2 v2.61 и программатора PICkit 2. На рис.1.9 описание к каким контактам микроконтроллера надо соединить выводы программатора для загрузки программы.
Рис.1.9. Выводы для программирования МК[9]
Потребления устройства.
Потребления тока устройства =20мА
Потребление тока SIM900;
В режиме ожидания от 2,2 мА
В режиме передачи= <550 мА
Максимальный ток (пиковый) =2 А
Устройство спроектировали на программе DipTrace , это программа предназначена для проектирования корпусов, компонентов и для создания рисунков печатных плат. Принципиальную схему создали на DipTrace Schematic. Рассмотрим принципиальную схему устройства рис.2.0
Рис.2.0. Принципиальная схема устройства измерения расстояния
Из цепи антенны были удалены элементы согласования. На коротких расстояниях от RF_ANT(60) до антенны допускается. На PWRKEY(1) установили кнопку, для включения модуля нужно нажать 0.5 с. Светодиоды статуса установили через резисторы, при включении модуля должно загореться светодиод от STATUS(66).
Светодиод сети NETLIGHT(52) работает в следующих режимах:(горит/не горит)
-64мс/800мс — сеть не найдена
-64мс/3000мс — сеть найдена
-64мс/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мкФ. Держатель сим карты установлен с защитными диодами.
Источник питание рекомендовалось выбрать мощный, как на рисунке 2.6, при поиске сети, пиковый ток может подниматься до 1.5А[4]
Рис.2.6.Источник питания[4]
Принцип работы устройства измерения расстояния
Устройство при покоя находится в спящем режиме, МК запрограммировали чтобы он уходил при простоя в спящий режим, а просыпается он от SIM900, от контакта RI(4), который подключен к выводу RB4 микроконтроллера. При входящем звонке или смс на вывод RI (4) SIM900, логический уровень переходит на 0, из-за этого срабатывает прерывания на микроконтроллере и он просыпается. Устройство запрограммирована так что при входящем звонке, микроконтроллер посылает запускающий импульс длительностью 10 мкс к HC-SR04. После по времени отраженного сигнала рассчитывает расстояния(см) и отправляет данные через АТ-команды к нашему модулю.