Бывают дни, когда ты – голубь, а бывают дни, когда ты – памятник.

Меню навигации для мобильных

Библиотеки для Ki-CAD. Научите делать правильно...

Автор Shaman, 05 Май, 2023, 18:25

« предыдущая - следующая »

zenon

Попадать при сетке 50 легко.
Не, отступа уже давно нет.
https://github.com/minamonra/

Slabovik

Imho вот так вполне эстетично и правильно.

У меня DIP, ситуация в нём такая.
Принудительно от вывода проводник на какую-то длину всегда рисуется в продолжение проводника.

Pins_gap.png

Вот тут я от базы верхнего транзистора сразу потянул вниз. А проводник сделал пару шагов влево а потом сделал петлю и потянулся за мышкой. Еали его продолжать тянуть вниз к базе нижнего, он у базы нижнего сделает такой же финт, но выпрямится, просто отступив влево

Pins-no-gap.png

На картинке я ещё добавил проводник, чтобы показать, что соединение на "контактную точку" вывода в принципе ставится (а раньше, сколько -то версий назад не ставилось). Также принудительно проводник можно прямо от контактной точки вывода загнуть на 90°, но это уже позже. Поначалу рисовка настойчиво будет продолжать, вот как на верхнем рисунке.

Считаю такое поведение в общем-то правильным, компромиссно решающим проблему отвода проводников от выводов, расположенных в ряд.
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

zenon

Кикад таких финтов не предлагает - тяни как хочешь, только сетка ограничивает.
Соединения можно и без прокладки проводника, можно поворачивать сразу от вывода.
В общем ничего путного пока не лезет в голову по поводу этого обозначения инверсии кружком...
Оставлю пока все варианты, но склоняюсь к U6 и U7.
ы. Полное замыкание ... :) дорисовался... :_)
https://github.com/minamonra/

Slabovik

У операционников кружок и крестики можно не ставить, если выводы подписаны. Но в логических схемах без них будет грустно.

А меня вот такая фигня смущает.
Vcc, Vss, Vdd, Vee- какая-то неразбериха с этими обозначениями. У разных производителей вроде одни и те же выводы питания обозначают по-разному.
Не, я почитал, что изначально какая-то разница была. Например, Vss - это земляной вывод. Vdd - цифровое питание. Vcc - питание коллекторов. Vee - отрицательное питание. Но проблема в том, что описания тоже неоднозначно трактуют это
Цитата1. For digital circuits, VCC is the supply voltage of the circuit, VDD is the operating voltage of the chip (usually Vcc>Vdd), and VSS is the ground point.
 
2. Some ICs have both VDD and VCC pins, indicating that the device itself has a voltage conversion function.
 
3. In a FET (or COMS device), VDD is the drain, VSS is the source, and VDD and VSS refer to the component pins, not the supply voltage. DSP communication network DSP learning first forum DSP technology application and promotion platform DSP development service platform
 
4, in general, VCC = analog power, VDD = digital power, VSS = digital ground, VEE = negative power
ЦитатаVCC: C=circuit indicates the meaning of the circuit, that is, the voltage of the access circuit.
 
VDD: D = device means the meaning of the device, that is, the operating voltage inside the device;
 
VSS: S=series means the meaning of a common connection, usually refers to the common ground voltage of the circuit
ЦитатаVcc and Vdd are the power terminals of the device. Vcc is positive for bipolar devices, and Vdd is mostly positive for single-stage devices. The subscript can be understood as the collector C of the NPN transistor and the drain D of the PMOS or NMOS FET. You can also see Vee and Vss in the circuit diagram, which has the same meaning. Since the mainstream chip structure is silicon NPN, Vcc is usually positive. If VNP is used, the PNP structure is negative. When selecting a chip, be sure to look at the electrical parameters.
ЦитатаVcc is derived from collector supply voltage, Collector Voltage, generally used for bipolar transistors, PNP tube is negative supply voltage, sometimes labeled as -Vcc, NPN tube is positive voltage.

