Транзистортестер на Arduino Nano и I2C LCD1602 дисплее. В скетче любой может подставить адрес своего I2C дисплея и легко собрать ArduTester. Схема простая, только надо отпаять резистор идущий к светодиоду на 13-м пине, иначе при пустых щупах будет показывать емкость в несколько микрофарад.
скетч здесь
Возможности ArduTester:
Определение элемента с указанием порядка подключенных выводов.
NPN транзисторы
PNP транзисторы
N-канальные-обогащенные MOSFET - N-E-MOS
P-канальные-обогащенные MOSFET- P-E-MOS
N-канальные-обедненные MOSFET - N-D-MOS
P-канальные-обедненные MOSFET - P-D-MOS
N-канальные JFET
P-канальные JFET
Тиристоры маломощьные
Симисторы маломощьные
Диоды
Стабилитроны низковольтные
Двухкатодные сборки диодов
Двуханодные сборки диодов
Два последовательно соединенных диода
Диоды симметричные
Резисторы
Переменные резисторы
Конденсаторы (емкость, ESR ЭПС, Vloss утечки)
Индуктивности
Авторы изначального проекта : Markus Frejek,Karl-Heinz Kubbeler,Markus Reschke. Все продаваемые китайцами транзистортестеры - это копии проекта немецких радиолюбителей. Автор с сайта pighixxx.com на основании ассемблерного кода от Markus-а разработал скетч для Arduino UNO. Автор скетча arduinec с сайта arduino.ru воодушевившись этим тоже сделал скетч одной из версий транзистор тестера, и как водиться, оба автора забросили поддержку ардуино скетчей. Автор plouc68000 с сайта arduino.cc сделал скетч на практически самую новую версию ардуино тестера. В общем, все скетчи хороши, выбирай на вкус. Скетч под новую версию транзистортестера очень сложный, а прибор слишком хорош для макетной платы. А если делать все по правильному, то теряется смысл скетча для Arduino. Проще сделать прошивку из исходников немецких радиолюбителей написанных на асемблере и прибор сделать по их же схеме. Почему хороший скетч хуже более старого, в случае макетирования и ардуино? Да потому, что на С++ код будет больше и функций в приборе будет меньше, а те функции которые поместятся, обладают избыточным качеством при повторении на макетной плате. Новый прибор может измерять доли пикофарад и доли ома, а соединения на макетной плате дают изменяющиеся величины сопротивления в пределах пары Ом, что сводит на нет все достоинства нового прибора изготовленного на макетной плате. Длинные провода дают изменяющуюся величину емкости в десяток пикофарад, следовательно диапазон измерения единиц пикофарадов, теряет весь смысл. Длинные провода - это удобно. Измерение от десятков пикофарад и от единиц ом обеспечивает и старый скетч. Зато перечисленные выше недостатки для сборки на макетной плате, уже не так важны. Единственное, что авторы скетчей для arduino так и не разобрались с появляющимися ошибками у некоторых пользователей, которые пытались повторять проекты. Старый скетч "устал" от изменений в новых версиях Arduino IDE и перестал компилироваться. Изучив работу прибора от Karl-Heinz Kubbeler, посмотрев скетчи от plouc68000, остановился на наработках автора arduinec. Привинтил к самому простому скетчу LCD1602 I2C дисплей и заствил скетч компилироваться в новых версиях Arduino IDE. В скетче мной добавлена возможность подставить адрес имеющегося у Вас I2C дисплея в первой строке кода. Разбирая ошибки при повторении проектов с показаниями в несколько микрофарад при пустом щупе, решение найдено еще arduinec. Надо удалить цепочку на ноге микропроцессора участвующей в измерении. Это резистор и светодиод на 13-м пине. Вторая и последняя из замеченых мной ошибок, завышение емкости электролитов, ровно в два раза. Мной из документации от "Markus.." вычитана причина. Необходимые изменения, мной внесены в схему ardutestera. В итоге получился работоспособный транзистортестер на Arduino Nano с I2C LCD1602 дисплеем который легко собрать даже на макетной плате.
Информация от arduinec переделавшего код транзистортестера в скетч для ардуино.
"Исходные файлы объединены в один скетч, границы файлов можно увидеть по разделителям типа /* -=- -=- -=-*/.
Функция main() разделена на setup() и loop(). Отключено энергосбережение, автоотключение и Watchdog.
Функции для дисплея переделаны для использования через стандартные библиотеки LiquidCrystal.
Функции для задержек заменены на ардуиновские. Немецкие слова к коде заменены на английские.
Из языков только английский и язык авторов программы - немецкий.
Для функции GetESR() использована функция us500delay(), которая равносильна delayMicroseconds().
Ошибки:
При получении результатов через Serial monitor после "testing..." в порт попадает какой-то мусор, но дальнейшему выводу он не мешает, поэтому все на это забили. В функции uart_putc() добавлена задержка на 2 мс, так как при скорости 9600 серийный порт не успевал выталкивать данные.
Что ещё есть:
у Arduino Nano остались свободные аналоговые пины A6 и A7. В начале loop() кнопка сначала проверяется на нажатие - после этого на дисплей можно вывести полезную информацию (например о напряжении внешнего питания), затем идёт проверка на отпускание кнопки и запускается тестирование."
Скетчей два с окончанием old и new. По функционалу оба скетча идентичны. Old - старый, условно для более старых Arduino IDE под WindowsXP проверял на "arduinoIDE-v1.6.9-windows_32bit". New - условно для новых Arduino IDE (новый на момент написания этого текста, март 2021 года). Проверял на "arduinoIDE-v1.8.12-windows7_64bit" и "arduinoIDE-v1.8.13-windows7_64bit".
Успехов.
скетч здесь
Возможности ArduTester:
Определение элемента с указанием порядка подключенных выводов.
NPN транзисторы
PNP транзисторы
N-канальные-обогащенные MOSFET - N-E-MOS
P-канальные-обогащенные MOSFET- P-E-MOS
N-канальные-обедненные MOSFET - N-D-MOS
P-канальные-обедненные MOSFET - P-D-MOS
N-канальные JFET
P-канальные JFET
Тиристоры маломощьные
Симисторы маломощьные
Диоды
Стабилитроны низковольтные
Двухкатодные сборки диодов
Двуханодные сборки диодов
Два последовательно соединенных диода
Диоды симметричные
Резисторы
Переменные резисторы
Конденсаторы (емкость, ESR ЭПС, Vloss утечки)
Индуктивности
Авторы изначального проекта : Markus Frejek,Karl-Heinz Kubbeler,Markus Reschke. Все продаваемые китайцами транзистортестеры - это копии проекта немецких радиолюбителей. Автор с сайта pighixxx.com на основании ассемблерного кода от Markus-а разработал скетч для Arduino UNO. Автор скетча arduinec с сайта arduino.ru воодушевившись этим тоже сделал скетч одной из версий транзистор тестера, и как водиться, оба автора забросили поддержку ардуино скетчей. Автор plouc68000 с сайта arduino.cc сделал скетч на практически самую новую версию ардуино тестера. В общем, все скетчи хороши, выбирай на вкус. Скетч под новую версию транзистортестера очень сложный, а прибор слишком хорош для макетной платы. А если делать все по правильному, то теряется смысл скетча для Arduino. Проще сделать прошивку из исходников немецких радиолюбителей написанных на асемблере и прибор сделать по их же схеме. Почему хороший скетч хуже более старого, в случае макетирования и ардуино? Да потому, что на С++ код будет больше и функций в приборе будет меньше, а те функции которые поместятся, обладают избыточным качеством при повторении на макетной плате. Новый прибор может измерять доли пикофарад и доли ома, а соединения на макетной плате дают изменяющиеся величины сопротивления в пределах пары Ом, что сводит на нет все достоинства нового прибора изготовленного на макетной плате. Длинные провода дают изменяющуюся величину емкости в десяток пикофарад, следовательно диапазон измерения единиц пикофарадов, теряет весь смысл. Длинные провода - это удобно. Измерение от десятков пикофарад и от единиц ом обеспечивает и старый скетч. Зато перечисленные выше недостатки для сборки на макетной плате, уже не так важны. Единственное, что авторы скетчей для arduino так и не разобрались с появляющимися ошибками у некоторых пользователей, которые пытались повторять проекты. Старый скетч "устал" от изменений в новых версиях Arduino IDE и перестал компилироваться. Изучив работу прибора от Karl-Heinz Kubbeler, посмотрев скетчи от plouc68000, остановился на наработках автора arduinec. Привинтил к самому простому скетчу LCD1602 I2C дисплей и заствил скетч компилироваться в новых версиях Arduino IDE. В скетче мной добавлена возможность подставить адрес имеющегося у Вас I2C дисплея в первой строке кода. Разбирая ошибки при повторении проектов с показаниями в несколько микрофарад при пустом щупе, решение найдено еще arduinec. Надо удалить цепочку на ноге микропроцессора участвующей в измерении. Это резистор и светодиод на 13-м пине. Вторая и последняя из замеченых мной ошибок, завышение емкости электролитов, ровно в два раза. Мной из документации от "Markus.." вычитана причина. Необходимые изменения, мной внесены в схему ardutestera. В итоге получился работоспособный транзистортестер на Arduino Nano с I2C LCD1602 дисплеем который легко собрать даже на макетной плате.
Информация от arduinec переделавшего код транзистортестера в скетч для ардуино.
"Исходные файлы объединены в один скетч, границы файлов можно увидеть по разделителям типа /* -=- -=- -=-*/.
Функция main() разделена на setup() и loop(). Отключено энергосбережение, автоотключение и Watchdog.
Функции для дисплея переделаны для использования через стандартные библиотеки LiquidCrystal.
Функции для задержек заменены на ардуиновские. Немецкие слова к коде заменены на английские.
Из языков только английский и язык авторов программы - немецкий.
Для функции GetESR() использована функция us500delay(), которая равносильна delayMicroseconds().
Ошибки:
При получении результатов через Serial monitor после "testing..." в порт попадает какой-то мусор, но дальнейшему выводу он не мешает, поэтому все на это забили. В функции uart_putc() добавлена задержка на 2 мс, так как при скорости 9600 серийный порт не успевал выталкивать данные.
Что ещё есть:
у Arduino Nano остались свободные аналоговые пины A6 и A7. В начале loop() кнопка сначала проверяется на нажатие - после этого на дисплей можно вывести полезную информацию (например о напряжении внешнего питания), затем идёт проверка на отпускание кнопки и запускается тестирование."
Скетчей два с окончанием old и new. По функционалу оба скетча идентичны. Old - старый, условно для более старых Arduino IDE под WindowsXP проверял на "arduinoIDE-v1.6.9-windows_32bit". New - условно для новых Arduino IDE (новый на момент написания этого текста, март 2021 года). Проверял на "arduinoIDE-v1.8.12-windows7_64bit" и "arduinoIDE-v1.8.13-windows7_64bit".
Успехов.
Вложения
-
140.9 KB Просмотры: 1,768
Изменено: