Спидометр gps своими руками
Войти
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
GPS спидометр и одометр на Arduino + bluetooth трансивер
Originally published at Techno Mind. Please leave any comments there.
Как я уже писал, после установки в машину бортового компьютера Multitronics VC731, у меня возникла необходимость откалибровать его. Для этого нужно было проехать некоторое, точно известное расстояние, и ввести его в бортовик, после чего он произведет нужные расчеты и калибровку пробега и мгновенной скорости.
Для точного измерения пройденного пути я сразу подумал использовать GPS. Наивно полагая, что все получится, я установил в свой смартфон HTC Desire HD программу-логгер маршрута GPS и поехал.
После поездки, скинув информацию со смарта на комп, я был удивлен, насколько некачественно встроенный GPS приемник определяет свое местоположение. Маленькая частота обновлений координат и слабая антенна привели к тому, что даже в местах, где я двигался прямолинейно, со скоростью около 50 км/час, записанный трек выглядел как ломаная линия, а порой попадались восьмерки (вроде как я разворачивался и вдруг ехал назад, после чего снова разворот). В целом, конечно маршрут и измеренный пробег были примерно похожи на правду, но для калибровки бортовика такие измерения использовать я не мог.
Поразмышляв немного на эту тему, я пришел к выводу, что соберу-ка я сам GPS спидометр-одометр (далее девайс).
Это позволит убить массу зайцев одним выстрелом: откалибровать бортовик, познать азы работы с GPS приемниками, координатами и сопутствующими расчетами, ну и наконец, пощупать вживую известную платформу Arduino – именно на ней планировалось построить девайс.
По поводу Arduino – платформа известная, раскрученная, доступная, дешевая и удобная для использования. При этом обладает одним недостатком – среда разработки просто отвратительна. Она годится для детей и подростков, желающих познакомиться с программированием микропроцессоров, но никак для серьезной работы. К отсутствию массы, привычных в нормальных средах разработки, возможностей, можно добавить еще и омерзительный внешний вид нативной среды разработки для Arduino. Тем не менее, на момент постройки устройства я всего этого не знал, и потому программа писалась именно в этой среде.
Забегая вперед скажу, что я стал часто использовать борды Arduino в своих проектах, но программы стал писать в своем любимом компиляторе CodeVisionAVR, и заливаю ее в Arduino с помощью разработанной мной утилиты, встраиваемой в интерфейс компилятора. Я напишу отдельную статью касательно этого вопроса в ближайшем будущем.
Ну, вернемся к нашим баранам. Сердцем прибора стал борт Arduino Uno:
В качестве приемника GPS я использовал борд SparkFun основанный на чипе Venus638FLPx:
Приемник замечательный. Из основных достоинств могу отметить его 65 канальную архитектуру, широкий диапазон напряжений питания, возможность подключения резервного питания (что обеспечить быстрый старт при возобновлении основного питания), высокую частоту обновлений координат (до 20 Гц) и т.д.
Кроме того, приемник поддерживает подключение внешнего супер-конденсатора, который позволяет поддерживать напряжение в памяти приемника в течение многих часов. В результате, при повторном включении определение местоположения занимает считаные секунды.
Для индикации измерений использовался обычный экран 16×2:
Кроме того, раз уж пошла такая пьянка, в систему был добавлен Bluetooth передатчик HC-05 (pinout):
По нему, всю информацию, полученную от GPS приемника, планировалось переправлять как есть, что позволило бы использовать девайс в качестве внешнего GPS приемника для смартфона или ноутбука.
Сам модуль HC-05 доступен по цене 5-7 долларов за штуку и продается везде. К сожалению, работа с ним полна геморроя, потому как выпускает эти модули нынче каждый третий китаец, и делают они их все немного по разному, так, что найти 100%-но соответствующий даташит нереально. В итоге Bluetooth передатчик получается нормально запустить и настроить после нескольких циклов проб и ошибок.
Важно отметить, что для работы передатчика важно подтянуть к питанию ноги reset и wake-up, а также подсоединить к земле все GND.
Ну и наконец – антенна, первая, что попалась под руку:
Все вышеназванные детали были соединены вот таким образом (надеюсь, я не ошибся – девайс строился на лету, так что схему я рисовал по памяти):
В итоге из рассыпухи break-up бордов получилась вот такая лапша:
После того, как девайс был готов, была написана прошивка, последнюю версию которой можно сказать здесь.
Кратенько о прошивке.
Как только это произойдет, они тут же высветятся на экране, вместе с текущей скоростью и азимутом движения.
Левой кнопкой можно менять режим отображения данных на экране. Возможности:
Длительным нажатием на правую кнопку можно обнулить одометр.
Девайс постоянно мониторит напряжение батареи, и как только оно упадет ниже 3.2 вольт, девайс перейдет в режим отображения напряжения на экране. При этом перейти на другой экран станет невозможно.
Подсчет пройденного расстояния производится по методу Great Circle distance calculation – HAVERSINE. В силу специфики гражданского GPS, измерения пробега получаются наиболее точными при движении по трассе. Хотя с хорошей антенной и в городе точность получается довольно точными. При контрольной проверке по карте, погрешность соста вила пару сотен метров на 50 километров пути.
Передача данных по Bluetooth осуществляется параллельно основной работе девайса, и может быть полезна, к примеру, пользователям смартфонов на Android. Точность и чувствительность девайса в разы лучше оных на встроенном в смартфон GPS модуле, и потому, при помощи бесплатной программы Bluetooth GPS можно заставить все остальные программы, пользующиеся GPS для работы использовать данные приходящие по Bluetooth, вместо данных со встроенной антенны.
Кроме того, вместо телефона к Bluetooth можно подключить компьютер и пользоваться им в качестве инструмента для записи и анализа маршрута, в том числе в реальном времени.
После окончательной сборки и проверка девайса, я смог, наконец, с большой точностью откалибровать свой Multitronics.
Теперь активно пользую девайс при путешествиях на джипах по бездорожью – удобно измерять пройденные расстояния, чтобы не сбиться с маршрута.
У меня давно не работает спидометр (поломана шестерёнка в КПП, ни оригинал ни аналогов уже не выпускают). Китайцы продают GPS спидометры, я взял себе, даю видео испытания. Сначала ехали по неровной дороге - ни скачков ни бросков стрелки нет. Потом разгонялись по трассе - запаздываний тоже нет, скорость показывает правильно. Пробег сохраняется. Ни тросика и каких заморочек с приводом нету. У кого какая нибудь транспортная самоделка, лодка, катер - отличный вариант.
sovarim
Про показания, а не правдивость говорил. Точнее со спутника. Например, у меня на прыор давно, если проехать одно и тоже расстояние, в 14км по спутнику, при скорости 90 - 14.8км, а если на максималке - 15.6)
С ДС от коробки.
У всех производителей авто, спидометры врут в большую сторону. Показывают больше реальной.
sovarim
Погрешности на низких скоростях минимальны, на 60км/ч это может быть 60.5км/ч на щитке. Машины разные, врут по разному. Хватает даже износа покрышек или низкого давления в них, чтоб машина показывала еще больше
sovarim
Юзал такой китайский цифровой. Занижал на несколько км/ч по сравнению с жпс-регистратором, думаю специально.
santa62
Юзал такой китайский цифровой. Занижал на несколько км/ч по сравнению с жпс-регистратором, думаю специально.
В любом тилипоне можно установить, что то нечто. В любом навителе и скорость и одометр. Но отдельный девайс - сила!)
Максимальное расхождение по скорости с ДС и спутнику, я выловил на своей приор с егазом, 11года. При 270 по ДС от коробки по спутнику казало всего лишь 232км/ч. Прям разочаровался в автовазе)
sovarim
sovarim, ты бессметрный что ле? Я на ВАЗе начал хотеть по большому на 205.
А бумер с аэродинамикой "немного лучше кирпича" не дал разогнаться больше 220. Груженый. Пустой еще меньше шел.
santa62
салгир
Такой установлен, и эксплуатируется с успехом в моей Гранте, в течении времени в полтора года. Крупный шрифт на лобовом стекле, позволяет контролировать скорость не отвлекаясь от дороги, погрешность от регистратора с GSM модулем составляет 2 км/ч,( в меньшую сторону, при скорости примерно 90 км/ч). Единственно что не нравится, звуковое оповещение при работе более часа, но в моём случае это редкость, т.к. в основном, время движения от работы до дома составляет примерно около 55 мин. Есть возможность установки оповещения о превышении максимальной скорости. Данный девайс мне очень нравится тем, что очень читабельный, на очень известном китайском сайте есть поделия которые позволяют выводить на лобовое стекло различную иную информацию, но в этом случае, я думаю, прибор потеряет свою информативность.
Кисель
Вложения
Den325
kalobyte
Кисель
Den325
Кисель
Здравствуйте уважаемый Den325! С большим удовольствием прикрепил бы этот файл, но увы не могу. Этот тип файла не переносится в этот форум, а как правильно перенести я не знаю. Если вы сможете зайти на сайт FLPгog, то там в форуме на посте GPS для NEO-6m имеется ссылка GPS to BAS new flp6.2.2.1flp. Там скачивается без проблем. Прошу Вас посмотрите там. Благодарю.
Эдуард Анисимов
Здравствуйте уважаемый Den325! С большим удовольствием прикрепил бы этот файл, но увы не могу. Этот тип файла не переносится в этот форум, а как правильно перенести я не знаю. Если вы сможете зайти на сайт FLPгog, то там в форуме на посте GPS для NEO-6m имеется ссылка GPS to BAS new flp6.2.2.1flp. Там скачивается без проблем. Прошу Вас посмотрите там. Благодарю.
Кисель
Вложения
kalobyte
@Кисель,
а если просто брать выход скорости и прилепить его к индикатору, то задержки будут?
флпрог не заменитель кода и не всегда подходит для некоторых задач, которые в коде легко делаются в несколько строк
Кисель
Здравствуйте! Понимаете? Я склонен думать, что все-таки виноват в этом сам блок GPS. Я пробовал в движении различные варианты подключения, и даже просто к выходу скорости без подключения индикаторов к другим выводам. Результат тот-же. Как только блок соединяется со спутниками, сразу начинается неравномерность в выводе показаний. Вот только несколько минут назад тестировал в движении, все по старому. Знаю, что имеются программы для настройки блоков GPS и исправления конфигурации, к примеру U-ctenre, но я не особо силен в этой программе , а подробной инструкции пока не нашел. Вот и пытаюсь, как утопающий, найти соломинку.
kalobyte
@Кисель,
надо в первую очередь подключить сам приемник гпс к компутеру с этой прогой
и проехаться в таком режиме
к тому же эта прога может делать обновление прошивки (я сейчас смотрю мануал к этому софту)
единственное только тебе надо использовать протокол нмеа, когда будеш ехать
это как бы стандартный протокол передачи данных с гпс в юарт
настроек там и правда целая куча и сходу не все понятно
но главное чтобы прога показала тебе координаты и при движении скорость, а там уже дальше думать надо
Вот, собственно, основные предпосылки, которые сподвигли меня к приобретению именно этого спидометра.
Непосредственно о покупке
Цена у продавца, на момент приобретения, составляла 25.5$. Плюс раздавались купоны 2$ на покупку от 15$. Аналогов дешевле 23.5$ я не нашел.
2016-01-14 user_event_added
Посылка добавлена
2016-01-14 Finn post. Posti.
The item is not yet in Posti, VANTAA
2016-01-14 Finn post. Posti.
Item has been registered, VANTAA
2016-01-16 Finn post. Posti.
Item has arrived to warehouse, HONG KONG
2016-01-17 Finn post. Posti.
Item has departed from the warehouse, HONG KONG
2016-01-19 Finn post. Posti.
The item is on its way to the destination country, LUXEMBOURG
2016-01-26 Finn post. Posti.
The item is in transport, HKI VANTAA, ULKOMAANTERMINAALI
2016-01-26 Belarus Post;RU: БелПочта
Отправка отправления из учреждения обмена, HELSINKI
2016-01-30 Finn post. Posti.
The item has been submitted to customs clearance in the destination country, Ulkomaa/Foreign country
2016-01-30 Finn post. Posti.
Item arrived in the destination country, Ulkomaa/Foreign country
2016-01-30 Belarus Post;RU: БелПочта
Поступило в участок обработки почты, MINSK PI 2
2016-01-30 Belarus Post;RU: БелПочта
Прохождение по таможенной зоне, MINSK PI 2
2016-01-31 Belarus Post;RU: БелПочта
Отправка отправления в местное учреждение, MINSK PI 3
2016-01-31 Belarus Post;RU: БелПочта
08. Передано из (200400) в (220006) Минск — 6
2016-01-31 Finn post. Posti.
In transit, Ulkomaa/Foreign country
2016-02-01 Belarus Post;RU: БелПочта
06. Поступило в участок обработки почты (220006) Минск — 6
2016-02-01 Belarus Post;RU: БелПочта
09. Попытка доставки (220006) Минск — 6
2016-02-01 Finn post. Posti.
Delivery attempt made, addressee not reached, Ulkomaa/Foreign country
2016-02-01 Belarus Post;RU: БелПочта
Вручено, MINSK — 6
2016-02-01 Belarus Post;RU: БелПочта
10. Доставлено, вручено (220006) Минск — 6
В комлекте двухпозиционная резиновая подставка для удержания спидометра на панели стоя либо лёжа, довольно адекватная инструкция по переключению режимов на английском и кабель с micro-Usb для питания, длинный 182см.
В описании магазина в комплекте должна быть еще затемняющая плёнка на стекло под названием Reflection Film. Мне ее почему-то не положили, но т.к. ничего клеить на стекло я всё равно не собирался, это меня не расстроило. Если использовать спидометр в режиме проекции на лобовое стекло, в солнечный день была бы не лишней.
Размеры
Корпус спидометра аккуратно запаян, а потому перебороть соблазн препарирования было легко. Внутри должно быть как-то так
В работе
После подачи питания (включения зажигания) около минуты идет поиск спутников, затем спидометр начинает работать в соответствии с ранее установленными настройками. При отключении питания все настройки сохраняются.
Показания спидометра при постоянной скорости корректны и в милях и в километрах в час. Есть некоторая инертность при наборе скорости и торможении, отстает от штатного спидометра примерно на 2 секунды, но чуть позже заметил что так же происходит и в Navitel в смартфоне.
На видео сравнение показаний GPS спидометра с показаниями исправного штатного спидометра MB из США (стрелка в милях, цифры в км/ч)
Вывод:
Устройство отлично работает и полностью оправдало мои надежды. Отсутсвие необходимости в каких-либо манипуляциях в процессе использования заслужило величайшее одобрение со стороны моего пожилого Родителя.
Ну а нужно ли оно вам — решать конечно же вам.
Спидометр, не требующий привода и установки дополнительных датчиков на колеса
Ну как наверное понятно из названия, этот спидометр использует GPS позиционирование, со всеми вытекающими плюсами и минусами.
Более остальных, подходящий по размерам, понравился именно этот…
1. Класс защиты IP67, весь корпус полностью водонепроницаемый
2. Функция антизапотевания
3. Безель из нержавеющей стали с изогнутым стеклом
4. Внешняя GPS антенна, Штекерная и инструментальная установка
5. Показывает скорость и общий пробег
6. Имеет высокую точность и быстрый запуск (поиск спутников)
Продается в нескольких цветовых вариантах и с разным цветом подсветки
Был заказан наиболее похожий на оригинальный.
Упаковка аскетичная…
Сбоку немного информации о модели, распиновка, и даже похоже заводской номер!
Уплотнительное колечко, для установки в корпус
Вид сзади.
SOG: скорость над землей.
COS: (курс над землей): направление движения относительно положения грунта, показывающее направление по часовой стрелке относительно севера.
TRIP: Сброс на ноль при выключении питания.
ODO: накапливается и не сбрасывается при отключении питания.
3. Код неисправности: E01 указывает, что не может выполнять поиск сигналов GPS, когда они находятся в напряженном состоянии.
E02 указывает на то, что он потерял сигнал GPS.
E03 указывает, что существует проблема с цепью
Но весь нюанс оказался в том, что эта инструкция универсальная, и не совсем подходит к этому варианту спидометра :)
В присланном, например, при окончании поиска спутников, если сигнал не найден (конец отсчета 300), не выдается код ошибки.
Продавец так и сказал — у Вас вообще нет кнопки! :) Кнопка это другой вариант спидометра.
Когда я ему ее показал, он попросил ее понажимать… -внешне ничего не менялось.
Если и были изменения, то никак не отображаемые на экране. Использовать ее на установленном спидометре в фару будет весьма затруднительно, поэтому я дополнительно протестировал ее (кликал разными вариантами) на ходу в автомобиле — все равно НИКАКОЙ реакции! Очень трудно поверить в установку неиспользуемой кнопки в китайском устройстве (скорее не установят там, где необходимо) — с ее назначением так и не смог разобраться :(
Поиск спутников происходит очень быстро!
Кроме кнопки, на задней стороне расположен разъем выносной антенны GPS
Коннектор питания
И еще один, неизвестный разъем, спрятанный под заглушкой. О нем уже не стал расспрашивать продавца, сделав выводы из общения о кнопке :)
Скорее всего что-то для настройки или диагностики, возможно в паре с кнопкой.
Выносная антенна GPS
Содержимое
Провод питания, очень короткий :(
Соединяем для проверки, согласно инструкции ;)
Замеры потребляемого тока
При поиске спутников
в рабочем состоянии
при включенной подсветке
Скорее всего максимальное потребление (в инструкции заявлено до 100мА) во время работы сервопривода, но уловить и зафиксировать этот момент очень проблематично :(
подсветка надо сказать очень неплохая, в меру яркая, равномерная — выглядит красиво. По крайней мере белая!
По работе спидометра
Снимал и видео работы спидометра, но оно получилось мало информативным — сложно снимать смартфоном и ехать за рулем одновременно, поэтому покажу только пару скринов из него.
Штатный спидометр в авто немного занижает реальную скорость — размер колес не заводской, но в сравнении с БК практически одинаково
вечером, в сумерках, с включенной подсветкой. Штатный автомобильный имеет зеленую (довольно блеклую) подсветку-можно сравнить разницу в яркости.
Выводы:
При использовании подобного спидометра не требуется калибровка скорости/пробега при смене размеров колес и замены летней резины на зимнюю ;)
Не понравилось: Короткий провод питания. Нет инструкции на мой вариант спидометра. Не понятно назначение кнопки и имеется ли возможность выбора суточного пробега или единиц измерения (предполагал, что кнопка может быть предназначена для этих функций)
Читайте также: