Съдържание:

Проследяващ кривата на транзистора: 7 стъпки (със снимки)
Проследяващ кривата на транзистора: 7 стъпки (със снимки)

Видео: Проследяващ кривата на транзистора: 7 стъпки (със снимки)

Видео: Проследяващ кривата на транзистора: 7 стъпки (със снимки)
Видео: "Маршрут 666" Дъглас Престън - Линкълн Чайлд. Част 2/2. Част 2 от „Пендъргаст“. 2024, Ноември
Anonim
Проследяващ кривата на транзистора
Проследяващ кривата на транзистора
Проследяващ кривата на транзистора
Проследяващ кривата на транзистора

Винаги съм искал проследяващ кривата на транзистор. Това е най -добрият начин да разберете какво прави едно устройство. След като изградих и използвах това, най -накрая разбирам разликата между различните вкусове на FET.

Полезно е за

  • съвпадащи транзистори
  • измерване на усилването на биполярни транзистори
  • измерване на прага на MOSFET
  • измерване на границата на JFET
  • измерване на напрежението напред на диодите
  • измерване на пробивното напрежение на Zeners
  • и така нататък.

Бях много впечатлен, когато си купих един от прекрасните LCR-T4 тестери от Markus Frejek и други, но исках той да ми разкаже повече за компонентите, затова започнах да проектирам свой собствен тестер.

Започнах с използването на същия екран като LCR-T4, но той няма достатъчно висока разделителна способност, така че преминах към 320x240 2.8 LCD. Случва се да е цветен сензорен екран, който е хубав. Проследяващият кривата работи на Arduino Pro Mini 5V Atmega328p 16MHz и се захранва от 4 AA клетки.

Стъпка 1: Как да го използвате

Как се използва
Как се използва
Как се използва
Как се използва
Как се използва
Как се използва
Как се използва
Как се използва

Когато включите индикатора за криви, се показва екранът на главното меню.

Изберете вида на устройството, като докоснете едно от „PNP NPN“, „MOSFET“или „JFET“. Можете да тествате диоди в режим "PNP NPN".

Поставете изпитваното устройство (DUT) в гнездото ZIF. Екранът на менюто ви показва кои щифтове да използвате. PNP, p-channel MOSFETS и n-channel JFETS отиват в лявата страна на гнездото. NPN, n-канал MOSFETS и p-канал JFETS отиват в дясната страна на гнездото. Затворете гнездото ZIF.

След около секунда тестерът ще осъзнае, че има компонент и ще започне да рисува кривите.

За PNP или NPN транзистор той изобразява Vce (напрежението между колектора и излъчвателя) спрямо тока, протичащ в колектора. Начертава се линия за всеки различен базов ток - напр. 0uA, 50uA, 100uA и т.н. Усилването на транзистора се показва в горната част на екрана.

За MOSFET той изобразява Vds (напрежението между дренажа и източника) спрямо тока, протичащ в дренажа. Начертава се линия за всяко различно напрежение на портата - 0V, 1V, 2V и т.н. Прагът на включване на FET е показан в горната част на екрана.

За JFET той изобразява Vds (напрежението между дренажа и източника) спрямо тока, протичащ в дренажа. Начертава се линия за всяко различно напрежение на порта - 0V, 1V, 2V и т.н. Тъй като напрежението на порта се променя, за да бъде по -далеч от напрежението на източване, JFET се изключва. Граничният праг на FET е показан в горната част на екрана.

Най-интересната част от MOSFET или JFET крива е около напрежението при включване или изключване плюс или минус няколкостотин mV. В главното меню докоснете бутона за настройка и екранът за настройка ще се покаже. Можете да изберете минималното и максималното напрежение на портата: в този регион ще бъдат начертани повече криви.

За PNP или NPN транзистор екранът за настройка ви позволява да изберете минималния и максималния базов ток

С диоди можете да видите напрежението напред, а при Zeners - напрежението на обратния пробив. На горното изображение комбинирах кривите на няколко диода.

Стъпка 2: Как работи

Как работи
Как работи
Как работи
Как работи
Как работи
Как работи
Как работи
Как работи

