Редактор схем

Тема в разделе "Технологии радиолюбителя", создана пользователем KAMLS, 19 мар 2019.

  1. Daniil

    Daniil Гуру

    Недавно обновлял кикад и впервые убрал галочки с установки библиотек 3Д и компонентов.
    Запуск без проблем. Не до конца понимаю как они формируют свои библиотеки, зачем их меняют, каюсь, и гитом не научился еще пользоваться.
    Планирую "свои" библиотеки пилить. На разных машинах (работа/дом), разный кикад, надеюсь, проблема пропадёт.
     
  2. Unixon

    Unixon Оракул Модератор

    В KiCad? насколько я понимаю, до сих пор интеграция никакая и все по-отдельности eeschema+cvpcb+pcbnew+и т.д. Пробовал что-то сделать в ветке 4.x. В библиотеке просто нет электронных компонентов как законченных сущностей. При создании схемы используется только УГО комопнента, не связанное с посадочным местом. На этом этапе все еще нормально и подлянки не ощущается. Потом, когда нужно перейти к компоновке платы, возникает просто дикий головняк - каждому УГО нужно назначить посадочное место и соединить сигналы с выводами, при этом KiCad предлагает выбрать из 100500 как угодно названных посадочных мест, какое их них правильное, как оно называется, какая там распиновка - это нигде не зафиксировано. Приехали. НЕЕЕТ!!! Это так не делается. В нормальной EDA в библиотеки перебиваются компоненты из даташитов целиком и полностью, один раз проверяется корректность оформления, после чего все эти внутренности компонента стираются из оперативной и долговременной памяти мозга навсегда. В библиотеках спокойно могут располагаться тысячи компонентов, корректность библиотек, соответствие их даташитам проверяется на этапе их создания, после этого корректные библиотеки автоматически гарантируют зависящую от них корректность проекта. При переходе к компоновке платы и трассировке нахер не нужно все это заново согласовывать. Это даже вспоминать больно.
     
  3. Unixon

    Unixon Оракул Модератор

    Судя по обсуждениям на форуме KiCad до них таки дошло, что нужны "atomic parts" как они их называют, но библиотеки еще не переделали.
     
  4. AlexU

    AlexU Гуру

    Так реализовано почти во всех EDA -- DipTrace, Eagle и т.п. (хотя могу ошибаться). И в этом нет ни чего плохого. Рисуете схему в одном редакторе, потом её разводите в другом.
    И это правильно, т.к. одному УГО может соответствовать несколько разных посадочных мест. Например, простой случай -- резистор 1кОм -- может быть выводной с определённым шагом выводов или SMD ( 0805, 1206, 1210 и т.п.). Ведь на схеме указывается резистор определённого номинала, а уже на печатной плате определяется, что это будет за резистор (в каком корпусе).
    Вот это как раз не нормальная EDA. Возьмите доку на большинство микрух -- в конце обычно приводится несколько вариантов корпусов для каждой из них. По Вашему, если в схему включили определённый элемент (ту же микруху) так сразу с посадочным местом? Т.е. если нужно поменять корпус микрухи, так надо схему переделывать? Может всё-таки схема должна остаться прежней, а только разводка платы поменяться?
    Вот это в KiCAD'е как раз и реализовано (если правильно понял мысль). В редакторе схем для каждого УГО заданы выводы (их типы), можно проверить, что всё подключено правильно. Потом назначаются посадочные места. А затем идёт проверка разведённой печатной платы, что все выводы посадочных мест правильно подключены -- в соответствии со схемой, на основе которой эта печатная плата создана.

    PS: к стати в DipTrace когда рисуете схему заранее нужно выбирать в каком корпусе будет элемент (хотя посадочное место потом можно поменять). Для новичков это конечно проще, но вот зачем при проектировании схемы из множества элементов нужно заранее выбирать -- "а в каком корпусе он будет?" Может лучше сосредоточиться именно на схеме, а уже потом из элементной базы выбирать нужные корпуса при проектировании платы.
     
  5. Daniil

    Daniil Гуру

    Для меня это плюс - нет монструозного комбайна, который может всё, но пока он может надо ходить пить чай.
    Дополню, что сейчас некоторые библиотечные компоненты сразу имеют посадочное место.
    еыы.png
    А проблема с номерами выводов решается просмотром посадочного места, просмотр можно вызвать из окна назначения посадочных мест, а далее можно 3д модель посмотреть.
    Про огромный список тоже проблема в недосмотре. Там же есть фильтр посадочных мест по кол-ву выводов, по текстовому полю и ещё какие-то.
    tst.png
    (на картинке пропустил цифру "4")
    За собой заметил, что дашик у меня открыт постоянно. С одной стороны согласен, а с другой - я не знаю, было бы у меня меньше открытых дашиков, если бы посад. место назначалось бы сразу.
    Понимаю, что абсурд...но можно сделать свою библиотеку с заранее выбранными посад. местами..
    Согласен, что привычки менять тяжело, но я это пишу не для того, чтобы спорить какой KiCad плохой/хороший, а чтобы при выборе САПР человек не попадал под влияние отрицательных отзывов.
    Если их кто-нибудь читает:(
     
    ZAZ-965 нравится это.
  6. AlexU

    AlexU Гуру

    Данил, может подскажете. Столкнулся с проблемой. Хотя мешает, но активных поисков решения пока не предпринимал. Суть проблемы в том, что фильтр по количеству выводов не работает с библиотекой Pin_Headers. Т.е. при назначении посадочных мест -- выбираем библиотеку Pin_Headers, далее активируем фильтры "по кол.-ву" и "по библиотеке", выбираем нужный элемент (коннектор), а в списке "Отфильтрованные посадочные места" пусто. С остальными библиотеками работает вроде нормально.
    KiCAD версии 5.1.0.
     
  7. Daniil

    Daniil Гуру

    Если вы выбираете библиотеку, то фильтр "по библиотеке" включается сам, т.е. его повтороное "включение" я понимаю уже как выключение.
    Я сейчас попробовал и вывел такой алгоритм:
    1. выбираем к какому компоненту мы хотим назначить посад. место
    2. включаем фильтр по кол-ву выводов
    3. выбираем нужную библиотеку (причём, ёё выбор обязательно должен быть изменить библиотеку, т.е. если была выбрана библ. pin_header_2.54mm, то нужно выбрать любую другую, а потом вернуться обратно).
    При таком алгоритме у меня показывает хорошо, при переходе к другим компонентам фильтры не сбиваются и работают дальше.
     
  8. AlexU

    AlexU Гуру

    Правильно ли я понимаю, что при выборе библиотеки Pin_Headers и активации фильтра по количеству выводов в списке фильтра появляется нужные посадочные места? Вопрос именно про библиотеку Pin_Headers.
    И спасибо за наводку. В списке нашёл насколько библиотек с названиями типа Connector_PinHeader_???mm. Вот для них фильтр работает правильно.
     
  9. Daniil

    Daniil Гуру

    А у меня такой нет)
    Видимо, очередные модификации библиотек привели к тому, что у вас она осталась и сломалась
    tst.png
    *Ранее использовал стандартные бибилиотеки, но собираюсь их вынести в отдельную папку и редактировать самому.
     
  10. Unixon

    Unixon Оракул Модератор

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

    Это не совсем так, при проектировании схемы для тех же резисторов может понадобиться прикинуть рассеиваемую мощность или напряжение пробоя и ЗАРАНЕЕ зафиксировать необходимую модель путем выбора соответствующего корпуса, проверив перед этим доступность ее у поставщиков или на своем складе. Еще и комментарий прямо в схему прописать в особых случаях. Это происходит еще на этапе планирования, когда схема даже не закончена. Само схемотехническое решение может поменяться из-за недоступности или даже не существования в природе нужных компонентов.
     
  11. Unixon

    Unixon Оракул Модератор

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

    Проект - это внешняя память разработчика. Там моментально должно сохраняться все, что выходит из мозга.
     
  12. AlexU

    AlexU Гуру

    Отчасти согласен. Но бывают случаи с разными реализациями плат для одной и той же схемы. Соответственно могут быть разные посадочные места.
    Прикинуть можно, но опять же корпуса могут быть разные, способ установки разный. Тот же выводной резистор можно "положить" на плату или поставить вертикально. Это два разных посадочных места.
    Так нет ни каких проблем задать нужное посадочное место для конкретного компонента в момент принятия решения.

    Наш разговор сползает в холивар.
    У нас с Вами разные ожидания от инструмента. В моём подходе есть два этапа проектирования плат -- разработка схемы и разработка платы. И выбор корпусов элементов производится на этапе "разработка платы". Поэтому посадочные места на схеме мне не важны. Такой подход позволяет разработать на основе одной схемы несколько вариантов плат, например, различающихся по цене или по другим параметрам.
    И ещё, что могу добавить. Элементная база развивается довольно активно. Компоненты могут появляться в новых корпусах, сохраняя свою функциональность. И разделение библиотек компонентов и посадочных мест в этом случае является грамотным решением разработчиков -- разработчикам библиотек можно не париться, что появился компонент в новом корпусе.
     
    Ariadna-on-Line нравится это.
  13. Unixon

    Unixon Оракул Модератор

    Нисколько, мы лишь уточняем свои позиции.

    Кажется, я не совсем правильно расставил акценты. Проблема не в том, что на этапе создания принципиальной схемы нельзя определиться с посадочным местом, а в том, что в библиотеке KiCad совместимые посадочные места не связаны с УГО и для них не указана распиновка. Не указано даже какие из посадочных мест совместимы с таким-то УГО и как именно они называются, а их там очень много. Причем даже если это сделать один раз, это не становится частью библиотеки, и каждый раз придется таскать из прошлых проектов или делать заново. Вот это реально бесит. Сейчас, насколько я понимаю, в новом KiCad таки появилась возможность запихать эту информацию в библиотеку, пока не проверял. Если это так, то одна из проблем решена.

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

    Принципиальный момент в том, что связка УГО с посадочным местом это часть именно библиотеки, а не проекта железки.
     
    Последнее редактирование: 22 мар 2019