Положил дед Мороз под новогоднюю елочку мне тестер радиоэлектронных компонентов в виде китайского клона широко известного в узких кругах тестера Маркуса.
Здесь должна была быть картинка включенного тестера с радостно светящимся всеми цветами радуги экранчиком, но руки из одного места воткнули в него заряженный конденсатор, тестер радостно самовключился, сказал «ой!» и работать отказался.
Жалко, блин. Попробуем отремонтировать.
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.
Здесь должна была быть картинка включенного тестера с радостно светящимся всеми цветами радуги экранчиком, но руки из одного места воткнули в него заряженный конденсатор, тестер радостно самовключился, сказал «ой!» и работать отказался.
Жалко, блин. Попробуем отремонтировать.
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.
pproger
или можно купить новый за 150р :)
Vanellope Автор
DIY вообще и любое хобби в частности — это нецелевое расходование средств и времени.
kzhyg
Происходящее исключительно из-за использования метода тыка, 3/4 телодвижений можно было избежать, прочитав пару статей уровня «я купил ардуино, что теперь делать?».
Vanellope Автор
А как же познание через эксперимент?
kzhyg
Предпочитаю экспериментировать с менее общеизвестными вещами)
batman12345
Нецелевое расходование средств и времени это, например, — бухать.
А diy — это отдушина среди рутины, так или иначе приносящий дивиденды.
Ezhyg
Прямо таки за 150 рэ?
Sergey78
Выглядит действительно сложно, очень много действий :) Я avr шью через ftdi232, очень универсальная платка. Под линуксом нужен только avrdude и avr-gcc, все ставится из репов и работает из коробки. Под виндой у ftdi возможно драйвер подменить надо.
В исходниках с svn есть уже готовые make файлы, там только свой программатор указать, и можно шить, там все ключи для avrdude есть.
По мне так попроще выглядит, сказать make и make flash и не тащить winavr и какие-то оболочки для avrdude.
А что за микросхему вы ещё прошивали? И зачем?
batman12345
Устаревший программатор, очевидно
Sergey78
Я про STC15L104W спрашивал, что за управление питанием с микроконтроллером и зачем так сложно.
Vanellope Автор
U4, контроллер питания, контролирует питание, управляет DC/DС преобразователем на 35 В, подает сигналы на основной контроллер включиться или выключиться. Следит за единственной кнопкой, без него тестер на кнопку не отреагирует. Должен задавать интервалы отключения питания от 10 до 25 секунд в зависимости от перемычек, но этот функционал не работает.
Оригинальная китайская прошивка не совместима с прошивкой Маркуса, поэтому добрые люди ее слили и доработали. Доработали не до конца, но у меня есть исходник, Кейл для 51 контроллеров, немного энтузиазма и немного свободного времени.
Sergey78
Я так понимаю в других версиях, вместо этого контроллера схема на трех транзисторах.
Я думал этот контроллер для тестирования стабилитронов или чего-то такого, чего нет в более простых версиях.
А что там не совместимо? Если это просто понижающий dc-dc управляющий питанием?
Vanellope Автор
Да, можно и здесь заменить микроконтроллер на некую схему, можно залить модифицированную прошивку. С родной прошивкой тестер точно не запускался. Весь функционал тестера, в том числе и по тестированию стабилитронов возложен на Атмегу. U4 просто дает сигнал запуска на DC/DС 5 В в 35 В, которые и используются для тестирования стабилитронов. Более подробно не изучала, первоочередная задача на данный момент — разобраться, почему тестер делает всего одно измерение, а не серию и после проведения измерения очень быстро отключается, сказав на прощание «Bye!».
Fox_Alex
Поздравляю с успешным ремонтом) Сам я когда-то в доалиэкспрессные времена себе такой собирал. Еще первую версию, на текстовом ЖКИ. В любительских делах незаменимый приборчик. Тоже однажды так его спалил, не разрядив кондер. Первой-же «модернизацией» после ремонта стала еще одна клеммная группа с резистором на 10 Ом для разрядки конденсаторов. Приборчик жив и работает до сих пор.
Vanellope Автор
Спасибо, надо провести такую же модернизацию, благо, функционал такой в программу заложен.
Int_13h
Если собираешься рыться в сырцах фирмвари, не торопись сносить АтмелСтудио. Наверное самая удачная IDE под AVR (это же вижуалстудио!), со встроенным симулятором для отладки.