Нека разгледаме NPN транзистор. Ще начертаем графика на напрежението между колектора и излъчвателя (оста x е Vce) спрямо тока, протичащ в колектора (оста y е Ic). Ще изтеглим по една линия за всеки различен базов ток (Ib) - напр. 0uA, 50uA, 100uA и др.

Излъчвателят на NPN е свързан към 0V и колекторът е свързан към 100ohm "натоварващ резистор" и след това към напрежение, което бавно се увеличава. ЦАП, контролиран от Arduino, премества това тестово напрежение от 0V до 12V (или докато токът през натоварващия резистор достигне 50mA). Arduino измерва напрежението между колектора и излъчвателя и напрежението в натоварващия резистор и рисува графика.

Това се повтаря за всеки базов ток. Базовият ток се генерира от втори 0V до 12V DAC и 27k резистор. ЦАП произвежда 0V, 1.35V (50uA), 2.7V (100uA), 4.05V (150uA) и т.н. (Всъщност напрежението трябва да е малко по -високо поради Vbe - предполага се, че е 0.7V.)

За PNP транзистор излъчвателят е свързан към 12V, а колекторът е свързан към 100ohm натоварващ резистор и след това към напрежение, което бавно намалява от 12V на 0V. Базовият ток на DAC се понижава от 12V.

MOSFET за подобряване на n-канал е подобен на NPN. Източникът е свързан към 0V, натоварващият резистор е свързан към канализацията и към напрежение, преминаващо от 0V до 12V. ЦАП, който управляваше базовия ток, сега контролира напрежението на портата и стъпките 0V, 1V, 2V и т.н.

MOSFET за подобряване на p-канал е подобен на PNP. Източникът е свързан към 12V, натоварващият резистор е свързан към канализацията и към напрежение, преминаващо от 12V до 0V. Напрежението на портата 12V, 11V, 10V и т.н.

JFET с изчерпване на n-канал е малко по-трудно. Обикновено бихте си представили източника, свързан към 0V, канализацията, свързана с променливо положително напрежение, и портата, свързана с променливо отрицателно напрежение. JFET обикновено провежда и се изключва от отрицателно напрежение на портата.

Индикаторът за криви не може да генерира отрицателни напрежения, така че изтичането на n-JFET е свързано към 12V, източникът е свързан към 100ohm резистор за натоварване и след това към напрежение, което бавно намалява от 12V на 0V. Искаме Vgs (напрежението на порта -източник) да стъпи от 0V, -1V, -2V и т.н. Искаме Vgs да остане постоянна, тъй като Vds (напрежението източник на източване) варира. Така че Arduino задава напрежението на товарния резистор, след което регулира напрежението на порта на DAC, докато Vgs е необходимата стойност. След това той задава ново напрежение на товарния резистор и отново регулира напрежението на портата и т.н.

(Индикаторът за криви не може да измери напрежението, приложено към портата, но знае какво му е казано на DAC и това е достатъчно точно. Разбира се, това измерва само отрицателната част на JFET отговора; ако искате да видите частта с положителна порта, третирайте я като MOSFET.)

JFET за изчерпване на p-канал се третира по подобен начин, но всички стойности от 0 до 12V са обърнати.

(Индикаторът за криви не се занимава конкретно с изчерпване на MOSFET или подобряване на JFET, но можете да ги третирате като JFET с изчерпване и подобряване на MOSFET.)

След като завърши графиката, кривата на измерване изчислява усилването, прага или прекъсването на транзистора.

За биполярни транзистори Arduino разглежда средното разстояние на хоризонталните линии на кривите. Докато изчертава кривата за базов ток, той отбелязва тока на колектора, когато Vce е равен на 2V. Промяната в тока на колектора се разделя на промяната в базовия ток, за да се даде печалба. Печалбата на биполярно е неясно понятие. Зависи как го измерваш. Няма две марки мултицети, които да дадат един и същ отговор. Като цяло всичко, което питате, е "печалбата висока ли е?" или "тези два транзистора еднакви ли са?".

За MOSFET, Arduino измерва прага на включване. Той задава напрежението на натоварване на 6V, след което постепенно увеличава Vgs, докато токът през товара надвиши 5mA.

