Перейти к содержимому

Урок 17 из 18 · Модуль 6. Практикум: инструменты, монтаж и таблица неисправностей

02 сентября 2026

Протоколы в БАС: полный курс · Урок 17 из 18 · Модуль 6. Практикум и справочники

Полный набор инструментов техника беспилотных авиационных систем, начиная от простого мультиметра и заканчивая логическим анализатором, проверенные на практике правила монтажа бортовой электроники и сводная таблица неисправностей, построенная по принципу «симптом — вероятная причина — проверенное решение».

Главное правило опытного техника звучит так: сначала тщательно проверь конфигурацию программного обеспечения, а уже затем делай выводы о физической неисправности оборудования. На практике значительная часть устройств, которые считаются сломанными, оказывается просто неправильно настроенной в конфигураторе. И второе правило, которое спасает дорогие платы от сгорания: после любой, даже самой маленькой пайки обязательно выполняй прозвонку мультиметром и первое включение через дым-тест.

Содержание

1. Цели урока

После изучения этого урока вы сможете:

  • самостоятельно собирать минимальный, но достаточный набор инструментов, который необходим технику беспилотных систем для диагностики в полевых условиях;
  • применять на практике проверенные правила монтажа, которые предотвращают появление помех и защищают электронику от сгорания;
  • правильно подключать логический анализатор к исследуемой линии, снимать сигнал и декодировать его в понятные байты протокола;
  • уверенно работать со сводной таблицей неисправностей, построенной по логике «симптом — вероятная причина — конкретное решение»;
  • находить в техническом описании (даташите) любого чипа или модуля нужную информацию о назначении выводов и уровнях напряжения всего за пять минут.
↑ К оглавлению

2. Инструменты техника

9HtpVbu3Xzv42NUzGtvzEJpabWZMwQwlfWe78w99eKc_2d3b9.png

Минимальный набор инструментов техника беспилотных систем, который закрывает девяносто процентов задач по диагностике протоколов: мультиметр для проверки питания, логический анализатор для декодирования сигналов, USB-UART адаптер для прямого подключения модулей к компьютеру, осциллограф для анализа формы импульсов, тестер сервоприводов и устройство дым-теста для безопасного первого включения.

Название инструментаОриентировочная стоимость на 2026 годЧто именно умеет этот инструмент для наших задач по протоколам
Мультиметр от 800 рублей это базовый инструмент любого техника: позволяет измерить наличие напряжения питания на контактах разъёма, выполнить прозвонку целостности проводов, проверить сопротивление шины CAN, которое должно составлять 60 Ом при наличии двух терминаторов по 120 Ом, и дать приблизительную оценку активности на сигнальной линии по колеблющемуся напряжению
Логический анализатор, клон Saleae на 8 каналов с частотой 24 МГц от 1000 до 1500 рублей это главный инструмент всего нашего курса: он позволяет увидеть на экране компьютера сигналы протоколов UART, I²C, SPI, SBUS и даже DShot, а затем автоматически декодировать их из импульсов в понятные байты и сообщения. Программное обеспечение PulseView на базе проекта sigrok распространяется полностью бесплатно
USB-UART адаптер на чипах CP2102, CH340 или FT232 от 300 до 600 рублей это устройство позволяет подключить модуль GPS, видеопередатчик или приёмник управления напрямую к компьютеру, минуя полётный контроллер, и проверить поток данных в терминальной программе, чтобы понять, передаёт ли модуль что-либо вообще
Осциллограф, включая карманные модели от 3000 до 4000 рублей этот прибор показывает не только логические уровни, но и реальную форму импульсов PWM и DShot, позволяет оценить целостность сигнала, увидеть помехи и звон на фронтах, когда возможностей логического анализатора уже недостаточно для диагностики
Тестер сервоприводов около 500 рублей это маленький ручной генератор импульсов, который позволяет подать сигнал PWM на сервопривод или на регулятор оборотов напрямую, без использования полётного контроллера, и таким образом точно локализовать неисправность — проблема в серве или в контроллере
Дым-тест (Smoke Stopper) около 300 рублей это простое устройство с лампой или самовосстанавливающимся предохранителем, которое ставится в разрыв питания при первом включении после пайки и защищает дорогую плату от полного сгорания в случае короткого замыкания, вызванного мостиком припоя
↑ К оглавлению

3. Правила монтажа

p-r02RKwuOm0Sn793Y1Pe1aSemCJB4MUiTS8kEiBx8I_4603c.png

Восемь золотых правил монтажа, которые необходимо соблюдать при сборке любого беспилотника: от порядка подключения общего провода до проверки питания под нагрузкой. Соблюдение этих правил предотвращает появление трудноуловимых плавающих неисправностей.

  • Общий провод GND подключается всегда и в первую очередь. Все сигналы в электронике беспилотника измеряются относительно общего провода. Если общего провода между двумя устройствами нет, то и устойчивой связи между ними тоже не будет, даже если остальные провода подключены правильно.
  • Питание устройства и уровни его логических сигналов — это не одно и то же. Например, модуль GPS может питаться напряжением 5 Вольт, а его линия TX при этом работает с уровнем 3,3 Вольта. Поэтому всегда ориентируйся на маркировку, нанесённую на плату, а не на свой прежний опыт или на цвет проводов.
  • Никогда не прокладывай сигнальные провода рядом с силовыми проводами. Под силовыми проводами подразумеваются провода, которые идут к моторам и к силовой батарее, по которым текут большие импульсные токи. Идеальным вариантом прокладки является скрутка сигнального провода вместе с общим проводом GND в виде витой пары.
  • Линии протоколов UART, I²C и SPI должны быть максимально короткими. Их длина должна измеряться сантиметрами, а не десятками сантиметров. Если необходимо передать данные на большое расстояние в несколько метров, то для этого следует использовать только дифференциальную шину CAN или радиоканал.
  • Всегда проверяй напряжение питания под нагрузкой. Наличие напряжения 5 Вольт на холостом ходу, когда моторы не вращаются, совершенно не означает, что эти же 5 Вольт останутся, когда начнут работать моторы и видеопередатчик на полной мощности. Просадка напряжения под нагрузкой является частой причиной сбоев.
  • Один последовательный порт UART может выполнять только одну функцию одновременно. Например, модуль GPS и приёмник управления не могут физически работать на одном и том же порту, даже если скорости у них совпадают.
  • После любой пайки обязательно выполняй прозвонку и дым-тест. Маленький мостик припоя, случайно замкнувший цепь питания, выводит плату полётного контроллера из строя мгновенно и без возможности восстановления.
  • Сначала проверяй конфигурацию программного обеспечения, а уже затем делай выводы о неисправности оборудования. По наблюдениям, большинство устройств, которые считаются сломанными, на самом деле просто неправильно настроены в программе-конфигураторе.
↑ К оглавлению

4. Логический анализатор: практика работы

usblini_pulseview_2e915.png

Логический анализатор в программе PulseView декодирует кадры прямо на лету: каждая горизонтальная строка — это отдельный физический провод, а сверху над импульсами отображаются уже распознанные байты протокола. В бесплатной программе PulseView есть готовые декодеры для протоколов UART, I²C, SPI и SBUS.

Порядок работы с логическим анализатором в программе PulseView выглядит следующим образом:

  1. Правильно подключи анализатор к устройству. Соедини контакт GND логического анализатора с общим проводом исследуемого устройства, а один из каналов анализатора, например канал 0, подключи к исследуемой линии TX, или к линиям SDA и SCL, если исследуешь шину I²C.
  2. Выстави достаточную частоту дискретизации. Частота дискретизации должна быть минимум в десять раз выше скорости передачи данных по исследуемой линии, а лучше — в 20 раз и более, иначе декодер пропустит короткие биты. Например, для 115200 бод достаточно 1–2 МГц, для SBUS на 100000 бод — не менее 2 МГц, а для DShot600 уже требуется 8–24 МГц, что на пределе возможностей дешёвых анализаторов. Для протокола SBUS на скорости 100000 бод достаточно частоты 500 кГц.
  3. Добавь программный декодер на выбранный канал. В программе PulseView добавь декодер UART на канал, по которому идёт сигнал, и задай в его настройках скорость передачи и формат кадра: например, 8N1 для модуля GPS или 100000 бод в формате 8E2 с инверсией для протокола SBUS.
  4. Запусти захват данных. После запуска захвата байты, которые передаются по проводу, читаются прямо с физического провода и отображаются на экране: сразу становится видно, передаёт ли устройство какие-либо данные вообще, какие именно байты оно передаёт и с какой скоростью.
  5. Используй готовые декодеры для других протоколов. Для шины I²C и для шины SPI в программе есть свои отдельные декодеры. Для протокола SBUS готовый декодер с названием sbus уже входит в стандартный комплект поставки программы PulseView.
Осциллограмма: байт 0x41, формат 8N1, скорость 115200 бод — так он выглядит в декодере UART
канал TX (сигнал от устройства к анализатору):
──────┐  ┌──┐              ┌──┐  ┌────────
      └──┘  └──────────────┘  └──┘
    S  D0 D1 D2 D3 D4 D5 D6 D7 стоп
декодер показывает: D0–D7 = 10000010 (младшим битом вперёд) → 0x41, символ «A» в таблице ASCII
Осциллограмма: шина I²C — данные на линии SDA меняются только при низком уровне тактового сигнала SCL
SCL ──┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─
      └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘
SDA ─┐    ┌───┐   ┌───┐   ┌───┐   ┌───┐     ┌───
     └────┘   └───┘   └───┘   └───┘   └─────┘
    старт обмена (линия SDA падает при высоком уровне SCL)  биты адреса и данных  стоп обмена (линия SDA растёт при высоком уровне SCL)

Если логического анализатора под рукой нет, то грубую, но полезную оценку активности линии даёт обычный мультиметр: на активно передающей линии мультиметр показывает «плавающее» среднее значение — обычно между 0,5 и 3 Вольтами, а на неработающей линии напряжение стабильно: около 3,3 Вольта у обычного UART в состоянии покоя и около 0 Вольт у инвертированного сигнала вроде SBUS.

↑ К оглавлению

5. Таблица неисправностей

nxqZgt7X4bRLchH_vB3_1LG-OGfFf73wLF79DyWO0oI_2a88d.png

Сводная таблица неисправностей, с которой должен начинаться любой ремонт: по симптому определяется вероятная причина, а затем выполняется проверенное решение. Таблица охватывает GPS, приёмники, компасы, моторы, шину CAN и видеопередатчик.

Какой симптом вы наблюдаетеНаиболее вероятная причина неисправностиЧто необходимо сделать для решения проблемы
Модуль GPS не определяется в программе Betaflight выбран неверный последовательный порт, установлена неверная скорость, линии TX и RX перепутаны местами, отсутствует питание на модуле сверить номер порта во вкладке Ports, где должен быть включён GPS, установить скорость 57600 бод, поменять местами провода TX и RX, проверить наличие 5 Вольт и общего провода GND мультиметром
Модуль GPS в системе ArduPilot не может зафиксировать спутники отсутствует обзор открытого неба, присутствуют сильные электромагнитные помехи от электроники, установлена устаревшая прошивка модуля вынести антенну GPS подальше от силовых проводов, подождать холодный старт до 15 минут на открытом воздухе, обновить конфигурацию чипа u-blox через программу u-center
Приёмник управления не отвечает, каналы не двигаются (протокол SBUS) сигнальный провод подключён не к тому контакту, не настроена инверсия сигнала, выбран неверный протокол в конфигураторе проверить, что провод SBUS_OUT идёт именно на RX-пин выбранного порта; для плат, где инверсия на выбранном пине недоступна, включить Serial RX Inverted или использовать неинвертированный выход приёмника (у FrSky R-XSR неинвертированный SBUS выведен на площадку «B», а «P» — это неинвертированный S.Port); в программе Receiver выбрать режим Serial и протокол SBUS; в ArduPilot проверить бит SBUS в RC_PROTOCOLS и бит инверсии RX в SERIALn_OPTIONS
Значения каналов дрожат возле границ диапазона отсутствует общий провод GND между приёмником и контроллером, присутствуют помехи от силовых проводов моторов обязательно объединить общие провода всех устройств в одну точку, развести сигнальные провода подальше от силовых проводов батареи и моторов
Внешний компас не обнаруживается или работает некорректно произошёл обрыв линий шины I²C, возник конфликт адресов на шине, отсутствует калибровка компаса прозвонить мультиметром линии SDA и SCL на обрыв, убрать с шины второй компас с таким же адресом, выполнить процедуру калибровки компаса в поле
Высота по барометру прыгает и нестабильна прямой солнечный свет или поток воздуха от пропеллеров попал внутрь корпуса, присутствуют электрические наводки закрыть барометр кусочком поролона, который уже наклеен на плату полётного контроллера с завода, проверить надёжность крепления платы, чтобы она не вибрировала
Моторы не крутятся, регулятор издаёт звуковые сигналы отсутствует управляющий сигнал DShot, выбран неверный протокол регулятора в конфигураторе проверить целостность проводов от полётного контроллера к регулятору, проверить, что в Betaflight выбран протокол DShot300, проверить прошивку регулятора — должна быть AM32 или Bluejay
Мотор сильно вибрирует на малом газу отсутствует телеметрия оборотов, которая нужна для RPM-фильтра, не включён двунаправленный DShot включить режим Bidirectional DShot в конфигураторе, перепрошить регулятор в прошивку Bluejay (для BLHeli_S) или AM32, которая поддерживает телеметрию оборотов, включить RPM-фильтр во вкладке фильтров
Сервопривод работает рывками или вообще не реагирует на команды происходит просадка напряжения на выходе BEC под нагрузкой, установлена неверная частота обновления, отсутствует общий провод GND замерить напряжение питания сервопривода мультиметром под нагрузкой, выставить частоту 50 Гц для аналоговых серв и 150–333 Гц для цифровых (предел указан в паспорте сервы), проверить наличие общего провода между BEC и полётным контроллером
CAN-устройства не отображаются в программе Mission Planner отсутствуют терминаторы на концах шины, установлена разная скорость у устройств, задан одинаковый идентификатор узла проверить, что сопротивление на шине составляет 60 Ом, что скорость шины (CAN_P1_BITRATE у полётного контроллера) у всех устройств установлена в 1 Мбит/с, что у каждого устройства уникальный идентификатор узла, что драйвер CAN и протокол DroneCAN включены в параметрах
Телеметрия на наземную станцию есть, но работает нестабильно и с обрывами установлена низкая мощность передатчика, присутствуют помехи от других устройств, используется неподходящая антенна увеличить мощность радиомодема в настройках, разнести антенны телеметрии и управления подальше друг от друга, попробовать сменить частотный канал в настройках SiK
Видеопередатчик не переключает канал и мощность из OSD-меню протокол управления SmartAudio или Tramp не настроен на порту во вкладке Ports в разделе Peripherals включить TBS SmartAudio на TX-выводе нужного последовательного порта, сверить, какой именно протокол использует ваш видеопередатчик — SmartAudio или Tramp
Устройство вообще не определяется компьютером по USB используется кабель без линий данных, отсутствует драйвер виртуального COM-порта использовать кабель, в котором есть не только питание, но и линии данных, установить драйвер для чипа CP210x, CH340 или DFU, проверить, появился ли порт в диспетчере устройств операционной системы
↑ К оглавлению

6. Чек-лист настройки нового UART-устройства

jTwQByvJ8L_SMFE_FWGraV1z4Lv1smNpFt3Gtbo34Sc-Photoroom_ed6e1.png

Пошаговый чек-лист, который необходимо пройти при подключении любого нового устройства по последовательному порту UART, а также краткая инструкция о том, как найти нужную информацию в техническом описании чипа за пять минут, не читая весь документ целиком.

  1. Взял техническую документацию на устройство и внимательно изучил её. Из документации выписал, какой протокол использует устройство, на какой скорости оно работает и какое назначение имеет каждый провод в его разъёме.
  2. Выбрал свободный последовательный порт UART на полётном контроллере. В программе Betaflight занятые порты наглядно видны во вкладке Ports, а в системе ArduPilot свободные порты определяются по таблице портов для конкретной платы, которая приводится в документации.
  3. Выполнил физическое подключение проводов. Соединил линию TX устройства с линией RX контроллера, линию RX устройства с линией TX контроллера, а также подключил общий провод GND и питание строго по маркировке на платах.
  4. В программе конфигураторе включил нужную функцию для выбранного порта. Например, для модуля GPS включил функцию GPS, для приёмника — функцию Serial RX, для видеопередатчика — функцию Peripherals, для телеметрии — функцию Telemetry.
  5. Выставил скорость передачи данных строго по документации устройства. Скорость должна совпадать с той, которая указана в документации, иначе приёмник будет получать искажённые данные.
  6. Проверил работоспособность устройства в интерфейсе программы. Для модуля GPS убедился, что появились спутники, для приёмника — что столбики каналов двигаются при движении стиков, для телеметрии — что данные начали поступать на наземную станцию.
  7. Если устройство не отвечает, то последовательно проверил возможные причины. Сначала поменял местами провода TX и RX, затем проверил наличие общего провода GND, затем сверил скорость передачи, затем проверил питание мультиметром и, наконец, проверил необходимость инверсии сигнала, как указано в таблице неисправностей выше.
↑ К оглавлению

7. Как читать даташит за пять минут

Техническое описание микросхемы, которое называется даташит, часто имеет объём в несколько сотен страниц, но технику не нужно читать его целиком. Достаточно знать, где искать нужную информацию:

  • Открой разделы с названиями «Pin description» или «Pinout». В этих разделах приводится назначение каждого контакта микросхемы и уровни логических сигналов, которые на них используются. Эта информация закрывает девяносто процентов всех вопросов, которые возникают при подключении.
  • Найди раздел с названием «Electrical characteristics». В этом разделе указаны допустимые напряжения питания микросхемы и допустимые уровни логических сигналов на её входах и выходах, которые нельзя превышать.
  • Для программируемых чипов найди таблицу регистров. В этой таблице указаны адреса регистров и назначение каждого бита в них. Эта информация необходима программисту для написания драйвера устройства.
  • Найди раздел с названием «Timing» или «Protocol». В этом разделе описаны скорости передачи данных и форматы протоколов: например, поддерживаемый бодрейт для UART, режимы работы для шины I²C, значения параметров CPOL и CPHA для шины SPI.
  • Не нужно читать даташит от первой до последней страницы. Изучай только те разделы, которые относятся непосредственно к твоей текущей задаче — к подключению устройства или к диагностике конкретной неисправности.
↑ К оглавлению

8. Для программиста

💻 Для программиста: чтение GPS и сканирование шины I²C

Чтение данных с модуля GPS напрямую с компьютера является стандартной первой задачей для начинающего программиста, который изучает протоколы беспилотников. Достаточно подключить модуль GPS через USB-UART адаптер к компьютеру и прочитать строки в формате NMEA.

import serial
# Открываем последовательный порт, к которому подключён GPS, на скорости 57600 бод
s = serial.Serial('/dev/ttyUSB0', 57600, timeout=1)
while True:
    # Читаем одну строку из порта и декодируем её в текст
    line = s.readline().decode(errors='replace').strip()
    if line.startswith('$GPGGA'):      # строка с координатами в формате NMEA
        parts = line.split(',')
        lat, lon = parts[2], parts[4]  # координаты в формате NMEA
        print(f'Широта: {lat}, Долгота: {lon}')

Второй обязательный инструмент программиста — это сканер шины I²C, который пишется за двадцать строк кода на платформе Arduino. Сканер последовательно опрашивает адреса от 8 до 119 и печатает в консоль те адреса, которые ответили подтверждением ACK. Этот инструмент незаменим при диагностике неисправности «компас не виден на шине».

↑ К оглавлению

9. Чек-лист самопроверки

Урок считается полностью освоенным, если каждый пункт из списка ниже выполнен на практике своими руками, а не только прочитан на экране:

  • Провёл диагностику минимум двух реальных неисправностей из таблицы неисправностей, используя мультиметр и логический анализатор;
  • Самостоятельно снял и декодировал сигнал последовательного порта UART с помощью логического анализатора в программе PulseView;
  • Постоянно пользуюсь чек-листом настройки нового UART-устройства при подключении каждого нового модуля, чтобы не пропустить ни одного шага;
  • Чётко понимаю, чем логический анализатор отличается от осциллографа и в каких случаях нужно использовать каждый из этих приборов;
  • Могу найти нужную информацию о назначении выводов и уровнях напряжения в техническом описании любого чипа всего за пять минут.
Результат: все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

10. Что дальше

  • Предыдущий урок: Урок 16. Беспроводные каналы: управление, телеметрия, видео
  • Следующий урок: Урок 18. Шпаргалка-сводка и глоссарий
  • Полный перечень тем — в статье «Содержание курса».
↑ К оглавлению
5