Доброго времени суток! И снова у нас уроки по Altium Designer. В предыдущих двух уроках мы научились создавать новый проект, добавлять в него все необходимые файлы, составлять принципиальные электрические схемы и проектировать печатные платы. В принципе этого минимального джентльменского набора вполне достаточно для создания схем и разводки плат за исключением одного НО.
Практически в любой схеме попадаются элементы, которых просто нет в готовых библиотеках Altium'а, какими обширными бы они не были. Иногда элемент есть, но посадочное место (footprint) не подходит для нашей платы. Или нужно нам использовать какую-нибудь специфичную микросхему, которой нет в библиотеках. Короче, не буду ходить вокруг и около, сегодня мы поговорим о том как создавать свои компоненты, посадочные места и библиотеки для Altium'a.
Итак, создание нового проекта мы уже рассматривали... Но повторить никогда не бывает вредно, так что запускаем Altium, в меню выбираем File → New → Project → PCB Project и вот у нас уже есть голый проект, в котором ничего нет. Сохраняем его под каким-нибудь именем, например, TestProject. Теперь жмем правой кнопкой на имени проекта и добавляем файлы принципиальной электрической схемы и печатной платы:
- Add New to Project → PCB.
- Add New to Project → Schematic.
Опять же сразу сохраняем новые файлы куда-нибудь под каким-нибудь именем. Все приготовления завершены, теперь давайте создавать компонент. А создавать мы будем преобразователь уровней — LM2676! Вот так эта микросхема выглядит:
Ну все, можно приступать. В меню выбираем: Project → Add New to Project → Schematic Library. В дереве проекта появился еще один файл, с которым мы что должны сделать? Правильно, сохранить. Прежде, чем рисовать сам компонент, давайте его переименуем (по умолчанию имя компонента — Component_1). Для этого заходим во вкладку SCH Library, которую найти не очень просто:
Тут сразу же понятно, что и где менять. Тыкаем дважды на название компонента и в появившемся окне вписываем свое название.
И, наконец-то, приступаем к непосредственному созданию модели микросхемы LM2676. Заходим в меню Place и выбираем Pin (так же можно жать правой кнопкой и в открывшемся меню выбирать Place → Pin). Теперь мы должны куда-нибудь установить первый пин компонента:
И вот тут надо быть очень внимательными... Видите, пока пин номер 2 еще не установлен, один из его концов помечен крестиком? Так вот, именно этот конец является точкой пина, к которой на схеме производится подключение других компонентов. То есть вот так правильно располагать выводы:
А если пин расположить наоборот, другим концом к корпусу микросхемы, то ничего хорошего не выйдет, а именно, при разводке платы к нашей микросхеме ничего не будет привязано. Давайте продолжим... У нас 7 выводов, их и добавим:
Отлично, но было бы не лишним вместо цифр дать пинам какое-то осмысленное название. Для этого надо дважды ткнуть на пин левой кнопкой мыши и в появившемся окне в поле Display Name мы можем задать имя вывода. Делаем как в даташите на LM2676:
Кстати в этом же меню можно выбрать электрический тип вывода — то есть в каком режиме он будет функционировать (вход/выход и т. п.). Но в этом примере мы не будем с этим заморачиваться. Давайте нарисуем теперь корпус микросхемы. Для этого в меню Place выбираем пункт Rectangle и рисуем красивый квадрат/прямоугольник:
Но вот ведь незадача, названия пинов пропали... Ничего страшного, это легко можно исправить. Для этого выбираем все пины (держим Shift и тыкаем на них поочередно). Теперь идем в меню Edit → Move → Send To Back и после жмем на наш квадрат/прямоугольник. Вуаля:
Получили отличную модель нужной нам микросхемы, по идее можно на этом и остановиться, но скорее всего нам понадобится еще и посадочное место для нее — мы же собираемся проектировать печатную плату. Ищем в даташите раздел с механическими размерами:
Собственно, нам нужно нарисовать 7 прямоугольников, а потом добавить большой прямоугольник, символизирующий корпус. Я обычно поступаю следующим образом...
В редакторе посадочных мест мы можем без проблем разместить прямоугольную область определенного размера. Для ее позиционирования нам нужно задать центр фигуры (то есть координату пересечения диагоналей). Так вот, для начала смотрим, какого размеры области нам нужны (в данном случае — 2.16*0.91, в даташите нужные нам размеры в миллиметрах указаны в скобках). Итак, запомнили размер. Пусть первый прямоугольник располагается в точке с координатами (0, 0). Ну а дальше элементарная математика и геометрия ) Расстояние между прямоугольными областями равно, по словам даташита, 1.27мм, и у нас нет оснований этому не верить. Поэтому центр второго прямоугольника будет иметь координаты (0, 1.27), третьего — (0, 2.54) и так далее (ко второй координате прибавляем 1.27мм). Вот и весь алгоритм. Мне кажется это значительно упрощает процедуру.
А теперь возвращаемся в Altium Designer. Нам нужно добавить в проект новый файл: Project → Add New to Project → PCB Library. Опять сразу сохраняем этот файл под любым именем и заходим в настройки:
Жмем дважды на название компонента и переименовываем во что-нибудь более осмысленное — например, LM2676. Как и раньше жмем правой кнопкой и выбираем там Place → Pad.
Это не совсем то, что надо, поэтому лезем в настройки, но для начала попросим Altium показывать размеры в миллиметрах, а не в дюймах. Правая кнопка → Library Options, в поле Unit выбираем Metric. Готово! Посадочное место по-прежнему не удовлетворяет нашим требованиям, так что лезем в настройки (двойной клик левой кнопкой на наш Pad). Забиваем туда рассчитанные нами параметры:
Что тут у нас...
- Location – координаты центра (0, 0) — для первого пина.
- Designator – номер пина. Тут надо внимательно следить за тем, чтобы поле Designator схемотехнического изображения компонента (помните мы рисовали его в начале статьи) совпадало с этим же полем посадочного места.
- Layer – выбираем верхний слой.
С остальным вроде все понятно. Теперь надо добавить второй пин — проделываем ровным счетом тоже самое. Ставим обычное дефолтное посадочное место в любую точку платы и лезем в его настройки. Там вбиваем:
В настройках отличается лишь поле Designator и координаты центра прямоугольника, что весьма логично. В итоге получаем:
Таким же образом добавляем оставшиеся 5 пинов, не забывая увеличивать значение поля Designator и изменяя координаты центра. Получаем почти готовое посадочное место, не хватает лишь корпуса. Для его прорисовки используем обычные линии (Place → Line), но надо изменить слой. Для таких вещей используем Top Overlay и получаем очень даже красивую микросхемку:
Вот в принципе и все!
Тут еще хочу добавить, что лучше хранить все используемые в проекте библиотеки в папке проекта, а не где-то еще. Это позволит работать с проектом на других компьютерах, а не только на одном, надо будет всего лишь таскать с собой всю папку проекта, не озадачиваясь переносом отдельных библиотек.
Теперь, чтобы связать созданные файлы SCH и PCB нужно сделать следующее. При добавлении компонента на принципиальную схему, заходим в его настройки, и там мы можем выбрать любой футпринт, из любой библиотеки.
Вот теперь точно все... Научились мы создавать свои компоненты, и, по большому счету, того, что мы узнали в этих трех уроках по Altium Designer уже достаточно для проектирования схем и печатных плат, хотя возможности Altium'а этим далеко не ограничиваются, но об этом как-нибудь в другой раз )
Ещё бы библиотек) Нормально отсортированных)
Это да=))
А так на сайте альтимума вчера нашёл куча всего но понемногу http://wiki.altium.com/display/ADOH/Download+Libraries
Так SCH и PCB части микросхемы каким образом становятся связанными друг с другом?
Ого, как это я забыл это написать..Вообще когда на схему добавляется компонент, то в его настройках можно выбрать любой футпринт. На днях обязательно залью в статью пару скриншотов
Большое спасибо за столь хорошее и понятное объяснение!!! Молодец!
А как создать элемент если в нем два транзистора или ОУ в одном корпусе
Добрый день! Подскажите, пожалуйста! Допустим у нас имеется в schematic и pcb модель резистора номиналом 1кОм, пусть это будет МЛТ-0,25. И пусть имеется footprint для него, расстояние между ножками 15мм. А как быть, если мне понадобится footprint с расстоянием между ножками 20мм? Под тот же schematic создавать новый footprint? В sprint layout проще делается, можно просто разгруппировать компонент и растянуть ножки как надо. А в альтиуме есть такая функция или все таки нужен набор футпринтов? Тоже самое касается, к примеру, и транзисторов, ведь у них выводы могут быть расположены треугольником или в линию. Заранее спасибо!
Я досконально этот вопрос не изучал, сам если возникает такая необходимость создаю отдельный footprint. Вполне возможно, что есть какая-нибудь более удобная функция.
Благодарю! Скорее всего есть. Не может же спринт быть круче альтиума! 🙂
=)
А что делать, если, например, нужен pad не с круглым отверстием, а с овальным, к примеру для контакта силового реле? У них ведь бывают плоские контакты. Да и вообще, не просто круглое отвертсие, а какое-то профилированное, для общего случая.
Там при создании футпринта можно менять форму отверстий.
Спасибо. А если я выберу для футпринта пад. Я так понимаю, пад он для конкретного слоя? А виа это сразу для всех слоев пады + металлизация? Можно для футпринта использовать пад, а в случае необходимости потом в свойствах изменить на виа?
Все это при создании футпринта настраивается - там указывается слой, на котором находится пад, соответственно, так же настраивается и будет ли отверстие сквозным или нет итд.
Спасибо! И еще один глупый вопрос. С помощью какого слоя указывается сверловка обычных крепежных отверстий, без всяких падов? Механический слой?
Я делаю обычное переходное отверстие с Top на Bottom, но указываю параметры Diameter и Hole size одинаковыми - в итоге получается обычное отверстие )
Очень даже остроумно! 🙂
Спасибо за советы. Можно становиться професионалом.
Не за что)
Добрый день, добрый человек! Есть еще пара глупых вопросов. 1) У падов есть возможность выбора слоев, в том числе есть multi layer. Это значит, что пад будет и сверху и снизу платы, и еще внутри, если есть внутренние слои платы? Также есть пункт plated, т.е. если мы выберем plated, наше сквозное отверстие будет металлизировано? 2) Допустим, вывод компонента имеет диаметр 0,9мм и, соответсвенно, мы делаем диаметр сквозного отверстия на паде 1мм. Если наше отверстие будет металлизировано и слой металлизации 0,05мм, то получается в процессе металлизации отверстие уменьшится с 1мм до 0,9мм. Или программа автоматически пересчет диаметра отвестия сделает? Т.е. мы указываем делать 1мм для сверловки, но прога знает, что нужно учесть металлизацию, и она сделает нам так, что итоговое отверстие с металлизацией получится равным 1мм, а сверловку сделает 1,1мм. Или, все таки, нам самим надо учитывать толщину слоя металлизации и делать соответсвующую поправку?
Да, внутри тоже - отверстие же не может быть только сверху и снизу, оно же сквозное.
По поводу plated точно не скажу, но там же все видно - можно поставить какие-то настройки - посмотреть какой получился результат итд.
Обновите пожалуйста статью: добавьте как сделать библиотеки sch и pcb связанными