Vdd is derived from the drain supply voltage, Drain Voltage, used in MOS transistor circuits, generally referred to as the positive supply. PMOS transistor, so in CMOS circuits, Vdd is often connected to the source of the PMOS transistor.

Vss source supply voltage, referred to as negative supply in CMOS circuits, or zero volts or grounded in single supply.

Vee emitter power supply voltage, Emitter Voltage, is generally used for the negative supply voltage of the ECL circuit.

Vbb base supply voltage, common-base circuit for bipolar transistors.

VPP: Program/erase voltage.
Вот только даже у производителей у у одного операционника V+, V-, у другого Vcc, Vss, у третьего Vcc, Vee... бардак...
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

zenon

Не только с названиями питания бардак, всегда по смыслу приходиться ориентироваться, это уже данность.
Вот из даташита К1156ЕУ3Р. И попытался UC28025, справа просто по порядку лап, уже в схеме надо будет подкорректировать.
https://github.com/minamonra/

Slabovik

Раз уж отвлёкся на 200-мильную решётку, нарисовал вполне приемлемый вариант транзистора.
К сожалению, совместить "чётко по ГОСТ" и "попадаем в сетку" не представляется возможным, поэтому допущены компромиссы - небольшие отступления от указанных в ГОСТ размерах и углах. Но на деле мало кто определит на глаз разницу между 60° и 61° :)

NPN_200mil.png

Длина базы в правильном размере должна быть 180 mil, но 175 и даже 170 выглядит симпатяшнее. На картинке координаты для 175mil
Координаты перьев стрелки для NPN:
X1=5, Y1=-60, X2=50, Y2=-100
X1=-7, Y1=-81, X2=50, Y2=-100

Координаты перьев стрелки для PNP:
X1=-45, Y1=-45, X2=12, Y2=-64
X1=-45, Y1=-45, X2=0, Y2=-85

Стрелка слегка кривовата, но уж очень не хотелось в дробные влезать. Визуально совершенно не заметно.
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

zenon

