Transistor Tester for Arduino

savantik
Offline
Зарегистрирован: 17.08.2016

Вот ещё один проект , уже с большим графическим дисплеем ( дисплей ST7920 ) , на Али их полно.

https://yadi.sk/d/LFxc_SL63GRsMV

 

arduinec
Offline
Зарегистрирован: 01.09.2015

savantik пишет:

Вот ещё один проект , уже с большим графическим дисплеем ( дисплей ST7920 ) , на Али их полно.

Ну и где скетч данного проекта?

Прошивка для данного дисплея есть и у разработчиков ТТ:
http://www.mikrocontroller.net/svnbrowser/transistortester/Software/trun...

savantik
Offline
Зарегистрирован: 17.08.2016

Он не на скетче , а на полной прошивке микроконтроллера Ардуино.

bester
Offline
Зарегистрирован: 25.06.2016

arduinec, А причем тут скетч? Плата ардуино называется? Ардуино. При загрузке скетча нужен загрузчик, который занимает окомо 2 кб памяти, которой и так не достаточно. Заливайте .hex и .eep через программатор.

arduinec
Offline
Зарегистрирован: 01.09.2015

savantik пишет:

Он не на скетче , а на полной прошивке микроконтроллера Ардуино.

Ну и чем эта прошивка отличается от прошивки разработчиков ТТ ?
У разработчиков кроме прошивки есть исходный код (на Си кстати) и документация (в том числе и на русском языке).

arduinec
Offline
Зарегистрирован: 01.09.2015

bester пишет:

arduinec, А причем тут скетч? Плата ардуино называется? Ардуино.

При прошивке (.hex и .eep) плата из Arduino превращается в просто AVR-контроллер.

bester пишет:

При загрузке скетча нужен загрузчик, который занимает окомо 2 кб памяти, которой и так не достаточно.

В Arduino Nano можно загрузчик 512 байт залить.

bester
Offline
Зарегистрирован: 25.06.2016

512 тоже объем. Чем вас не устраивает Makefile, редактируйте, что вам нужно, компилируйте и заливайте. Места для всего, что есть уже не хватает в 328, + как вы хотие загрузчик 512 байт, где логика? Без загрузчика не входит все, что можно.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

savantik пишет:

Он не на скетче , а на полной прошивке

Скетч - это исходный код прошивки. 

savantik пишет:

микроконтроллера Ардуино.

Нет такого. Есть микроконтроллер Atmega (AVR), который стоит на плате Ардуино.

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

bester пишет:

При загрузке скетча нужен загрузчик

Неверно. Загрузчик нужен для загрузки прошивки через USB-UART. На этом этапе уже нет никакого скетча, есть только скомпилированный *.hex. Поэтому скомпилированный скетч (hex) из Arduino IDE можно точно также загружать через программатор, без загрузчика.

arduinec
Offline
Зарегистрирован: 01.09.2015

bester пишет:

Чем вас не устраивает Makefile, редактируйте, что вам нужно, компилируйте и заливайте.

В постах #1 и #18 данной темы я уже выбрал что нужно и сделал скетчи ТТ для Arduino.

arduinec
Offline
Зарегистрирован: 01.09.2015

bester пишет:

Плата ардуино называется? Ардуино.

Вот именно что называется - от Ардуины там только название, вытравленное на плате. Реально же там используется только микроконтроллер.

Immortal
Offline
Зарегистрирован: 28.12.2013

Очень люблю этот транзистортестер и хочу собрать его улучшенную версию. Есть пару вопросов:

1) Какой экран лучше ставить? (дает меньше помех)

2) Может есть у кого актуальная схема+плата (желательно в Eagle) с хорошим ИОН и другими улучшениями ттх прибора?

3) Если схемы нет, то какие модификации посоветуете сделать?

 

apeks1
apeks1 аватар
Offline
Зарегистрирован: 19.05.2016

1- выбирайте http://vrtp.ru/index.php?showtopic=26668&st=1170

2- пункт 3

3- читайте http://vrtp.ru/index.php?showtopic=26994

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

А под 0,96 OLED не переписывали еще?

arduinec
Offline
Зарегистрирован: 01.09.2015

Добавил в скетч поддержку дисплея OLED 0.96" (based on SSD1306 drivers) в текстовом режиме, номер версии при этом поменялся на 1.08.003. В комплект добавил также подключаемые библиотеки дисплеев.

https://yadi.sk/d/d_feRbpv3N852E

Для выбора дисплея нужно раскомментировать (остальные закомментировать) требуемые #define:

//#define LCD1602
//#define LCD_I2C
//#define NOK5110
#define OLED096
#define OLED_I2C

Для дисплея LCD 1602 раскомментируется #define LCD1602.
Для дисплея LCD 1602 с I2C-интерфейсом комментарий снимается с двух строк: #define LCD1602 и #define LCD_I2C.
Для дисплея Nokia 5110 комментарий убирается с #define NOK5110.
Для дисплея OLED 0.96" с SPI-интерфейсом раскомментируется #define OLED096.
Для дисплея OLED 0.96" с I2C-интерфейсом комментарий снимается с двух строк: #define OLED096 и #define OLED_I2C.
Вывод в Serial port работает, даже если закомментированы все строчки с дисплеями.

Для отображения символов диода, конденсатора, резистора на дисплеях Nokia 5110 и OLED 0.96" в библиотеке Adafruit-GFX нужно заменить шрифт. Как это сделать описано здесь: http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru... (новый шрифт в посте 80).

nnm4evr
Offline
Зарегистрирован: 30.07.2017
А вы можете добавить в скетч поддержку энкодера для пролистывания меню?
 
Я собрал тестер по схеме из поста 38 , но с прошивками что-то не прокатывало, то тестер вообще не включался, то тестировал какую-то RC сборку, хотя тестовые контакты были пустые, причем каждый раз с разными результатами. В общем не хочется все распаивать и собирать заново на другой плате, а хотелось бы использовать то что уже есть с энкодером.
 
Фото моей платы (извиняюсь за качество, фотографировал на вебку).
arduinec
Offline
Зарегистрирован: 01.09.2015

nnm4evr пишет:

А вы можете добавить в скетч поддержку энкодера для пролистывания меню?

В моих скетчах меню нет.

nnm4evr
Offline
Зарегистрирован: 30.07.2017

Тогда ещё вопрос - можно ли сменить основные порты от TP1-TP2-TP3, то есть А0-А1-А2 на другие? А6 к примеру, потому как у меня А0 накрылся из-за переполюсовки аккумулятора когда ардуника стояла в другом проекте.

arduinec
Offline
Зарегистрирован: 01.09.2015

По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа:
R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.

