В прошлой статье о "Неудачной покупке EEPROM" я упомянул про тестер микросхем, который начал собирать на Ардуино. В этой статье расскажу и покажу, что у меня получилось сделать.
Итак, в поисках тестера нашел сначала статью на masterclub.online, но, дочитав до конца понял, что это перепечатка с англоязычного сайта и решил изучать оригинал.
Схема агрегата довольно проста:
Понадобятся:
Ардуино НАНО,
ZIF панель на 16 контактов,
15 резисторов на 680 Ом,
микросхема ЕЕПРОМ 24С512 (но можно и 24С256),
LCD дисплей,
кнопка и ещё один резистор (10 кОм).
Следуя в точности схеме, собрал агрегат, и первоначальный вид выглядел вот так:
Так как купленные на Озоне еепромы были бракованные, то пришлось сначала применить 24С08, в неё вошло 10 тестов, но этого хватило для первоначальных тестов. И первый же тест выявил неработоспособность тестера с отечественными микросхемами. Сначала я взял микросхему 74LS00 и тестер её нормально определил. Но вот вставив микросхему 555ЛА3, тестер ничего не нашёл! Немного почесав затылок, решил запитать Ардуину не через USB, а с контакта Vin и это дало результат, но нестабильный. То есть микросхемы определялись через раз.
Далее, ещё почесав голову, решил подать питание микросхеме напрямую, а не через Ардуину. И здесь дело пошло гораздо лучше! То есть микросхемам просто не хватало питания от пинов Ардуины.
Затем занялся программным извращением, а именно: разделил базу тестов на 2 части и залил в две микросхемы еепром (для 14-ти и 16-ти ногих микросхем), дал им соответствующие внутренние номера, а в код добавил условие, которое считывало номер и в соответствии с базой тестов выдавало HIGH на пины 15 или 16 панели. И это работало! Для переключения еепромов использовал кнопку с фиксацией, можно было даже на «горячую» переключать, но с обязательным сбросом Ардуины. Также попутно заменил LCD дисплей на ОЛЕД.
Вся эта конструкция с двумя еепромами меня не впечатляла, и, подумав, решил заменить все резисторы контактов панели на 100 Ом, и все эти «извращения» стали не нужны, поэтому в окончательной версии тестера используется одна микросхема еепром с тестами для 14-ти и 16-ти ногих микросхем вместе. Только тесты для 40хх серии убрал, чтобы тестер быстрее работал.
От себя в код добавил такое дополнение, как перевод всех контактов панели в состояние LOW после окончания тестов, мне почему-то показалось, что состояние HIGH на некоторых контактах после окончания теста - не есть хорошо. А оставалось оно, наверно, по состоянию последнего теста, и никакого сброса не было предусмотрено.
И всё-таки этот тестер мне не особо понравился, он не тестировал некоторые микросхемы, хотя они в базе есть. Например, такие микросхемы, как КП11, ТМ9, ИЕ10, ЛП9 и ЛН1 не определялись. И даже ЛА3 определялась не с первого раза. В общем, тестер не оправдал ожиданий, хотя, как говорится, «дешево-сердито».
Далее, этот тестер решено было переделать в тестер микросхем DRAM памяти. Нашел самый простой проект и стал адаптировать свою поделку. Схема тестера памяти тоже довольно простая и очень похожа на схему тестера логики. Отличия только в подключении панели и кнопки:
И тут родилась идея сделать этакий комбо-девайс — тестер логики и тестер памяти. Но, так как в Ардуино я балбес, то совместить код у меня не получилось (хотя я и не особо пробовал), а вот схему подключения обоих проектов подогнал под одну, зашил две Ардуины, и теперь, если нужен тот или иной тестер, то просто перетыкаю Ардуинки.
Так как питание микросхем памяти сделано наоборот ("+" 8-я нога, "-" 16-я нога), то питанием в обоих проектах стала заниматься Ардуина.
Немного про тестер памяти. Тестер автоматически определяет тип установленной памяти, а если ничего не вставлено, то выдает ошибку:
Тест проходит в 4 этапа: первый — заполнение 01, второй — заполнение 10, третий — заполнение только 0, четвертый — заполнение 1. Если во время теста будут ошибки, тестер посчитает их, и если их больше 100, то тест останавливается, если меньше, то по окончании на экран выводится количество ошибок.
Вот такой агрегат получился. Кстати, у тестера логики есть продолжение, энтузиасты сделали его на Ардуино Мега 2560 с сенсорным экраном. Я уже и этот проект хотел повторить, но тут нужно делать денежные вложения (мега и экран не так дешево стоят). И, поразмыслив, отказался от этого варианта, а купил программатор XGecu T48, без каких-либо доп панелей (хоть и дороже меги с экраном, но всё же полноценный программатор). Сразу проверил на нём все микросхемы, что не смог Ардуино-тестер, всё нормально определяет (и очень быстро).
Скетчи тестеров в моей редакции можно скачать на моём основном сайте:
Так же смотрите видеообзор на эту поделку: