3,4K подписчиков

Тестер транзисторов LCR-T4 ESR. Часть III. Прошивка.

3,8K прочитали

Наш тестер LCR-T4 уже стал функциональным прибором которым удобно пользоваться, но этим мы не ограничимся и добавим новые функции, сделаем прибор еще удобнее, например, добавив русский язык, контрастный и толстый шрифт, и еще много чего, но обо всем по порядку.

Обновлено: 16.04.2022

Это продолжение статей

Подготовка Программатор USB ASP

У меня AVR программатор USB ASP (статья на канале: "Программатор USB ASP"), это один из самых дешевых программаторов который позволяет использовать ISP программирование (программировать микроконтроллеры прямо на плате, не выпаивая и не снимая их)

AVR программатор USB ASP
AVR программатор USB ASP

И вот такой шлейф и переходник, все шло в комплекте

Комплект
Комплект

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

Замкнутая перемыxка JP3
Замкнутая перемыxка JP3

Значение контактов разъема ISP (со стороны разъема)

Разъем ISP
Разъем ISP

Или вот так

Подписанные контакты со стороны разъема.
Подписанные контакты со стороны разъема.

Но с другой стороны они подписаны прямо на плате

Подписаны на плате
Подписаны на плате
  • VCC - Питание 5 вольт или 3.3 вольта
  • SCK (SPI ClocK) - тактовый сигнал, который программатор формирует на линии SCK.
  • MOSI (Master Out, Slave In - вход ведомого, выход ведущего) - линия передачи данных от программатора (ведущий), к программируемому микроконтроллеру (ведомый).
  • MISO(MLS) (Master In, Slave Out - выход ведомого, вход ведущего) - линия передачи данных от программируемого микроконтроллера (ведомый) к программатору (ведущий).
  • GND - необходимо соединить землю, сделать общей на программаторе и программируемом устройстве.
  • RESET - для входа и нахождения в режиме последовательного программирования используется линия сброса - Reset. Она должна удерживаться в активном состоянии - низкий уровень во время всего цикла программирования AVR. При стирании чипа на линии RESET должен быть сформирован импульс в конце цикла стирания.

Более подробно в статье: "Программатор USB ASP"

Значение контактов на плате тестера

Контакты подписаны, но со стороны экрана и это не очень удобно.

Пописаны контакты на плате.
Пописаны контакты на плате.

Причем "Земля" не подписана, но это она

Поэтому мы подпишем вот так с нужной стороны.

Распиновка на плате вид со стороны микроконтроллера
Распиновка на плате вид со стороны микроконтроллера

Я припаял гребенку так как у меня есть место под платой.

Все соединяем вместе

Все соединяем вместе
Все соединяем вместе

Если перепутаете ничего страшного не случится, на RESET попадет питание +5 вольт, будет высокий уровень и Вы просто не сможете запрограммировать.

На программаторе закорочены выводы JP3, предварительно я припаял туда гребенку, так как мы помним, это уменьшает частоту с 375 кГц до 8 кГц. Советуют держать этот джампер постоянно замкнутым, чтобы, забыв о его существовании, не мучиться вопросом - почему микроконтроллер не прошивается.

Впаяны контакты и стоит перемычка
Впаяны контакты и стоит перемычка

Перемычка JP21 в положении 3,3 Вольта.

Качаем программу и прошивки

Про драйвера и их установку в статье: "Программатор USB ASP"

AVRDude Prog

Это графическая оболочка для программы AVRdude

Программа "AVRDUDE_PROG" официальная страничка тут: http://www.yourdevice.net, качать отсюда (http://www.yourdevice.net/proekty/avrdude-prog)

На моих дисках:

Отчет Virustotal (одна программа с одним вирусом )

SinaProg 2.1

Качал отсюда: https://cxem.net/software/sinaprog.php

На моих дисках:

Отчет Virustotal (находит аж 6 программ и 6ть различных вирусов)

Этой программой я то же прошил, но она мне не очень понравилась

Поиск прошивки

Перед поиском и выбором прошивки нужно точно определить что у нас за плата. Алгоритм следующий:

  • Определяемся с версией тестера
  • В данном случае это LCR-T4(T3) на микроконтроллере AtMEGA 328P AU;
  • Определяемся с частотой кварца
  • 8 МГц
  • 16 МГц
  • Определяемся с StripGrid, NoStripGrid

