Положил дед Мороз под новогоднюю елочку мне тестер радиоэлектронных компонентов в виде китайского клона широко известного в узких кругах тестера Маркуса.
Здесь должна была быть картинка включенного тестера с радостно светящимся всеми цветами радуги экранчиком, но руки из одного места воткнули в него заряженный конденсатор, тестер радостно самовключился, сказал «ой!» и работать отказался.
Жалко, блин. Попробуем отремонтировать.
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.
8. Ищем софт stc-isp6.86.rar на сайте производителя.
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. Впаиваем по методике перемычку на плату, сначала бэкапим прошивку и фьюзы.
10.6. Шьем.
Выпаиваем перемычку. Подключаем бывший USB ISP и компьютеру и не обнаруживаем его софтом. Может с фьюзами путаница? Потом разберемся. Прости! Но ты выполнил свою цель и можешь пока упокоиться с миром.
10.7. Goto 10.2. Но теперь наш программатор уже шьет Atmega успешно.
11. Волнуемся насчет успеха проведенной операции.
12. Запуск тестера. Бинго!
Измерения идут, но не обошлось и без недостатков — тестер практически мгновенно отключается после процесса измерения, можно и не успеть снять показания.
В следующей серии: попытки сделать свою прошивку для тестера для устранения эффекта мгновенного отключения. Прошивка будет базироваться на исходниках Маркуса. А также, как я пыталась, но не смогла полюбить AVR.
Автор: Vanellope von Glitch