Транзистор тестер после прошивки не той версией ПО нередко показывает перевёрнутый экран, неверные значения ESR или вообще отказывается включаться — это типичный признак несовпадения прошивки с конкретной ревизией платы. Популярные приборы семейства M328 / AY-AT / GM328 собираются на микроконтроллере ATmega328, но существуют в десятках клонов с разными дисплеями, схемами питания и распиновкой, поэтому универсального файла прошивки не существует.

В этом материале разберём, как определить свою версию платы, где брать корректную прошивку (Markus, Karl-Heinz и другие ветки), каким программатором её залить и как выставить fuse-биты, чтобы не «окирпичить» контроллер. Отдельно рассмотрим калибровку после прошивки и типичные ошибки.

Какие бывают транзистор тестеры и зачем их прошивать

Под «транзистор тестером» обычно понимают прибор, изначально разработанный Markus Frejek и продолженный сообществом в проекте Transistortester (ветка k-fet / Karl-Heinz Kübbeler). Устройство определяет тип компонента, цоколёвку и параметры: транзисторы, диоды, резисторы, конденсаторы, ESR, индуктивности.

Китайские производители выпускают множество клонов: AY-AT, GM328A, GM328B, TC-1, LCR-T4, «Fish8840» и другие. Заводская прошивка на них часто устаревшая или содержит ошибки перевода и калибровки.

Основные причины перепрошивки:

  • 🔧 Обновление до свежей версии с поддержкой большего числа компонентов
  • 🌐 Смена языка меню или исправление кривой локализации
  • 📊 Устранение заводских ошибок измерений и калибровки
  • 🖥️ Адаптация под заменённый дисплей (например, после установки цветного экрана)
  • ♻️ Восстановление прибора после неудачной прошивки или сбоя
💡

Прошивка подбирается строго под ревизию платы и тип дисплея — «средняя» прошивка для всех клонов M328 не существует.

Определяем версию платы и текущую прошивку

Перед любыми действиями нужно понять, какое именно железо у вас в руках. Включите прибор и посмотрите экран приветствия: многие версии показывают номер прошивки при старте или в пункте меню Selftest / Show data (название пункта зависит от сборки).

Далее осмотрите плату. На ней обычно нанесена маркировка шелкографией: AY-AT, GM328, M328, версия платы вида v2.1 и т.п. Если маркировки нет, ориентируйтесь по внешним признакам: тип дисплея (символьный 1602 или графический цветной), наличие кварцевого резонатора, тип разъёма программирования.

Зафиксируйте ключевые параметры — они понадобятся при выборе файла прошивки:

  • 🔍 Микроконтроллер: чаще всего ATmega328P, реже ATmega168 или ATmega644
  • 🖥️ Тип дисплея: текстовый 16x2, графический ST7735, ILI9341 и др.
  • ⚡ Наличие кварца 8 МГц (влияет на fuse-биты и тактирование)
  • 🔌 Разъём программирования: 6-пин ISP, 10-пин или только площадки под пайку
📊 Какой у вас транзистор тестер?
AY-AT / GM328
TC-1 (цветной экран)
LCR-T4 или похожий
Самосбор на ATmega328

Выбор прошивки и где её брать

Два основных «семейства» прошивок для приборов на ATmega328 — классическая ветка Markus / Karl-Heinz (открытый проект Transistortester, исходники и готовые сборки публикуются сообществом) и альтернативные сборки, адаптированные под конкретные китайские платы. Для клонов с цветным дисплеем (TC-1, GM328A) существуют отдельные порты — их публикуют энтузиасты на профильных форумах и в репозиториях.

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

Почему нельзя дать одну ссылку на прошивку

Файлы прошивок распространяются через репозитории и форумы, состав сборок регулярно меняется, а для каждого клона нужен свой вариант. Надёжнее искать по запросу с точным названием платы, например «GM328A firmware» или «AY-AT прошивка», и брать архив, где есть файл .hex именно под вашу конфигурацию.

Обратите внимание: в архиве обычно лежат два файла — .hex (сама прошивка) и .eep (данные EEPROM). Для полноценного обновления желательно прошивать оба, иначе возможны сбои в меню и калибровочных константах.

Необходимое оборудование и подключение

Для прошивки ATmega328 нужен ISP-программатор. Самый распространённый и дешёвый вариант — USBasp. Также подойдут USBtinyISP, AVRISP mkII или даже Arduino, прошитая скетчем ArduinoISP.

Подключение выполняется к 6-пиновому ISP-разъёму на плате тестера. Сигналы стандартные: MOSI, MISO, SCK, RESET, VCC, GND. Если разъёма нет — придётся аккуратно подпаиваться к площадкам; их расположение смотрите в описании своей ревизии платы или на фото аналогов.

⚠️ Внимание: проверьте напряжение программатора перед подключением. На USBasp часто есть джампер выбора 5V/3.3V — для большинства тестеров с питанием 5В используйте 5V. Неверное напряжение может повредить дисплей или контроллер.

Из программного обеспечения чаще всего используют AVRDUDE (консольная утилита) или графические оболочки вроде SinaProg, Khazama AVR Programmer, AVRDUDESS. Они по сути являются надстройками над AVRDUDE и отличаются только интерфейсом.

Пошаговая инструкция по прошивке

Процедура одинакова для большинства клонов на ATmega328. Перед началом обязательно сделайте дамп текущей прошивки — это ваша страховка на случай неудачи.

☑️ Перед прошивкой транзистор тестера

Выполнено: 0 / 5

Шаг 1 — чтение и сохранение текущего содержимого. Пример команды для AVRDUDE с программатором USBasp:

avrdude -c usbasp -p m328p -U flash:r:backup_flash.hex:i

avrdude -c usbasp -p m328p -U eeprom:r:backup_eeprom.hex:i

Шаг 2 — запись новой прошивки и EEPROM-данных:

avrdude -c usbasp -p m328p -U flash:w:transistortester.hex:i

avrdude -c usbasp -p m328p -U eeprom:w:transistortester.eep:i

Шаг 3 — проверка fuse-битов. Типовая конфигурация для ATmega328P с внешним кварцем 8 МГц в проекте Transistortester обычно указывается в документации к сборке — сверьтесь с файлом Makefile или readme конкретной прошивки, значения зависят от варианта платы.

⚠️ Внимание: ошибка в fuse-битах — самая частая причина «смерти» контроллера при прошивке. Неверный бит RSTDISBL или неправильный выбор источника тактирования отключает ISP-программирование, и оживить чип потом можно только высоковольтным программатором (HVPP). Не меняйте fuse, если не уверены в значениях.

💡

Сначала считайте fuse-биты командой avrdude -c usbasp -p m328p -U lfuse:r:-:h -U hfuse:r:-:h -U efuse:r:-:h и запишите их. Если новая прошивка той же ветки, что и старая, fuse обычно менять вообще не нужно.

Сравнение популярных программаторов

Выбор программатора влияет только на удобство — результат прошивки одинаков. Ниже сравнение распространённых вариантов по практическим критериям.

Программатор Подключение Совместимость с AVRDUDE Особенности
USBasp USB, ISP 6/10 pin Полная Самый популярный, джампер 5V/3.3V
USBtinyISP USB, ISP 6/10 pin Полная Стабильный, но медленнее
ArduinoISP Через плату Arduino Поддерживается (программатор stk500v1) Вариант «из подручного», нужен скетч
AVRISP mkII USB, ISP 6 pin Поддерживается Фирменный, надёжный, дороже

Калибровка после прошивки

Без калибровки после смены прошивки показания прибора могут заметно отличаться от реальных — особенно ESR и ёмкость. В ветке Transistortester калибровка запускается из меню самотестирования: при замкнутых между собой трёх щупах выбирается пункт самотеста, прибор выполняет серию измерений и записывает поправки в EEPROM.

Точный порядок пунктов меню зависит от версии прошивки — сверяйтесь с документацией вашей сборки. Общий принцип такой: сначала самотест с закороченными щупами (компенсация внутренних сопротивлений), затем, если прошивка это требует, этап с эталонным конденсатором.

После калибровки проверьте прибор на заведомо исправных компонентах: резисторе с известным номиналом, керамическом и электролитическом конденсаторе, любом биполярном транзисторе. Отклонения в пределах нескольких процентов для резисторов и ёмкости — нормальное явление для этого класса приборов.

💡

Калибровка выполняется на полностью собранном приборе с подключёнными щупами — поправки учитывают реальные сопротивления дорожек и контактов именно вашего экземпляра.

Типичные проблемы после прошивки и их решение

Чёрный или перевёрнутый экран. Почти всегда означает, что прошивка собрана под другой дисплей или другую ориентацию. Решение — найти сборку под ваш контроллер дисплея; в некоторых прошивках ориентация задаётся настройкой в исходниках перед компиляцией.

Прибор не определяется программатором (ошибка чтения сигнатуры). Проверьте: надёжность контактов ISP, правильность подключения MOSI/MISO (их часто путают), питание платы и корректность выбора чипа (-p m328p, а не m328 или m168). Если fuse были испорчены ранее — потребуется высоковольтное программирование.

Неверные показания или «мусор» в меню. Возможная причина — не записан файл EEPROM либо остались старые калибровочные данные от прежней прошивки. Прошейте .eep-файл и выполните калибровку заново.

⚠️ Внимание: если прибор полностью перестал включаться после прошивки, не спешите считать его сломанным. В большинстве случаев помогает возврат сохранённого дампа (backup_flash.hex и backup_eeprom.hex) — именно для этого он создаётся на первом шаге.

💡

Держите папку с дампом оригинальной прошивки, рабочей новой прошивкой и записанными fuse-битами в одном месте — при следующем обновлении или экспериментах это сэкономит массу времени.

FAQ: частые вопросы о прошивке транзистор тестера

Можно ли прошить транзистор тестер без программатора?

Нет, штатного способа обновления через USB у большинства клонов нет — загрузчик в них, как правило, не прошит. Нужен любой ISP-программатор: USBasp, USBtinyISP или Arduino с скетчем ArduinoISP.

Где взять прошивку именно для моей платы?

Ищите по точной маркировке платы (например, GM328A, AY-AT, TC-1) в репозиториях проекта Transistortester и на профильных форумах по радиоэлектронике. В описании сборки должны быть перечислены поддерживаемые платы и дисплеи.

Что делать, если после прошивки экран перевёрнут?

Это признак несовпадения сборки с вашим дисплеем. Найдите вариант прошивки под ваш контроллер экрана — во многих проектах есть отдельные готовые файлы для разных дисплеев и ориентаций.

Обязательно ли менять fuse-биты при прошивке?

Не всегда. Если новая прошивка той же ветки и рассчитана на ту же конфигурацию платы, fuse обычно остаются прежними. Менять их нужно только если это явно указано в документации к сборке, и делать это следует с особой осторожностью.

Прибор «умер» после прошивки — можно ли восстановить?

Если контроллер отвечает программатору — просто залейте обратно сохранённый дамп. Если ISP не работает из-за неверных fuse-битов, восстановление возможно через высоковольтный программатор (HVPP) или специальные устройства-«доктора» для AVR.