Урок 17 из 18 · Модуль 6. Практикум: инструменты, монтаж и таблица неисправностей
Протоколы в БАС: полный курс · Урок 17 из 18 · Модуль 6. Практикум и справочники
Полный набор инструментов техника беспилотных авиационных систем, начиная от простого мультиметра и заканчивая логическим анализатором, проверенные на практике правила монтажа бортовой электроники и сводная таблица неисправностей, построенная по принципу «симптом — вероятная причина — проверенное решение».
Главное правило опытного техника звучит так: сначала тщательно проверь конфигурацию программного обеспечения, а уже затем делай выводы о физической неисправности оборудования. На практике значительная часть устройств, которые считаются сломанными, оказывается просто неправильно настроенной в конфигураторе. И второе правило, которое спасает дорогие платы от сгорания: после любой, даже самой маленькой пайки обязательно выполняй прозвонку мультиметром и первое включение через дым-тест.
Содержание
1. Цели урока
После изучения этого урока вы сможете:
- самостоятельно собирать минимальный, но достаточный набор инструментов, который необходим технику беспилотных систем для диагностики в полевых условиях;
- применять на практике проверенные правила монтажа, которые предотвращают появление помех и защищают электронику от сгорания;
- правильно подключать логический анализатор к исследуемой линии, снимать сигнал и декодировать его в понятные байты протокола;
- уверенно работать со сводной таблицей неисправностей, построенной по логике «симптом — вероятная причина — конкретное решение»;
- находить в техническом описании (даташите) любого чипа или модуля нужную информацию о назначении выводов и уровнях напряжения всего за пять минут.
2. Инструменты техника
Минимальный набор инструментов техника беспилотных систем, который закрывает девяносто процентов задач по диагностике протоколов: мультиметр для проверки питания, логический анализатор для декодирования сигналов, 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. Правила монтажа
Восемь золотых правил монтажа, которые необходимо соблюдать при сборке любого беспилотника: от порядка подключения общего провода до проверки питания под нагрузкой. Соблюдение этих правил предотвращает появление трудноуловимых плавающих неисправностей.
- Общий провод GND подключается всегда и в первую очередь. Все сигналы в электронике беспилотника измеряются относительно общего провода. Если общего провода между двумя устройствами нет, то и устойчивой связи между ними тоже не будет, даже если остальные провода подключены правильно.
- Питание устройства и уровни его логических сигналов — это не одно и то же. Например, модуль GPS может питаться напряжением 5 Вольт, а его линия TX при этом работает с уровнем 3,3 Вольта. Поэтому всегда ориентируйся на маркировку, нанесённую на плату, а не на свой прежний опыт или на цвет проводов.
- Никогда не прокладывай сигнальные провода рядом с силовыми проводами. Под силовыми проводами подразумеваются провода, которые идут к моторам и к силовой батарее, по которым текут большие импульсные токи. Идеальным вариантом прокладки является скрутка сигнального провода вместе с общим проводом GND в виде витой пары.
- Линии протоколов UART, I²C и SPI должны быть максимально короткими. Их длина должна измеряться сантиметрами, а не десятками сантиметров. Если необходимо передать данные на большое расстояние в несколько метров, то для этого следует использовать только дифференциальную шину CAN или радиоканал.
- Всегда проверяй напряжение питания под нагрузкой. Наличие напряжения 5 Вольт на холостом ходу, когда моторы не вращаются, совершенно не означает, что эти же 5 Вольт останутся, когда начнут работать моторы и видеопередатчик на полной мощности. Просадка напряжения под нагрузкой является частой причиной сбоев.
- Один последовательный порт UART может выполнять только одну функцию одновременно. Например, модуль GPS и приёмник управления не могут физически работать на одном и том же порту, даже если скорости у них совпадают.
- После любой пайки обязательно выполняй прозвонку и дым-тест. Маленький мостик припоя, случайно замкнувший цепь питания, выводит плату полётного контроллера из строя мгновенно и без возможности восстановления.
- Сначала проверяй конфигурацию программного обеспечения, а уже затем делай выводы о неисправности оборудования. По наблюдениям, большинство устройств, которые считаются сломанными, на самом деле просто неправильно настроены в программе-конфигураторе.
4. Логический анализатор: практика работы

Логический анализатор в программе PulseView декодирует кадры прямо на лету: каждая горизонтальная строка — это отдельный физический провод, а сверху над импульсами отображаются уже распознанные байты протокола. В бесплатной программе PulseView есть готовые декодеры для протоколов UART, I²C, SPI и SBUS.
Порядок работы с логическим анализатором в программе PulseView выглядит следующим образом:
- Правильно подключи анализатор к устройству. Соедини контакт GND логического анализатора с общим проводом исследуемого устройства, а один из каналов анализатора, например канал 0, подключи к исследуемой линии TX, или к линиям SDA и SCL, если исследуешь шину I²C.
- Выстави достаточную частоту дискретизации. Частота дискретизации должна быть минимум в десять раз выше скорости передачи данных по исследуемой линии, а лучше — в 20 раз и более, иначе декодер пропустит короткие биты. Например, для 115200 бод достаточно 1–2 МГц, для SBUS на 100000 бод — не менее 2 МГц, а для DShot600 уже требуется 8–24 МГц, что на пределе возможностей дешёвых анализаторов. Для протокола SBUS на скорости 100000 бод достаточно частоты 500 кГц.
- Добавь программный декодер на выбранный канал. В программе PulseView добавь декодер UART на канал, по которому идёт сигнал, и задай в его настройках скорость передачи и формат кадра: например, 8N1 для модуля GPS или 100000 бод в формате 8E2 с инверсией для протокола SBUS.
- Запусти захват данных. После запуска захвата байты, которые передаются по проводу, читаются прямо с физического провода и отображаются на экране: сразу становится видно, передаёт ли устройство какие-либо данные вообще, какие именно байты оно передаёт и с какой скоростью.
- Используй готовые декодеры для других протоколов. Для шины 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. Таблица неисправностей
Сводная таблица неисправностей, с которой должен начинаться любой ремонт: по симптому определяется вероятная причина, а затем выполняется проверенное решение. Таблица охватывает 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-устройства
Пошаговый чек-лист, который необходимо пройти при подключении любого нового устройства по последовательному порту UART, а также краткая инструкция о том, как найти нужную информацию в техническом описании чипа за пять минут, не читая весь документ целиком.
- Взял техническую документацию на устройство и внимательно изучил её. Из документации выписал, какой протокол использует устройство, на какой скорости оно работает и какое назначение имеет каждый провод в его разъёме.
- Выбрал свободный последовательный порт UART на полётном контроллере. В программе Betaflight занятые порты наглядно видны во вкладке Ports, а в системе ArduPilot свободные порты определяются по таблице портов для конкретной платы, которая приводится в документации.
- Выполнил физическое подключение проводов. Соединил линию TX устройства с линией RX контроллера, линию RX устройства с линией TX контроллера, а также подключил общий провод GND и питание строго по маркировке на платах.
- В программе конфигураторе включил нужную функцию для выбранного порта. Например, для модуля GPS включил функцию GPS, для приёмника — функцию Serial RX, для видеопередатчика — функцию Peripherals, для телеметрии — функцию Telemetry.
- Выставил скорость передачи данных строго по документации устройства. Скорость должна совпадать с той, которая указана в документации, иначе приёмник будет получать искажённые данные.
- Проверил работоспособность устройства в интерфейсе программы. Для модуля GPS убедился, что появились спутники, для приёмника — что столбики каналов двигаются при движении стиков, для телеметрии — что данные начали поступать на наземную станцию.
- Если устройство не отвечает, то последовательно проверил возможные причины. Сначала поменял местами провода 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. Шпаргалка-сводка и глоссарий
- Полный перечень тем — в статье «Содержание курса».



