Реанимация тестера Маркуса
Положил дед Мороз под новогоднюю елочку мне тестер радиоэлектронных компонентов в виде китайского клона широко известного в узких кругах тестера Маркуса.
Здесь должна была быть картинка включенного тестера с радостно светящимся всеми цветами радуги экранчиком, но руки из одного места воткнули в него заряженный конденсатор, тестер радостно самовключился, сказал «ой!» и работать отказался.
Жалко, блин. Попробуем отремонтировать.
1. Идем на Яндекс-диск со схемами и прошивками на все известные сообществу клоны. К счастью, клон «ТС-1» там уже есть.
2. Изучаем схему и плату тестера, экспериментально выясняем, что имеется короткое замыкание (КЗ) по шине +5В.
Если тестер самовключился при подключении конденсатора, значит питание подалось на шину либо через встроенные обратные диоды на входах микроконтроллера, либо через защитную сборку DZ2.
Отпаиваем DZ2, сборка жива, КЗ на месте. Значит случилось самое ужасное, сгорел микроконтроллер.
3. Заказываем микроконтроллер Atmega644, корпус TQFP-44, 2 штуки, на случай, если что-нибудь пойдет не по плану.
4. Пока Атмега едет из Китая, готовим инструменты и ищем программатор.
4.1. Паяльная станция, набор жал для паяльника, «третья рука» с лупой, тонкий-тонкий пинцет, хороший флюс (китайский, но жидкий, что лучше канифоли), чуть-чуть припоя.
Программаторы (спасибо Int_13h за безвозмездно отданную целую коробку всяких разных):
4.2. USBasp без корпуса для Atmega, с адаптером 10 pin to 6 pin ISP.
4.3. USB ISP в корпусе для Atmega (никогда не угадаешь, какой пригодится).
4.4. Преобразователь USB/UART 5V от какого-то мобильника для перепрошивки контроллера питания U4 (STC15L104W).
Т.к. контроллер любит 3.3В, на монтажке собираем стабилизатор 5->3.3В на базе LM1117:
Оказывается, стабилизатор без нагрузки не работает. Вешаем на выход резистор, например 2.2 кОм. Устанавливаем на выходе точно 3.3 В с помощью вольтметра и потенциометра.
5. Дождались, наконец, конверта с микроконтроллерами.
6. Демонтируем феном сгоревший микроконтроллер, чистим контактные площадки, смазываем флюсом, припаиваем новый. Тонким жалом, каждую ножку. Но сначала по углам. Говорят, можно и феном, но нет паяльной пасты.
Для первого раза даже красивенько.
Заодно впаиваем разъем для внутрисхемного программирования. Убеждаемся в правильности разводки под адаптер 10to6, перепаиваем разъем на другую сторону платы.
И конечно предусмотрим разъем для аккумулятора. Итог:
7. Готовимся прошить контроллер питания U4. Припаиваем конвертер USB-UART со стабилизатором к плате:
3.3В к 3.3В, Gnd к Gnd, Tx к Р1, Rx к Р2.
9. Подключаем конвертер, ждем, что он обнаружится системой, запускаем софт, выбираем com-порт, выбираем прошивку из архива (п.1), задаем частоту 12 Мгц, подаем питание, процессор запускается, в режим загрузки не переходит, программатором не обнаруживается.
9.1. Экспериментируем с очередностью подачи питания на процессор и нажатием кнопок «Check MCU» & «Download/Program».
9.2. Изучаем даташит на U4, обнаруживаем, что кнопка Test тестера подключена к выводу Reset. Жмем «Check MCU», жмем кнопку Test, микроконтроллер резетится и обнаруживается. Таким же образом запускаем прошивку, и, наконец, прошиваем U4.
10. Изучаем обилие софта для прошивки Atmega.
10.1. Инсталлируем мощную и удобную Atmel Studio 6.2, обнаруживаем, что она не поддерживает программаторы USBasp и USB ISP. Сносим.
10.2. Ищем Avrdude и графическую оболочку к нему. Из всего обилия останавливаемся на интуитивно понятном Avrdude_prog 3.3, который понимает USBasp, понимает прошивки *.hex и *.eep, умеет наглядно показывать выбранные фьюзы. Подключаем, запускаем:
Облом-с, программатор имеет слишком старую прошивку.
10.3. Вот тут и пригодится USB ISP, софт которого не такой дружелюбный, но на прошивку программатора он способен. А может и тестер прошьет? Увы:
10.4. Ищем свежую прошивку на USBasp, соединяем USB ISP и USBasp шлейфом, замыкаем на USBasp джампер J1, вводя его в режим программирования. Заливаем прошивку. Успех!
10.5. Окрыленные успехом, пытаемся прошить и USB ISP в USBasp. Впаиваем по методике перемычку на плату, сначала бэкапим прошивку и фьюзы.
Выпаиваем перемычку. Подключаем бывший USB ISP и компьютеру и не обнаруживаем его софтом. Может с фьюзами путаница? Потом разберемся. Прости! Но ты выполнил свою цель и можешь пока упокоиться с миром.
10.7. Goto 10.2. Но теперь наш программатор уже шьет Atmega успешно.
11. Волнуемся насчет успеха проведенной операции.
12. Запуск тестера. Бинго!
Измерения идут, но не обошлось и без недостатков — тестер практически мгновенно отключается после процесса измерения, можно и не успеть снять показания.
В следующей серии: попытки сделать свою прошивку для тестера для устранения эффекта мгновенного отключения. Прошивка будет базироваться на исходниках Маркуса. А также, как я пыталась, но не смогла полюбить AVR.
Источник
Восстановление транзистор-тестера. Нюансы по прошивке атмега 328.
Больше месяца назад при очередной прошивке своего транзистор-тестера mg328 я забыл правильно выставить фьюзы (точнее вообще забыл посмотреть, что там программа выставила по умолчанию) и тем самым залочил атмегу 328. Всё бы ничего, но это произошло при установке прошивки, которая как оказалось имеет неправильное отображение символов на экране (все символы были в зеркальном виде).
Решить данную проблему можно двумя способами:
1. Разлочить фьюзы с помощью высоковольтного программатора;
2. Купить новую атмегу и прошить по новой.
Так как в наличии у меня только программатор USBISP купленный в Китае за 80 руб, то было решено заказать новый камень и прошивать его. Высоковольтный программатор сделать довольно просто, но нужно травить печатку, а принтер мой не подает признаков жизни. Если кому нужно то выглядит такой фьюз-доктор вот так:
Схему этого прибора можно найти в сети и сделать своими руками. В дальнейшем может и я сделаю себе такой, пока с атмегами часто не занимаюсь.
И вот наконец моя атмега пришла. Чтобы выпаять залоченную атмегу необходимо отпаять 4 контакта на нижней части дисплея, верхняя часть вынимается из специального разъема и там паять ничего не надо.
Снимаем атмегу, чистим посадочное место. Проходим по контактным пятачкам паяльником с оловом.
Ставим новую атмегу, выравниваем ее по дорожкам, прихватываем в нескольких местах паяльником. Для окончательного монтажа я использовал термо-воздушный фен, хотя вполне возможно припаять атмегу 328 в форм факторе TQFP-32 с помощью паяльника с нетолстым жалом.
Для подключения к программатору я подпаял провода прямо к транзистор-тестеру, на его плате есть контрольные точки, которые позволяют прошивать контроллер прямо на месте.
Тут нужно иметь ввиду, что китайские друзья сделали довольно много разных моделей транзистор-тестеров и нужно найти схему подключения и подходящую прошивку именно для своей модели по запросу: «Документация,прошивки,схемы для клонов Ttester Karl-Heinz Kübbeler » в гугле.
Я выбрал русскоязычную прошивку для своей модели с кварцем 8 МГц в двух вариантах с инверсией экрана, чтобы наверняка одна из них подошла. Для прошивки я использую программу AVRDUDE 3.3. Найти ее в сети довольно просто, как и разобраться что там к чему.
Кстати, при первом подключении программатора USBISP к компьютеру, он может не увидеть его, поэтому также необходимо скачать и установить драйвера для него.
Итак всё готово, подключаю программатор к компьютеру, запускаю программу AVRDUDE. Пытаюсь прочитать с ее помощью фьюзы новой атмеги. Программа не видит микросхему. Я начинаю переживать, что мне прислали неисправную атмегу. Изучаю несколько различных похожих вариантов у разных пользователей в сети. В ходе прочтения, понимаю, что мне прислали полностью чистую атмегу, в которой даже нет загрузчика bootloader. Загрузчик я не разу не ставил, пытаюсь найти информацию как его установить. Все умники пишут, что в сети полно информации и типа мы не будем повторяться! Таких прошел сайтов 5! Пытаюсь найти хоть что-то полезное для своей ситуации. И вот оно, на одном из сайтов пишут, что новая атмега с завода работает на частоте 1МГц, а юсб программатор работает на большей, поэтому они не могут согласованно работать. Чтобы понизить частоту на программаторе необходимо установить джампер JP3, или просто запаять 2 контакта на его плате.
Терять нечего, запаиваю эти контакты, подключаюсь к компьютеру, пробую считать данные с атмеги и всё считывается! На радостях быстренько указываю путь к Flash, EEProm и выставляю фьюзы согласно инструкции (обязательно должна стоять галочка на «инверсные»!).
Программирование провожу в автоматическом режиме, выставив все галочки. Шью сразу вторую прошивку из архива, так как многие пользователи пишут, что тут правильное отображение символов и русский язык. Как оказалось не обманывали!
Приборчик ожил, необходимо только сразу отрегулировать контрастность, иначе почти ничего не видно при первом включении. Для этого можно просто смотреть как бы сверху на дисплей и нажимать кнопки в меню, всё становится видно. Надеюсь теперь мой транзистор-тестер сможет поработать еще долгое время, так как менять прошивку я пока не собираюсь, да и опыт в прошивке атмеги потихоньку получаю, учусь на своих и чужих ошибках.
Возможно, статья поможет кому-то в освоении программирования атмеги, если нужны ссылки на программы и прошивки – пишите в комментарии, скину всем желающим. Спасибо за внимание, подписывайтесь на канал, ставьте лайки!
Источник
Ремонт китайского тестера радиодеталей
Войти
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
Ремонт транзистор-тестера или ESR метра
Вот и постигла меня печальная участь.
Спалил свой транзистор-тестер, он же ESR метр.
Палится очень просто — не разряженным конденсатором, т.к. входы тестера напрямую приходят в микроконтроллер.
Выглядит мой экземпляр вот так:
На плате обозначение: WEI_M8_NLG_TST_V1.10
Штука это незаменимая в работе.
Последнее время я совсем обленился и стал ей всецело доверять проверку элементов при разного рода ремонтах.
Например: надо проверить полевичок, подцепляем, если тестер показывает картинку — значит целый.
Померить ESR конденсатора — запросто.
А тут такая беда — сгорел. Надо чинить.
Тестер построен на микроконтроллере ATMega328p, точно на таком же как Arduino nano/mini.
Ну вы поняли мысль? 🙂
У меня как раз завалялась одна китайская Arduino pro-mini, которая быстренько этого контроллера лишилась.
Осталась одна платка:
Запаиваем в наш тестер, предварительно сняв экран:
Остаётся всего-то залить прошивку и можно пользоваться.
И вот тут я подзастрял надолго.
И так, структурирую свой тернистый путь долгих поисков и освоения магии прошивки этого чуда прибора.
Суть сводится к следующим действиям:
1. Скомпилировать прошивку, с нужными опциями под свою версию платы тестера.
2. Прошить ATMega328p
3. Profit!
Из статьи товарища elchupanibrei узнаём, что существует и здравствует форк проекта некого Маркуса, с нужными нам исходниками для сборки прошивки.
На портале vrtp.ru находится заметка юзера indman с подробным описанием процесса компиляции прошивки.
Приведу её здесь:
1. Скачать с сайта автора по ссылке https://www.mikrocontroller.net/svnbrowser/transistortester/Software/trunk/ текущий дистрибутив прошивок.
Для этого кликнуть внизу страницы на строчку «Download GNU tarball».
2. Распаковать скачанный дистрибутив «transistortester-trunk.tar.gz» в каталог, например С:\Trunk (кирилицу в обозначении имени каталога не использовать).
3. Из каталога C:\Trunk\default удалить всё,кроме каталога «dep«.
4. Скопировать в каталог C:\Trunk\default соответствующий процессору файл «makefile«.
Вот тут нужна ремарочка.
В моей плате, которая WEI_M8_NLG_TST_V1.10, используется дисплей st7565, в дистрибутиве прошивок есть каталог mega328_wei_st7565 — это как раз наш вариант.
Файлик «makefile» можно взять прямо оттуда. Ну или из каталога mega328, но тогда придётся проверять и править больше опций.
Дисплейчик st7565 (разрешением 128×64):
Дальше нужно пробежаться по большому списку опций, проверить, что всё выставлено верно.
Перечень опций можно найти в инструкции Версия 1.12k в разделе Конфигурирование Тестера (стр. 50).
В файле «makefile«, который мы взяли в каталоге mega328_wei_st7565 я поменял только 3 опции:
UI_LANGUAGE = LANG_RUSSIAN
CFLAGS += -DLCD_CYRILLIC
CFLAGS += -DNO_LONG_PINLAYOUT
Захотелось что-то меню на русском, а остальное стояло, на мой взгляд верно 🙂
В принципе можно поиграть со шрифтами, например вместо
CFLAGS += -DFONT_8X12thin
поставить помельче
CFLAGS += -DFONT_8X16thin
но меня вполне устраивает и первый вариант.
5. Запустить редактор WinAVR (C:\WinAVR-20100110\pn\pn.exe)
6. Открыть Makefile.
7. Скомпилировать Makefile, для этого выполнить команды меню: Tools-Make All.
8. Если компиляция завершилась удачно — получаем код выхода равный 0 (Process Exit Code:0) .
Скомпилированные файлы прошивки «TransistorTester.eep» и «TransistorTester.hex» будут находиться в том же каталоге C:\Trunk\default.
Для корректной компиляции в среде Win10 необходимо заменить одну библиотеку по адресу: %каталог с установленным WinAVR%\utils\bin\msys-1.0.dll
Библиотека прилагается в архиве в конце этой статьи.
Скомпилировали, получили два файлика: «TransistorTester.eep» и «TransistorTester.hex«.
Теперь нужно как-то прошить нашу ATMega328p.
У кого под рукой есть программаторы типа: TL866, USBasp или даже китай типа:
дальше будет не интересно.
Но у меня ничего подобного не водится, зато водится FTDI FT232RL, который прекрасно справится с ролью прошивки нашего контроллера:
И тут опять мне помогла статья про программатор из FT232R elchupanibrei .
Я до этого и не знал, что им можно прошивать AVR микроконтроллеры.
Прошивается режиме BitBang, через програмку AVRDUDE.
Проблема в том, что официальные версии AVRDUDE не поддерживают BitBang и предлагают самим пользователям, скомпилировать программу, установив необходимые для этого библиотеки.
Но, на radiokot.ru я нашёл статейку, где добрые люди за меня уже скомпилировали и выложили нужную версию AVRDUDE.
Правда без непоняток, и в этот раз необошлось.
В конфиге avrdude.conf, в секции которая нас интерсует, записаны номера пинов miso=1, sck=0, mosi=2, reset=4
programmer
id = «ft232r»;
desc = «FT232R Synchronous BitBang»;
type = «ftdi_syncbb»;
connection_type = usb;
miso = 1; # RxD
sck = 0; # TxD
mosi = 2; # RTS
reset = 4; # DTR
;
В другом конфиге, который я нашёл на каком-то форуме, были другие цифры:
programmer
id = «ft232r»;
desc = «FT232R Synchronous BitBang»;
type = «ftdi_syncbb»;
connection_type = usb;
miso = 3; # CTS X3(1)
sck = 5; # DSR X3(2)
mosi = 6; # DCD X3(3)
reset = 7; # RI X3(4)
;
Долго не мог понять откуда эти цифры, которые совсем не соответствуют реальной распиновке FT232RL:
А разгадка такая:
Распиновочка из таблички 2.1 официальной PDF-ки FTDI:
Тут я уже отметил пины, которые использовал, красным цветом.
Оказывается, в FT232RL можно переназначать выводы произвольным образом, что как раз и указывается в конфиге avrdude.conf.
В моей платке имеются выводы CTS, TX, RX и DTR (их отметил красным в столбце Pin Number, который соответствует реальной-физический распиновке FT232RL).
Вот на них и будем назначать выводы для программирования нашего контроллера (я назначил выводы, как в столбце Signal, но их можно перетасовать как угодно).
Исходя из таблички, мой конфиг будет выглядеть следующим образом:
programmer
id = «ft232r»;
desc = «FT232R Synchronous BitBang»;
type = «ftdi_syncbb»;
connection_type = usb;
miso = 1; # RxD
sck = 0; # TxD
mosi = 3; # CTS
reset = 4; # DTR
;
Так, с FT232RL разобрались, теперь надо понять, куда подключаться на нашей плате.
Ну тут уже проще.
Впаял разъёмчик на 6 пинов начиная с самого правого:
Подключаем к этим пинам наш адаптер FT232RL и запускаем AVRDUDE.
Кстати, рекомендую использовать GUI AVRDUDESS, лично мне так гораздо нагляднее и удобнее работать:
Тут я уже выставил все необходимые настроечки и фьюзы — fuses.
Пару слов о fuses.
Есть хорошая статья про них на сайте easyelectronics.ru (сайт всячески рекомендую к просмотру, там много чего интересного имеется).
Рекомендую также пользоваться калькулятором фьюзов для AVR.
Конкретно для моей платы WEI_M8_NLG_TST_V1.10 фьюзы расчитаны так:
Extended Fuse установлены как 0xFF не просто так.
Обычно там ставится 0xFC, но на стр. 27 инструкции Версия 1.12k есть информация о том, что может происходить сброс процессора из-за короткого провала напряжения «Brown Out»,
и, чтобы убрать обнаружение этих провалов, нужно сделать небольшую доработку платы или поставить Extended Fuse на 0xFF
Всё, фьюзы поставили, можно прошивать.
После прошивки, тестер попросит сделать калибровочку, после чего можно пользоваться:
Архив с готовыми прошивками и софтом — тут.
Источник