Ardupilot-GPS
Изготовление модуля навигации для Ardupilot и Ardupilot-MEGA своими руками.
В самом деле можно купить готовый модуль у Diydrones за 40$ на чипсете MT3389 и не заморачиваться,
но мы легких путей не ищем и не прочь съэкономить 30-50%
За основу был взят модуль quectel L10 на чипсете MT3389, выбор пал именно на эту модель по той причине что этот же чипсет использован авторами ардупилота, а в исполнении quectel он стоит менее 400руб при превосходном качестве исполнения. Однако этот модуль еще не готовое устройство, собственно процесс сборки своими руками и заключается в том чтобы подобрать к нему подходящую антену, стабилизатор питания, резервный источник памяти горячего старта, преобразователь уровней UART 3,3 -> 5,0 вольт, вытравить печатную плату, спаять все это и протестировать.
Список деталей:
L10 [MT3329; 22.4x17x3.0mm] QUECTEL
компактная GPS антенна ANT GPS BY-GPS-134 PCB BEYOND или более чувствительная ANT GPS A25-4T [YDRA-A25-1575]
Резистор 10К 0603 - 2 шт
Резистор 200К 0603 - 1 шт
Резистор 100Ом-1Ком 0603 - 1 шт
Конденсатор 0,1мкф 0603 - 3шт
Конденсатор 30пф 0603 - 1 шт
Smd диод 0603 - 1 шт
Стабилизатор 3,3 вольт в корпусе SOT23-5
Преобразователь уровней PCA9306D (в маленьком корпусе)
Ионистор 3,3В, плата разведена под этот
микросхема PCA9306D может быть заменена на PCA9306DС и PCA9306DС1
КРОМЕ PCA9306DС@NXP - этот чип именно этого производителя имеет иную цоколевку,
помимо этого в обсуждениях мне встречалось мнение что чипсет MT3389, используемый в модуле, прекрасно работает безо всякого преобразования с TTL (5V) уровнями на RX и TX (тем не менее питание не должно превышать 3,6 вольта) из чего следует что если этой микрухи нет в наличии то в принципе можно попарно замкнуть выводы 3 с 4, 2 с 5, а подтягивающие резисторы полклучить к 5V вместо 3,3V и таким образом обойтись без нее, что я и имел удовольствие наблюдать в одном из модулей китайского производства. (это решение я на практике, на своем модуле не проверял).
Печтаная плата:
Печатная плата изготавливается методом ЛУТ, файл для самостоятельного изготовления приложен внизу страницы.
Оригинальный и упрощенные варианты выглядят так:
Отличие от оригинального, варианта разработанного Александром Антоновым в сплошной заливке под модулем, изменена разводка земли ионистора, установлены разрезнЫе перемычки в положение для использования по основному назначению - для подключения к Ardupilot через Serial (модуль может передавать данные еще и по USB/ I2C ). Убраны неиспользуемые установочные места элементов антенного фильтра. Обратную сторону платы я оставил фольгированной и соединил перемычкой с GND
Процесс пайки:
На этот раз решился испортить одно игольчатое жало, изготовив из него жало "микроволна". Что могу сказать? это день и ночь! припой не стремиться слинять с конца жала куда-нибудь повыше а наоборот держится в зоне пайки, излишки припоя отлично дозируются между деталью и жалом - если надо побольше олова положить - превосходно удерживается большая капля, если надо убрать припой с детали - вытираем припой с жала о салфетку, макаем жало в канифоль и излишки припоя с удовольствием заполняют ямку на конце жала. В результате и смд компоненты и модуль быстро и аккуратно были запаяны паяльником без использования фена и подогревающего прожектора. Какой вариант платы вы бы не выбрали, рекомендую пространство под модулем электрически изолировать во избежание замыкания на переходные отверстия в плате модуля. это можно сделать покрыв лаком (или заклеив скотчем).
Тестирование:
Перед подключением питания я сначала проверил работу стабилизатора, запитав модуль от регулируемого источника напряжения 3,6 вольт, с тем чтобы убедиться что стабилизатор не перепутан и нет "залипонов" в цепи питания, иначе можно потерять и ионистор и модуль рассчитанные на 3,3 вольта,
однако мои опасения оказались напрасны, схема заработала с первого включения.
Модуль был подключен к компьютеру посредством того же usb - uart преобразователя который используется для программирования "маленького ардупилота", remzibi osd, итд. В моем случае я воспользовался все той же ардуино- платой с извлеченным чипом atmega168.
Программа MiniGPS (см. приложения) соединилась с модулем на запрограммированной с завода скорости 9600, определила что версия прошивки даже выше чем предлагаемая к скачиванию командой разработчиков Ardupilot (1.33 006) поэтому прошивку даунгрейдить смысла небыло,
Задал для модуля настройки
скорость 38400 (оптимально для маленького Ardupilot )
И сохранил их по умолчанию (последняя закладка программы MiniGPS). Остальные настройки роли не играют, ибо ардупилот (или плата сенсоров) настроят их при инициализации
Тестирование показало невероятный результат, модуль подключенный "на холодную" в каменном доме, в значительном удалении от окон смог поймать более 5 спутников, получить 3D fix и достаточно точно определить координаты. Такого не было ни с китайским модулем с оригинальной прошивкой, ни после его перепрошивки, ни с побывавшими в моих руках готовыми туристическими и автомобильными навигаторами на самых "крутых" чипсетах! (обычно внутри каменного помещения навигаторы получают lock - захват только "на горячую" - если незадолго до того как навигатор попал в помещение он захватил спутники будучи под открытым небом или хотя бы вблизи окна )
Примечания:
Печатную плату заводского качества можно приобрести у меня или заказать самостоятельно по файлам приложенным в разделе "Продукция"
К этой плате может подойти не только модуль L10 компании QUECTEL, но и множество модулей других производителей, это весьма популярный форм-фактор, однако мною был испытан именно этот модуль, если вы решите использовать другой, внимательно изучите datasheet на предмет соответствия выводов, в случае успешных экспериментов я буду благодарен если вы напишете мне о ваших модификациях и доработках. Если в дальнейшем вы хотите оставить возможность подключения активной антенны то на заводской плате следует подрезать соединение с землей контакта 19 со стороны белой подложки, в этом случае когда вы решите подключить активную антенну будет достаточно отрезать соединение с землей с внешней стороны, не требующее выпайки модуля.
MiniGps 1.7.1
Собственно вышеуказанной информации вполне достаточно чтобы изготовить и настроить GPS плату для ардупилота, тем не менее я решил не останавливаться и продолжить эксперименты, цель которых выявить недорогие модули, оценить и сравнить их потребительские качества, собрать рекомендации по монтажу и выбору антенны
Продолжение следует..
Оригинальная прошивка Quectell, драйвер USB, прошивальщик тут