//Эта страница доступна также на следующих языках://
[[transistor_guide|English]]

====== Руководство по транзистору - символу gschem и pcb-элементу ======

Вопрос состоит в том, как при работе с библиотекой символов транзисторов для
**gschem** и библиотекой элементов транзисторов для **pcb** ухитриться
сделать так, чтобы мы могли быть уверены в правильности соответствия друг
другу номеров выводов в этих библиотеках. Нам нужно условиться, как
обращаться с различными перестановками выводов эмиттера, базы и коллектора
(e,b,c) и разными вариантами количества и нумерации выводов корпусов. В
настоящем документе представлен подход, используемый мной для моих
собственных символов **gschem** и элементов **pcb**.

===== Символы gschem =====

Есть пара достойных внимания решений:

  - Иметь базовый набор символов транзисторов для **gschem**, таких как //''npn.sym''//, //''pnp.sym''//, //''fet.sym''// и т. д., имеющих фиксированные и назначенные произвольно номера выводов для эмиттера, базы и коллектора. Для получения различных вариантов соответствия (e,b,c) номерам выводов для разных корпусов транзисторов, нужно бы иметь набор pcb-элементов для каждого из корпусов, например, //''[[wp>TO-92]]-123''//, //''TO-92-132''//, //''TO-92-213''//, //''TO-92-231''//, //''TO-92-312''//, //''TO-92-321''//, и таким же образом для //''[[wp>TO-220]]''//, //''TO-5''// и других. Проблема здесь в том, что номера выводов определяются производителями и нам пришлось бы сделать множество элементов с такой нумерацией, которая на самом деле ни для каких приборов не используется. Помните, что pcb-элементы на топологической схеме в **pcb** должны соответствовать физическим электронным компонентам.
  - Иметь базовый набор символов транзисторов для **gschem**, охватывающий все возможные варианты перестановок (e,b,c), которые могут существовать для любого из данных корпусов транзисторов. Набор символов npn-транзисторов для **gschem** мог бы содержать //''npn-ebc.sym''//, //''npn-ecb.sym''//, //''npn-bec.sym''//, //''npn-bce.sym''//, //''npn-ceb.sym''// и //''npn-cbe.sym''//. Подобные наборы могли бы существовать и для pnp-транзисторов, и для полевых (//''fet-sdg.sym''//, //''fet-sgd.sym''//, ...). В этом случае можно иметь pcb-элементы только для действительно существующих корпусов транзисторов.

Следует отметить, что второй подход очевидно лучше. Настройка символов
**gschem** достаточно проста, надо просто создать шесть символов для каждого
типа транзистора, в которых номера выводов эмиттера, базы и коллектора
соответствуют их последовательности в названии символа. Например, для
символа ''npn-ebc.sym'' атрибут ''pinnumber'' эмиттера имел бы значение
//1//, ''pinnumber'' базы --- //2//, а ''pinnumber'' коллектора ---
//3//. Теперь нужно только создать для корпусов транзисторов pcb-элементы с
правильно пронумерованными выводами, когда они вам понадобятся, и нужна
методика именования этих элементов.


===== pcb-элементы =====

Что следует иметь в виду при рассмотрении номеров и конфигурации выводов
корпуса транзистора, так это то, что обозначение //TO// («Transistor
Outline» --- эскиз транзистора) --- это на самом деле как раз и есть просто
обозначение эскиза корпуса особой формы и размеров. Это отнюдь не
спецификация выводов для этого корпуса. Производители могут специфицировать
обозначения корпусов //TO// своими внутренними кодами «типоразмеров» или
«номеров корпусов». В таких спецификациях устанавливается определение
количества выводов, их расположение и нумерация.

Тем не менее большая часть корпусов //TO// соответствует стандартному
соглашению по нумерации выводов и имеет общепринятое количество и
расположение выводов. Поэтому есть смысл иметь у себя pcb-элементы для
конкретных названий //TO//, которые могут использоваться в большинстве
случаев. А если вдруг встретится исключение из правила, то для такого случая
можно сделать и новый pcb-элемент.