Будем рисовать идеальный транзистор? :)
В принципе можно у KiCad`а расковырять файл библиотеки символов.
Тем более, он текстовый: filename.kicad_sym
Вот нарисовал круг окружность 240 mils и линию 200 mils.
Поискал по названию и вот:
↓ спойлер ↓
  (symbol "VT_NPN2" (pin_names (offset 0)) (in_bom yes) (on_board yes)
    (property "Reference" "VT" (at 0 7.62 0)
      (effects (font (size 1.016 1.016)) (justify left))
    )
    (property "Value" "VT_NPN" (at 0 5.08 0)
      (effects (font (size 1.016 1.016)) (justify left))
    )
    (property "Footprint" "" (at -0.2032 -25.4 0)
      (effects (font (size 1.778 1.778)) hide)
    )
    (property "Datasheet" "" (at -0.2032 -25.4 0)
      (effects (font (size 1.778 1.778)) hide)
    )
    (property "ki_description" "Биполярный NPN транзистор C(1), B(2), E(3)" (at 0 0 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (symbol "VT_NPN2_0_1"
      (polyline
        (pts
          (xy -2.54 0)
          (xy 2.54 0)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )
      (circle (center 0 0) (radius 3.048)
        (stroke (width 0) (type default))
        (fill (type none))
      )
    )
  )
[свернуть]
https://github.com/minamonra/

Slabovik

#32
Да зацепило чего-то...
"Дяденька, дай библиотеку. Ну дай библиотеку!" :)
Не дам...  >:(
Просто показываю красивое  ;) А что эти чёртовы перфекционисты сначала лепят квадратно-гнездовые УГО, но потом открывают ГОСТ и начинают капризничать, что мол у меня (у того, который их ГОСТ и заставил открыть), оказывается не по ГОСТ нарисовано. Кривенько... Пилят... А зато вот такую, извините, [censored]ерню как читать?

С_Kicad.png

А это малюсенькая схема!


А либы... да там миллиметры же! А вот вопрос, а с какой точностью там миллиметры? Сколько знаков программа учитывает-расчитывает? Я к тому, что чуть выше я упоминал тригонометрический расчёт. Транзистор я посчитал., кроме стрелок (просто поднадоело уже), и получается, что для попадания в сетку диаметр окружности надо 231mil, что меньше "законного" 240 mil. А при 240 mil выводы коллектора с эмиттером при 60° не в сетке, а если в сетке, то там угол меньше и они чуть сдвинуты вправо (если по картинке). Но выглядит плохо? Да нормально выглядит. Отлично выглядит! Поэтому ещё раз: Рисовать надо так, чтобы было легко читать. Чтобы было легко читать придумали ЕСКД, в т.ч. ГОСТ. Но надо помнить, что ГОСТ - не догма, а рекомендация. Вот и всё.

Слева 240mil, справа 231mil

240vs231.png

Какой оставить?

p.s. Блин, ну не могу я себе новый Кикад поставить... Десятка только на одном компе работать может, на остальных швах...
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

zenon

#33
Левый имхо красивше пропорциональнее рядом с RC выглядит.
Эээээ.... гигов 20 на винте есть? Поставь линукс в дуалбут, ну только не бунту, лучше уж Mint чем её, оптимальной счтитаю Manjaro (https://manjaro.org/), у неё pacman с йогуртом есть... :)

:: добавлено 05 Июль, 2023, 20:02
Ну я ж не попробовать не мог.
Ручками ввёл координаты твоей стрелки.
     (polyline
        (pts
          (xy 0.127 -1.524)
          (xy 1.27 -2.54)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )
      (polyline
        (pts
          (xy -0.1778 -2.0574)
          (xy 1.27 -2.524)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )


:: добавлено 05 Июль, 2023, 21:07
Уф. Полная копия.
Но если отображать CBE, то выводы CE надо по 100 mil делать.
↓ спойлер ↓
    (symbol "VT_NPNSL2_0_1"
      (circle (center -0.381 0) (radius 3.048)
        (stroke (width 0) (type default))
        (fill (type none))
      )
      (polyline
        (pts
          (xy -3.429 0)
          (xy -1.143 0)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )
      (polyline
        (pts
          (xy -1.143 -1.143)
          (xy 1.27 -2.54)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )
      (polyline
        (pts
          (xy -1.143 1.143)
          (xy 1.27 2.54)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )
      (polyline
        (pts
          (xy -1.143 2.2225)
          (xy -1.143 -2.2225)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )
      (polyline
        (pts
          (xy -0.1778 -2.0574)
          (xy 1.27 -2.524)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )
      (polyline
        (pts
          (xy 0.127 -1.524)
          (xy 1.27 -2.54)
        )
        (stroke (width 0) (type default))
        (fill (type none))
      )
    )
    (symbol "VT_NPNSL2_1_1"
      (pin input line (at -5.08 0 0) (length 1.651)
        (name "B" (effects (font (size 1.016 1.016))))
        (number "1" (effects (font (size 1.016 1.016))))
      )
      (pin input line (at 1.27 3.81 270) (length 1.27)
        (name "C" (effects (font (size 1.016 1.016))))
        (number "2" (effects (font (size 1.016 1.016))))
      )
      (pin input line (at 1.27 -3.81 90) (length 1.27)
        (name "E" (effects (font (size 1.016 1.016))))
        (number "3" (effects (font (size 1.016 1.016))))
      )
    )
  )
[свернуть]

:: добавлено 05 Июль, 2023, 21:12
Цитата[censored]ерню как читать?
Да! USB штуковина чесслово - смотрится как какая-то х. А земля ориентацией в небо чего стоит!
Я даже использовал как-то этот символ USB... но раздражал он меня всегда.

:: добавлено 05 Июль, 2023, 21:21
Да, кстати VT8 - копия по координатам, VT7 - мой, почти одинаково вышло, стрелка чуть другая, твоя более острая.
Даёшь JFET!

:: добавлено 06 Июль, 2023, 01:19
На ночь глядя, а вот так оно рисуется этими размерами.
↓ спойлер ↓
про "землю в небо" на крайней схеме, как общий правильно изобразить (С5)?
[свернуть]
https://github.com/minamonra/

Slabovik

Расчёт геометрии для попадания в узлы сетки.
Попадание в узлы сетки необходимо для выводов коллектора и эмиттера т.к. они имеют полное право быть изображёнными в двух положениях: вертикально и горизонтально (показывал ранее).

Trans_geometry.png

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

Результаты расчёта для двух базовых размеров, 300mil и 200mil, округлённые до 4 знаков после запятой

Trans_geometry_digits.png

Расчёт перьев стрелки прост. Перья отклоняются на +15° и -15° от направления. Поскольку эмиттер наклонён на 30°, одно перо наклонено на 45°, второе на 15°. Легко задавать длину катета для 45-градусного пера, и от неё считать катеты для 15-градусного

Trans_geometry_arrow.png

Такая стрелка идеологически правильная (по ГОСТ), но если чуть прижать перья, сделав им наклон градусов 12, она выглядит симпатяшнее. Но для этого K надо пересчитать (будут Kx и Ky, где Ky =Kx/tg(30°+x°) )


Транзистор 300mil, построенный по данным из расчётов выше. Координаты были округлены до одного знака после запятой

Trans_geometry_300mil.png

Размер резистора для 300-mil базы может быть от 287,5*115 до 250*100 (поскольку диаметр окружности транзистор допускается быть от 12 до 14 мм). Для 200-mil базы, соответственно, 187,5*75 ~ 165*66. От длины резистора будете считать все другие размеры (длина резистора =10, ширина 4, ширина конденсатора 8, расстояние между обкладками 1,5, ширина диода 5, длина 4, диаметр измерительного прибора 10, диаметр лампочки 8, и т.д.)

IGBT транзистор рисуется аналогично биполярному. Вывод затвора смещается вниз, но должен остаться в сетке. Расстояние обложки затвора от канала 1,5 ед (примерно, тут углы соблюдать не надо, поэтому топорщиться в десятые доли тоже нет необходимости)

Trans_geometry_IGBT300mil.png

Выводы коллектора и эмиттера также могут загибаться на 90° при необходимости.
Поскольку у каждого IGBT внутри есть диод, можно добавить его символ на линии выводов К-Э, но толщину линий его изображающих желательно уменьшить.

С полевыми транзисторами дело хуже. ГОСТ предписывает иметь между горизонтальными частями изображений истока и стока 1R окружности корпуса. Так не получается при условии, что корпус рисуем точно того же размера и в том же положении, что нарисовали для биполярного. Либо как минимум мельчить сетку в два раза. 240/2=120, поэтому 125 было бы приемлемо. 346/2 - наиболее близко 175, но тут 150 как-то относительно ничего, небольшое преимущество чуть более крупного масштаба.

Чтобы транзисторы не выглядели сдвинутыми относительно биполярных, например, в каскоде и т.п. местах, положение окружностей корпусов придётся оставить на том же месте, что и у биполярных (засада, да). База, в отличие от биполярных, рисуется в центре окружности, её размер 3/4 диаметра (можно чуть меньше - смотрится лучше). Базу можно сделать линией чуть толще, а можно и типовой.

Trans_geometry_JFET300mil.png

Точки пересечения с окружностью

Trans_geometry_JFET300mil_coordinates.png

Длины выводов нужно, соответственно, скорректировать, чтобы точки подсоединений проводников точно попадали в сетку 50x50

FET с встроенным каналом рисуем на этой же основе. Немного по-другому внутри. FET с индуцируемым каналом (справа) имеет "порванную" на три отрезка базу (символизирующую, что по-умолчанию канал закрыт)

Trans_geometry_FET300mil.png

Символ диода (который есть практически в каждом транзисторе с индуциремым каналом, но не во всех!) впихивать сюда уже не стоит, т.к. есть стрелочка, говорящая о том, что есть проводимость в её направлении. У тех транзисторов, в которых нет такого диода, например КП350 и подобные, стрелочка на УГО должна отсутствовать. Будьте внимательны :)
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

zenon

Таких расчётов пока не делал, полевички вышли так:
ы. Запутался, так какие размеры должны быть у резистора при диаметре окружности транзистора 240?
(у меня сейчас резистор 200x80 mils).
https://github.com/minamonra/

Slabovik

Я видимо что-то неправильно посчитал. 200x80 - то, что надо. (240/12)*10=200
А, я же для 231mil диаметра привёл, поэтому слегка мельче. (231/12)*10 = 192,5. 187,5 удобно взять потому что это в сетке 12,5. 175 - потому что в сетке 25. 231/17.5=13,2, что вписывается в допустимое.

Вариантов вагон...  Но себе я по-видимому оставлю 300-мильную базу. Рисовку транзисторов (а это самое сложное, потому что всё остальное просто либо круглое, либо квадратное) вот уточнил, постепенно вытеснят нарисованное ранее.

Треугольные ОУ, кстати, тоже по-идее изображаются равносторонним треугольником. Довольно легко его посчитать, чтобы разместить так, чтобы можно было подсоединять выводы питания прямо к верху и низу треугольника (иногда бывает надо). Но треугольник, если я правильно помню, вроде не регламентирован...
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

zenon

#37
Оптопару сообразил.

:: добавлено 07 Июль, 2023, 18:03
А полевик, чтобы вписался ровно 1/2 1/4 и затвор получился 2/3 приходится смещать относительно центра, чтобы попасть лапами в 50.
https://github.com/minamonra/

Shaman

Как вы их так быстро рисуете? У меня ушло  3 часа, чтобы нарисовать вот это из готового УГО  ;D
Выделение_032.png 

И да, а почему бы не воспользоваться функцией, "альтернативная функция вывода". В документации на кикад её как раз рекомендуют при отрисовке микроконтроллеров.

vlcsnap-2023-07-07-20h31m11s701.png

При её использовании название вывода в УГО меняется.
Выделение_033.png

А по поводу транзисторов я перерисовал исходный в кикаде, выводы не трогал, просто сместил черточки для соответствия ГОСТ. И столкнулся с проблемой, что кикад не дает перемещать номер и имя вывода свободно, только 2 варианта и то для всего УГО разом. В итоге на УГО где выводы смотрят вперёд есть перекрытие цифр. Пока не придумал, что с этим делать, Если знаете как исправить, хотя бы ручками в коде УГО подскажите.
Выделение_034.png

zenon

#39
Ну тебе проще сразу глянуть тут https://github.com/minamonra/kicad-symbols
А вообще, длину лап подгоняй, сначала выставить 50 mil сетку, чтобы перекрестием попадал в кружок подключения, а потом можно и отдельно линию вплоть до сетки в 1 mil.
Вот вроде понятно.

:: добавлено 07 Июль, 2023, 21:04
Shaman, в библиотеке пока окончательные только резисторы и транзисторы "_NPN" "_PNP". :)
Добавил мегу.
https://github.com/minamonra/

Shaman


Slabovik

Тоже наткнулся на какой-то сайт-сборщик, но номера ГОСТ'ов и картинки показывает:

https://intellect.icu/uslovnye-graficheskie-oboznacheniya-elementov-elektricheskikh-skhem-6228
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

zenon

С выключателями борюсь.
За основу взял переключатель.
Резистор для сравнения 200 mil.
https://github.com/minamonra/

Shaman

Цитата: zenon от 28 Сен., 2023, 17:04С выключателями борюсь.
Классно получилось если вы не против слижу у вас  :)

Мне тоже наконец-то есть чем поделиться. Вот, оформил на gitlab:

УГО для Kicad 7 по ГОСТ ЕСКД

Там и картинки есть.

Для микроконтроллеров взял вашу базу, только убрал поле Display, поле Value поместил вместо него и запретил авторазмещение.
Оно у кикада вообще странное, что он берёт за габариты  я пока не понял, но разместить может и вот так:
Выделение_039.png

В принципе с этим уже можно жить остальное буду дорисовывать по мере надобности.

zenon

На авторазмещение как-то не обращаю внимания, да странное порой поведение у него.
У меня переезд+ремонт был (из одного района города в другой) поэтому дел было не в проворот.
Сейчас потихоньку возвращаюсь.
Реле ещё дорисовал, но с репой синхронизацию ещё не возобновил.
Тоже смотрел на гитлаб... а там если репа приватная доступ только тем у кого ссылка есть?
https://github.com/minamonra/

Shaman

#45
Цитата: zenon от 01 Окт., 2023, 21:12Тоже смотрел на гитлаб... а там если репа приватная доступ только тем у кого ссылка есть?
Честно, не знаю. Это мой первый опыт с системами контроля версий. Все выходные базовый функционал осваивал, пока получилось подружить Git c Lab-ом  :)  Порог вхождения очень высокий, а нормальных инструкций нема.
Но как минимум если переходишь в приватный реп просит зарегистрироваться. Вот можно проверить на моём тестовом https://gitlab.com/zslab/test

:: добавлено 01 Окт., 2023, 21:37
И вопрос вдогонку, а если .gitignore прописать сам gitignore он не будет выгружаться или его просто нужно убрать в .git?

zenon

#46
.gitignore сделал на компе, потом он перекочевал в репу.
Для каждой репы вроде свой.
А почему гитлаб?
Разглядывал ещё и наш гитфлик, ну ... не знаю.
Реле по гост вроде везде указан размер 12x6, ну и резистор (200х80mils) уже сделан, отсюда и оттолкнулся, 240х120 получается.
ы. Да в приватную требует регистрации.

ыы. А вот с элементами притания не пойму, пока 80/180/20.
https://github.com/minamonra/

Shaman

Цитата: zenon от 01 Окт., 2023, 22:11gitignore сделал на компе, потом он перекочевал в репу.
Я имел в виду, что н нужно сделать, чтобы он в репе не светился?

Цитата: zenon от 01 Окт., 2023, 22:11А почему гитлаб?

Да просто потому-что. На первых порах всё равно что использовать, а к хабу у меня чисто субъективное отторжение вызванное тем, что когда я качал оттуда софт даже не помышляя, что-то выкладывать постоянно блудил в интерфейсе. Со временем привык, но чувство осталось. :)  Да и ещё, Кикад на Лабе выкладывается, а я туда в багтрекер писал и аккаунт остался.

Цитата: zenon от 01 Окт., 2023, 22:11Реле по гост вроде везде указан размер 12x6

Я вот такие госты нашел там также. И кстати тоже за основу взял резистор и теперь использую масштаб 1 мм = 20 mil.
Когда закончите реле рисовать и выложите на в реп я бы взял или можете зареквестить на лабе в мой. Всяко лучше, чем в параллельно делать одну и туже работу.  ;)



zenon

Да, выложу, вопросы на моей повестке :_) - батарейки, перемычки, русские символы в названиях наших деталей, футпринтов, например Д818Д, КТ-26 (TO-92).
https://github.com/minamonra/

Shaman

Отлично, а я тогда буду потихоньку рисовать микроконтроллеры.