Магнитный компас для картплоттера
Подключение внешнего GPS + компаса по протоколу НМЕА0183 к эхолоту Elite 7TI. По следам NIKO77.
Напишу вкратце, что получилось. Подробнее с картинками позже.
Компоненты:
1. Arduino Nano 3.0 - микроконтроллер на безе ATMEGA328P
2. Ublox NEO M8N - GPS+компас
3. LM2596S DC-DC 1.5В-35В - регулируемый преобразователь питания.
4. RS485 Board (3.3V) - плата интерфейса для подключения к RS422 эхолота.
5. GY-282 HMC5983 - отдельная плата компаса.
Все устройства запитываются напряжением 3.3В. GPS Ublox-а сразу имеет выход НМЕА0183, что удобно, по сути нужно просто считывать НМЕА посылки и транслировать их на выход Ардуино без какой либо обработки. Это примитивнейшая программа, кто мало-мальски знаком с программированием сделают без проблем.
Компас подключается по интерфейсу I2C. У меня компас в Ублоксе не заработал, купил отдельную плату компаса (п.5), с ней проблем не возникло. В нашем случае данные компаса нужно приводить к посылкам НМЕА. Примеры в интернете есть.
Что касается моего вопроса по поводу настроек эхолота что бы он увидел внешние данные. Спасибо всем, кто объяснил как должно было быть!
И сам убедился, в том, что если на входе эхолота на входах Rx+ и Rx- есть правильные НМЕА посылки, то в списке устройств появляется устройство NMEA0183 Port 1 (естественно при правильных уровнях сигналов), можно посмотреть какие данные устройство получает (список параметров).
У меня был косяк в том, что на преобразователь RS485 Board (3.3V) по ошибке подали напряжение 2В (не туда запаялись на Ардуинке), уровень сигнала был недостаточным, по этому эхо не видел данные. После правильного подключения эхолот сразу все увидел. Проверил на скоростях передачи данных 9600, 19200 и 38400.
На данный момент эхолот видит внешние спутники, всего 12шт. Как я понял это максимум для него или отображает лишь 12, хотя всего Ублокс ловит дома порядка 16-18 спутников. Родной GPS ловит 9 спутников. На родном GPS скачки по 20-30-40 метров в стороны, на внешнем точность позиционирования намного выше.
Данные компаса тоже видит, но пока всё по отдельности (GPS и компас). Нужно замекшировать в Ардуине данные спутников и данные компаса и выдавать в эхолот.
Еще такой момент, при выборе источника GPS данных предлагается выбор на все данные, т.е. нельзя сделать так, что данные GPS берутся с внутреннего источника, а данные компаса с внешнего источника. По этому просто компас по НМЕА0183 не прикрутить. Т.е. прикрутить-то можно, но будет либо родной GPS без компаса, либо внешний компас, но без GPS. Пока всё.
Напишу вкратце, что получилось. Подробнее с картинками позже.
Компоненты:
1. Arduino Nano 3.0 - микроконтроллер на безе ATMEGA328P
2. Ublox NEO M8N - GPS+компас
3. LM2596S DC-DC 1.5В-35В - регулируемый преобразователь питания.
4. RS485 Board (3.3V) - плата интерфейса для подключения к RS422 эхолота.
5. GY-282 HMC5983 - отдельная плата компаса.
Все устройства запитываются напряжением 3.3В. GPS Ublox-а сразу имеет выход НМЕА0183, что удобно, по сути нужно просто считывать НМЕА посылки и транслировать их на выход Ардуино без какой либо обработки. Это примитивнейшая программа, кто мало-мальски знаком с программированием сделают без проблем.
Компас подключается по интерфейсу I2C. У меня компас в Ублоксе не заработал, купил отдельную плату компаса (п.5), с ней проблем не возникло. В нашем случае данные компаса нужно приводить к посылкам НМЕА. Примеры в интернете есть.
Что касается моего вопроса по поводу настроек эхолота что бы он увидел внешние данные. Спасибо всем, кто объяснил как должно было быть!
И сам убедился, в том, что если на входе эхолота на входах Rx+ и Rx- есть правильные НМЕА посылки, то в списке устройств появляется устройство NMEA0183 Port 1 (естественно при правильных уровнях сигналов), можно посмотреть какие данные устройство получает (список параметров).
У меня был косяк в том, что на преобразователь RS485 Board (3.3V) по ошибке подали напряжение 2В (не туда запаялись на Ардуинке), уровень сигнала был недостаточным, по этому эхо не видел данные. После правильного подключения эхолот сразу все увидел. Проверил на скоростях передачи данных 9600, 19200 и 38400.
На данный момент эхолот видит внешние спутники, всего 12шт. Как я понял это максимум для него или отображает лишь 12, хотя всего Ублокс ловит дома порядка 16-18 спутников. Родной GPS ловит 9 спутников. На родном GPS скачки по 20-30-40 метров в стороны, на внешнем точность позиционирования намного выше.
Данные компаса тоже видит, но пока всё по отдельности (GPS и компас). Нужно замекшировать в Ардуине данные спутников и данные компаса и выдавать в эхолот.
Еще такой момент, при выборе источника GPS данных предлагается выбор на все данные, т.е. нельзя сделать так, что данные GPS берутся с внутреннего источника, а данные компаса с внешнего источника. По этому просто компас по НМЕА0183 не прикрутить. Т.е. прикрутить-то можно, но будет либо родной GPS без компаса, либо внешний компас, но без GPS. Пока всё.