Здесь приводится описание тех конфигураций корпусов транзисторов, что
представляются наиболее общими:

  * //Силовые транзисторы в пластмассовом корпусе//: Посмотрите на лицевую сторону корпуса (где находится надпись), при этом выводы должны быть снизу. Выводы нумеруются слева направо //(1,2,3)//. Это наиболее общий способ нумерации, поэтому есть смысл сделать исходные наборы трёхвыводных pcb-элементов с таким порядком выводов с базовыми названиями, такими как //''TO-126''//, //''TO-220''//, //''TO-264''// и т. д. Для таких вариантов, как пятивыводной корпус //''TO-220''// для //LM383//, можно сделать pcb-элемент, назвав его, например, //''TO-220-5''//, или может быть //''TO-220-T05B''//, если вам хочется назвать его в соответствии с принятым фирмой //National Semiconductor// обозначением корпуса //T05B// для их пятивыводных корпусов //TO-220//.
  * //Силовые транзисторы в металлическом корпусе//: это может быть корпус //TO-3//, который может иметь 2 и более выводов. На корпусе нет индексного ключа, поэтому, чтобы узнать нумерацию выводов, нужно посмотреть чертёж корпуса. Общий двухвыводной корпус можно назвать //''TO-3''//, а N-выводные корпуса с N > 2 можно называть //''TO-3-N''//.
  * //Малосигнальные транзисторы в металлическом корпусе//: Посмотрите на транзистор снизу, чтобы выводы глядели на вас. Выводы нумеруются по часовой стрелке начиная от ключа в порядке (1,2,3,...). Металлические корпуса, такие как //TO-18//, //TO-39// или //TO-72// часто имеют 3 или 4 вывода, в то время как //TO-5// может иметь 3, 4, 5, 6, 8 или 10 выводов. Из-за переменного количества выводов можно, например, называть pcb-элементы как //''TO-18-3''// и //''TO-18-4''// или использовать //''TO-18''// и //''TO-18-4''//, полагая, что трёхвыводные корпуса более широко распространены и потому должны обозначаться просто как //''TO-18''//.
  * //Малосигнальные транзисторы в пластмассовом корпусе//: Посмотрите на плоскую сторону корпуса транзистора (где находится надпись), при этом выводы должны быть снизу. Почти для всех трёхвыводных корпусов с линейно расположенными выводами выводы нумеруются слева направо в порядке //(1,2,3)// и такие корпуса могут быть представлены базовым pcb-элементом //''TO-92''//. В очень редких случаях выводы с прямолинейным расположением нумеруются слева направо в порядке //(3,2,1)//. Для них можно сделать специальный pcb-элемент, но тогда нужно также принять решение игнорировать нумерацию выводов производителя и делать вид, что используется более общая конфигурация //(1,2,3)//. Однако, если средний вывод для корпуса смещён относительно остальных, так что выводы расположены треугольником, выводы часто нумеруются в порядке //(3,2,1)// и для этого, возможно, потребуется нестандартный pcb-элемент. Но смотрите ниже мои комментарии насчёт элемента [[geda:transistor_guide.ru#Особые случаи|TO-92o]].
  * //Транзисторы в корпусе для поверхностного монтажа//: Корпуса //SOT// (Small Outline Transistor) гораздо более соответствуют стандартам, чем корпуса //TO// и выводы последовательно нумеруются против часовой стрелки с левого верхнего угла как и для корпусов интегральных схем. Но для транзистора, имеющего версии корпусов и //TO//, и //SOT//, нельзя просто изменить атрибут ''footprint'' в схеме, так как номера выводов корпуса для эмиттера, базы и коллектора в этих версиях не соответствуют друг другу. Для них нужен отдельный символ **gschem**. Например, ''2N3904.sym'' для //TO// и ''MMBT3904.sym'' для //SOT//.

===== Общая методика =====

Первоначальный процесс подготовки транзистора для перехода от схемы в
**gschem** к **pcb** включает следующие шаги (как пример используется
//2N3904//):

  - Большинство спецификаций транзисторов можно найти на веб-страницах сети интернет в формате PDF, так что найдите нужную и определите типоразмер корпуса, названия и порядок нумерации выводов. Для //2N3904// типоразмером корпуса является //TO-92//, выводы нумеруются слева направо в порядке //(1,2,3)// и называются соответственно //(e,b,c)//.
  - Если в нашей библиотеке есть pcb-элемент с таким типоразмером и подходящей нумерацией выводов, надо использовать его. Если нет, сделать новый pcb-элемент. Для //2N3904// в моей библиотеке нестандартных элементов есть элемент //''TO-92''// с нумерацией выводов //(1,2,3)//, так что я могу использовать его.
  - Скопируйте символ транзистора **gschem**, соответствующий порядку названий выводов, в файл с новым именем. Например, для //2N3904// выводы называются в порядке //(e,b,c)//, поэтому скопируйте основной символ //''npn-ebc.sym''// в //''2N3904.sym''//.
  - Отредактируйте новый символ и атрибуту ''value'' как значение задайте название транзистора, а атрибуту ''footprint'' --- подходящий pcb-элемент. Для нашего примера это могут быть //2N3904// и //TO-92//.



===== Особые случаи =====

  - В моей библиотеке есть pcb-элемент //''TO-92o''//, средний вывод которого смещён, так что выводы расположены треугольником. Выводы этого элемента располагаются в порядке //(1,2,3)// слева направо и его по соображениям трассировки можно использовать вместо //''TO-92''//. Только при установке транзистора вам придётся чуть-чуть отогнуть его средний вывод.
  - В спецификации транзистора //BC546// выводы слева направо называются //(c,b,e)//, нумеруются в порядке //(1,2,3)// и располагаются по прямой линии. Но я видел этот транзистор, поставляемый с завода с заранее отогнутым средним выводом как в конфигурации со смещенным средним выводом. Для этого транзистора, как и предполагалось, нужно создать символ **gschem** из //''npn-cbe.sym''//, но использовать для него pcb-элемент //''TO-92o''//.
  - В спецификации транзистора //BF240// выводы слева направо называются //(c,e,b)//, нумеруются в порядке //(3,2,1)// и располагаются по прямой линии. Если вы сделали новый pcb-элемент с порядком выводов //(3,2,1)//, то вам нужно сделать символ **gschem** //''BF240.sym''// из //''npn-bec.sym''//, так как вывод //1// pcb-элемента должен соответствовать выводу //1// символа **gschem**. Но проще было бы просто проигнорировать эту нестандартную нумерацию выводов и считать, что выводы транзистора на самом деле нумеруются стандартным образом слева направо в порядке //(1,2,3)//. Тогда можно использовать существующий pcb-элемент //''TO-92''// и создать символ **gschem** из //''npn-ceb.sym''//. В некоторых спецификациях транзисторов задаётся порядок названий выводов, но не задаётся порядок их нумерации, и для них вам нужно просто принимать такое же допущение, что выводы слева направо нумеруются в порядке //(1,2,3)//.
  - Во втором из указанных выше случаев вывод //2// транзистора смещён, в то время как в спецификации указано линейное расположение выводов и нумерация слева направо в порядке //(1,2,3)//. Но для многих транзисторов в спецификации вывод //2// указывается как смещённый, а выводы нумеруются слева направо в порядке //(3,2,1)//. Вы можете использовать такой элемент, как мой //''TO-92o''//, и игнорировать указанный в спецификации порядок выводов, как я предлагал в третьем случае. Но данная конфигурация намного более распространена, чем для примера с //BF240//, так что может быть лучше для таких транзисторов иметь специальный pcb-элемент, в котором выводы нумеруются в соответствии со спецификацией.

----

Автор: //Bill Wilson// (billw--at--gkrellm.net)