За JFET, Arduino измерва граничното напрежение. Той задава напрежението на натоварване на 6V, след което постепенно увеличава (отрицателни) Vgs, докато токът през товара е по -малък от 1mA.

Стъпка 3: Веригата

Веригата
Веригата
Веригата
Веригата
Веригата
Веригата
Веригата
Веригата

Ето кратко описание на веригата. По -пълно описание е в прикачения RTF файл.

Трасеторът за криви се нуждае от три напрежения:

  • 5V за Arduino
  • 3.3V за LCD
  • 12V за тестовата верига

Веригата трябва да преобразува тези различни напрежения от 4 -те AA клетки.

Arduino е свързан към 2-канален DAC, за да произвежда различни тестови напрежения. (Опитах се да използвам Arduino PWM като DAC, но беше твърде шумно.)

ЦАП произвежда напрежения в диапазона от 0V до 4.096V. Те се превръщат в 0V до 12V чрез операционни усилватели. Не можах да намеря никакви оп-усилватели с релса към релса, които да могат да източат/потънат 50mA, затова използвах LM358. Изходът на оп-усилвател LM358 не може да бъде по-висок от 1,5 V под захранващото му напрежение (т.е. 10,5 V). Но имаме нужда от пълния диапазон от 0-12V.

Затова използваме NPN като инвертор с отворен колектор за изхода на оп-усилвателя.

Предимството е, че този домашен изход с оп-усилвател с отворен колектор може да достигне до 12V. Резисторите за обратна връзка около операционния усилвател усилват 0V до 4V от DAC до 0V до 12V.

Напреженията при изпитваното устройство (DUT) варират между 0V и 12V. ADC на Arduino са ограничени до 0V до 5V. Потенциалните разделители извършват преобразуването.

Между Arduino и LCD има потенциални разделители, които спадат от 5V до 3V. LCD, сензорният екран и DAC се управляват от SPI шината.

Кривият индикатор се захранва от 4 AA клетки, които дават 6.5V, когато са нови и могат да се използват до около 5.3V.

6V от клетките се понижават до 5V с много нисък регулатор на отпадане - HT7550 (ако нямате такъв, тогава 5V ценер и 22ohm резистор не са много по -лоши). Консумацията на ток на 5V захранването е около 26mA.

6V от клетките се понижава до 3.3V с регулатор с ниско отпадане - HT7533. Консумацията на ток на захранването 3.3V е около 42mA. (Стандартният 78L33 би работил, но има 2V отпадане, така че ще трябва да изхвърлите AA клетките си по -рано.)

6V от клетките се увеличава до 12V със SMPS (захранване с превключен режим). Просто си купих модул от eBay. Имах истински проблеми с намирането на приличен конвертор. Изводът е, че не използвайте конвертор XL6009, това е абсолютна заплаха. Тъй като батерията се изтощава и пада под 4V, XL6009 полудява и произвежда до 50V, което би изпържило всичко. Доброто, което използвах, е:

www.ebay.co.uk/itm/Boost-Voltage-Regulator-Converter-Step-up-Power-Supply-DC-3-3V-3-7V-5V-6V-to-12V/272666687043? hash = item3f7c337643%3Ag%3AwsMAAOSw7GRZE9um & _sacat = 0 & _nkw = DC+3.3V+3.7V+5V+6V+към+12V+Усилване+Захранване+Захранване+Boost+Voltage+Regulator+Converter & _from = R40 & rt13 nc & nc

Той е малък и е с около 80% ефективност. Консумацията на входящ ток е около 5mA, когато чака DUT да бъде вмъкната, и за момент до 160mA при изчертаване на кривите.

Тъй като АА клетките се разреждат, напреженията варират, софтуерът компенсира чрез използване на референтни напрежения. Arduino измерва 12V захранването. Arduino ADC използва захранването си "5V" като референтно напрежение, но това "5V" се калибрира точно спрямо вътрешното референтно напрежение на Arduino 1.1V. DAC има точно вътрешно референтно напрежение.

Харесва ми начина, по който LCR-T4 има бутон за включване и се изключва автоматично с изчакване. За съжаление, схемата въвежда спад на напрежението, който не мога да си позволя при захранване от 4 AA клетки. Дори препроектирането на веригата за използване на FET не беше достатъчно. Затова използвам прост превключвател за включване/изключване.

