Транзисторный тестер на atmega328 своими руками

Добавил пользователь Дмитрий К.
Обновлено: 31.08.2024

Схема тестера полупроводников на AT Mega328

В оригинальной части присутствует схема на двух транзисторах, которая нужна для авто отключения. В моем варианте все сделано так:

Модифицированная схема транзистор-тестера на Mega328

Платы к сожалению нет, из-за простоты конструкции прибор был собран на макетной плате. Теперь немного о некоторых моментах сборки. Резисторы 470K и 680R следует применять 1%, или еще более точные. От них зависит точность измерений. Питание прибора 5В. У меня схема питается от литиевого аккумулятора и применен преобразователь на 5В плюс контроллер зарядки TP4056. Рекомендую все же применить плату от Power Banka, в которой уже встроен преобразователь и контроллер заряда. Прошивка есть в архиве, но на официальном сайте можно найти и исходники, а также есть инструкции как перекомпилировать прошивку под свой процессор, дисплей или входное напряжение. Да, забыл уточнить, в приборе присутствует контроль напряжения питания. Ну вот вроде и все нюансы, если есть вопросы пишите в комментарии.

продаётся раскрученный сайт недорого обращаться в личку

измерение частоты прямым методом (через счётный вход таймера) - вплоть до нескольких МГц (смотря какая тактовая частота у AVR);
измерение низких частот (25 кГц и ниже) посредством замера периода сигнала;
генератор частоты - в диапазоне от 1 Гц до 2 МГц;
генератор ШИМ-сигнала (10-bit PWM);
мгновенное выключение прибора кнопкой (для базовой схемы питания - с ключом и таймаутом).

На плате предусмотрено питание от двух батареек типа ААА,
а так же от внешнего источника 9-12 вольт, посредством разъема питания d=2.1/5.5 мм.

Так же на ваш "страх и риск" предусмотрены разъемы типа Джек 3.5 для подключения
измерительных щупов, только не забываем что точность на щупах может быть неточной.

Возможна установка ZIF-16 панели под измерительные контакты.

Изображение

Документацию по сборке набора и самого прибора можно скачать здесь: Donwload

Немного фотообзора:

Изображение
Изображение

Изображение
Изображение

Изображение
Изображение

Изображение
Изображение

Изображение
Изображение

Изображение
Изображение

Изображение
Изображение

Изображение
Изображение

Изображение
Изображение

Набор для сборки тестера:

Набор включает в себя плату и полный комплект деталей для сборки прибора.
Микроконтроллер Atmega168 прошит!
ZIF-16 панель в комплект не входит.

Список компонентов:

Резисторы:
0.33 – 2 шт.
180 – 2 шт.
680 – 4 шт.
1.5К – 3 шт.
2к – 1 шт.
3.3к – 3 шт.
10к – 5 шт.
20к – 1 шт.
27к – 3 шт.
51к – 1 шт.
100к – 1 шт
180к – 1 шт.
470к – 3 шт.
Резистор переменный 10К – 1 шт.

Конденсаторы:
22 пФ - 2 шт.
470 пФ – 2 шт.
1 нФ – 1 шт.
100 нФ – 8 шт.
100х16 6 шт.
10х50 – 1 шт.

Индуктивности:
330мГ- 2 шт.
Диоды:
SS110(SS14) – 2 шт.
Светодид 0805 – 1 шт.
Светодиод 3мм 1 – шт.
BZX55-C4V7 – 1 шт.
1N4148 – 1 шт.

Транзисторы:
BC846 – 2 шт.
BC856 – 1 шт.
IRLML5230 – 1 шт.
TL4331 – 1 шт.
Микросхемы:
78M05 – 1 шт.
Atmega168 - 1 шт.
MC33063 – 2 шт.

Разное:
ПЛС МАМА-ПАПА – 12 КОНТАКТОВ.
Кварц 8 МГц – 1 шт.
Разьем Джек 3.5 – 2 шт.
Кнопка Фиксатор – 1 шт.
Кнопа 12х12 – 1 шт.
Разъем питания – 1 шт.
Панель под батарейки – 1 шт.
Индикатор 16х2 – 1шт.

ZIF-16 – в комплект не входит.

Изображение

Немного фотообзора:

Изображение
Изображение

Изображение
Изображение

Изображение
Изображение

Цены на прибор и наборы для сборки:

Цена готового устройства Atmega328 (без ZIF-16): 24 USD.
Цена набора для сборки Atmega328 (без ZIF-16): 19 USD.

Недавно я нашел на просторах интернета краткое описание и схему о том, как самому в домашних условиях собрать тестер полупроводниковых элементов на микроконтроллере Atmega328P. ESR тестер на построен на плате Arduino Pro Mini плюс имеет дисплей TFT 1.8" 128*60 SPI Color TFT L на базе контроллера ST7735. Эти модули можно купить AliExpress по доступной цене.

Необходима доработка платы Arduino Pro Mini:

Начал изучать схему Arduino Pro Mini и выяснил, что все вывода от микроконтроллера Atmega328P на самой плате как и полагается правильно разведены. Более того в плату запаян стабилизатор 5 вольт. Единственно необходимо выпаять на плате Arduino Pro Mini с микроконтроллером Atmega328P - несколько деталей.
- Убрать конденсатор 0,1мкФ с вывода AREF и выпаять резистор и светодиод от вывода (PB5 (SCK/PCINT5))

необходимо выпаять на плате Arduino Pro Mini детали

Что касется кварца, то в Arduino Pro Mini уже установлен кварц на 16 МГц. Его оставляем.

Arduino Pro Mini с уже установлен кварц на 16 МГц

Схема тестера на Arduino Pro Mini с цветным дисплеем

Arduino Pro Mini с дисплей TFT 1.8 Color на базе контроллера ST7735

Список электронных компонентов для сборки ESR тестера

Резистор 680 Ом - 3 шт.
Резистор 3,3 кОм - 1 шт.
Резистор 10 кОм - 6 шт.
Резистор 27 кОм - 1 шт.
Резистор 470 кОм - 3 шт.
Резистор 39 Ом - 1 шт.
Кнопка обычная - 1 шт.
Плата Arduino Pro Mini - 1 шт.- стоимость в Китае 100-120 руб.
Дисплей TFT 1.8" 128*60 SPI Color TFT L на базе контроллера ST7735 - стоимость в Китае 150-200 руб.

esr meter arduino pro nano

Для прошивки arduino mini использовал следующий программатор. Как подключить программатор USBASP смотрите схему ниже. Заказывал в Китае на AliExpress.

Рассмотрение схемы прибора привело к выводу, что для измерений к Arduino нужно добавить лишь 6 резисторов (что и было реализовано).

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

В комплекте к скетчу прилагаются:
- документация к прибору от авторов на английском и русском языках;
- исходные коды от авторов (папка source);
- картинки схемы подключения и фото макетной платы (папка images);
- последняя версия скетча от Pighixxx.

Для переработки в скетч была взята версия 1.08k от Karl-Heinz Kubbeler. По аналогии с авторами она получила общий номер 1.08a, а номер версии соответственно 1.08.001.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Схема получившегося тестера транзисторов практически совпадает с картинкой Pighixxx (поэтому не стал рисовать свою):


Есть только маленькие отличия:
- не припаян конденсатор на AREF, так как по описанию разработчиков он иногда мешает при переключении на внутренний источник опорного напряжения Arduino 1,1 вольт;
- добавлен к кнопке подтягивающий резистор к питанию на 100 кОм, так как в коде может применяться команда, отключающая внутреннюю подтяжку к питанию всех пинов.

Дисплей подключен по стандартной схеме:


Дисплей подключается к пинам D2-D7, пины D0 и D1 свободны для Serial port, пины A4 и A5 свободны для I2C.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

На макетной плате собрал разборную конструкцию на основе Arduino Nano 328 и LCD 1602:



На фотографии видны 6 резисторов, необходимых для измерений. Справа распаян разъём для подключения по I2C, и ещё маленький разъём для подключения внешнего питания (от Кроны например).
Провода специально проложил сверху, чтобы было видно к каким пинам они идут. Снизу макетку не стал фотографировать, чтобы не позориться из-за напаянных там комков (программирую я лучше чем паяю).
На Arduino Nano пришлось удалить светодиод на 13-м пине (точнее был удален токоограничительный резистор).
Схему можно собрать и без дисплея, так как результаты через Serial port могут передаваться в Serial monitor Arduino IDE.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Как в коде реализован процесс измерения сильно не вникал, лишь преобразовал код авторов в скетч для Arduino. Компилировал на Arduino IDE версии 1.0.5.

Основные изменения в коде (из того что вспомнил):
- все исходные файлы объединены в один скетч, границы файлов можно увидеть по разделителям типа /* -=- -=- -=- */;
- программный код приведён к "читабельному виду" (у авторов в коде часто не хватает отступов);
- разумеется функция main() была разделена на setup() и loop();
- отключено энергосбережение, автоотключение и Watchdog;
- функции для дисплея переделаны для использования через стандартные библиотеки LiquidCrystal - так лучше для смены дисплея;
- обмен через серийный порт у авторов планировался через пин A3, поэтому их UART в скетче отключен, но маска TXD_MSK (задаваемая там) используется для отделения других аналоговых портов от измерительных A0-A2;
- функции для задержек от авторов через макросы заменены на стандартные ардуиновские;
- немецкие слова к коде заменены на английские (например: Ausgabe на Output);
- из языков оставил только английский и немецкий;
- некоторые куски кода закомментировал, но оставил - могут кому-нибудь пригодится при модификации кода;
- в функции GetESR() для задержек требовалась точность в 0,5 мкс, поэтому написал функцию us500delay(), которая равносильна delayMicroseconds(), но на 500 нс работает дольше.

Замеченные ошибки:
- при получении результатов через Serial monitor после "testing. " в порт попадает какой-то мусор, но дальнейшему выводу он не мешает, поэтому не стал разбираться;
- в функции uart_putc() пришлось добавить задержку на 2 мс, так как при скорости 9600 серийный порт не успевал выталкивать данные.

Что можно ещё сделать:
- у Arduino Nano остались свободные аналоговые пины A6 и A7 - можно на них завести дополнительные проверки (например для внешнего питания);
- в начале loop() кнопка сначала проверяется на нажатие - после этого на дисплей можно вывести какую-нибудь полезную информацию (например о напряжении внешнего питания), затем идёт проверка на отпускание кнопки и запускается тестирование;
- вместо кнопки можно сделать запуск тестирования через серийный порт.

Читайте также: