|
GPS логгер на ATMega128, Самодельный GPS |
|
|
|
Oct 8 2007, 08:39
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 8-10-07
Пользователь №: 31 156

|
Здравуствуйте. Есть ли у кого-нибудь нароботки или ссылки на GPS логгер на ATMega128 ? Требуется чтобы микроконтроллер опрашивал GPS приемник (формат) NMEA и писал на флэш память .
Или пример работы микроконтроллера ATMega128 с GPS приемником в формате NMEA ?
Буду благадарен за любую помощь в написании примера для данного микроконтроллера.
Сообщение отредактировал acronis2000 - Oct 8 2007, 09:04
|
|
|
|
|
Oct 8 2007, 12:25
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 8-10-07
Пользователь №: 31 156

|
ps1x - спасибо !!!
А есть ли еще какие либо ссылки по теме или еще варианты ? заранее спасибо !!!
|
|
|
|
|
Oct 8 2007, 13:41
|
Группа: Новичок
Сообщений: 1
Регистрация: 5-10-07
Пользователь №: 31 106

|
Цитата(ps1x @ Oct 8 2007, 15:58)  GPS NMEA data logger - пользуйтесь на здоровье.  Только что-то там схемы не видать....
|
|
|
|
|
Oct 8 2007, 19:54
|
Частый гость
 
Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405

