Возможные ошибки и диагностика ============================== Эта страница — справочник по типичным проблемам. Идея простая: на левой стороне «что я вижу», справа — «куда смотреть» и «как чинить». Если вы ещё не дошли до полной миссии, начните с конкретной страницы модуля (там тоже есть короткий блок диагностики), и только если не помогло — возвращайтесь сюда. Заливка прошивки ---------------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Симптом - Причина - Что делать * - В IDE нет COM-порта - Драйвер CH340 не установлен - Поставить драйвер CH340 (см. :doc:`coding-setup`) * - ``avrdude: stk500_getsync(): not in sync: resp=0x00`` - У клонов Nano стоит старый загрузчик - ``Tools → Processor → ATmega328P (Old Bootloader)`` * - То же сообщение, но с подключённым GPS - GPS-провод TX занимает ``D0`` (``RX0``) - Отсоединить TX GPS на время заливки; подробнее — в :doc:`coding-gps` * - Заливка началась, но «висит» на 50% - COM-порт занят другой программой - Закрыть Serial Monitor / PuTTY / другую IDE Питание ------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Симптом - Причина - Что делать * - При запуске nRF плата ребутится / зависает - Просадка по 3.3 В на nRF (стабилизатор Nano не вывозит) - Поставить конденсатор ``10-47 µF`` между ``3V3`` и ``GND`` рядом с nRF * - Сразу после включения дым/запах - **Выключить питание!** Скорее всего, перепутаны ``VCC`` и ``GND``, либо nRF24L01+ получает 5 В вместо 3.3 В - Проверить разводку питания, заменить выгоревший модуль Шина I²C -------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Симптом - Причина - Что делать * - ``i2c_scanner`` не находит ничего - Шина не работает: оторваны SDA/SCL/GND или нет питания устройств - Проверить ``A4=SDA``, ``A5=SCL``, общий ``GND``, питание модулей * - Видно только ``0x68`` (MPU) - Чаще всего CCS811 не отвечает: ``WAK`` не на ``GND`` - Притянуть ``WAK`` к ``GND`` (см. :doc:`coding-ccs811`) * - Видно ``0x68`` и ``0x76``, но нет ``0x5A`` - CCS811 не определился, см. выше - То же * - MPU на ``0x69`` вместо ``0x68`` - На пине ``AD0`` уровень ``HIGH`` - Норма. ``main_full`` оба адреса умеет, для теста ``mpu9250_read.ino`` поправьте константу ``MPU_ADDR`` * - Появляется много (5+) «странных» адресов - Шина «звенит» — плохой контакт SDA/SCL - Пошевелить и переткнуть Dupont-провода * - Сенсор инициализируется, потом значения замирают - Сенсор завис, шина «отвалилась» при работе - Перезапустить плату; проверить, не жмёт ли провод Шина SPI / SD-карта ------------------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Симптом - Причина - Что делать * - ``SD init failed`` - Карта не FAT32 / > 32 ГБ / не вставлена до щелчка - Отформатировать FAT32 (``SD Card Formatter`` от sdcard.org), взять карту ``≤ 32 ГБ`` * - SD работает в одиночном тесте, но падает в ``main_full`` - Конфликт с nRF на той же SPI-шине: один из модулей не «отпускает» ``MISO`` после своего обмена - Проверить контакт ``CSN nRF`` (``D10``) и ``CS SD`` (``D4``); пошевелить провода у разъёмов * - SD пишет белиберду в файл - Проблемы с питанием / экранированием шины - Замедлить ``SPI_FULL_SPEED → SPI_HALF_SPEED`` в скетче (если уверены в коде) Радио nRF24L01+ --------------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Симптом - Причина - Что делать * - ``nRF24 begin FAILED`` на TX или RX - Питание не 3.3 В / контакт CE/CSN / SPI - Проверить ``CE=D9``, ``CSN=D10`` на Nano; ``CE=GPIO2``, ``CSN=GPIO4`` на ESP32 * - ``TX OK`` идёт, на RX тишина - Параметры радио различаются на сторонах (канал/pipe/скорость/ размер пакета) - Сверить настройки строка-в-строку. Особенно ``setPayloadSize(...)`` — должен быть **одинаковый** на TX и RX * - Связь дёргается на 1-2 м - Слабый стабилизатор Nano + всплески тока nRF - Конденсатор ``10-47 µF`` рядом с nRF; внешнее питание модуля * - Сильные потери при близком Wi-Fi - Канал 76 нашей сети накладывается на 2.4 ГГц Wi-Fi - Норма для дешёвых nRF; на полевом выезде проблема исчезнет GPS NEO-6M ---------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Симптом - Причина - Что делать * - В ``GPSLOG.CSV`` ``chars=0``, ``crc_ok=0`` - Поток NMEA от GPS не доходит - Подключён ли TX модуля к ``D0`` Nano (часто после прошивки забывают воткнуть) * - ``chars`` растёт, но ``fix=0`` много минут - Нет неба над антенной / холодный старт - Вынести на улицу или к окну с открытым видом; ждать до 15 минут при первом включении * - Координаты есть, но «прыгают» на сотни метров - Низкое качество фикса (HDOP > 5) - Подождать ещё спутников; искать более открытое место * - В ``Serial Monitor`` идёт «мусор» вместо текста - Скорость монитора не 9600 - В ``main_full``/``gps_sd_logger`` UART занят GPS на 9600, поставить такой же баудрейт в Serial Monitor — или просто не смотреть в монитор и читать SD LED-лента / зуммер ------------------ .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Симптом - Причина - Что делать * - Лента не загорается - Питание / сигнал не на ``D6`` - Проверить ``5V``, ``GND``, ``DIN`` к ``D6`` * - Лента горит «случайными» цветами на самотесте - Помехи на длинном dupont-проводе ``DIN`` - Укоротить провод ``DIN`` или переткнуть его поплотнее в разъём * - Зуммер не пикает - Активный зуммер требует ``LOW`` для звука - Проверить полярность подключения (на корпусе модуля обычно есть ``+`` / стрелка) Полная миссия (``main_full``) ----------------------------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Симптом - Причина - Что делать * - Самотест выдал двойной писк - На этом этапе подсистема не отозвалась - См. секции выше по конкретной подсистеме (nRF / GPS / SD) * - На самотесте всё OK, потом тишина - Плата зависла в ``loop()`` - Проверить питание (просадка), переподключить, посмотреть в :doc:`coding-full-mission` чек-лист запуска * - В ``TBOY.CSV`` температура и давление по нулям - BME280 не инициализировался - Прогнать :doc:`coding-bme280` отдельно * - В ``TBOY.CSV`` GPS-поля по нулям, sats=0 - Нет fix'а на момент записи - Норма в помещении; вывести на улицу Если ничего не помогло ---------------------- 1. Сделайте чёткий список **что именно** не работает (не «не работает», а «в Serial Monitor строка X, ожидал Y»). 2. Сделайте фото монтажа крупным планом — часто видно оторванный провод или неверный пин. 3. Запустите :doc:`coding-i2c-check` — это самый простой индикатор «жива ли вообще шина». 4. Если симптом не из списка — пишите в общий чат / на форум, и не забудьте приложить, что Serial Monitor показывает.