Найти тему
RahostStudio

Тестер микросхем на Arduino NANO

В прошлой статье о "Неудачной покупке EEPROM" я упомянул про тестер микросхем, который начал собирать на Ардуино. В этой статье расскажу и покажу, что у меня получилось сделать.

Итак, в поисках тестера нашел сначала статью на masterclub.online, но, дочитав до конца понял, что это перепечатка с англоязычного сайта и решил изучать оригинал.

Схема агрегата довольно проста:

Понадобятся:
Ардуино НАНО,
ZIF панель на 16 контактов,
15 резисторов на 680 Ом,
микросхема ЕЕПРОМ 24С512 (но можно и 24С256),
LCD дисплей,
кнопка и ещё один резистор (10 кОм).

Следуя в точности схеме, собрал агрегат, и первоначальный вид выглядел вот так:

Тестер сразу после сборки
Тестер сразу после сборки

Так как купленные на Озоне еепромы были бракованные, то пришлось сначала применить 24С08, в неё вошло 10 тестов, но этого хватило для первоначальных тестов. И первый же тест выявил неработоспособность тестера с отечественными микросхемами. Сначала я взял микросхему 74LS00 и тестер её нормально определил. Но вот вставив микросхему 555ЛА3, тестер ничего не нашёл! Немного почесав затылок, решил запитать Ардуину не через USB, а с контакта Vin и это дало результат, но нестабильный. То есть микросхемы определялись через раз.

Тест микросхемы КР1533ЛЕ1 с питанием через контакт Vin Ардуино
Тест микросхемы КР1533ЛЕ1 с питанием через контакт Vin Ардуино

Далее, ещё почесав голову, решил подать питание микросхеме напрямую, а не через Ардуину. И здесь дело пошло гораздо лучше! То есть микросхемам просто не хватало питания от пинов Ардуины.

Затем занялся программным извращением, а именно: разделил базу тестов на 2 части и залил в две микросхемы еепром (для 14-ти и 16-ти ногих микросхем), дал им соответствующие внутренние номера, а в код добавил условие, которое считывало номер и в соответствии с базой тестов выдавало HIGH на пины 15 или 16 панели. И это работало! Для переключения еепромов использовал кнопку с фиксацией, можно было даже на «горячую» переключать, но с обязательным сбросом Ардуины. Также попутно заменил LCD дисплей на ОЛЕД.

Версия тестера с двумя базами данных в разных микросхемах EEPROM
Версия тестера с двумя базами данных в разных микросхемах EEPROM

Вся эта конструкция с двумя еепромами меня не впечатляла, и, подумав, решил  заменить все резисторы контактов панели на 100 Ом, и все эти «извращения» стали не нужны, поэтому в окончательной версии тестера используется одна микросхема еепром с тестами для 14-ти и 16-ти ногих микросхем вместе. Только тесты для 40хх серии убрал, чтобы тестер быстрее работал.

От себя в код добавил такое дополнение, как перевод всех контактов панели в состояние LOW после окончания тестов, мне почему-то показалось, что состояние HIGH на некоторых контактах после окончания теста - не есть хорошо. А оставалось оно, наверно, по состоянию последнего теста, и никакого сброса не было предусмотрено.

И всё-таки этот тестер мне не особо понравился, он не тестировал некоторые микросхемы, хотя они в базе есть. Например, такие микросхемы, как КП11, ТМ9, ИЕ10, ЛП9 и ЛН1 не определялись. И даже ЛА3 определялась не с первого раза. В общем, тестер не оправдал ожиданий, хотя, как говорится, «дешево-сердито».

Далее, этот тестер решено было переделать в тестер микросхем DRAM памяти. Нашел самый простой проект и стал адаптировать свою поделку. Схема тестера памяти тоже довольно простая и очень похожа на схему тестера логики. Отличия только в подключении панели и кнопки:

-5

И тут родилась идея сделать этакий комбо-девайс — тестер логики и тестер памяти. Но, так как в Ардуино я балбес, то совместить код у меня не получилось (хотя я и не особо пробовал), а вот схему подключения обоих проектов подогнал под одну, зашил две Ардуины, и теперь, если нужен тот или иной тестер, то просто перетыкаю Ардуинки.

Окончательный вариант тестера
Окончательный вариант тестера

Так как питание микросхем памяти сделано наоборот ("+" 8-я нога, "-" 16-я нога), то питанием в обоих проектах стала заниматься Ардуина.

Немного про тестер памяти. Тестер автоматически определяет тип установленной памяти, а если ничего не вставлено, то выдает ошибку:

Предупреждение. После установки микросхемы можно нажать кнопку "Старт", либо сделать сброс Ардуино
Предупреждение. После установки микросхемы можно нажать кнопку "Старт", либо сделать сброс Ардуино

Тест проходит в 4 этапа: первый — заполнение 01, второй — заполнение 10, третий — заполнение только 0, четвертый — заполнение 1. Если во время теста будут ошибки, тестер посчитает их, и если их больше 100, то тест останавливается, если меньше, то по окончании на экран выводится количество ошибок.

Тест завершен, микросхема исправна
Тест завершен, микросхема исправна

Вот такой агрегат получился. Кстати, у тестера логики есть продолжение, энтузиасты сделали его на Ардуино Мега 2560 с сенсорным экраном. Я уже и этот проект хотел повторить, но тут нужно делать денежные вложения (мега и экран не так дешево стоят). И, поразмыслив, отказался от этого варианта, а купил программатор XGecu T48, без каких-либо доп панелей (хоть и дороже меги с экраном, но всё же полноценный программатор). Сразу проверил на нём все микросхемы, что не смог Ардуино-тестер, всё нормально определяет (и очень быстро).

Скетчи тестеров в моей редакции можно скачать на моём основном сайте:

Тестер микросхем на Arduino NANO > Rahost Studio

Так же смотрите видеообзор на эту поделку: