
Поиск альтернатив привел меня на сайт буржуйской программы DesignSpark PCB, а дальнейшее использование побудило написать этот небольшой обзор.
С моей, сугубо субъективной точки зрения, удобство использования подобных CAD-программ на 80% складывается из двух пунктов:
- Удобство создания собственных электронных компонентов
- Удобство трассировки плат
Об этих двух пунктах речь далее и пойдет.
Дисклеймер
Все чертежи, описанные в данной статье, созданы исключительно для данной статьи. Они не претендуют на оптимальность, проработанность, соответствие каким-либо нормам и стандартам. Они никогда не были и не будут созданы автором, так что даже работоспособность плат ничем не подтверждена. Любые оценки, сравнения, сопоставления и выводы являются на 100% субъективными.
Пару слов о самой программе
Первое и, наверное, самое приятное впечатление – программа условно-бесплатная. И в данном случае понятие условной бесплатности раскрывается в выгодном ключе и заметно отличается от понятия временной бесплатности или бесплатности с ограниченным функционалом. После установки запрашивается код активации, код активации выдается на сайте после регистрации – все просто. Мне после указания в профиле профессии «инженер» выдалась лицензия на 6 компьютеров. Другая полезная сторона регистрации – наличие на сайте открытой для скачивания базы электронных компонентов. База огромная, но заполнена весьма фрагментированно.
Второе – программа относится к классу «программ полного цикла», как я его называю, т.е. на основе принципиальной схемы (одной или нескольких) создается и разводится плата, попутно совершаются все проверки и можно тут же намутить 3D-модель будущей платки.
DS1307
Описать процесс создания компонента для пользовательской библиотеки проще всего на примере какой-нибудь микросхемки, в данном случае подопытной станет DS1307 в корпусе DIP-8.
Сам процесс аналогичен подобному в среде Eagle CAD:
- Нарисовать схематику
- Нарисовать корпус (один или несколько)
- Слепить воедино схематику и корпуса сопоставив схематичные выводы с реальными.
Взглянем на структуру библиотечного каталога:

Библиотечный каталог. Схематика отдельно, корпуса отдельно, созданные из них компоненты тоже отдельно.
На представленном выше скриншоте то, что у меня в результате получилось.
За процесс отрисовки электронных компонентов отвечает конструктор – отдельный конструктор для каждого этапа проектирования нашей будущей детальки: Symbol Wizard, Footprint Wizard, Component Wizard. Теперь о каждом поподробнее.
Symbol Wizard
Запускаем Symbol Wizard, который предлагает на нарисовать схематику.

Слева описаны основные этапы отрисовки компонента.

Технологию можно оставлять «по умолчанию». Выбираем метрическую систему измерений ради удобства и следуем далее.

Выбираем тип/вид символа будущей детальки и позиционирование надписей относительно схемы.

Устанавливаем стили отображения пинов и их размеры.

Наконец, задаем количество пинов слева и справа, расстояние между ними, их длину и порядок нумерации.

Присваиваем созданному символу имя и сохраняем в пользовательскую библиотеку символов. К слову, я в данном случае использовал имя создаваемой микросхемы, хотя разумнее было бы назвать компонент как «PIN-8», поскольку единожды созданную схематику можно впоследствии использовать для любого другого компонента с подходящим количеством ног.

Вот что в итоге получилось. Надписи N1-N9 на этапе создания компонента на основе данной схематики будут заменены на соответствующие им названия. На данном скриншоте для наглядности я подписал их результирующие значения.
Footprint Wizard
Footprint Wizard отвечающий за создание PCB-моделей электронных компонентов точь-в-точь похож на Symbol Wizard. Тот же конструктор, только создаем теперь корпус.

Процесс практически полностью идентичен и убивает своей простотой в сравнении с тем же самым Eagle CAD.

Технологию оставляем «по дефолту», выставляем метрическую систему.

Выбираем тип корпуса и позиционирование надписей (это уже для шелкографии).

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

Задаем модель для шелкографии. У меня выставлен прямоугольник внутри падов, хотя обычно встречается наоборот – снаружи, но мне так больше нравится.

Предпоследним этапом выбираем показывать или нет обозначенные для компонента внешние границы, после чего можно либо просто сохранить полученную PCB-модель, либо сразу перейти к ручному редактированию результата, что зависит от состояния чекбокса «Edit the footprint now» на момент нажатия кнопки «Готово».

В режиме ручного редактирования можно что угодно удалить или дорисовать к созданной в конструкторе модели. Например, из половины контактов от корпуса SOIC-10 и четырех квадратных падов получается модель mini-USB для SMD-монтажа.

Создание электронного компонента из схематичной и PCB-моделей — это, по сути, простое сопоставление схематичных пинов с падами PCB-модели. Для этого тоже есть свой конструктор, но поскольку он идентичен представленным выше я его скрою.
Скриншоты Component Wizard











Трассировка платы

… запускается в 2 клика. :)
Схема для трассировки выглядит вот так:

Слегка модифицированный программатор USBasp
Не отступая от традиций данной программы, 2 клика по Tools — Translate to PCB… запустят очередной конструктор — конструктор будущей платы.

Читаем (или не читаем) сообщение, соглашаемся или отказываемся от создания платы — на ваше усмотрение.

О пресловутых технологических файлах я скажу далее по тексту, сейчас можно оставлять дефолтную технологию и mm в качестве единиц измерения (или thou, если кому то так удобнее).

Этот скриншот наглядно показывает почему технологию в предыдущем пункте можно оставить дефолтную. Выбираем количество слоев (от 1 до 14) и указываем на каких слоях располагать паяльную маску.

Указываем стартовые размеры платы или диаметр, если плата будет круглой. «Стартовые» размеры только потому, что потом все равно все эти параметры легко изменяются.

«Размещение и трассировка». Нет никакого смысла автоматически размещать компоненты на плате и трассировать дорожки между ними — получится куча мала с длинным списком неразведенных дорожек. Автотрассировщик есть, но разводит он плохо.
Результатом всех этих действий будет картина, аналогичная представленной ниже:

Силуэт платы, компоненты, связи. Прямо как в Eagle CAD-е.
Однако, прежде чем размещать компоненты на плате и разводить дорожки, нужно сказать пару слов о том самом технологическом файле, который был оставлен дефолтным в конструкторе. Именно этот файл контролирует технологические нормы, используемые при разводке: ширину силовых и сигнальных дорожек, расстояния между ними, между дорожками и компонентами и т.д. И именно сейчас, перед началом трассировки, лучше всего о нем позаботиться. Находятся его настройки в Settings — Design Technology, внешне они выглядят как таблица в которую вписываются требуемые значения.


Далее можно уже и компоненты размещать, и дорожки разводить, проверки прогонять, ошибки исправлять и т.д.
Проверок имеется несколько, я упомяну лишь главную — Design Rule Check. Она проверяет соблюдение всех тех правил, что описаны в технологических файлах: расстояния, соединения, зазоры, пересечения и т.д.
Отчёт о проверках в формате *.txt появится в папке проекта.
В заключение, пару слов о возможностях экспорта.

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