Что такое StripGrid, NoStripGrid?

LCR T3(T4) имеют две версии отличаются они подключением дисплея и распайкой ZIF-панельки:

  • Stripred (StripGrid) - под ZIF панелькой имеются дорожки, это более старая версия или первая как удобнее.
  • NoSripgred (NoStripGrid или сокращённо NSG) - нет дорожек, только контактные пятачки под панелькой
NoSripgred (NoStripGrid) - нет дорожек
NoSripgred (NoStripGrid) - нет дорожек

Итак, у меня: "LCR-T4(T3)NoStripGrid" для 8МГц и прошивку я выбираю соответствующую (хотя я уже поменял кварц на 16МГц, а затем поменял обратно на 8МГц)

Какие прошивки бывают.

Как сказано выше бывают для:

  • LCR-T4(T3)StripGrid
  • LCR-T4(T3)NoStripGrid -встречается чаще так как это боле поздняя версия тестера

По авторам

По языкам

  • Английские
  • Русские

По частоте кварца

  • 8 Mhz
  • 16 Mhz
  • 20 Mhz (иногда, но редко)

О кварцах я бы хотел остановится подробнее, что дает установка нового кварца? А влечет она за собой установку новой прошивки, в прошивках появляется возможность измерять кварцы, но исчезает или вольтметр (не всегда) или частотомер. У меня так и не получилось завести нормально прошивку на 16 Mhz с кнопкой.

Я протестировал часть из представленных прошивок ниже, есть несколько мест в сети откуда эти прошивки можно скачать

Вариант №1

Или официальный, идем на: GitHub Transistortester (сам сайт)

Качаете всю папку: "Download ZIP"

Качаем всю папку Download ZIP
Качаем всю папку Download ZIP

Распаковываете архив и в папке "trunk" по пути: "transistortester-master\Software\trunk" будут прошивки

Напомню у нас микроконтроллер: AtMEGA 328, а дисплей на контроллере ST7565

Наш тестер LCR-T4 уже стал функциональным прибором которым удобно пользоваться, но этим мы не ограничимся и добавим новые функции, сделаем прибор еще удобнее, например, добавив русский язык,...-14

"kit" - видимо это готовое изделие.

При выборе "mega328_st7565" и "mega328_st7565_kit"- экран оказался перевернутым. Нужно менять прошивку, но в этой статье мы рассматривать данную тему не будем. У меня нормально заработала только прошивка "mega328_T4_v2_st7565" (обозначено зелененькой стрелкой)

Вариант №2

Другой вариант проще и там есть готовые русифицированные прошивки, идем на 4Pda в тему: "Транзистор тестер с Али (Transistor tester) | Собираем прошивки ATMEGA" выбираем в шапке "Прошивки" и далее "LCR-T4(T3)NoStripGrid" Дело в том что там можно скачать готовую русифицированную прошивку.

Вообще существуют кардинально два вида прошивок находящихся в активно разработке это от:

Karl-Heinz Kübbeler. Актуальная версия 1.13k

Markus Reschke. Актуальная версия 1.45m

Вот прошивки которые есть в наличии для нашего прибора:

  • от mageridon

- Karl-Heinz Kübbeler 1.13k

Собрано из этого https://github.com/Mikrocontroller-net/transistortester/tree/master/Software/trunk

Русский язык 8*16. Вход в меню удержанием кнопки. Без энкодера и частотомера (его в принципе не добавить в этой версии). Не корректное определение многих конденсаторов, особенно до 1мкф, начиная от 100мкф выдает точные показания. Также лучше мерить конденсаторы через c+esr или 1-||-3, иначе тестер может вырубаться. Видит не все индуктивности, но чуть лучше тестера от Маркуса.

- Markus Reschke 1.45m

Собрано из https://github.com/Mikrocontroller-net/transistortester/blob/master/Software/Markus/ComponentTester-1.45m.tgz

Русский язык 8*16. Вход в меню двойной клик. Нету ШИМ и ПИ-генераторов, градусников, ИК, серво, энкодера. Все как в обычном тестере плюс частотомер, трансформатор-тест, оптопары. Конденсаторы лучше мерить через ESR, иначе тестер вырубается. Не все индуктивности видит. Что такое r c rcl мониторы смотрите у него в config.h. Частотомер, оптопары и трансформаторы не проверял. Некоторые pnp определяются как jfet

  • от AlexxVel 1.44m

