Документация моих модификаций в AVR Transistortester.
Тестер транзистора - это устройство, где вы можете вставить различные виды электронных компонентов и проанализировать их. Он не только читает транзисторы и рассказывает вам, является ли это NPN или PNP, но и говорит вам о сопротивлении резисторов или емкости конденсаторов и многое другое. Есть много разных типов, и они обычно очень дешевые.
У меня есть комплект GM328 от Banggood ( больше нет там ), иногда идентифицированный как AY-At.
Примечательное оборудование:
Чтобы повысить точность тестера, вы можете сделать некоторые простые модификации.
(Изображение от https://github.com/upcycle-electronics/avr-transistor-tester)
Смотрите также этот пост на Eevblog.
От Readme K-Firmware:
« Резисторы от R1 до R6 имеют решающее значение для измерений, и эти резисторы с 680 Ом и 470 кОм должны быть резисторами типа измерения (допуск 0,1%), чтобы получить полную точность».
« Дополнительное упоминание о напряжении точности 2,5 В может использоваться для проверки и калибровки напряжения VCC, но не требуется. Вы можете использовать LM4040-AIZ2,5 (0,1%), LT1004CZ-2,5 ( 0,8%) или LM336-Z2,5 (0,8%) в качестве эталона напряжения. Более высокое значение сопротивления (47 кОм).
От Readme M-Firmware:
" Внешнее ссылка на напряжение 2,5 В должна быть включена только в том случае, если оно по крайней мере в 10 раз точнее, чем регулятор напряжения. В противном случае это усугубило бы результаты. Если вы используете MCP1702 с типичной допуском 0,4% в качестве регулятора напряжения вас На самом деле не нужен ссылка на напряжение 2,5 В.
Часть о R16 в чтении K-фирм-программы сбивает с толку, поскольку она не упоминается в чтении M-Firmware. Этот пост подтверждает, что это необходимо только для K-фирм-программы:
« Для запуска M-Firmware вы можете пропустить шаг № 3 или удалить R16 (не нужно его заменять). При отключении HW_REF25 (настройка по умолчанию) прошивка будет игнорировать любые ссылки на внешнее напряжение. Разное и всегда проверяет ссылку на 2,5 В (без настройки, чтобы отключить это).
Я решил заказать 0,1% резисторов и только регулятор напряжения MCP1702, пропуская ссылку на напряжение. Также добавил кристалл 16 МГц для повышения скорости:
Бетонные изменения, ссылаясь на схемы:
Вот как это выглядит с этими изменениями на месте:
Резисторы 0,1% (черный) немного толще, чем по умолчанию (синий), поэтому они немного перекрываются.
Есть 2 различных вариантов прошивки для тестера транзистора. Оригинал-это K-фирм-программа. Тестер поставляется с версией 1.12K (довольно старый), а самым новым является 1,13k. Разработка K-Firmware в настоящее время приостановлена. Он был раздвоен в M-фирм-программ, которая переписана и с дополнительными функциями, и все еще находится в активной разработке.
Источник K-Firmware доступен здесь, с предварительно скомпилированной прошивкой для AY-AT в каталоге MEGA328_COLOR_KIT. Там также есть файл Make с правильными параметрами. Источник M-Firmware доступен здесь, но только как тарболы. Там нет предварительно скомпилированных версий. Оба прошивки также можно найти здесь.
Я решил использовать M-Firmware, потому что он все еще активно развивается. Новейшая версия на момент написания - 1,42 м.
В прошивке есть 3 файла конфигурации, которые необходимо настроить. См. Файл «Клоны» (из прошивки TGZ) для основных изменений, необходимых для создания совместимой прошивки для AY-AT. Дополнительные изменения, которые я внес, здесь задокументированы. Файлы также доступны в каталоге прошивки.
HW_REF25
, потому что я не использую ссылку на напряжение TL431A или рекомендуемую замену LM4040.SW_IR_RECEIVER
потому что прошивка была слишком большой (105%) и не будет соответствовать ATMEGA328P. Поддержка для IR не важна для меня, поэтому было нормально отключить.UI_AUTOHOLD
потому что режим непрерывного тестирования был раздражающим. Я предпочел бы потратить время, которое мне нужно прочитать результат.POWER_OFF_TIMEOUT
, так что он выключается при простоя.SW_POWER_OFF
, чтобы я мог выключить его из меню. LCD_LATE_ON
, потому что экран очень искажен при инициализировании, и эта настройка делает его нормально. FREQ
до 16 из -за моего изменения от 8 до 16 МГц кристалла. Если вы просто хотите построить новую прошивку и не заботиться о каких -либо из описанных оборудования, описанных здесь, вы можете следовать примерам конфигурации за этими исключениями:
HW_REF25
FREQ
на 8Это даст вам прошивку, которая работает на «Stock» GM328 AY-At из Banggood.
В дополнение к уже установленным инструментам сборки, мне пришлось добавить следующие пакеты (в OpenSuse):
avr-libc
cross-avr-gcc9
Затем make
чтобы построить.
При завершении сборки у вас должны быть эти файлы, которые составляют прошивку:
ComponentTester.eep
ComponentTester.hex
И выход компилятора должен закончиться чем -то подобным:
AVR Memory Usage
----------------
Device: atmega328
Program: 32234 bytes (98.4% Full)
(.text + .data + .bootloader)
Data: 248 bytes (12.1% Full)
(.data + .bss + .noinit)
EEPROM: 738 bytes (72.1% Full)
(.eeprom)
Если что -то из них более чем на 100% заполнено, вы слишком много включены в прошивке, и это не сработает.
Чтобы прошить прошивку, нам нужно 3 файла. 2 встроенных программных программ сверху и ComponentTester.cfg. Последний файл содержит конфигурацию предохранителей ATMEGA328P. Конфигурация предохранителя извлекается из Makefile. Чтобы увидеть, что означают предохранители, вы можете использовать этот онлайн -калькулятор.
AY-AT не поддерживает прошивку, мигающую из коробки. Есть 2 способа обойти это.
Первый вариант не требует больше моментов для тестера транзистора, но вы должны удалить чип из розетки и вставлять его в программист каждый раз, когда вы хотите обновить прошивку.
Я использую универсальный программист TL866II Plus вместе с программным обеспечением MiniPro с открытым исходным кодом для Linux. Смотрите https://github.com/blurpy/minipro для получения дополнительной информации о том, как использовать.
С помощью чипа в программисте просто запустите эти команды:
minipro -p "ATMEGA328P@DIP28" -E
minipro -p "ATMEGA328P@DIP28" -c data -w ComponentTester.eep -e
minipro -p "ATMEGA328P@DIP28" -c code -w ComponentTester.hex -e
minipro -p "ATMEGA328P@DIP28" -c config -w ComponentTester.cfg -e
Это должно быть.
Другой вариант состоит в том, чтобы припаять булавки на задней панели платы, чтобы добавить пропущенный заголовок ICSP, который позволяет прошить прошивку в цепи. Больше работать впереди, но очень полезно, если вы часто обновляете прошивку.
Я добавил булавки для заголовка под прямым углом, как это:
Это расписка (зеркальная по сравнению с вышеупомянутым):
Существует много разных устройств, которые можно использовать для вспышки с заголовком ICSP, например, в этом примере с использованием Arduino Uno в качестве программиста, но я буду использовать TL866ii Plus, упомянутый выше, так как он также поддерживает режим ICSP, со следующей расписью :
С проводами, подключенными между тестером транзистора (с удаленной мощностью) и программистом, просто запустите эти команды:
minipro -p "ATMEGA328P@DIP28" -E -i
minipro -p "ATMEGA328P@DIP28" -c data -w ComponentTester.eep -e -i
minipro -p "ATMEGA328P@DIP28" -c code -w ComponentTester.hex -e -i
minipro -p "ATMEGA328P@DIP28" -c config -w ComponentTester.cfg -e -i
Это должно быть.
Это законченный результат после прошивки новой прошивки:
Вы можете найти оригинальную прошивку здесь, если хотите восстановить известную рабочую прошивку.
Сначала я не обращал внимания на выход после шага компиляции:
AVR Memory Usage
----------------
Device: atmega328
Program: 34784 bytes (106.2% Full)
Он работал нормально, чтобы прошивать прошивку, однако при попытке запустить тестер, он быстро мигает белым на экране, а затем выключится. Сначала я думал, что это была проблема оборудования, но при тестировании оригинальной прошивки это работало. После отключения достаточного количества функций в этой прошивке, чтобы снизить 100% память, она также работала нормально.
Когда я забыл настроить экран в config_328.h
перед компиляцией и миганием, тестер включил и отображает белый экран, пока не будет удалено питание. Легко исправлено, добавив правильную конфигурацию и попробовать еще раз.
После прошивки новой прошивки рекомендуется выполнить шаги, описанные в Readme, чтобы запустить самостоятельную регулировку.
Краткое описание шагов:
Adjustment
Save
в меню и выберите Слот № 1Когда его попросили сократить зонды, я использовал короткий провод макета между тестовой точкой 1 и точкой испытания 2, а также между точкой 2 и точкой тестирования 3 в гнезде ZIF.