Стъпка 4: Софтуерът

Софтуерът
Софтуерът

Скицата на Arduino е приложена тук. Компилирайте и го качете в Pro Mini по обичайния начин. Има много описания как да качвате програми в мрежата и в други инструкции.

Скицата започва с изчертаване на главното меню, след което чака да вмъкнете компонент или да докоснете един от бутоните (или да изпратите команда от компютъра). Той тества за вмъкване на компонент веднъж в секунда.

Той знае, че сте поставили компонент, тъй като при напрежение на базата/портата на половин път (DAC = 128) и напрежение на натоварващия резистор на 0V или 12V, през един или друг от натоварващите резистори протича ток от няколко mA. Той знае кога устройството е диод, защото промяната на напрежението на базата/портата не променя тока на натоварване.

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

LCD дисплеят ILI9341 се управлява от моята собствена библиотека, наречена "SimpleILI9341". Библиотеката е прикачена тук. Той има стандартен набор от команди за рисуване, много подобни на всички такива библиотеки. Предимствата му пред други библиотеки са, че работи (някои не!) И споделя учтиво SPI шината с други устройства. Някои от „бързите“библиотеки, които можете да изтеглите, използват специални времеви цикли и са разстроени, когато други, може би по -бавни, устройства се използват на една и съща шина. Той е написан на обикновен C и така има по -малки режийни разходи от някои библиотеки. Приложена е програма за Windows, която ви позволява да създавате свои собствени шрифтове и икони.

Стъпка 5: Серийни комуникации към компютър

Проследяващият крив може да комуникира с компютър чрез серийна връзка (9600bps, 8-битов, без паритет). Ще ви е необходим подходящ USB-към-сериен конвертор.

Следните команди могат да бъдат изпратени от компютъра към кривата:

  • Команда 'N': проследете кривите на NPN транзистор.
  • Команда 'P': проследете кривите на PNP транзистор.
  • Команда 'F': проследете кривите на n-MOSFET.
  • Команда 'f': проследете кривите на p-MOSFET.
  • Команда 'J': проследете кривите на n-JFET.
  • Команда 'j': проследете кривите на p-JFET.
  • Команда 'D': проследете кривите на диод от NPN страната на гнездото.
  • Команда "d": проследете кривите на диод от страната на PNP на гнездото.
  • Команда „A“nn: задайте DAC-A на стойността nn (nn е единичен байт), след което върнете „A“на компютъра. DAC-A контролира напрежението на товара.
  • Команда 'B' nn: задайте DAC-A на стойността nn, след което върнете 'B' на компютъра. DAC-B контролира напрежението на базата/портата.
  • Команда 'X': непрекъснато изпраща ADC стойности обратно към компютъра.
  • Команда 'M': показване на главното меню.

Когато кривите се проследяват след една от командите, резултатите от кривата се предават обратно на компютъра. Форматът е следният:

  • "n": стартирайте нов график, начертайте осите и т.н.
  • "m (x), (y), (b)": преместете писалката в (x), (y).

    • (x) е Vce в цяло число mV.
    • (y) е Ic в цели стотици на uA (например 123 означава 12,3 mA).
    • (б) е основният ток в цяло число uA
    • или (б) е 50 пъти напрежението на портата в цяло число mV
  • "l (x), (y), (b)": начертайте линия за писалка до (x), (y).
  • "z": края на този ред
  • "g (g)": краят на сканирането;

    (ж) е усилването, праговото напрежение (x10) или граничното напрежение (x10)

Стойностите, изпратени до компютъра, са необработените измерени стойности. Arduino изглажда стойностите, преди да ги начертае чрез усредняване; трябва да направите същото.

Когато компютърът изпрати команда "X", стойностите на ADC се връщат като цели числа:

  • "x (p), (q), (r), (s), (t), (u)"

    • (р) напрежението на товарния резистор на PNP DUT
    • (q) напрежението в колектора на PNP DUT
    • (r) напрежението на товарния резистор на NPN DUT
    • (s) напрежението в колектора на NPN DUT
    • (t) напрежението на захранването "12V"
    • (u) напрежението на захранването "5V" в mV