Ссылка

Для: 8Mhz, 8x8, RU2, Encoder (PD1/PD3)

за основу конфигурации взял файлы makefile config.h config_328.h из LCR_T4_NoStripGrid_8MHz_1.43mEn_Ru.zip от indman.
дополнительно подключил генератор (SW_SQUAREWAVE), отключил тестовый показ шрифта SW_FONT_TEST, для энкодера кол-во шагов (ENCODER_STEPS) задал 20.
Также (т.к. использую литиевый аккум 18650+step-up) переключил измерение напряжения батареи на BAT_DIRECT (выпаял резистивный делитель 10k и 3.3к, и с аккума кинул провод на PC5 через резистор 470к) ну и соответственно изменил значения BAT_WEAK на 3200 и BAT_LOW на 3000. BAT_OFFSET выставил 20 (но похоже надо будет его подобрать, чтобы точнее меряло напряжение на батарее).

Функции: ШИМ, генератор, измерение индуктивностей, тест оптронов, ИК-приемник(+доп. протоколы), Монитор R/C/L; изм. тока утечки конденсаторов; DS18B20, OneWire Скан, датчики температуры/влажности DHTxx. POWER_OFF_TIMEOUT =40сек (в режиме Автоудержания - он стартует "по умолчанию").

  • от M-Mike

Ссылка

  • от Technics66

Из исходников Karl-Heinz Kübbeler на 11/10/2021.

Язык русский, есть поддержка энкодера, нет частотомера, шрифт 7х12, есть поддержка тестирования кварцев, но только в версиях 16MHz. Версии 9V для обычного питания от 9в с порогом отключения 6.4в, версия 4V для переделанных на питание от Li-Ion с удалением делителя и подачей питания с АКБ через резистор 470кОм на PC5.

- LCR-T4_NSG_8Mhz_9V

- LCR-T4_NSG_16Mhz_9V

- LCR-T4_NSG_8Mhz_4V

- LCR-T4_NSG_16Mhz_4V

  • от indman

Ссылка

Русские и английские прошивки 1.43m, 8Мгц, шрифт 8х8 тонкий - c "T" и жирный-без "T"

  • от kovrovec

Ссылка

Большой шрифт, прошивка 1.13К rus, энкодер, вольтметр, частотомер отключен, остальное все есть.

  • Шрифт 6x8 Rev.811Ru_8MHz_6x8

Прошивка 1.13К. Кварц 8Мгц. Прошивка русифицированная, шрифт 6*8 тонкий, набор иконок 3 - инверсия, энкодер включен, возможность проверки стабилитронов и вольтметр, частотомер (только с делителем 10:1 на порт A6).

Ссылка

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

Все это можно скачать целой папкой:

Я выбрал прошивку: "Шрифт 6x8 Rev.811Ru_8MHz_6x8" (Ссылка) мне она подошла лучше всего так как это единственная я прошивка с кнопкой и с вольтметром и частотомером, без энкодера

Вариант №3

Он несколько перекликается с вторым вариантом, идем в форум на Vrtp.ru Клоны тестера Markus Reschke и Karl-Heinz K, Китайские виды сборок, моддинг, прошивка на первой же страничке ссылка: "Документация, прошивки, принципиальные схемы клонов" нас интересует наш тестер: "LCR-T4(T3)NoStripGrid" и собственно прошивка: "Firmware"

Эти прошивки на моих дисках:

Или ищем прошивку в самой теме форума, например:

Я протестировал все эти прошивки и вот что у меня вышло от deletov и от sergeyiv прошивка понравилась внешне, хороший читабельный шрифт, но у меня вылезло несколько косяков делающих эту прошивку неприменимой в моем случае. В 8МГц и 16МГц не работает частотомер, измерение конденсаторов производится только в разъемах 1-2, вольтметр показывает два значения зачем второе я не знаю. В 16МГц измеряет несуществующий кварц при старте прошивки, зачем для чего, это напрягает.

Несуществующий кварц который измеряется при старте.
Несуществующий кварц который измеряется при старте.

Эти прошивки на моих дисках:

Все вышеперечисленные прошивки с форума Vrtp.ru на моих дисках

Предварительные выводы

Предварительные мои выводы по прошивкам.

Сразу скажу кому все это надоели и кто хочет возвернуть все обратно, как было милости просим, китайский оригинал и все станет как было: VaderMi: LCR_T4_T3_NoStripGrid_CHINA.zip (Китайский оригинал, Т4 NoStripGrid, 8 Mhz)

Мне не подошли прошивки от deletov и его клонов с вариант №3, форум на Vrtp.ru может из за того что у меня нет энкодера, таким образом остается малая часть прошивок. Пока я остаюсь на прошивке: "Шрифт 6x8 Rev.811Ru_8MHz_6x8" (Ссылка) мне она подошла лучше всего так как это единственная я прошивка с кнопкой и с вольтметром и частотомером, без энкодера

Собственно прошивка.

Пользоваться будем программой "AVRDude Prog"

Выбираем:

  • микроконтроллер: "ATmega328P";
  • программатор: "USBasp"
  • Fuses: "инверсный" (так по умолчанию)
Первоначальные настройки
Первоначальные настройки

Выставляем фьюзы

С фьюзами проблема в разных местах их выставляют по разному, различия есть в разделах:

  • Конечно SPIEN обязательно галочка
  • Fuse Low Byte а именно в "CKSEL3"
  • Fuse Extended Byte, а именно в "BodLevel1", "BodLevel2"
  • Еще выставляют SUT0, зачем то

Я выставлял следующим образом, различия подчеркнуты.

Мои выставленные фьюзы
Мои выставленные фьюзы

Внимание!!! Не нужно менять!!!

  • RSTDISBL - при выставлении линия Reset превращается в одну из ножек порта, но (!) теряется возможность прошивки
  • DWEN – включает отладку через DebugWire. Имеет тот же конечный эффект, что и RSTDISBL.
  • SPIEN - заболочен и менять не надо, иначе теряется возможность прошивки через SPI

С осторожностью

  • CKSEL - очень подумать иначе так изменяет конфигурацию тактового сигнала (внутренний внешний) см. ниже.
  • WDTON - сторожевой таймер. Если установить этот бит и забыть про него, МК может перезагружаться без видимых причин.
  • BOOTRST - принуждает программу стартовать с секции бутлоадера, а не с начала (0x0000).

Другие фьюзы которые нужно поставить

  • CKSEL — Конфигурация тактового сигнала

CKSEL3…0 = 1000 – Данная конфигурация (как на картинке выше) говорит что чип будет работать на частоте от 8 до 12 MHz (либо от 1 до 16Мгц при CKOPT=0) Суть в том что будет задействован внешний кварц.

  • SUT0 -задают скорость старта МК после снятия RESET или подачи питания (меняется от 4ms до 65ms).

Обычно это не меняют, но в некоторых источников стоит SUT0

  • BOOTSZ — группа битов определяющая размер бут сектора.

BOOTSZ0..1=11 - Начало секции загрузчика 0x3F00, Размер секции 256 (слов)

  • BODLEVEL — режим контроля за напряжением.

BODLEVEL2..0 = 011 - при снижении напряжения питания ниже 4,3 вольта микроконтроллер переводится в состояние сброса.

Как определить какого типа (прямые или инверсные) fuse биты в незнакомой прошивающей программе?
Нажмите чтение и посмотрите на состояние бита SPIEN. Он всегда активен, в противном случае если он будет сброшен, то программатор даже не определить контроллер. Поэтому, если SPIEN в 1 — значит фьюзы инверсные, как в PonyProg. Если ноль — значит по нотации Atmel.

Так же можно посмотреть и поиграться с различными калькуляторами фьюзов вот например один из них: Калькулятор фьюзов AVR. А вот еще один AVR® Fuse Calculator (напомню у нас ATmega328P). В случае вопросов обращайтесь к оригинальной документации Datasheet на Atmega328p.

Сохраняем прошивку

  • По хорошему нужно сохранить прошивку, но скорее всего это не получится, китайцы постарались и она защищена от чтения (вот ссылка на оригинальную прошивку: VaderMi: LCR_T4_T3_NoStripGrid_CHINA.zip (Китайский оригинал, Т4 NoStripGrid, 8 Mhz)). Зато фьюзы можно прочитать. Вот фьюзы оригинальной прошивки транзистор тестера которые я прочитал.
Наш тестер LCR-T4 уже стал функциональным прибором которым удобно пользоваться, но этим мы не ограничимся и добавим новые функции, сделаем прибор еще удобнее, например, добавив русский язык,...-18

Как видим они отличаются от представленных выше тем что выставлены:

  • LOCKBIT - биты для защиты программы от копирования;

По умолчанию должны быть 00 (в отношении этой программы, где они инверсные )

LOCKBIT = 11 - Дальнейшее программирование и проверка flash и EEPROM отключены в параллельный и последовательный режим программирования.

Datasheet на Atmega328p, стр.241

  • BODLEVEL - — режим контроля за напряжением.

BODLEVEL2..0 = 010 - при снижении напряжения питания ниже 2,7 вольта микроконтроллер переводится в состояние сброса.

Но при вдумчивом прочтении становится понятно что LOCKBIT - нужно выключить - мы не собираемся защищать нашу прошивку и вообще она не наша, для инверсных значений выставляем в 00 - как выше, BODLEVEL лучше оставить так же как выше 4.4 вольта, все равно тестер отключится раньше если будет недостаток по питанию.

Ниже представлено как выставить фьюзы

  • Зеленым - то что выставляем
  • Красным - то что менять нельзя, больше не прошьется обычным способом.
  • Желтым можно, но с опаской, может не заработать должным образом, всегда сможете перепрошить.
Окончательное выставление фьюзов, сортировка по степени важности
Окончательное выставление фьюзов, сортировка по степени важности

Собственно сам процесс прошивки.

Сначала прошиваем:

1) Flash;

2) Eprom;

3) Фьюзы.

Наш тестер LCR-T4 уже стал функциональным прибором которым удобно пользоваться, но этим мы не ограничимся и добавим новые функции, сделаем прибор еще удобнее, например, добавив русский язык,...-20

Жмем: "Программирование"

Но все можно сделать автоматически

Автоматизация
Автоматизация

Проблемы

Если вы прошили тестер, а на экране буквы: "ЯЯЯЯЯЯЯ"

Это значит что Вы шили, шили и не дошили... Прошили только eeprom область памяти, далее нужно прошить "hex" файл и конечно выставить правильно фьюзы.

Меню прошивки

После прошивки будет доступно меню (долгое нажатие клавиши, от 5 до 10 секунд)

  • "Выключить" - выключение прибора
  • "Транзистор тест" - одноразовое определение и измерение элементов
  • "Частотомер" - режим измерения частоты
  • "f-генератор" - режим генератора частоты
  • "10-bit PWM" - режим 10-битного ШИМ (контакт ТР2)
  • "С+ESR@ТР1:ТР3" - режим отдельного измерения емкости и ESR конденсаторов, в том числе и в схемах
  • "Знак резистора и индуктивности соединенных последовательно" - режим циклического измерения сопротивлений (контакты ТР1 и ТР3)
  • "Знак конденсатора" - циклическое измерение емкости конденсаторов (контакты ТР1 и ТР3)
  • "С (мкФ) коррекция" - изменение значения поправки при измерении конденсаторов большой емкости
  • "Режим самотеста" - полная самопроверка прибора с калибровкой (1- замкнуть контакты ТР1, ТР2 и ТР3 между собой, выбрать режим, 2- при появлении надписи "Изоляция!" - убрать перемычки, 3- потребуется установить в разъемы ТР1 и ТР3 конденсатор емкостью более 100 nF и менее 20 мкФ, 4- потребуется установить в теже разъемы конденсатор емкостью от 10 до 30 nF)
  • "Вольтметр" - измерение напряжения до 50 Вольт через делитель 1:10
  • "Контрастность" - установка контрастности экрана
  • "Информация о ТТ" - несколько страниц с данными о версии программы и результатами калибровки и самотеста

Информация, форумы, статьи и видео в сети интернет

Продолжение следует....

Подписывайтесь на мой канал TehnoZet-2, там много интересного! Мы только развиваемся! Понравилась статья, хотите продолжения - ставьте лайк, жмите палец вверх.

Пользуйтесь рубрикатором по каналу, там все по разделам: "Страничка путеводитель по каналу TehnoZet-2"

Статьи и видео

- Программатор USB ASP

Тэги

#микроконтроллер

#dyi

#doityourself

#cделайсам

#простоосложном

#длямаленьких

#подключаемся