Некоторое время назад я купил IC тестер от Genius. Модель G540 позволяла программировать различные IC, была способна тестировать CMOS и TTL IC. Последняя функция была достаточно интересной, так как это позволяло ремонтировать и проверять вещи намного проще — ты знаешь, какая часть имеет дефект, вместо того, чтобы заменять все части и микросхемы по одной в поисках неисправной.
Девайс работал хорошо до тех пор, пока я не перешел на Win7. На этом этапе он начал создавать проблемы, не распознавался в некоторых случаях, а сама программа могла зависнуть в момент IC тестирования. В поисках альтернативы я решил сделать тестер своими руками с некоторыми дополнительными улучшениями.
В результате я получил IC tester на Ардуино с возможностью вывода результатов проверки на серийный порт, при этом он работает в большинстве случаев (но до сих пор есть кое что, что можно улучшить).
Шаг 1: Что было в начале
Оригинальный тестер от Genius работал хорошо, но вначале нужно было сделать множество кликов, выбирая девайс и т.д. Всегда нужно было запускать программу и самое важное, что не было никакой информации об итогах тестирования. Если IC не был найден, то невозможно было определить по какой причине: из-за поломки, или из-за некорректного цикла тестирования (что случается с некоторыми IC).
Идея состояла в том, чтобы устранить эти недостатки разработав на Ардуино Нано свой тест.
Шаг 2: Схема
Схема тестера конденсаторов довольно проста. Центральным элементом является Ардуино нано. Ввиду ограничения доступных портов, максимальное количество тестируемых пинов равняется 16 (чего вполне хватает для большинства IC).Чтобы добиться этого, коммуникация с экраном и EEPROM, содержащим тестовые данные, осуществляется через I2C. Нано берёт на себя коммуникацию с компьютером и отображает детальные результаты тестов.
Дисплей LCD — стандартный экран 16*2 с I2C конвертером, он занимает всего 2 пина на Ардуино.
Тестовые данные хранятся в I2C EEPROM AT24C512. Там хранится скрипт, который шаг за шагом проводит тестирование. Для каждого типа IC посылается последовательность логических входных данных, и определенные данные ожидаются на выходе. В случае если данные не соответствуют ожиданиям, скрипт перепрыгивает к следующей возможной части исполнения. В данной версии девайса EEPROM нужно отдельно программировать программатором. Я не нашел способа переправить 25кБ данных кроме как через серийный порт.
Тестовые скрипты находятся в текстовом виде, так что их можно легко модифицировать, синтаксис в скетче Ардуино.
При тестировании, несколько сигналов посылается на тестируемую часть, которая не соответствует спецификации и проверяются все возможные комбинации. Чтобы предотвратить перегрузку Arduino и детали, все соединения проходят через резисторы на 680 Ом. Это создает много сигналов «ниже спецификаций», что приводит к случайным выходам тестируемой ИС. Тем не менее, если IC подключается к тестируемым сигналам, выход тестируемой IC можно использовать.
Тестирование начинается с одного коммутатора, подключенного к одному из аналоговых входов.
Шаг 3: Девайс в работе
В приложенном видео можно посмотреть тестер в работе.
Как и его фабричные собраться, тестер работает не со всеми IC. С некоторыми работать сложно, так как не совсем понятно, какие сигналы нужно ожидать. Как только у меня будет свободное время, я проведу некоторую оптимизацию.
ФайлыШаг 4: EEPROM для тестера
Кто-то из вас может задаться вопросом, можно ли загрузить тестовую информацию в EEPROM без использования программатора.
После некоторых изысканий я дописал код, чтобы сделать эту задумку возможной. Очень важным аспектом загрузки данных через Serial Monitor Ардуино является то, что нужно выставить значение baudrate на 1200! При этом загрузка кода займёт некоторое время, но вы обезопасите себя от потери данных.
Загрузите набросок программы, откройте Serial Monitor и дождитесь, пока перед вами не появятся опции. Нажмите «d», а затем Enter. Тестер войдёт в режим загрузки. Просто вставьте всё содержимое test_16_full.dat и нажмите Enter. На экране начнут отображаться байты. «done» на мониторе будет означать, что данные успешно загружены.
Файлы
NewliquidCrystal_1.3.4.zip