Можете да напишете компютърна програма за тестване на други устройства. Задайте DAC да тестват напрежения (използвайки команди 'A' и 'B'), след което вижте какво докладват ADC.

Проследяващият крив изпраща данни към компютъра само след като е получил команда, тъй като изпращането на данни забавя сканирането. Той също така вече не тества наличието/отсъствието на компонент. Единственият начин да изключите трасера за криви е да изпратите команда „О“(или да извадите батерията).

Приложена е програма за Windows, която демонстрира изпращането на команди към кривата.

Стъпка 6: Изграждане на крива Tracer

Изграждане на Curve Tracer
Изграждане на Curve Tracer
Изграждане на Curve Tracer
Изграждане на Curve Tracer

Ето основните компоненти, които вероятно ще трябва да купите:

  • Arduino Pro Mini 5V 16MHz Atmel328p (£ 1,30)
  • 14 -пинов гнездо Zif (£ 1)
  • MCP4802 (£ 2.50)
  • HT7533 (£ 1)
  • LE33CZ (£ 1)
  • IL9341 2.8 "дисплей (£ 6)
  • Захранващо усилване от 5V до 12V (£ 1)
  • 4xAA държач за клетъчна батерия (£ 0.30)

Потърсете eBay или любимия си доставчик. Това са общо около 14 паунда.

Имам дисплея си тук:

www.ebay.co.uk/itm/2-8-TFT-LCD-Display-Touch-Panel-SPI-Serial-ILI9341-5V-3-3V-STM32/202004189628?hash=item2f086351bc:g: 5ЦААОСwp1RZfIO5

И усилването на SMPS тук:

www.ebay.co.uk/itm/DC-3-3V-3-7V-5V-6V-to-12V-Step-up-Power-Supply-Boost-Voltage-Regulator-Converter/192271588572? hash = item2cc4479cdc%3Ag%3AJsUAAOSw8IJZinGw & _sacat = 0 & _nkw = DC-3-3V-3-7V-5V-6V-to-12V-Step-up-Power-Supply-Boost-Voltage-Regulator-Converter & _from = R40 & rt = nc l1313

Останалите компоненти са неща, които вероятно вече имате:

  • BC639 (3 изключени)
  • 100nF (7 изключени)
  • 10uF (2 изключени)
  • 1k (2 отстъпка)
  • 2k2 (5 отстъпка)
  • 3k3 (5 отстъпка)
  • 4k7 (1 отстъпка)
  • 10k (7 отстъпка)
  • 27k (1 отстъпка)
  • 33k (8 отстъпка)
  • 47k (5 отстъпка)
  • 68k (2 отстъпка)
  • 100R (2 изключени)
  • Плъзгащ превключвател (1 изключен)
  • LM358 (1 отстъпка)
  • лента
  • 28-пинов IC гнездо или SIL заглавка
  • гайки и болтове

Ще ви трябват обичайните електронни инструменти - поялник, фрези, спойка, нечетни парчета тел и т.н. - и USB -към -сериен преобразувател за програмиране на Arduino.

Трасеторът за криви е изграден върху лента. Ако сте човекът, който иска проследяване на криви, вече ще знаете как да разположите лентата.

Оформлението, което използвах, е показано по -горе. Циан линиите са медни на гърба на лентата. Червените линии са връзки от страната на компонента или са изключително дългите проводници на компонента. Извитите червени линии са гъвкава тел. Тъмносините кръгове са прекъсвания в лентата.

Изградих го на две дъски, всяка 3,7 "на 3,4". Едната платка съдържа дисплея и тестерната верига; другата платка има държача на батерията и захранванията 3.3V, 5V и 12V. Държах отделно нисковолтовите ("5V") и високоволтовите ("12V") части на веригата на тестера, като само резисторите с висока стойност пресичаха границата.

Двете платки и дисплеят образуват триетажен сандвич, държан заедно с винтове М2. Нарязах дължини на пластмасова тръба, за да действат като дистанционери или можете да използвате тръби с химикалка и т.н.