Впрочем у разработчиков (http://www.mikrocontroller.net/svnbrowser/transistortester/) в последних версиях может быть есть возможность менять пины и порты.

nnm4evr
Offline
Зарегистрирован: 30.07.2017

arduinec пишет:

По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа:
R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.

Впрочем у разработчиков (http://www.mikrocontroller.net/svnbrowser/transistortester/) в последних версиях может быть есть возможность менять пины и порты.

У разработчиков все как было, так и осталось, там порты в формате AVR указаны, но порта PC* для 6 и 7 аналоговых пинов почему-то нет, только какой-то AVDC*, но если его поставить, то исходники не компилируются ругаясь, что не знают что такое AVDC* - 

 #define TP1 PC0
 #define TP2 PC1
 #define TP3 PC2
 // Port pin for external Voltage measurement (zener voltage extension) PC3
 #define TPext ((1<<MUX1) | (1<<MUX0))
 // Port pin for 2.5V precision reference used for VCC check (optional) PC4
 #define TPREF (1<<MUX2) 
 #define TPRELAY PC4
 // Port pin for Battery voltage measuring PC5
 #define TPBAT PC5

Я думал в скетч-версии это проще сделать, просто поставить в этих строчках свои порты:

#define TP1 0 // Вместо 0 поставить 6
#define TP2 1
#define TP3 2
#define TPext 3
// Port pin for 2.5V precision reference used for VCC check (optional)
#define TPREF 4
// Port pin for Battery voltage measuring
#define TPBAT 5

Но если вместо 0 поставить 6, то при тестировании любого компонента (резистора или конденсатора) выдает всегда только вот это:

 

 

arduinec
Offline
Зарегистрирован: 01.09.2015

arduinec пишет:

По-моему проще заменить Ардуину, чем переделать скетч, так как там попадаются строки типа:
R_DDR = (2<<(TP3*2)) | (2<<(TP2*2)) | (2<<(TP1*2));
Если в данной строке заменить TP1=0 на TP1=3, то полученное значение будет за пределами диапазона R_DDR=DDRB.

В вышеуказанной строчке Транзистор-тестер, используя номера TP1 с помощью регистра DDRB, подключает для измерений нужные резисторы 680 Ом и 470 кОм.
О каких 6 там может идти речь, если при 3 уже выходит за диапазон?

nnm4evr
Offline
Зарегистрирован: 30.07.2017

arduinec пишет:

В вышеуказанной строчке Транзистор-тестер, используя номера TP1 с помощью регистра DDRB, подключает для измерений нужные резисторы 680 Ом и 470 кОм.
О каких 6 там может идти речь, если при 3 уже выходит за диапазон?

Мда... В общем ясно, что ни чего не ясно. Мне во всяком случае. Я очень плохо разбираюсь в физико-математичесих функциях и операциях на C++, более-мение могу понять только на Object Pascal (Delphi), так что для меня язык программирования Arduino все же пока теный и страшный лес.

Ну а пока жду новую ардуино нано с китая, собрал вот такую конструкцию-абстракцию:

RockKenny
Offline
Зарегистрирован: 20.10.2017

Приветствую! Спасибо за труды. Собрал на прошивке tt108001, дисплей 16/2 по i2c. На «нано» залилось только с ide1.5.0.

Заметил одно неудобство в работе прибора. После включения чтобы начать тестирование компонента надо нажать на кнопку А3, после чего на экран выводятся результаты. А вот чтобы начать новое тестирование требуется нажать кнопку «ресет» чтобы перезапустить прибор. По-другому запустить новое тестирование не получается, кнопка А3 больше не срабатывает, прибор сам не переходит в другое состояние, на экране бесконечно высвечиваются данные последних измерений.

Подскажите это такая особенность прошивки или у меня что-то не так работает, как это можно починить?

 

Еще вопрос, при тестировании транзистора показатель "B=" - это hfe?

savantik
Offline
Зарегистрирован: 17.08.2016

Ребята всё это прикольно собрать на скетче, но собранный здесь скетч из древних исходников, сейчас в исходниках уже куча исправлений и дополнений ,  я вот к примеру ардуино использую ка Винтаж ( ну и в принципе проще менять микроконтроллер, да и цена ардуино равна цене микроконтроллера , и кнопка ресет в моих проектах выполняет роль кнопки OFF ) , проще собрать и прощить полностью микроконтроллер HEX файлом. Ну или взять самые свежие исходники и перебрать полностью скетч,...  Но !!  сейчас уже прошивки не помещаються в микроконтроллер 328р , не говоря уже про скетч который использует ещё и загрузчик в памяти.  Нам уже в прошивках под HEX , не хватает основной памяти и памяти EEPROM. 

Вот повторю свои проекты :  1) https://yadi.sk/d/f1ZdHoiB3CdC6G     ;  2) https://yadi.sk/d/LFxc_SL63GRsMV

RockKenny
Offline
Зарегистрирован: 20.10.2017

savantik, Я хочу на ардуино с скетчами.

savantik
Offline
Зарегистрирован: 17.08.2016

Ну тогда нужно собирать на ардуино мега 2560 , и писать под него скетч.  Но сейчас собирать на скетче выложенный здесь , отставший практически на 400 ревизий ( обновлений ) , ну я не знаю .... если только для познаний самого ардуино ..

RockKenny
Offline
Зарегистрирован: 20.10.2017

Меня в устраивает, точности мне достаточно, мне бы только решить вопрос с кнопкой.

arduinec
Offline
Зарегистрирован: 01.09.2015

RockKenny пишет:

Заметил одно неудобство в работе прибора. После включения чтобы начать тестирование компонента надо нажать на кнопку А3, после чего на экран выводятся результаты. А вот чтобы начать новое тестирование требуется нажать кнопку «ресет» чтобы перезапустить прибор. По-другому запустить новое тестирование не получается, кнопка А3 больше не срабатывает, прибор сам не переходит в другое состояние, на экране бесконечно высвечиваются данные последних измерений.

Подтягивающий резистор (100 кОм) к питанию у кнопки есть? (пост #2)

RockKenny
Offline
Зарегистрирован: 20.10.2017

Есть, все по инструкции. Конденсатор на 100nf тоже поставил, а то емкости очень плохо определял.

RockKenny
Offline
Зарегистрирован: 20.10.2017

Не совсем понял, как закинуть картинки большего размера, надеюсь, все, что нужно видно.

 

Платка жирная, еще флюс не отмывал.

 

savantik
Offline
Зарегистрирован: 17.08.2016

А фото с ардуино, и на фига 100nf , когда в самой ардуино стоит уже 100nf , и по идеи там лучше поставить 1nf.

RockKenny
Offline
Зарегистрирован: 20.10.2017

Там "нано" ставиться, 1 и 30 пины я отметил http://www.prorobot.ru/arduino/nano-v3/nano-shema.png

Без 100nf очень сильно ошибался с определением конженсаторов особенно электролитов, с ним все ок.

savantik
Offline
Зарегистрирован: 17.08.2016

Флюс отмывать обязательно, и очень хорошо отмывать, конденсатор 1nf , резистор на кнопку 27 кОм , куда подаёш питание ? , что бы не вспоминать и не копаться куда посажен I2C, светодиод L идущий на 13-й (или резистор) удалён с платы Нано ? , 

RockKenny
Offline
Зарегистрирован: 20.10.2017

Флюс я ессено отмыл, фоткал просто с ним. Питаю от компа через mini usb.

scl = A6, sda = A5

Удалил только резистор L
arduinec
Offline
Зарегистрирован: 01.09.2015

Чётко не видно, но похоже резистор 100 кОм стоит между пином A3 и замыкаемой на землю кнопкой.

Подтягивающий же резистор подключается как на рисунке:

savantik
Offline
Зарегистрирован: 17.08.2016

Замерий на выводе 27 (5V) ардуины какое там напряжение.

RockKenny
Offline
Зарегистрирован: 20.10.2017

Все праивльно, поставил между а3 и кнопкой, переделаю отпишусь.

RockKenny
Offline
Зарегистрирован: 20.10.2017

Померил, там 4,65.

savantik
Offline
Зарегистрирован: 17.08.2016

мне то же показалось что кнопка неправильно подключена,  но не имея под рукой ардуины трудно в голове переворачивать твои фото нумерацией пинов, по этому и просил фото с ардуиной.

savantik
Offline
Зарегистрирован: 17.08.2016

-

RockKenny
Offline
Зарегистрирован: 20.10.2017

Теперь ясно зачем фото, похоже нашли проблему.

savantik
Offline
Зарегистрирован: 17.08.2016

Кнопка идет на А3 и землю , резистор идет на А3 и +5 вольт  ( выше ресунок, представь что вывод 8 это твой А3 )

RockKenny
Offline
Зарегистрирован: 20.10.2017

Спасибо мужики за помощь, теперь работает.

alex1978
alex1978 аватар
Offline
Зарегистрирован: 09.09.2017

savantik пишет:

Вот ещё один проект , уже с большим графическим дисплеем ( дисплей ST7920 ) , на Али их полно.

https://yadi.sk/d/LFxc_SL63GRsMV

 

Можете пояснить по поводу прошивки? Не понятно чем отличаются прошивки и как их заливать.

arduinec
Offline
Зарегистрирован: 01.09.2015

alex1978 пишет:

Можете пояснить по поводу прошивки? Не понятно чем отличаются прошивки и как их заливать.

В данной теме выложены и заливаются стандартным образом скетчи. Прошивки и документация (на русском языке) есть на сайте разработчиков:
https://www.mikrocontroller.net/svnbrowser/transistortester/

Tvicks
Offline
Зарегистрирован: 11.05.2017

Добрый день. Ребята а для проверки диспа надо переделывать схему под транзисто тестер или он и так будет показывать главную менюшку?

arduinec
Offline
Зарегистрирован: 01.09.2015

Tvicks пишет:

Добрый день. Ребята а для проверки диспа надо переделывать схему под транзисто тестер или он и так будет показывать главную менюшку?

В данной теме опубликовано несколько схем, отличающихся друг от друга. Про какую идёт речь?

arduinec
Offline
Зарегистрирован: 01.09.2015

Подправил немного скетч (номер версии стал 1.08.004): https://yadi.sk/d/2CiXYkhV3QSsQn

Теперь при выборе дисплея достаточно раскомментировать одну строку:

//#define LCD1602 - для дисплея LCD 1602
//#define LCD_I2C - для дисплея LCD 1602 с I2C-интерфейсом
//#define NOK5110 - для дисплея Nokia 5110
//#define OLED096 - для дисплея OLED 0.96" с SPI-интерфейсом
//#define OLED_I2C - для дисплея OLED 0.96" с I2C-интерфейсом

Вывод в Serial port работает, даже если закомментированы все строчки с дисплеями.

Для отображения символов диода, конденсатора, резистора на дисплеях Nokia 5110 и OLED 0.96" в библиотеке Adafruit-GFX нужно заменить шрифт. Как это сделать описано здесь: http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru... (новый шрифт в посте 80).

Заодно прилагаю схему Transistor Tester for Arduino:

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Подскажите-а номинал сопротивлений(на аналоговых входах)- нужно строго выдерживать ?

arduinec
Offline
Зарегистрирован: 01.09.2015

fly245 пишет:

Подскажите-а номинал сопротивлений(на аналоговых входах)- нужно строго выдерживать ?

На аналоговых входах A0-A2 обязательно: номиналы этих сопротивлений используюся при измерениях (рекомендуется подбирать резисторы с допуском 0.1%).
В скетче номиналы резисторов можно изменить, но точность измерений может пострадать.