Проблемы подключения gps модуль

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Lex 2211, 10 июн 2019.

  1. Lex 2211

    Lex 2211 Нуб

    Добрый день!
    При подключении GPS модуля к андурино UNO возникли проблемы:
    В проекте SoftwareSerial в монитор порта выдает непонятный набор символов, при подключении через UART переходник информация стандартная, u-center - определяет все координаты.
    Скорость передачи данных всегда 9600. На прямую все работает прекрасно, стоит пропустить сигнал через UNO - полная неразбериха. Пробовал через NANO - результат как и через UNO.
    Подключаю через загрузчик платы UNO (вывод 1) при нажатии кнопки сброс на плате информация стандартная, все работает.
    Помогите разобраться, если кто то сталкивался с такой проблемой.

     
  2. Daniil

    Daniil Гуру

    Непонятно. Что-то не работает при некоторых условиях.
    Схемы и код?
     
  3. Lex 2211

    Lex 2211 Нуб

    Схема:
    Чертеж1-Model.jpg

    Код:
    #include <SoftwareSerial.h>
    SoftwareSerial softSerial(2,3);
    void setup(){ //
    softSerial.begin(9600);
    Serial.begin(9600);
    } //
    void loop(){ //
    if(softSerial.available()){ Serial.write(softSerial.read());}
    if( Serial.available()){softSerial.write( Serial.read());}
    }

    Результат на мониторе порта :
    k6⸮⸮5Z⸮⸮%⸮"⸮⸮˲ ⸮R⸮⸮⸮"⸮⸮⸮⸮⸮#⸮ ⸮⸮⸮⸮⸮
    ⸮c⸮⸮(⸮⸮FC⸮⸮⸮⸮5Z⸮⸮5⸮"⸮G⸮⸮⸮⸮⸮⸮⸮⸮⸮
    ⸮⸮⸮⸮"⸮⸮i6⸮⸮5"⸮⸮⸮+⸮⸮⸮⸮⸮\⸮+⸮(⸮ ⸮$⸮)⸮"⸮⸮⸮⸮⸮⸮⸮⸮6⸮ȥ*⸮⸮⸮+⸮$⸮⸮⸮u:⸮$%⸮&⸮⸮⸮⸮,⸮⸮5⸮$⸮E⸮⸮⸮$⸮%⸮⸮ ⸮⸮F⸮E⸮B⸮⸮R⸮⸮⸮L*⸮⸮DR⸮+⸮$⸮%⸮a,$⸮t⸮⸮,⸮⸮⸮qs⸮⸮(⸮"⸮˄⸮⸮⸮⸮X&⸮⸮⸮⸮,⸮⸮5⸮$⸮E⸮⸮⸮ ⸮⸮5⸮⸮⸮˴⸮Z⸮⸮S⸮0Z⸮⸮Iu"I⸮⸮h Y⸮⸮⸮⸮%%⸮⸮Ų⸮⸮⸮⸮⸮⸮RɄ⸮"⸮⸮F⸮$⸮⸮L#V⸮⸮e⸮e⸮⸮Ų⸮⸮⸮⸮


    По такой схеме, при нажатом сбросе:

    Чертеж2-Model.jpg
    Результат на мониторе порта :
    $GNGSA,A,3,13,15,21,,,,,,,,,,4.93,4.45,2.12*13
    $GNGSA,A,3,84,69,78,,,,,,,,,,4.93,4.45,2.12*1A
    $GPGSV,3,1,10,08,19,319,,10,50,236,,13,22,041,25,15,44,072,28*79
    $GPGSV,3,2,10,16,14,254,,20,78,220,,21,67,128,26,24,04,112,21*7B
    $GPGSV,3,3,10,27,47,291,,30,01,356,*76
    $GLGSV,3,1,09,68,05,039,22,69,53,048,31,70,62,203,,71,12,214,*68
    $GLGSV,3,2,09,77,15,347,,78,10,037,25,84,32,143,11,85,84,255,18*65
    $GLGSV,3,3,09,86,28,318,*52
    $GNGLL,5611.26382,N,06024.33722,E,151421.00,A,A*7E
    $GNRMC,151422.00,A,5611.26382,N,06024.33705,E,0.566,,100619,,,A*6B
    $GNVTG,,T,,M,0.566,N,1.049,K,A*34
    $GNGGA,151422.00,5611.26382,N,06024.33705,E,1,05,5.22,254.6,M,-13.4,M,,*63
    $GNGSA,A,3,13,15,21,,,,,,,,,,6.34,5.22,3.59*12
    $GNGSA,A,3,69,78,,,,,,,,,,,6.34,5.22,3.59*17
    Такой же результат будет если подключить через USB-UART преобразователь.
    GPS модули 3 штуки на разных вариантах плат, базовый чип NEO-M8N. Скорость передачи платы 9600
    Ардуино брал UNO, Nano результат один и тот же.
     
  4. Daniil

    Daniil Гуру

    Код вставьте, пожалуйста, как положено.
    А комп подключен через usb или преобразователь? Попробуйте через преобразователь подключит для 2ого случая. Т.к. там вы подаете сигнал сразу на usb в обход мк.
    Вообще, софтварный сериал страшно использовать, не пробовали мегу?
     
  5. b707

    b707 Гуру

    да не, коллеги, тут дело не в СофтСериале. Смотрите - скрость никакая. на 9600 софтсериал точно справится.
    Вопрос к ТС - скорость в Мониторе порта на компе точно в обоих случаях 9600? - проверьте
     
  6. ИгорьК

    ИгорьК Гуру

    Сериал, хоть софтверный, хоть железный имеет настройки. Биты,там... контроли. Компутер - он часто может сам определять что к чему. А Ардуина - она только в форме "Бери тиньку 441" правильно работает.
    Ну это к слову.
     
  7. Lex 2211

    Lex 2211 Нуб

    Да скорость 9600.
    Как вставить код я пока не разобрался, вот ссылка откуда был скачан код https://wiki.iarduino.ru/page/Arduino_as_a_USB_UART_converter
    Пробовал менять вход ТХ на UNO на другие выводы, до 7 то же самое, начиная с 8 опять же набор символов но уже по другому. Вход менял изменяя в коде номер ноги.
     
  8. Daniil

    Daniil Гуру

    Попробуйте проверить этот пример.
    Вам понадобится доп. UART-USB преобразователь и доп. монитор на пк (советую termite).
    Естественно, проверьте настройки обоих портов.
     
  9. Lex 2211

    Lex 2211 Нуб

    Спасибо, попробовал с termite и arduino.exe эффект тот же Снимок.JPG
    Скорость выставил программно 9600. Поигрался на других значениях то же самое. Может уровни сигналов не стыкуются, уже не знаю что делать.
     
  10. parovoZZ

    parovoZZ Гуру

    Так надо чтобы ВЕЗДЕ стояла скорость 9600. Это касается и преобразователях USB - COM! Его настройки надо смотреть в свойствах драйвера.
     
  11. Daniil

    Daniil Гуру

    Зайдите в настройки termite, слева колонка с настройками com-порта.
    Вот эти настройки должны быть одинаковыми на всех устройствах.

    Подключите так:
    пк = usb = arduino = преобразователь на 2 и 3 пины = пк.
    Загрузите тестовый пример с сайта ардуино.сс (с 2 и 3 пином).
    Откройте термит и монитор порта ардуино (или можно 2 термита).
    Вы должны отправить в одном термите посылку и получить его в другом. Если это не так, значит настройки не одинаковы (у ардуино тоже!).
     
  12. Lex 2211

    Lex 2211 Нуб

    IMG_5876  22.jpg
    Все работает
    Снимок 1.JPG
     
  13. Daniil

    Daniil Гуру

    Вместо 2ой ардуинки можно подсунуть gps модуль. Если вы угадали его uart-параметры, то должно заработать.
     
  14. Lex 2211

    Lex 2211 Нуб

    Всем спасибо за помощь!!! Проблемы были с Arduino IDE версии 1.8.2. Загрузил через версию 1.6.5 все заработало как надо.