|
Цитата(kanzler @ Oct 8 2007, 21:15)  А у меня антивирусник стал ругаться на ссылку, сказал что там вирус :-( DrWeb 4.33.2 с последними базами также молчит. Цитата(acronis2000 @ Oct 8 2007, 12:39)  Есть ли у кого-нибудь нароботки или ссылки на GPS логгер на ATMega128 ? Требуется чтобы микроконтроллер опрашивал GPS приемник (формат) NMEA и писал на флэш память .
Или пример работы микроконтроллера ATMega128 с GPS приемником в формате NMEA ?
Буду благадарен за любую помощь в написании примера для данного микроконтроллера. Нужен готовый проект, или есть конкретные вопросы/проблемы? Ничего сложного как в работе с GPS-приёмником, так и с записью на флеш, нет. На многие (не сказать на все) GPS-приёмники есть доки на оффсайтах. Если не ошибаюсь, в местной копилке должна валяться библиотека FlashFile с поддержкой FAT12/16 - если нужны файлы на SD/MMC-карте. В общем, и с теми и с другими работал, и не только я (хотя уверен, найдутся те, кто скажет - не столько  ). Спрашивайте - поможем, чем сможем.
|
|
|
|
|
Oct 8 2007, 23:42
|
Местный
  
Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284

|
Цитата(acronis2000 @ Oct 8 2007, 16:25)  ps1x - спасибо !!!
А есть ли еще какие либо ссылки по теме или еще варианты ? заранее спасибо !!! Пардон, действительно проект у него в стадии "разработки"... Посмотрите, может это подойдет http://www.avrfreaks.net/index.php?module=...em_type=project
|
|
|
|
|
Oct 9 2007, 00:29
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 8-10-07
Пользователь №: 31 156

|
Цитата Нужен готовый проект, или есть конкретные вопросы/проблемы? Если был бы готовый - было бы счастье !!! А так рад любым советам , а лучше примерам - если на с++ - то с меня
|
|
|
|
|
Oct 9 2007, 07:52
|
Участник

Группа: Новичок
Сообщений: 60
Регистрация: 26-07-07
Пользователь №: 29 391

|
Делал на atmega8, есть варианты как с флешем (at45db021b) так и с eeprom (24С512). Также есть вариант на atmega128 с использованием для хранения данных флеш-памяти программ..
|
|
|
|
|
Oct 9 2007, 12:47
|
Тутэйшы
   
Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263

|
Основное - написание парсера для нмеа. В большинстве приемников месаги автоматом выплевываются раз в секунду. Остается их ловить, разбирать и складывать. Я пишу в яре, поэтому не стал особо выдумывать и использовал библиотечные функции. Типа: Код switch(sscanf((char const*)&gps.rx_buf[0], "$GPRMC,%lx.%hx,%c,%hx.%hx,%c,%lx.%hx,%c,%hx.%hx,%hx.%hx,%lx,%*c", &rmc->utc_time, &rmc->sss, &rmc->status, &rmc->latitude_high, &rmc->latitude_low, &rmc->ns_indicator, &rmc->longitude_high, &rmc->longitude_low, &rmc->ew_indicator, &rmc->speed_high, &rmc->speed_low, &rmc->cource_high, &rmc->cource_low, &rmc->data)) { case 14: GPS_Stack_Init(); return GPS_RX_MES;
case (14-3): if(sscanf((char const*)&gps.rx_buf[0], "$GPRMC,%*lx.%*hx,%*c,%*hx.%*hx,%*c,%*lx.%*hx,%*c,%*hx.%*hx,,%lx,%*c", &rmc->data) == 1) { rmc->cource_high = 0xFFFF; rmc->cource_low = 0xFF;
GPS_Stack_Init(); return GPS_RX_MES; } GPS_Stack_Init(); return GPS_NOT_RX_MES;
default: GPS_Stack_Init(); return GPS_NOT_RX_MES; } Вопрос у меня к делавшим. Как вы боретесь с флуктуациями? Когда объект стоит на месте, все равно скорость часто бывает отлична от нуля.
|
|
|
|
|
Oct 9 2007, 15:55
|
Участник

Группа: Новичок
Сообщений: 60
Регистрация: 26-07-07
Пользователь №: 29 391

|
У меня было автомобильное применение, по изменению питающего напряжения делал вывод о том заведен или заглушен двигатель, соответственно если двигатель заглушен считалось, что авто стоит
|
|
|
|
|
Oct 10 2007, 00:18
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 8-10-07
Пользователь №: 31 156

|
Цитата У меня было автомобильное применение, по изменению питающего напряжения делал вывод о том заведен или заглушен двигатель, соответственно если двигатель заглушен считалось, что авто стоит. Robin- если есть возможность ,поделитесь информацией как ВЫ это делали технически(схемка) и программно - меня это очень заинтересовало .
Сообщение отредактировал acronis2000 - Oct 10 2007, 00:19
|
|
|
|
|
Oct 10 2007, 05:28
|
Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 22-09-05
Пользователь №: 8 834

|
Цитата(acronis2000 @ Oct 10 2007, 03:18)  Robin- если есть возможность ,поделитесь информацией как ВЫ это делали технически(схемка) и программно - меня это очень заинтересовало . мне тоже
--------------------
Прошивка это душа микроконтроллера!
|
|
|
|
|
Oct 10 2007, 07:05
|
Участник

Группа: Новичок
Сообщений: 60
Регистрация: 26-07-07
Пользователь №: 29 391

|
Цитата(acronis2000 @ Oct 10 2007, 03:18)  Robin- если есть возможность ,поделитесь информацией как ВЫ это делали технически(схемка) и программно - меня это очень заинтересовало . Мерял ацп-шкой меги питающее напряжение, при заведенном и заглушенном двигателе оно отличается на ~0,5-1 вольт, соответственно выставлял в слове данных статус "стоянка", а софт в дальнейшем, опираясь на это не учитывал "ползанья" gps. Хотя, должен заметить, эта проблема наблюдается в основном на чипах sirf, на использумых ранее xemix "метаний" на стоянках практически не было.
|
|
|
|
|
Oct 17 2007, 16:42
|
Частый гость
 
Группа: Новичок
Сообщений: 170
Регистрация: 26-05-05
Из: Москва
Пользователь №: 5 405

|
Цитата(Robin @ Oct 10 2007, 11:05)  Мерял ацп-шкой меги питающее напряжение, при заведенном и заглушенном двигателе оно отличается на ~0,5-1 вольт, соответственно выставлял в слове данных статус "стоянка", а софт в дальнейшем, опираясь на это не учитывал "ползанья" gps. Хотя, должен заметить, эта проблема наблюдается в основном на чипах sirf, на использумых ранее xemix "метаний" на стоянках практически не было. Хочется в ответ на такое решение набросать много ругательных слов  но не буду. А то вдруг  (кое-кто) проснётся и начнёт творить  (нехорошее). Скажу лишь, что я бы так не стал делать вовсе, т.к. на одной машине одни уровни (падения), на другой - другие (это первое, что пришло в голову). acronis2000, VAHOO, если хотите достоверно определять состояние остановки, используйте акселерометры. Так же есть способ отключать у приёмника вход для дифференциальной поправки - говорят координаты на месте перестают прыгать. По своему опыту могу сказать, что после пробы приёмников Leadtek на чипсете SiRFStarIII, решили перейти на них, т.к. они "в базе" не "прыгают" (тоесть дополнительно ничего не нужно настраивать). Удачи!
|
|
|
|
|
Oct 17 2007, 21:17
|
Участник

Группа: Новичок
Сообщений: 60
Регистрация: 26-07-07
Пользователь №: 29 391

|
-По поводу напряжения: да, разумеется оно разное на разных машинах, программа реагирует не на абсолютный уровень, а на его изменение за малый временной промежуток. Согласен, решение спорное, но делалось оно уже по готовому железу и это оказался единственный действенный метод без переделки аппаратной части. -Акселерометры это ГУД, но для данной задачи экономически не оправданно. -При неблагоприятных условиях приема прыгают ВСЕ приемники и SiRFStarIII (не важно, кто этот модуль собрал- leadtek, tyco или "дядя Вася из гаража") еще больше всех, за счет "задранной" чувствительности. В чистом поле ни кто не прыгает, это тоже понятно.. -а при чем тут вход диф.поправки??? и как он может влиять на "метания"???
|
|
|
|
|
Oct 18 2007, 00:22
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 8-10-07
Пользователь №: 31 156

|
Спасибо огромное ELECTRONIX.ru , спасибо всем участникам , которые приняли участие в данном топике - тема очень интересная и актуальная , и думаю что не только для меня. Я делаю самые первые шаги в освоении микроконтроллеров , в основе взял старшую ATMEGA128 и это мой самый первый проект и именно GPS логгер ! Я рад всем советам , подсказкам и просто ВАШИМ консультациям на данную тему. Буду благодарен и впредь тем кто поможет в реализации моего первого проекта. Я незнаком с ассемблером и был бы рад всем каким-либо примером кода с описанием на С++.
Еще раз всем ОГРОМНОЕ спасибо !
|
|
|
|
|
Oct 18 2007, 07:08
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 7-05-06
Пользователь №: 16 862

|
Цитата(Robin @ Oct 18 2007, 00:17)  -При неблагоприятных условиях приема прыгают ВСЕ приемники и SiRFStarIII -а при чем тут вход диф.поправки??? и как он может влиять на "метания"???  В GPS приемниках на SiRFStarIII есть так называемый режим Static Navigation. Когда он выключен, приемник не меняет координаты на выходе, если скорость объекта менее что-то около 1м/c или смещение не превышает 50м. Т.е. другими словами это позволяет выбрать режим пешехода или автомобилиста. В разных приемниках по умолчанию этот режим может быть включен или выключен. Поэтому нужно искать протокол конкретного модуля и включать-выключать режим по вкусу.
|
|
|
|
|
Oct 18 2007, 13:40
|
Участник

Группа: Новичок
Сообщений: 60
Регистрация: 26-07-07
Пользователь №: 29 391

|
Static Navigation, а также софтовые алгоритмы определения стоянок на основании скорости, не решают проблему "метания", проверенно..  В программе анализа трека у меня реализован софтовый фильтр, который вырезал до 90% метаний чипсета xemics, но с сирфом результаты значительно хуже из-за характера этих самых "метаний" - координата медленно ползет, и крайне сложно отличить это "ползанье" от реального движения. В итоге для себя я определил 2 способа борьбы: 1) грамотная установка антенн (open sky). 2) анализ дополнительной информации о состоянии транспортного средства (зажигание, данные спидометра, акселерометры и т.д.)
|
|
|
|
|
May 25 2009, 13:35
|

Частый гость
 
Группа: Участник
Сообщений: 178
Регистрация: 31-10-06
Из: Яблунець
Пользователь №: 21 821

|
Цитата(brag @ May 24 2009, 22:47)  в каких единицах? Не понял что вы имеете в виду. С GPS модуля я получаю такие координаты: $GPRMC,163645.000,A,5015.8776,N,02840.6037,E,0.00,,120509,,,A*7F
|
|
|
|
|
May 30 2009, 05:59
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 4-01-07
Из: Казань
Пользователь №: 24 091

|
Цитата(acronis2000 @ Oct 8 2007, 12:39)  Здравуствуйте. Есть ли у кого-нибудь нароботки или ссылки на GPS логгер на ATMega128 ? Требуется чтобы микроконтроллер опрашивал GPS приемник (формат) NMEA и писал на флэш память .
Или пример работы микроконтроллера ATMega128 с GPS приемником в формате NMEA ?
Буду благадарен за любую помощь в написании примера для данного микроконтроллера. Сейчас делаю как раз нечто подобное. GPS - Mega128 - LCD (Nokia 1100) - Flash (AT45db321). Необходим мобильный вариант. Поэтому все это брахло замариновал в корпус от сотового. Вроде прикольно получается. На первый взгляд на сразу догадаешься что за девайс и для чего нужен. Сейчас фото нет. Позже выложу.
|
|
|
|
|
Jun 8 2009, 12:57
|
Местный
  
Группа: Свой
Сообщений: 230
Регистрация: 7-04-08
Из: Украина, Запорожье
Пользователь №: 36 541

|
http://elm-chan.org/works/glg/report_e.htmlСобирал когда-то на меге32. Есть еще желание влепить туда экранчик тексотвый и говорилку с диктофоном. Чтоб можно было туда голосовые коментарии писать. Насчет акселерометров тоже думал, как у них с потреблением ?
|
|
|
|
|
Jun 12 2009, 04:50
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 4-01-07
Из: Казань
Пользователь №: 24 091

|
Цитата(brag @ May 30 2009, 20:35)  не поленитесь вкинуть туда акселерометр Тык он вроде и не нужен.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|