Свързах само щифтовете на Arduino Mini, от които имах нужда, и само тези отстрани (не в горния и долния край на Mini PCB). Използвах къси дължини тел, а не обичайния ред квадратни щифтове, с които се доставя Arduinos (щифтовете, запоени към печатната платка, са квадратни на чертежа). Исках Arduino да бъде изравнен с лентата, защото под дисплея няма много височина.

Изходът на Arduino ProMini е доста променлив. Щифтовете на дългите ръбове на дъската са фиксирани, но щифтовете на късите ръбове се различават при доставчиците. Оформлението по -горе предполага дъска с 6 програмни пина с Gnd до Raw щифта и с DTR до Tx на дългия ръб. В другия край на дъската има ред от 5 пина с 0V до D9 и A7 до D10. Нито един от щифтовете с къси ръбове не е запоен в лентата, така че можете да използвате разхлабени проводници, ако вашият ProMini е различен.

Използвайте гнездото за заглавие SIL, за да задържите дисплея. Или разрежете наполовина 28-пинов IC гнездо и използвайте парчетата, за да направите гнездо за дисплея. Запояйте квадратните щифтове, които се доставят с дисплея (или са доставени с Arduino) в дисплея. Твърде са дебели, за да се включат в гнездо със завъртани щифтове - изберете гнездо, което има щифтове тип "пружинна скоба". Някои IC гнезда с "пружинен клип" могат да издържат само половин дузина вмъкване/изваждане на LCD, така че се опитайте да намерите добри в чекмеджето за компоненти.

LCD дисплеят съдържа гнездо за SD карта (която не използвах). Той е свързан към 4 пина на печатната платка. Използвах щифтовете и парче SIL заглавка или IC гнездо, за да поддържам LCD.

Забележете, че има някои връзки под гнездото ZIF. Запояйте ги, преди да ги поберете.

Добавих конектор за програмиране с Tx, Rx, Gnd и бутон за нулиране. (Моят USB-към-сериен конвертор няма DTR щифт, така че трябва да рестартирам Arduino ръчно.) Разпаях конектора за програмиране, когато проектът приключи.

За да защитя електрониката, направих капак от полистиролов лист.

Прикачени са файлове за веригата във формат EasyPC.

Стъпка 7: Бъдещо развитие

Бъдещо развитие
Бъдещо развитие

Може да е хубаво да се създадат криви за други компоненти, но кои? Не ми е ясно каква допълнителна информация кривата на тиристор или триак ще ми каже преди всичко какво прави тестерът LCR-T4. Тестерът LCR-T4 може дори да се използва с оптоизолатори. Никога не съм използвал изчерпващ се MOSFET или подобрен JFET или транзистор с едно съединение и не притежавам такъв. Предполагам, че кривата може да третира IGBT като MOSFET.

Би било хубаво, ако кривата проследител може да разпознае компонент автоматично и да каже кой щифт е кой. В идеалния случай след това ще се създадат криви. За съжаление, начинът, по който DUT щифтовете се управляват и измерват, това би изисквало много допълнителни компоненти и сложност.

По-просто решение е да копирате съществуващата верига за тестване на LCR-T4 (с отворен код и много проста) с втори процесор Atmega. Разширете гнездото ZIF до 16-пинов, за да дадете три допълнителни извода, към които може да се включи неизвестният компонент. Новата Atmega действа като роб на SPI шината и докладва на главния Arduino Mini какво вижда. (SPI подчинените скици са достъпни в мрежата.) Софтуерът на тестера LCR-T4 е достъпен и изглежда добре документиран. Там няма нищо по същество трудно.

Основният Arduino показва типа на компонента и диаграма за това как да включите компонента към частта за проследяване на крива на гнездото ZIF.

Прикачих оформление за повърхностно монтиране, което може да се използва с Arduino ProMini или с гола Atmega328p (във формат EasyPC). Ако има достатъчно търсене (и поръчки с пари), бих могъл да произведа партида SM печатни платки. Бихте ли могли да закупите от мен готови? Е, да, разбира се, но цената би била глупава. Предимството на отношенията с Китай е, че толкова евтини електронни модули могат да бъдат закупени толкова евтино. Недостатъкът е, че не си струва да се разработва нищо: ако има успех, то ще бъде клонирано. Колкото и хубав да е този криволинейник, не го виждам като жизнеспособна бизнес възможност.

Препоръчано: