Распиновка gps модуля для видеорегистратора
При прочтении этой статьи нам предстоит разобраться как производится подключение GPS модуля к APM контроллеру. Приступаем!
Перед подключением обязательно надо настроить модуль на работу с APM, например для модуля U-blox загрузить конфигурационный файл. Иначе аппарат неправильно будет держать позицию и возможно уже скоро окажется на земле, что создаст больше проблем, чем предварительно правильно настроить модуль!
Каждый модуль GPS имеет минимум 4 контакта: VCC, RXD, TXD, GND. Подключаем модуль к контроллеру APM 2.5.x и 2.6 следующим образом: VCC и GND-без изменения, а RXD и TXD меняются местами!
Пины на модуле GPS чаще всего подписаны, а вот на APM нет. Привожу изображение с описанием контактов на плате APM.
Разъемы для подключения GPS
Разъемы для подключения GPS
Смотрим на собранную схему еще раз проверяем схему и подключенные пины. Если уверенность прям так и прёт, что всё правильно, лучше проверить еще раз. Лишним, поверьте, не будет. В результате должно получиться примерно так: Модуль GPS подключен к плате APM
После n-количества раз проверок меняем свое место дислокации, как можно ближе к окну, потому что мы будем ловить сигналы GPS спутников. Определение нашего местоположения необходимо для работы многих полётных режимов Нашего контроллера.
Перед испытанием модуля в совместной работе с APM, можно просто подать питание и положить на окно. На модуле от MyAirBot светодиод должен начать моргать голубым, что показывает успешный 3D-fix. На модуле от HobbyKing индикатор просто загорится. На модуле от RCtimer индикатора нет.
Также компьютер должен иметь доступ в интернет, чтобы Mission Planner скачал квадрат карты под наше положение, которое мы должны увидеть, если все сделано правильно!
Вот мы и сделали еще один шаг, приближающий нас к полету!
Если вы нашли ошибку на странице, то нажмите Shift + Enter или нажмите здесь, чтобы уведомить нас.
Однажды у меня возник интерес к GPS, а еще чуть раньше — к платформе Arduino. Поэтому со Sparkfun были заказаны, с разницей в пару дней, Arduino Duemilanove, GPS Shield и GPS приемник EM-406A.
Заказ пришел и частично лежал на полке, а недавно дошли руки до этого комплекта…
Собранный GPS Shield, подключенный к Arduino
Аппаратная часть
- Arduino Duemilanove
- GPS Shield
- GPS приемник EM-406A
- LCD WH-0802A
Распиновка GPS модуля EM-406A
При наличии щилда распиновка, по большому счету, не так важна — нужно просто вставить два разъема. Если щилд отсутствует, то нужно подключить выводы GND к GND, Rx — к digital pin 2, Tx — к digital pin 3, VCC — к POWER 5V. Внимание, серый провод не 1, а 6й!
- индикатор горит постоянно — идет поиск спутников и определение координат
- индикатор моргает — координаты установлены, идет их передача
- индикатор не горит, питание на шилд подано — плохой контакт в разъемах или модуль переключился в бинарный SiRF протокол
Переключатель UART/DLINE
С помощью переключателя можно подключить Rx и Tx GPS модуля к ногам Tx и Rx Arduino (позиция UART) или к pin digital 2 и digital 3 (позиция DLINE, если не снимать перемычки из припоя). Нужно убедиться, что переключатель находится в положении «DLINE», иначе возможны проблемы с заливкой скетчей в Arduino.
Подключение знакосинтезирующего ЖК индикатора
Я не покупал отдельный shield под экран и подключал уже имеющийся индикатор — WH-0802A в 4х битном режиме. В принципе, так можно подключить любой другой знакосинтезирующий индикатор. Для этого нужно найти в даташите распиновку разъема и подключить линии RS, E, D4, D5, D6, D7 к любым цифровым pin'ам (кроме 0…3) и не забыть сконфигурировать куда подключены эти линии в коде, Vss, R/W — к GND, Vdd — к 5V. Вывод Vo (настройка контрастности) нужно подключить к потенциометру, включенному между GND и 5V, но я просто подключил к GND — полученная контрастность меня устроила.
Назначение выводов индикатора WH-0802A
Мой вариант подключения индикатора к Arduino
- RS — pin 13
- E — pin 12
- D4 — pin 11
- D5 — pin 10
- D6 — pin 9
- D7 — pin 8
- Vss, R/W, Vo — GND
- Vdd — 5V
Программная часть
После включения GPS модуля и заливки скетча нужно подождать как минимум 42 секунды (время холодного старта) для того чтобы модуль определил свое местоположение и начал выдавать валидные координаты. Когда модуль перейдет в рабочий режим он начнет моргать светодиодом. У меня на рабочем столе модуль не всегда может найти спутники — приходится переносить его на окно.
Работающий модуль с подключенным дисплеем и полученными координатами
Справа к дисплею подключён источник питания для подсветки.
После определения спутников на дисплее появляются координаты и обновляются раз в секунду.
В итоге получен опыт работы и база для дальнейшего освоения GPS.
В этой статье я расскажу про подключение GPS приемника к микроконтроллеру, на примере модуля u-blox GY-NEO6MV2. Приемник представляет из себя небольшую плату на которой расположены модуль NEO-6M-0-001, стабилизатор напряжения 3.3В, EEPROM память, аккумулятор и светодиод. Модуль продается вместе с активной антенной квадратной формы. Как и все GPS приемники, для передачи данных, модуль использует широко распространенный интерфейс UART, что облегчает его сопряжение с микроконтроллером.
Связь с GPS приемниками осуществляется по протоколу NMEA 0183, это текстовый стандарт связи, использующийся в морском (навигационном) оборудовании. Протокол NMEA 0183 включает в себя множество различных сообщений и команд, я рассмотрю несколько основных сообщений, связанных с глобальной системой позиционирования.
Модуль можно приобрести здесь , есть более дешевый вариант собранный на красной плате с маленькой антенной, можно заказать тут .
Для того чтобы увидеть сообщения которые выдает GPS модуль, я подключил его к компьютеру через USB-UART преобразователь на чипе PL2303. Для подключения использовал только один вывод на GPS модуле, выход передатчика TX, так как отправлять команды на модуль я не буду, только принимать сообщения. В качестве терминальной программы использовал Terminal v1.9b by Bray. По умолчанию модуль настроен на скорость 9600 бит/сек, в программе необходимо установить следующие настройки: 8 бит данных, без проверки четности, один стоповый бит, управление потоком отключаем.
Ниже приведен скриншот окна программы с сообщениями, полученными от GPS модуля.
В зависимости от количества видимых спутников, данный модуль выдает от 6 до 8 сообщений, которые обновляются каждую секунду (стандартное время для большинства приемников). При достаточном количестве спутников и устойчивом сигнале на модуле начинает мигать светодиод.
Информация о координатах местоположения, времени и скорости в разных сообщениях могут дублироваться. Рассмотрим назначение полей каждого сообщения:
RMC – минимальная рекомендуемая навигационная информация, содержит информацию о времени, дате, координатах местоположения, скорости и направлении курса.
$GPRMC,170840.00,A,5509.68339,N,06125.49498,E,0.204,,311015. A*7D | |
170840.00 | Время UTC: 17ч. 08м. 40.00 сек. |
A | Статус достоверности: A – достоверные данные, V – недостоверные данные |
5509.68339 | Широта: 55 градусов, 09.68339 минут |
N | N – северная, S – южная |
06125.49498 | Долгота: 061 градусов, 25.49498 минут |
E | E – восточная, W – западная |
0.204 | Горизонтальная скорость (узлов в час) |
– | Направление курса относительно истинного севера (градусы) |
311015 | Дата: 31 октября 2015 года |
– | Магнитное склонение (градусы) |
– | Направление склонения: E – восточное, W – западное |
A | Режим: A – автономный, D – дифференциальный, E – аппроксимация, N – недостоверные данные |
*7D | Контрольная сумма |
VTG – текущее направление курса и скорость относительно Земли.
$GPVTG,,T,,M,0.204,N,0.378,K,A*29 | |
– | Направление курса (градусы) |
T | Курс относительно истинного севера |
– | Направление курса (градусы) |
M | Курс относительно магнитного севера |
0.204 | Горизонтальная скорость |
N | Единица измерения скорости (узлов в час) |
0.378 | Горизонтальная скорость |
K | Единица измерения скорости (километров в час) |
A | Неизвестный параметр |
*29 | Контрольная сумма |
GGA – зафиксированные данные глобальной системы позиционирования, содержит информацию о времени, координатах местоположения, высоте, статусе определения координат, количестве использованных спутников.
$GPGGA,170840.00,5509.68339,N,06125.49498,E,1,07,2.41,186.2,M,-13.5,M,,*77 | |
170840.00 | Время UTC: 17ч. 08м. 40.00 сек. |
5509.68339 | Широта: 55 градусов, 09.68339 минут |
N | N – северная, S – южная |
06125.49498 | Долгота: 061 градусов, 25.49498 минут |
E | E – восточная, W – западная |
1 | Статус определения координат: 0 – позиция не определена, 1 – позиция определена, 2- позиция определена с повышенной точностью (DGPS) |
07 | Количество использованных спутников |
2.41 | Снижение точности в горизонтальной плоскости (HDOP) |
186.2 | Высота над уровнем моря |
M | Единица измерения высоты (метры) |
-13.5 | Геоидальное различие — различие между земным эллипсоидом WGS-84 и уровнем моря (геоидом) |
M | Единица измерения геоидального различия (метры) |
– | Время с момента последнего обновления DGPS (секунды), 0 – DGPS не используется |
*77 | Контрольная сумма |
GSA – Уровень точности определения координат и активные спутники, содержит информацию о режиме работы, спутниках, снижении точности в различных плоскостях.
GSV – Информация о видимых спутниках, содержит число видимых спутников, их идентификаторы, высота, азимут, уровень сигнала.
$GPGSV,3,1,11,02,13,325,27,03,34,182,17,06,19,287,23,07,15,237,15*70 | |
3 | Количество сообщений GSV, (от 1 до 3), зависит от количества видимых спутников |
1 | Порядковый номер сообщения, (от 1 до 3) |
11 | Количество видимых спутников |
02 | Идентификатор спутника |
13 | Высота спутника (градусы) |
325 | Азимут спутника (градусы) |
27 | Уровень сигнала, отношение сигнал/шум от 00 до 99 дБ, 0 – нет сигнала. |
03,34,182,17 | То же самое для 2-го спутника |
06,19,287,23 | То же самое для 3-го спутника |
07,15,237,15 | То же самое для 4-го спутника |
*70 | Контрольная сумма |
GLL – географическая позиция – широта/долгота, содержит информацию о времени, координатах местоположения.
$GPGLL,5509.68339,N,06125.49498,E,170840.00,A,A*65 | |
5509.68339 | Широта: 55 градусов, 09.68339 минут |
N | N – северная, S – южная |
06125.49498 | Долгота: 061 градусов, 25.49498 минут |
E | E – восточная, W – западная |
170840.00 | Время UTC: 17ч. 08м. 40.00 сек. |
A | Статус достоверности: A – достоверные данные, V – недостоверные данные |
*65 | Контрольная сумма |
Теперь рассмотрим подключение GPS модуля к микроконтроллеру, для вывода информации я решил использовать LCD дисплей Nokia 5110, так как буду выводить значительное количество символов. Ниже приведена схема подключения:
Микроконтроллер PIC16F628A и LCD дисплей питаются напряжением 3,3В, для того чтобы избежать согласования уровней между линиями ввода/вывода дисплея и микроконтроллера. Чтение сообщений с GPS приемника осуществляется встроенным в микроконтроллер модулем USART. Светодиод HL1 служит индикатором приема и мигает при получении сообщения GPRMC.
- 22.06.15 11:39 • • • • •
Дельта принтеры крайне требовательны к точности изготовления комплектующих (геометрия рамы, длины диагоналей, люфтам соединения диагоналей, эффектора и кареток) и всей геометрии принтера. Так же, если концевые выключатели (EndStop) расположены на разной высоте (или разный момент срабатывания в случае контактных концевиков), то высота по каждой из осей оказывается разная и мы получаем наклонную плоскость не совпадающая с плоскостью рабочего столика(стекла). Данные неточности могут быть исправлены либо механически (путем регулировки концевых выключателей по высоте), либо программно. Мы используем программный способ калибровки.
Далее будут рассмотрены основные настройки дельта принтера.
Для управления и настройки принтера мы используем программу Pronterface.
Калибровка принтера делится на три этапа:
1 Этап. Корректируем плоскость по трем точкам
Выставление в одну плоскость трех точек — A, B, C (расположенных рядом с тремя направляющими). По сути необходимо уточнить высоту от плоскости до концевых выключателей для каждой из осей.
Большинство (если не все) платы для управления трехмерным принтером (В нашем случае RAMPS 1.4) работают в декартовой системе координат, другими словами есть привод на оси: X, Y, Z.
В дельта принтере необходимо перейти от декартовых координат к полярным. Поэтому условимся, что подключенные к двигателям X, Y, Z соответствует осям A, B, C.(Против часовой стрелки начиная с любого двигателя, в нашем случае смотря на логотип слева — X-A, справа Y-B, дальний Z-C) Далее при слайсинге, печати и управлении принтером в ручном режиме, мы будем оперировать классической декартовой системой координат, электроника принтера сама будет пересчитывать данные в нужную ей систему. Это условность нам необходима для понятия принципа работы и непосредственной калибровки принтера.
Точки, по которым мы будем производить калибровку назовем аналогично (A, B, C) и позиция этих точек равна A= X-52 Y-30; B= X+52 Y-30; C= X0 Y60.
- Подключаемся к принтеру. (В случае “крагозяб” в командной строке, необходимо сменить скорость COM порта. В нашем случае с 115200 на 250000 и переподключится)
После чего мы увидим все настройки принтера.
- Обнуляем высоты осей X, Y, Z командой M666 x0 y0 z0.
И сохраняем изменения командой M500. После каждого изменения настроек необходимо нажать home (или команда g28), для того что бы принтер знал откуда брать отсчет. - Калибровка принтера производится “на горячую”, то есть должен быть включен подогрев стола (если имеется) и нагрев печатающей головки (HotEnd’а) (Стол 60град., сопло 185 град.) Так же нам понадобится щуп, желательно металлический, известных размеров. Для этих задач вполне подойдет шестигранный ключ (самый большой, в нашем случае 8мм, он предоставляется в комплекте с принтерами Prizm Pro и Prizm Mini)
- Опускаем печатающую головку на высоту (условно) 9мм (от стола, так, что бы сопло еле касалось нашего щупа, т.к. высота пока что не точно выставлена.) Команда: G1 Z9.
- Теперь приступаем непосредственно к настройке наших трех точек.
Для удобства можно вместо g- команд создать в Pronterface четыре кнопки, для перемещения печатающей головки в точки A, B, C, 0-ноль.
2 Этап. Исправляем линзу
После того как мы выставили три точки в одну плоскость необходимо произвести коррекцию высоты центральной точки. Из за особенности механики дельты при перемещении печатающей головки между крайними точками в центре она может пройти либо ниже либо выше нашей плоскости, тем самым мы получаем не плоскость а линзу, либо вогнутую либо выпуклую.
Корректируется этот параметр т.н. дельта радиусом, который подбирается экспериментально.
- Отправляем головку на высоту щупа в любую из трех точек стола. Например G1 Z9 X-52 Y-30
- Сравниваем высоту центральной точки и высоту точек A,B,C. (Если высота точек A, B, C разная, необходимо вернутся к предыдущей калибровки.)
- Если высота центральной точки больше остальных, то линза выпуклая и необходимо увеличить значение дельта радиуса. Увеличивать или уменьшать желательно с шагом +-0,2мм, при необходимости уменьшить или увеличить шаг в зависимости от характера и величины искривления (подбирается экспериментально)
- Команды:
G666 R67,7
M500
G28 - Подгоняем дельта радиус пока наша плоскость не выровняется
3 Этап. Находим истинную высоту от сопла до столика
- Командой M114 выводим на экран значение фактической высоты нашего HotEnd’а
- Командой M666 L получаем полное значение высоты (Параметр H)
- После чего вычитаем из полной высоты фактическую высоту.
- Получившееся значение вычитаем из высоты щупа.
2 Способ:
Второй способ прост как валенок. С “потолка”, “на глаз” прибавляем значение высоты (после каждого изменение не забываем “уходить” в home), добиваясь необходимого значения высоты, но есть шанс переборщить со значениями и ваше сопло с хрустом шмякнется об стекло.
Как сделать авто калибровку для вашего принтера и что при этом авто калибрует принтер вы узнаете из следующих статей.
В статье рассмотрим вопрос — приемник спутниковых сигналов GPS, это необходимая вещь или ненужное украшение?
Здесь двух мнений быть не может – GPS/ГЛОНАСС приемник не только желателен, но, по моему мнению, даже обязателен в видеорегистраторе. Для тех, кто впервые приобретает автомобильный видеорегистратор, необходимо уяснить разницу между GPS приемником, встроенным в авторегистратор и GPS-навигатором. Оба они работают по одинаковому принципу – фиксируют сигналы с космических спутников и на основании этих радиосигналов математически вычисляют свои координаты.
Разница между GPS-навигатором и GPS приемником:
- GPS-навигатор получив координаты может связать их со специальными картами для навигации и указать на графическом дисплее ваше местоположение на этой карте. Ну а дальше все зависит лишь от типа карт, установленных на вашем навигаторе. Можно посмотреть визуально в каком городе, и на какой улице Вы находитесь, рассчитать дальнейший маршрут и многое другое.
- GPS приемник в автомобильном видеорегистраторе играет совсем другую роль. Он также вычисляет свои координаты с помощью спутников, но дальше все происходит совсем по-другому. Полученные данные (а приемник получает их практически ежесекундно) пишутся в специальный файл, который синхронизируется с видеофайлом (эти GPS-данные могут быть интегрированы прямо в видеофайл), оба этих файла пишутся на карту памяти.
Кроме координат GPS приемник может вычислять скорость автомобиля, пройденное расстояние, высоту над уровнем моря и даже точное время (получает со спутника). В зависимости от модели автомобильного видеорегистратора, все данные, или только координаты как раз и фиксируются в этом специальном файле.
Видеорегистратор должен быть снабжен специальной программой для отображения маршрута вашего автомобиля на картах Google
Что же происходит дальше? В простейшем случае, координаты и скорость автомобиля можно вывести на дисплей и записать вместе с изображением. При просмотре видеозаписи можно увидеть поверх видео титры с координатами и скоростью автомобиля. Но лучшим вариантом будет наличие специального программного обеспечения, которое при просмотре видео на компьютере будет отображать маршрут вашего автомобиля на навигационной карте.
Вот пример подобной программы, которая шла в комплекте с видеорегистратором, оснащенным GPS-приемником
Кроме самого видео, программа отображает положение автомобиля на карте Google, также в нижнем правом углу видны скорость автомобиля и даже направление движения в виде компаса.
На этом скриншоте все ещё красивее – видео синхронизировано с картой, которая переключена в режим спутник
Как видите, очень удобно. Если средства позволяют, обязательно приобретайте автомобильный видеорегистратор со встроенным GPS-приемником – не пожалеете.
Читайте также: