Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Несколько положений одного элемента на ПП.
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Altium Designer, DXP, Protel
Deka
Можно-ли один элемент из схемы расположить на ПП в нескольких местах? Имеется ввиду то, что в зависимости от конструкции блока датчик Холла, например, может располагаться в одном из 3-х мест (т.е. универсальная плата для 3-х корпусов). Пока я просто рисую несколько однинаковых элементов в принц.схеме и тогда могу разместить их в ПП. Есть возможность обойтись одним элементом в схеме?



P.S. Совсем забыл, работаю в Altium Designer
Владимир
Изголится можно, но самое простое и правильное вы уже используете
Deka
Ok. Спасибо.
Gennaj
Нет, можно это сделать и не коверкая схему.
1. На печатной плате командуем Place-Component и размещаем нужный нам фоотпринт в нужном нам месте.
2. Выделяем этот добавленный фоотпринт и разбиваем его на простые примитивы.
3. Двойной щелчок на каждой из контактных площадок (или через PCBInspector) - подключаем каждую из контактных площадок к нужной цепи.
4. Разводим дорожки так, как нам надо.

Для ленивых, можно не выполнять пункт 2 и не разбивать компонент. Тогда всего лишь при попытке обновить схему из редактора схем Альтиум будет предлагать удалить "лишний" компонент.
Vokchap
Оставляем на схеме один элемент, на ПП добавляем в нужные места из библиотеки остальные элементы, присваиваем им атрибут "Graphical" (чтобы не удалялись при синхронизации со схемой) и добавляем для них соотв. правило (чтобы не зеленели подключенные цепи при Online DRC).
Deka
Помоему он ещё и дорожки идущие через лишний компонент подсвечивает как ошибочные. Попробую разбить на примитивы. Спасибо.
Владимир
Цитата(Gennaj @ Jun 7 2007, 12:25) *
Нет, можно это сделать и не коверкая схему.
1. На печатной плате командуем Place-Component и размещаем нужный нам фоотпринт в нужном нам месте.
2. Выделяем этот добавленный фоотпринт и разбиваем его на простые примитивы.
3. Двойной щелчок на каждой из контактных площадок (или через PCBInspector) - подключаем каждую из контактных площадок к нужной цепи.
4. Разводим дорожки так, как нам надо.

Для ленивых, можно не выполнять пункт 2 и не разбивать компонент. Тогда всего лишь при попытке обновить схему из редактора схем Альтиум будет предлагать удалить "лишний" компонент.

Именно это я и называю изголяться.
При этом можно не разбивать футпринт а просто скопировать его несколько раз и вручную подключит связи, или наложить друг на друга и сделать Reconnect (быстрее и надежней получается)
Но все это так. По этому принципу можно и вообще от схемы отказаться
Deka
Жаль, что альтиум не поддерживает несколько положений одного комопнента на ПП... Думаю, что оба решения имеют право на жизнь.
Всем спасибо.
Владимир
Цитата
на ПП добавляем в нужные места из библиотеки остальные элементы, присваиваем им атрибут "Graphical" (чтобы не удалялись при синхронизации со схемой)

По подробней. атрибут "Graphical" вроде только для схемы работает, но отдельно только для посадочных мест? Как это делается
Vokchap
Цитата(Владимир @ Jun 7 2007, 13:24) *
По подробней. атрибут "Graphical" вроде только для схемы работает, но отдельно только для посадочных мест? Как это делается

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

Чтобы дорожки не светились зеленым, надо перед тем, как их подключать к площадкам, изменить цепь площадки (вместо NoNet указать то, что требуется).

Разбиение на примитивы позволяет избежать двух проблем: во-первых, не нужно писать никаких дополнительных правил, во-вторых, при попытке апдейтить плату из схемы не будет никаких поползновений на удаление компонента. Есть и недостатки, а именно - разбитый компонент сложнее передвигать с места на место. Но эта проблема как раз-таки решается очень легко, путем объединения этих примитивов в Union.

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



Цитата(Владимир @ Jun 7 2007, 13:24) *
По подробней. атрибут "Graphical" вроде только для схемы работает, но отдельно только для посадочных мест? Как это делается

Смотри в свойство "Component Type" (выделив компонент на ПП).
Владимир
Цитата(Vokchap @ Jun 7 2007, 13:35) *
Если стоит такой атрибут на футпринте, то он не электрический объект и выпадает из списка синхронизации. Если его подключаем, то пишем правило для DRC.

Укажите где по картинке
Vokchap
Цитата(Владимир @ Jun 7 2007, 13:43) *
Укажите где по картинке

Type: Standart => Graphical
Владимир
Цитата(Vokchap @ Jun 7 2007, 13:45) *
Type: Standart => Graphical

Нету там.
Type: Standart => Graphical касается только элеменитов на СХЕМЕ.
ВОПРОС же в том, что для отдельного посадочного места, нет такого атрибута
Gennaj
Цитата(Владимир @ Jun 7 2007, 13:43) *
Укажите где по картинке

Или вот так:


Цитата(Владимир @ Jun 7 2007, 13:55) *
Нету там.
Type: Standart => Graphical касается только элеменитов на СХЕМЕ.
ВОПРОС же в том, что для отдельного посадочного места, нет такого атрибута


Владимир, на Вашей картинке, в левом верхнем углу, там где Component Properties, пятая строчка текста, есть выпадающий список "Type". У Вас там сейчас стоит Standart. Там же есть и Graphical.
Vokchap
Цитата(Владимир @ Jun 7 2007, 13:55) *
Нету там.

smile.gif
Владимир
Цитата(Gennaj @ Jun 7 2007, 14:03) *
Или вот так:
Владимир, на Вашей картинке, в левом верхнем углу, там где Component Properties, пятая строчка текста, есть выпадающий список "Type". У Вас там сейчас стоит Standart. Там же есть и Graphical.

A, Семен Семенович a14.gif

Да так работает. И наверное оптимальный вариант
Vokchap
Цитата(Владимир @ Jun 7 2007, 14:51) *
Да так работает. И наверное оптимальный вариант

Осталось только потренироваться в написании правил? wink.gif
Владимир
Цитата(Vokchap @ Jun 7 2007, 15:07) *
Осталось только потренироваться в написании правил? wink.gif

Насчет правил. Старые прекрасно работают. Потренировался.
Да удалять хочет при импорте из схемы, но это настраивается (правда не пробовал)
Gennaj
Цитата(Vokchap @ Jun 7 2007, 15:07) *
Осталось только потренироваться в написании правил? wink.gif

Хм, ну а чем же все-таки не нравится разбиение на примитивы-то? Тогда ведь и правила не нужно писать?
Владимир
Цитата(Gennaj @ Jun 7 2007, 15:36) *
Хм, ну а чем же все-таки не нравится разбиение на примитивы-то? Тогда ведь и правила не нужно писать?

И так тоже писать не надо.
Вот - ни одного сообщения об ошибках
Vokchap
Цитата(Владимир @ Jun 7 2007, 15:46) *
И так тоже писать не надо.
Вот - ни одного сообщения об ошибках

При отключенных правилах? lol.gif
Владимир
Цитата(Vokchap @ Jun 7 2007, 15:48) *
При отключенных правилах? lol.gif

Ну почемуже. Все включено. Картинку или файл приложить?
Vokchap
Цитата(Владимир @ Jun 7 2007, 15:54) *
Ну почемуже. Все включено. Картинку или файл приложить?

А что собственно добавлено на PCB на предыдущей картинке (все пады с нэтнэйм)?
Владимир
Цитата(Vokchap @ Jun 7 2007, 16:03) *
А что собственно добавлено на PCB на предыдущей картинке (все пады с нэтнэйм)?

На картинке видно. Нет там NoName
1 скопирован R38 и вставлен на своеже место
2 Получилось 2 R38, каторые полность запаралелены (включая подключенные связи)
3. Один из них отодвинут и у него изменен TYPE=Graphical
4. Связи да разведены и произведена проверка на DRC/
5. Все проделано на рабочем проекте, железо которого уже работает
Gennaj
Стоп, кажется мы не понимаем друг друга.
1. Правила не нужно писать, если произвести подключение площадок компонента к нужным цепям (неважно каким способом - копированием, или отдельно для каждого пада).
2. Попробуйте обновить плату из схемы. Если компонент остается компонентом (даже если он graphical), Альтиум будет предлагать отключить от него дорожки. При разбиении на примитивы этого нет.
Vokchap
Чего-то я не въезжаю...
Как такое может быть:
Добавляется "левый" элемент (Graphical) на pcb, подключается к цепям, при этом все правила стоят на "All", включены, а на плате ничего не светится! И строгое соответствие с SCH! sad.gif
Чего-то нут не так ...
Можно файлик, если это не плата для ядерной боеголовки?
Владимир
Цитата(Gennaj @ Jun 7 2007, 16:17) *
Стоп, кажется мы не понимаем друг друга.
1. Правила не нужно писать, если произвести подключение площадок компонента к нужным цепям (неважно каким способом - копированием, или отдельно для каждого пада).
2. Попробуйте обновить плату из схемы. Если компонент остается компонентом (даже если он graphical), Альтиум будет предлагать отключить от него дорожки. При разбиении на примитивы этого нет.

