Наш тестер LCR-T4 уже стал функциональным прибором которым удобно пользоваться, но этим мы не ограничимся и добавим новые функции, сделаем прибор еще удобнее, например, добавив русский язык, контрастный и толстый шрифт, и еще много чего, но обо всем по порядку.
Обновлено: 16.04.2022
Это продолжение статей
- Часть III.Это статья которую Вы сейчас читаете.
- Похожая статья, но акценты расставлены по-другому, в центре внимания сам программатор: "Программатор USB ASP"
Подготовка Программатор USB ASP
У меня AVR программатор USB ASP (статья на канале: "Программатор USB ASP"), это один из самых дешевых программаторов который позволяет использовать ISP программирование (программировать микроконтроллеры прямо на плате, не выпаивая и не снимая их)
И вот такой шлейф и переходник, все шло в комплекте
И все это понадобится для прошивки или вернее пере прошивки. Правда переходник пришел с криво припаянной колодкой, китайцы все же, что тут говорить. Пришлось отпаивать феном и припаивать на место уже ровно. Я припаял гребенку на JP3, и замкнул ее.
Значение контактов разъема 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) - нет дорожек, только контактные пятачки под панелькой
Итак, у меня: "LCR-T4(T3)NoStripGrid" для 8МГц и прошивку я выбираю соответствующую (хотя я уже поменял кварц на 16МГц, а затем поменял обратно на 8МГц)
Какие прошивки бывают.
Как сказано выше бывают для:
- LCR-T4(T3)StripGrid
- LCR-T4(T3)NoStripGrid -встречается чаще так как это боле поздняя версия тестера
По авторам
- Karl-Heinz Kübbeler. Актуальная версия 1.13k
- Markus Reschke. Актуальная версия 1.45m
По языкам
- Английские
- Русские
По частоте кварца
- 8 Mhz
- 16 Mhz
- 20 Mhz (иногда, но редко)
О кварцах я бы хотел остановится подробнее, что дает установка нового кварца? А влечет она за собой установку новой прошивки, в прошивках появляется возможность измерять кварцы, но исчезает или вольтметр (не всегда) или частотомер. У меня так и не получилось завести нормально прошивку на 16 Mhz с кнопкой.
Я протестировал часть из представленных прошивок ниже, есть несколько мест в сети откуда эти прошивки можно скачать
Вариант №1
Или официальный, идем на: GitHub Transistortester (сам сайт)
Качаете всю папку: "Download ZIP"
Распаковываете архив и в папке "trunk" по пути: "transistortester-master\Software\trunk" будут прошивки
Напомню у нас микроконтроллер: AtMEGA 328, а дисплей на контроллере ST7565
"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
Собрано из этого https://github.com/Mikrocontroller-net/transistortester/tree/master/Software/trunk
Русский язык 8*16. Вход в меню удержанием кнопки. Без энкодера и частотомера (его в принципе не добавить в этой версии). Не корректное определение многих конденсаторов, особенно до 1мкф, начиная от 100мкф выдает точные показания. Также лучше мерить конденсаторы через c+esr или 1-||-3, иначе тестер может вырубаться. Видит не все индуктивности, но чуть лучше тестера от Маркуса.
Собрано из 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.
- от 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"
Эти прошивки на моих дисках:
Или ищем прошивку в самой теме форума, например:
- sergeyiv: deletov_v1_13_rus_f6x8_16mHz.rar (16МГц, на основе верхней, но для кнопки, мне подошла эта после перепайки кварца, но почему то не работает, частотомер)
- Igor777: deletov16_encoder.rar (Прошивка для LCR-T4(NoStripGrid) c правлеными исходниками от deletov на 16МГц без измерения кварцев)
Я протестировал все эти прошивки и вот что у меня вышло от 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)). Зато фьюзы можно прочитать. Вот фьюзы оригинальной прошивки транзистор тестера которые я прочитал.
Как видим они отличаются от представленных выше тем что выставлены:
- 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) Фьюзы.
Жмем: "Программирование"
Но все можно сделать автоматически
Проблемы
Если вы прошили тестер, а на экране буквы: "ЯЯЯЯЯЯЯ"
Это значит что Вы шили, шили и не дошили... Прошили только 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"
Статьи и видео
- Часть III. Эта статья
Тэги
#микроконтроллер
#dyi
#doityourself
#cделайсам
#простоосложном
#длямаленьких
#подключаемся