KiCad EDA - одна из самых популярных в мире платформ разработки печатных плат для электронных устройств. Бесплатный продукт с открытым исходным кодом, по функционалу находящийся вполне на уровне тяжеловесных коммерческих продуктов, такими как Altium Designer или Eagle.
Единственное, что не в лучшую сторону отличает KiCad от своих коммерческих собратьев - это отсутствие встроенной функции автоматической трассировки. Конечно, 90 из 100 разработчиков электроники в этом месте наверняка скажут: "автотрассировка - это для слабаков". Да, действительно, тщательно разведенная вручную плата всегда превзойдет по качеству результат работы даже самого продвинутого автоматического трассировщика. Однако время, затрачиваемое на кропотливое протягивание дорожек вручную, в условиях острого цейтнота иногда вынуждает прибегнуть к функции автотрассировки.
Правда, до недавнего времени KiCad дружил "из коробки" со свободно распространяемым автотрассировщиком FreeROUTE. Не самый интеллектуальный и быстрый автотрассировщик в мире, конечно... Но ведь дареному коню, как известно, в зубы не смотрят. Пользовались люди и не безуспешно. Однако в 2014 году произошло крайне печальное для всех лентяев, не желающих разводить свои платы вручную, событие: Alfons Wirtz, создатель FreeROUTE, внезапно прекратил работу над своим детищем, решив посвятить остаток жизни садоводству и медитативным практикам (шучу, на самом деле я понятия не имею, что побудило Альфонса забросить свой проект и чем он занимается сейчас). Так или иначе, FreeROUTE остался в истории в виде заброшенного проекта на гитхабе и не очень удачной попытки его возрождения группой энтузиастов.
Признаться, я сам люблю разводить свои шедевры вручную, поэтому не очень-то убивался по случаю безвременной кончины FreeROUTE. Однако всегда хочется иметь в запасе инструмент, позволяющий при необходимости сделать проект в предельно сжатые сроки. Все варианты с "пролеченными" версиями коммерческих продуктов я с негодованием отметаю, ибо свято чту уголовный кодекс.
И вот я недавно я открыл для себя замечательную разработку отечественных разработчиков из Сколково - трассировщик TopoR. Собственно, слышал я про него давно, но пощупать вживую как-то все руки не доходили. А тут как раз потребовалось шустро, буквально за пару часов, разработать небольшую платку в KiCad. Ну и решил облегчить себе жизнь, а заодно и рассмотреть вблизи этот самый знаменитый "русский топор". Бесплатная версия Lite позволяет разводить до 125 цепей, а мне больше как раз и не надо было.
Вот моя плата в кикадовском Pcbnew, еще не разведенная, но с более-менее адекватно расставленными элементами:
Разводить будем в 2 слоя, ширина дорожки 1 мм, зазор 0.3 мм. Правила, как положено, прописываем в Design Rules.
Далее экспортируем плату в формат Specctra DSN для последующей передачи в TopoR:
Рекомендую все "топорные" файлы хранить в отдельной папочке внутри папки основного кикадовского проекта.
Запускаем TopoR и импортируем только что сохраненный файл:
Далее выбираем формат Specctra и указываем путь к файлу с расширением .dsn:
Последовательно жмем Import, Finish и Create.
Вуаля! Наша неразведенная плата снова перед нами:
В простейшем случае сразу переходим к автоматической разводке:
В появившемся окошке нажимаем Start и в реальном времени любуемся напряженной работой искусственного интеллекта:
Вскоре программа выдаст вам рекомендацию остановить процесс, поскольку существенных улучшений уже достигнутого результата по ее мнению добиться уже не удастся. Согласимся и выберем понравившийся вариант. Я выбрал тот, что с чуть большей общей длиной дорожек, но зато без переходных отверстий:
Возвращаемся в редактор и видим результат разводки:
Да-да, я знаю что вы сейчас скажете... С эстетической точки зрения "топорная" разводка выглядит просто ужасно. Я так рисовал платы при помощи цапон-лака и маминого рейсфедера в 8 классе. Кстати, кто помнит что такое рейсфедер? Чур не гуглить!
Но, несмотря на кошмарно кривые дорожки, электрические параметры разведенных топором плат ох как хороши! Минимальная длина проводников, избегание параллельных линий - все это очень круто с точки зрения помехозащищенности. В этом и состоит ноу-хау разработчиков этого замечательного продукта. Так что, ну ее, эту эстетику. Главное, чтобы получившийся девайс работал потом как надо.
Осталось вернуть разведенную плату обратно в кикадовский проект:
Далее выбираем тот же формат Specctra и, провалившись в Settings, задаем целевой системой KiCad:
Нажимаем последовательно Export, Finish и возвращаемся в KiCad Pcbnew. Здесь совершаем обратную процедуру:
Указываем только что созданный файл с расширением .ses
Иногда в этом месте программа ругается на русские буквы в разделе session (это первая строчка файла .ses). При необходимости откорректируйте: оставьте, например, только имя файла, без пути. Это ровным счетом ни на что не влияет.
И вот наша разведенная плата уже в KiCad:
Осталось облагородить, добавить надписи в слоях Silk, заливку зон GND и т. п.
И вот что в итоге получилось:
С учетом всех экспортно-импортных манипуляций TopoR справился минут за 7. Вручную на разводку я потратил бы не меньше часа.
Да, кстати, для интересующихся, что же такое я разводил. Это был стабилизатор анодного напряжения для лампового усилителя. Сам тоже такой теплый, ламповый, бескомпромиссный...
Результатом доволен, рекомендую!