Простой GPS спидометр


Николай Большаков, RA3TOX

           Целью данного проекта было желание создать простой для повторения спидометр для автомобиля (велосипеда, мотоцикла, самоката) на основе недорогого GPS-модуля. После поиска и испытаний нескольких конструкций остановился на конструкции, реализованой на основании проекта "Arduino GPS Speedometer With a Ks0108 - 128x64 GLCD display" (https://www.instructables.com/id/Arduino-GPS-speedometer-with-a-ks0108-128x64-GLCD-/). Основой устройства является плата Arduino, GPS-приемник и графический LCD-индикатор.

           Я постарался до минимума упростить конструкция. Вместо платы Arduino использовал микроконтроллер ATmega328. Отказался от кварцевого резонатора и применил внутреннюю синхронизацию. Вместо графического индикатора применил 7-сегментный индикатор.

           Получилась вот такая схема.

Схема простого GPS спидометра

Для проекта нам понадобятся:

- GPS-приемник (любой, например NEO6MV2).
- Микроконтроллер ATmega328.
- 7-сегментный четырехразрядний светодиодный индикатор с общим катодом.
- 4 резистора (10К - 1 шт., 1К - 3 шт.).
- Монтажная плата.
- ISP программатор (USBasp).

           Вся конструкция у меня собрана на макетной плате. Питание осуществляется от 5-ти вольтового USB адаптера для автомобиля. Если спидометр применяете на велосипеде, то можно его запитать от трех батареек формата АА (4,5 В) или четырех аккумуляторов (1,2 В х 4). Потребляемый устройством ток около 120 мА. Корпус для всей конструкции - на Ваше усмотрение. Можно установить на плате стабилизатор напряжения на 5 вольт и питать спидометр от бортовой сети автомобиля.

На фотографии моё размещение элементов на плате.
Микроконтроллер и 7-сегментный индикатор находятся на одной стороне платы один над другим и подключаются через панельки.

Монтажная плата

В собраном виде индикатор находится над микроконтроллером.
Монтажная плата

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

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

           Ещё можно попытаться использовать более дешевый микроконтроллер ATmega8. Схема при этом не меняется, т.к. цоколевка микроконтроллеров совпадает. Я скомпилировал файл (см.ниже) и для такого варианта, но не проверял работоспособность на практике.

Файлы для прошивки (HEX):
Для микроконтроллера ATmega328 (внутренняя синхронизация)
Для микроконтроллера ATmega8 (внутренняя синхронизация)

Фьюзы для микроконтроллере ATmega328P с внутренним генератором на 8 МГц в программе AVRDUDE-PROG привожу на рисунке.

Фьюзы для микроконтроллере ATmega328P

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

Удачи и творческих успехов.
73!

Октябрь 2017 г.

Публикация в других источниках разрешена со ссылкой на автора и сайт "Радиофанат" - http://rfanat.ru