В этой части я попытаюсь закончить описание DIY-логгера на основе модуля NEO-6M-001 и МК ATmega128A.
Принципиальная схема. За основу, как уже упоминалось ранее, был взят подобный DIY логгер. От авторской конструкции, описываемая здесь - отличается незначительно (в плане "железа") и значительно (в плане "софта").
Принципиальная схема - я свой вариант на черновике накидал и по нему собиралась и отлаживалась конструкция, но чистового варианта схемы нет - как и у большинства конструкций. Выход простой - берем схему-первоисточник и немного подправим ее :-)
Что тут что и как оно работает. После подачи питания - модуль NEO-6M-001 стартует и начинает активно искать спутники. МК стартует, опрашивает карту памяти - если все в норме - программа выполняется далее, если нет - то программа останавливается и загорается красный светодиод. Если инициализация карты прошла успешно - МК пытается найти на ней файл с настройками - CONFIG.CFG. Если файл найден и считан - программа берет настройки из этого файла - номера порядковые записываемых файлов (0-9999), коррекцию часового пояса (UTC+2 или любое другое значение), расстояние между записываемыми точками трека (в метрах) - частота записи точек в файл - через 10, 20 50, 100 метров и т.д. Если этого файла нет - например при первом включении логгера - программа МК создаст его с параметрами "по умолчанию": порядковый номер - 0, коррекция времени - "3" и точность записи - "10,0". Позже можно внести изменения в файл настроек.
В это время модуль NEO-6M-001 ищет спутники... Если они найдены - на карте создаются файлы .txt, .kml и .gpx, мигают все светодиоды одновремено и гаснут - начинает мигать желтый светодиод. В момент нахождения нужного количества спутников модуль NEO-6M-001 выдает строку $GPRMC в формате NMEA-0183- с временем и датой, с координатами, скоростью, высотой... И из этой каши программа МК выбирает и формирует нужные нам данные для записи их в .txt, .kml и .gpx файлы.
Спутники найдены - мигает зеленый светодиод - идет запись координат в файлы. И далее если расстояние между двумя точками трека более, чем указанно в CONFIG.CFG - запись координат в файл идет. Если данные с GPS-модуля валидны - запись координат в файл идет. Если одно из этих условий (в любой последовательности) не выполняется - то программа МК пропускает запись координат в файл и ожидает новой посылки с данными от GPS-приемника.
Идет запись - во время движения мигает зеленый светодиод. Остановка - мигают одгновременно желтый и зеленый. Таким образом - во время стоянки в трек не пишутся лишние данные.
Если появилась необходимость завершить трек и выключить логгер или просто начать новый трек - жмем кнопку KEY - загорается зеленый светодиод - можно выключить логгер - файлы .txt, .kml и .gpx финализированы и успешно записаны на карту памяти (карта может использоваться любая micro sd, объемом до 2Гб). Для начала нового трека - включаем питание логгера. Если вдруг питание логгера было отключено без нажатия на кнопку KEY или разрядилась батарея или еще по какой причине случилась остановка записи - файлы с пройденным маршрутом прийдется финализировать в ручном режиме - в любом текстовом редакторе на ПК. :-)))
На схеме не указаны - модуль зарядки на TP4056 - подключенный к Li-Ion аккумулятору SAMSUNG ICR18650-26F (по ссылке будет батарея SAMSUNG ICR18650-26H - для данной конструкции это особого значения не имеет) с модулем защиты от батареи сотового телефона. Как это все соединить - я думаю не стоит подробно описывать... Единственный момент - ток заряда в модуле TP4056 настроен на 500 мА.
И немного результатов работы логгера:
К чему эти приписки о погоде? Было замечено - в ясную солнечную погоду приемник GPS стартует намного быстрее и в целом лучше "держит" сигнал от спутников...
з.ы. DIY GPS Logger PCB .lay и ПО для ATmega128A Bascom - это для тех, кто захочет повторить описанную конструкцию.
з.з.ы. огромное спасибо Димону!!!
з.з.з.ы. кто повторит всю конструкцию или частично - оставьте ссылку на эту статью - будьте человеками...
з.з.з.з.ы. а тут распиновка карты памяти - и SD и MicroSD.
Принципиальная схема. За основу, как уже упоминалось ранее, был взят подобный DIY логгер. От авторской конструкции, описываемая здесь - отличается незначительно (в плане "железа") и значительно (в плане "софта").
Принципиальная схема - я свой вариант на черновике накидал и по нему собиралась и отлаживалась конструкция, но чистового варианта схемы нет - как и у большинства конструкций. Выход простой - берем схему-первоисточник и немного подправим ее :-)
Что тут что и как оно работает. После подачи питания - модуль NEO-6M-001 стартует и начинает активно искать спутники. МК стартует, опрашивает карту памяти - если все в норме - программа выполняется далее, если нет - то программа останавливается и загорается красный светодиод. Если инициализация карты прошла успешно - МК пытается найти на ней файл с настройками - CONFIG.CFG. Если файл найден и считан - программа берет настройки из этого файла - номера порядковые записываемых файлов (0-9999), коррекцию часового пояса (UTC+2 или любое другое значение), расстояние между записываемыми точками трека (в метрах) - частота записи точек в файл - через 10, 20 50, 100 метров и т.д. Если этого файла нет - например при первом включении логгера - программа МК создаст его с параметрами "по умолчанию": порядковый номер - 0, коррекция времени - "3" и точность записи - "10,0". Позже можно внести изменения в файл настроек.
В это время модуль NEO-6M-001 ищет спутники... Если они найдены - на карте создаются файлы .txt, .kml и .gpx, мигают все светодиоды одновремено и гаснут - начинает мигать желтый светодиод. В момент нахождения нужного количества спутников модуль NEO-6M-001 выдает строку $GPRMC в формате NMEA-0183- с временем и датой, с координатами, скоростью, высотой... И из этой каши программа МК выбирает и формирует нужные нам данные для записи их в .txt, .kml и .gpx файлы.
Спутники найдены - мигает зеленый светодиод - идет запись координат в файлы. И далее если расстояние между двумя точками трека более, чем указанно в CONFIG.CFG - запись координат в файл идет. Если данные с GPS-модуля валидны - запись координат в файл идет. Если одно из этих условий (в любой последовательности) не выполняется - то программа МК пропускает запись координат в файл и ожидает новой посылки с данными от GPS-приемника.
Идет запись - во время движения мигает зеленый светодиод. Остановка - мигают одгновременно желтый и зеленый. Таким образом - во время стоянки в трек не пишутся лишние данные.
Если появилась необходимость завершить трек и выключить логгер или просто начать новый трек - жмем кнопку KEY - загорается зеленый светодиод - можно выключить логгер - файлы .txt, .kml и .gpx финализированы и успешно записаны на карту памяти (карта может использоваться любая micro sd, объемом до 2Гб). Для начала нового трека - включаем питание логгера. Если вдруг питание логгера было отключено без нажатия на кнопку KEY или разрядилась батарея или еще по какой причине случилась остановка записи - файлы с пройденным маршрутом прийдется финализировать в ручном режиме - в любом текстовом редакторе на ПК. :-)))
На схеме не указаны - модуль зарядки на TP4056 - подключенный к Li-Ion аккумулятору SAMSUNG ICR18650-26F (по ссылке будет батарея SAMSUNG ICR18650-26H - для данной конструкции это особого значения не имеет) с модулем защиты от батареи сотового телефона. Как это все соединить - я думаю не стоит подробно описывать... Единственный момент - ток заряда в модуле TP4056 настроен на 500 мА.
И немного результатов работы логгера:
Одна из первых проверок - пешим ходом по центру города.
Велопрогулка в солнечную погоду.
Осенний Велодень 2016 в Харькове. Погода - переменная облачность.
К чему эти приписки о погоде? Было замечено - в ясную солнечную погоду приемник GPS стартует намного быстрее и в целом лучше "держит" сигнал от спутников...
з.ы. DIY GPS Logger PCB .lay и ПО для ATmega128A Bascom - это для тех, кто захочет повторить описанную конструкцию.
з.з.ы. огромное спасибо Димону!!!
з.з.з.ы. кто повторит всю конструкцию или частично - оставьте ссылку на эту статью - будьте человеками...
з.з.з.з.ы. а тут распиновка карты памяти - и SD и MicroSD.
Nice stuff! I've stumbled upon your translated and modified Basic Air Data GPS Logger release. (http://xt.ht/phpbb/viewtopic.php?f=31&t=359455&start=2355)! That is great! I would like you to know that now we have an active translation project on Crowdin in this URL https://crowdin.com/project/gpslogger
ВідповістиВидалитиBest regards, Erik, BAD team.
Oh, cool ... This program - Air Date Logger - simply irreplaceable and excellent on any android-smartphone. I used it as a standard program when setting up my DIY project GPS Logger at atmega 128 and neo-6m (http://turantino.blogspot.com/2016/08/diy-gps-logger-neo-6m-001-1.html). Thank you for this application, well, the lack of translation into a language I understand was solved by me simply - I showed courage and added the translation to the apk file. I hope I did not in any way infringe on the copyrights of the program developer with my translation? Simply, the site http://www.basicairdata.eu/ at the time when I was translating the program, did not work, I did not know how I could apply for permission to translate and risked doing it as is ...
ВидалитиHi Andre, No infringement for sure! In the last period of time we've added the possibility to translate the app in Crowdin. Crodwin is really comfortable to use because the translation in one language is inherited by the future releases of GPSLogger; often that is not true when a source code translation is used. That was the point of my previous message. For the rest, you know, we are running a Open project. Regards!
Видалити