Я и говорил, что будет это делать.

Что бы не удаляла при импорте из схемы нужно в ECO генераторе отключить опцию "Remuve Pins From Nets"

Цитата(Vokchap @ Jun 7 2007, 16:29) *
Чего-то я не въезжаю...
Как такое может быть:
Добавляется "левый" элемент (Graphical) на pcb, подключается к цепям, при этом все правила стоят на "All", включены, а на плате ничего не светится! И строгое соответствие с SCH! sad.gif
Чего-то нут не так ...
Можно файлик, если это не плата для ядерной боеголовки?

А чего им гореть. Они уже при копировании не горят, так как PAD нового элемента автоматически присваиваются имена NET тех PAD, на которые они попали. Инет никакого нарушени. И DRC не ругается
Вот ECO генератор будет ругаться, покода не уберешь с него эту опцию запрета импорта различий
Gennaj
Цитата(Vokchap @ Jun 7 2007, 16:29) *
Чего-то я не въезжаю...
Как такое может быть:
Добавляется "левый" элемент (Graphical) на pcb, подключается к цепям, при этом все правила стоят на "All", включены, а на плате ничего не светится! И строгое соответствие с SCH! sad.gif
Чего-то нут не так ...
Можно файлик, если это не плата для ядерной боеголовки?


Вот пробный, не ядерный файлик smile.gif
Там ничего не светится, но при апдейте со схемы будет пробовать отключить цепи (сам компонент удалять не будет).
Vokchap
Цитата(Владимир @ Jun 7 2007, 16:37) *
Что бы не удаляла при импорте из схемы нужно в ECO генераторе отключить опцию "Remuve Pins From Nets"

Эту опцию отключать нельзя, т.к. невозможен далее нормальный апгрэйд всего проекта.
Цитата(Gennaj @ Jun 7 2007, 15:36) *
Хм, ну а чем же все-таки не нравится разбиение на примитивы-то? Тогда ведь и правила не нужно писать?

Gennaj, стратегия не верна, вроде как "через зад" выходит, хотя и с результатом. Для этих целей есть правила, ими и надо пользоваться. Предлагаю попробовать уже озвученный вариант:
1. Добавляем на PCB дополнительные футпринты (Graphical), все пады "No Net".
2. Открываем ветку "Electrical", в разделы "Clearance" и "Short-circuit" в областях "Where The First Object Matches" вместо "All" вписываем исключение: Not(AsMils(W)=Width), где Width - уникальная ширина треков, подводимых к "No Net" падам. Задавать в милях, т.к. мм округлятся и исключение станет ложным. Т.к. ширина уникальна, то исключение не влияет на другие треки на плате.
3. Подводим треки (With Net Name) от внешних цепей к "No Net" падам.
4. Наслаждаемся результатом.
Можно и не привязываться к конкретной ширине, правило будет чуть подлинее. Вариантов много, набирайте скилл в написании. wink.gif
Владимир
Цитата(Vokchap @ Jun 8 2007, 07:36) *
Эту опцию отключать нельзя, т.к. невозможен далее нормальный апгрэйд всего проекта.

Gennaj, стратегия не верна, вроде как "через зад" выходит, хотя и с результатом. Для этих целей есть правила, ими и надо пользоваться. Предлагаю попробовать уже озвученный вариант:
1. Добавляем на PCB дополнительные футпринты (Graphical), все пады "No Net".
2. Открываем ветку "Electrical", в разделы "Clearance" и "Short-circuit" в областях "Where The First Object Matches" вместо "All" вписываем исключение: Not(AsMils(W)=Width), где Width - уникальная ширина треков, подводимых к "No Net" падам. Задавать в милях, т.к. мм округлятся и исключение станет ложным. Т.к. ширина уникальна, то исключение не влияет на другие треки на плате.
3. Подводим треки (With Net Name) от внешних цепей к "No Net" падам.
4. Наслаждаемся результатом.
Можно и не привязываться к конкретной ширине, правило будет чуть подлинее. Вариантов много, набирайте скилл в написании. wink.gif

Естествено и изменения правил ECO требует внимательности, но и предложенные правила тоже, так как можно зацепить не накроком связь на другой свободный PAD, и потом кусать себе голову. help.gif
Ecо даже лучше, можно его включить и проверить "ручные добавки"
С правилами тоже можно но длинее
Gennaj
Цитата(Vokchap @ Jun 8 2007, 07:36) *
Gennaj, стратегия не верна, вроде как "через зад" выходит, хотя и с результатом. Для этих целей есть правила, ими и надо пользоваться.


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

Кроме того, для многовыводного компонента (если действовать по Вашему способу), все выводы окажуться NoNet. И указанное Вами правило не позволит обнаружить перепутанное подключение дорожек к выводам. Ведь все выводы - NoNet wink.gif
Владимир
Цитата
Кроме того, для многовыводного компонента (если действовать по Вашему способу), все выводы окажуться NoNet. И указанное Вами правило не позволит обнаружить перепутанное подключение дорожек к выводам. Ведь все выводы - NoNet

Одобрям. a14.gif Не к месту конечно Но поставить 2 BGA с 1000 выводами (такого не бывает но всеже) и вручню соединять и правило писать - это наказание twak.gif
xemul
имхо, сама постановка задачи именно под "поизголяться". Если правильно понял, нужно получить несколько вариантов сборки платы. Так почему бы не сделать это штатными совершенно прямыми средствами?
Gennaj
Цитата(xemul @ Jun 8 2007, 12:35) *
имхо, сама постановка задачи именно под "поизголяться". Если правильно понял, нужно получить несколько вариантов сборки платы. Так почему бы не сделать это штатными совершенно прямыми средствами?


Слишком общий вопрос, без конкретики. Какими именно "штатными совершенно прямыми средствами"?
xemul
Цитата(Gennaj @ Jun 8 2007, 13:58) *
Слишком общий вопрос, без конкретики. Какими именно "штатными совершенно прямыми средствами"?

Это не вопрос, а легкое недоумение. Чем "Assembly variants" автора треда не устраивают? Только тем, что на схеме придется нарисовать все элементы, которые могут присутствовать на плате? По-моему, это вполне естественно, а подход автора несколько странен.
Gennaj
Цитата(xemul @ Jun 8 2007, 13:46) *
Чем "Assembly variants" автора треда не устраивают? Только тем, что на схеме придется нарисовать все элементы, которые могут присутствовать на плате? По-моему, это вполне естественно, а подход автора несколько странен.


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

Во-вторых, мне казалось, что Assembly variants предназначено для создания нескольких вариантов печатной платы. В данной же теме вопрос был о том, как создать ОДНУ (!) плату (а не несколько разных вариантов!), подходящую для разных корпусов. Поправьте меня, если я не прав smile.gif
Vokchap
Цитата(xemul @ Jun 8 2007, 13:46) *
Это не вопрос, а легкое недоумение.

xemul, тут надо было не проект на несколько вариантов оформить, а дристнуть в плату парой ненужных корпусов (на "всякий случай", на "черный день", для "универсальности" и т.д.), и чтобы никому больно не было. Т.е., чтобы схема их не чувствовала и руллер не ругался. Вот и предлагаются тут всякие ***** варианты, кто на что.... Кесарю - кесарево, слесарю - слесарево, как говорится...
xemul
Цитата(Gennaj @ Jun 8 2007, 16:06) *
Ну, во-первых, я не претендую на абсолютное знание Альтиума, и просто высказываю мнение о том, как на мой взгляд можно решить поставленную задачу. Если Вы что-то знаете лучше меня, я с удовольствием Вас выслушаю. Собственно, для этого и существует данный форум, не так ли?

Вы очень серьезныsmile.gif. Повторюсь: я выразил только свое недоумение нетривиальным подходом к решению стандартной задачи.
Цитата
Во-вторых, мне казалось, что Assembly variants предназначено для создания нескольких вариантов печатной платы. В данной же теме вопрос был о том, как создать ОДНУ (!) плату (а не несколько разных вариантов!), подходящую для разных корпусов. Поправьте меня, если я не прав smile.gif

Насколько я понимаю идеология AD, для различных вариантов трассировки ПП предлагается все-таки создавать различные PrjPCB (я в одном PrjGrp веду всё развитие проекта, добавляя PrjPCB для новых версий схемы/трассировки). А Assembly Variants - это возможность формирования различных сборочников для одной трассировки (н-р, датчик Холла в одной версии сборки ставится справа снизу, а в другой - слева сверху. По-моему, именно это и хотел автор треда, но его стремление съэкономить на паре квадратиков на схеме непонятно).
Gennaj
Прошу прощения за "серьезность" smile.gif smile.gif smile.gif

Ка я понял, автор первого вопроса столкнулся с проблемой, когда заранее неизвестно, в каком из 3-х вариантов корпусов будет стоять эта печатная плата. Поэтому автор вопроса захотел узнать, как сделать одну универсальную плату smile.gif
Из-за чего, собственно, и весь сыр-бор wink.gif

А вообще - поздравляю всех с приближением выходных tort.gif !
Vokchap
Цитата(Gennaj @ Jun 8 2007, 16:30) *
А вообще - поздравляю всех с приближением выходных tort.gif !

Дык завтра еще тяжелый день, хотя можно уже праздновать beer.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.