Category Archives: Софт

Весь необходимый софт. Описание, обучение.

Saturn PCB Toolkit

Проектируя главную деталь электронного устройства — печатную плату периодически приходится делать разные расчеты. Обычно у меня это толщины переходных отверстий и дорожек, чтобы прошли по току. Иногда надо рассчитать импенсданс дифференциальной линии или, банально, прикинуть делитель напряжения. Для таких задач под рукой болтается Saturn PCB Toolkit. У меня версия 7.05, старенькая, еще 18 года, но более новую я не нашел. А с официального сайта почему-то нельзя уже скачать. Поэтому выкладываю дитрибутив у себя.

Бегло опишу что умеет. (далее…)

Read More »

Чистая земля в EagleCad

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

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

Но можно преградить наводкам путь. Надо высадить контроллер и его критические цепи и окружение, такое как кварц, внешняя память на «чистую землю». Отдельный земляной полигон соединяющийся с грязной землей в одной точке, поближе к источнику питания. Т.е. все говно будет пролетать по земляному полигону вокруг этой чистой земли, а там будет тихая гавань. Соединение двух земель у меня показано стрелкой. Видите там группку переходок? Вот они идут на другую сторону платы и там соединяются с земляным полигоном «грязной земли» на противоположной стороне платы. Вокруг МК с обратной стороны проложен такой же чистый островок, но он несколько меньше размером и все переходные отверстия чистой земли сверху соединяются с чистой же землей снизу. Кроме одной точки, где указывает стрелка, там идет коннект на грязную землю. Прямо возле стабилизатора питания, который ее и питает.

Также настоятельно рекомендуется на выходящие и входящие линии данных поставить по резистору, это не позволит внешней части платы жестко дергать за GPIO внутренний островок. Ставить надо в места где отмечено зеленым, например. У меня разводка еще не до конца завершена, поэтому ничего там нет, но это временно.

Это довольно эффективно подавит помеху.

Ну и как проще всего сделать такую землю в Eagle CAD (в других CAD должно быть аналогично).
(далее…)

Read More »

Eagle CAD: copy-past like a boss

Одним из серьезных недостатков Eagle CAD являет ни разу не интуитивный интерфейс. С другой стороны, он удобен, а значит RTFM. Но по скольку с FM туго, то в некоторых вещах приходится разбираться методом тыка и разных шаманств, а также курения буржуйских форумов.

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

▌Копипаст групп. Из серии не знал, да забыл
Как выделяются, таскаются и копируются группы чего бы то ни было в Eagle. Ну это просто. Внизу даже есть подсказка. Берем инструмент групповое выделение:

и рамкой, или просто натыкивая контур, выделяем то что нам нужно. Да, выделением можно выкусить контур сложной формы, а не только прямоугольное выделение. Эт если вы не знали.
(далее…)

Read More »

Дралоскоп

▌Идея
Иногда хочется передрать удачную схему или разводку с имеющегося девайса или его изображения. Как тут не накосячить и не налепить ошибок, которые потом можно долго и нудно отлаживать? Особенно если схема большая. Раньше я печатал схему/разводку на бумажке, клал перед собой и вычеркивал проведенные трассы. А некоторые программы, например Sprint Layout, позволяют подложить фоном изображение требуемой платы и просто его обвести. В Eagle же этой прикольной возможности нет. А встроенные скрипты конвертации точечного изображения в слой работают ОЧЕНЬ грубо.

И тут мне пришла одна дедовская идея. А чего бы не сделать электронный дралоскоп? Помните эту мега штуку. С лампой и стеклянным столиком. Сколько на нем было передрано студентами чертежей не передать. Так чего отказываться от опыта предков? Что мешает воткнуть любую картинку поверх всего изображения на мониторе, как оверлеем? Думаю ничего… с этой идеей я и обратился к знакомым программерам Denisio и dсoder. Дкодре посоветовал метод, а Дэн за пол часика накидал все остальное. Пока так, по быстрому, проверить идейку…

▌И вот что получилось
Сфоткал изображение одного забавного модулька:


(далее…)

Read More »

Работа и создание моделей для EagleUP

Что это и зачем?
При проектировании печатной платы иной раз полезно взглянуть на нее не только в виде плоской картинки, но и в виде 3D модели. Особенно если подразумевается хитрый конструктив, с замороченным корпусом и важно, чтобы все правильно вписалось. Далеко не всегда это нужно, но вот как порой встрянешь и начинаешь сильно хотеть.
 

В принципе, все современные CAD системы это умеют из коробки. Только птыц ущербный какой то. Из коробки не умеет. Впрочем, для решения этой проблемы существует несколько примочек, в перспективе дающие большие возможности.
 
(далее…)

Read More »

Работа в Eagle Cad. Часть 4. Подготовка к производству

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

И тут возникает вопрос как правильно подготовить свой проект, чтобы производство его поняло, а мы получили именно то, что требуется.

Лимиты
Первым делом надо залезть на сайт производителя плат и прочитать про их технические возможности. Конкретней нас должны интересовать:

  • Минимальные размеры толщин дорожек
  • Минимальное расстояние между дорожек
  • Минимальное и максимальное отверстие
  • Номинальный ряд диаметров отверстий
  • Разница диаметров между площадкой и отверстием в ней
  • Толщины используемого текстолита, а также его тип
  • Параметры шелкографии, т.е. минимальная высота букв, толщины линий

От всего этого зависит качество результата, а также цена и сроки. Чем грубей тем дешевле и быстрей.
(далее…)

Read More »

Каша с топора на бульоне из Орла. Применяем топологический трассировщик TopoR

Некоторое время назад я толкнул ряд статей по системе создания печатных плат Eagle и заикнулся, про трассировщик TopoR, как ловкий ход для обхода ограничений бесплатной версии Орла, так и в качестве могучего трассировщика. Квакнул и в тинку :)))) Ряд товарищей даже начал шерудить болото в поисках утонувшего топора и спрашивать ГЫДЕ?

Но то был эпик фейл. Т.к. за мощью топора скрылась его ахилесова пята — проблема с вывода результата в бумагу. Нет, разумеется там есть экспорт в гербер. Но вот засада — у всех бесплатных герберных смотрелок которые мне попадались на глаза при попытке разобрать эти лихие дорожки, щедро приправленные всякими микроаппертурами, срывало мозги напрочь и они выдавали кашу. Кормить вас такой кашей из топора мне как то было западло. Не крякать же какой нибудь промышленный CAM350 за 100500 денег. Дороговаты приправки получаются. Для халявных то основных ингридиентов. Поэтому я стал искать альтернативы, но что то как то не пёрло. Пришлось потыкать палочкой саппорт Топора. Он на удивление резво отреагировал и подогнал пусть и не очень традиционное, бодро шагающее на костылях, но рабочее решение.

Отмазки
Данная статья не преследует цели сделать мега эффективную печатную плату. И процесс ее компоновки и наброса деталей делался на пофиг, лишь бы получить побыстрей готовый результат. Цель — показать процесс работы с трассировщиком TopoR а также о том как в него сунуть данные и выдрать готовый результат. При вдумчивом использовании и на куда более сложной плате результаты меня, честно говоря, впечатлили.

Инструмент

  • Eagle CAD для создания нетлиста и падов всяких. Очень удобная система, я ее уже полюбил всей душой. Хотя есть там к чему прикопаться. Можно и Диптрейс, но что то я как то с ним не сдружился, хотя он с топором дружит лучше.
  • DoPDF — для вывода результата из топора на печать. Это бесплатный виртуальный PDF принтер. Печатаешь в него и получаешь на выходе PDFку.
  • Inkscape — векторный редактор аля Corel, но халявный и кросплатформенный.
  • TopoR Lite — собственно виновник этого торжества теплых ламповых линий.

(далее…)

Read More »

Знакомимся с LabView

Практически у всех разработчиков устройств на микроконтроллерах, будь то любители или профессионалы, рано или поздно возникает необходимость подключить микроконтроллерный девайс к его «старшему брату», а именно к PC. Вот тогда и встает вопрос, а какой софт использовать для обмена с микроконтроллером, анализировать и обрабатывать полученные от него данные? Часто для обмена МК с компьютером используют интерфейс и протокол RS232 — старый добрый COM порт в той или иной реализации.

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

Некоторые пишут подобное ПО самостоятельно на каком либо языке программирования (Delphi, C++), наделяя необходимым функционалом. Но эта задача не из легких, нужно знать, помимо самого языка, устройство операционной системы, способы работы с комуникационными портами, множество других технических тонкостей, которые отвлекают от главного — реализации алгоритма программы. В общем, быть попутно еще Windows/Unix программистом.

На фоне этих подходов резко отличается концепция виртуальных приборов (vi). В этой статье пойдет речь о программном продукте LabView фирмы Nationals Instruments. Я только начинаю осваивать этот замечательный продукт, поэтому могу допускать неточности и ошибки. Спецы поправят :-)) Собственно что такое LabView?

LabView — это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments.

Говоря простым языком, LabView — Это среда создания приложений для задач сбора, обработки, визуализации информации от различных приборов, лабораторных установок и т.п. А также для управления технологическими процессами и устройствами. Однако с помощью LabView можно создавать вполне себе обычное прикладное ПО. У меня нет цели подробно описывать этот продукт и работу с ним. По LabView написаны тысячи страниц отличной документации и сотни книг. В интернете полно ресурсов, посвященных LabView, на которых можно получить ответы на все вопросы.
(далее…)

Read More »

Работа в Eagle CAD. Часть 3. Автоматическая трассировка плат

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

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

Был у меня вот такая схема:

зазырить в полный рост

Не бог весть какая сложная, но тем не менее в ней хватает дискретной логики, а логику разводить всегда мерзко. Врукопашную на нее ушел бы весь вечер, не меньше.
(далее…)

Read More »

Работа в Eagle Cad. Часть 2

Помнится в первой части закончили мы на том, что забодяжили плату, залили все полигоном и раскидали шелкографию, чтобы не налезало.

Теперь возьмемся за редактор компонентов. Т.к. библиотеки хоть и обширные, но нельзя обьять необьятное. Так что рано или поздно попадется тебе такая деталька которой нет в библиотеках. Либо библиотечная не понравится. И придется рисовать свою. Что до меня, так я постоянно то готовые правлю, то новые создаю.

Создание своего компонента в Eagle cad
Когда я впервые сел за орла, мне это покзалось очень запутанным и сложным, но на деле, если отбросить мишуру, все будет очень и очень просто. Давайте-ка создадим, для примера, что нибудь несложное. Например линейный стабилизатор LM-1117-3.3 в разных корпусах. Его я не нашел в библиотеках.

Итак, вначале даташит на LM1117

Задача ясна, будем творить. Открывай главное окно Орла и в меню выбирай File—New—Library
(далее…)

Read More »

Работа в Eagle Cad Часть 1.

В гнезде орла
На 90% мои нужды по разводке печатных плат удовлетворял Sprint Layout. Развожу я обычно вручную, без исходной схемы и все вполне умещается в голове. Но прогресс не стоит на месте и меня давно уже зовут ретроградом :) И решил я переползти на другую систему. Главная причина — поддержка принципиальных схем и подсветка связей в схемотехническом редакторе, чего мне сильно не хватало порой в Sprint Layout. Перед этим я перепробовал несколько разных и остановился на Eаgle cad.
  

Почему Орел?
В выборе я руководствовался следующими параметрами в порядке важности:

  • Редактор с поддержкой принципиальной схемы и подсветкой связей.
  • Удобство работы в трассировщике. У Eagle тут есть ряд специфичных моментов из-за которых разработчиков хочется убить лопатой (особенно после Sprint Layout), но в целом все очень неплохо.
  • Интерактивная связь схемы и платы (Forward annotate, вроде так зовется). Т.е. добавил ты на схему элемент, а он тут же появился на печатной плате и его остается только развести. Это позволяет разводить схему по кусочкам, в ручном режиме. По одному добавляя компоненты на принципиальную схему и прописывая соединения. По этой причине отсеялся Dip Trace — там это делается только через повторное открытие файла с разводкой. Неудобно.
  • Удобное создание и работа с библиотеками. Тут тоже Eagle мне сильно понравился. Особенно тем как там делается компонент и то что можно выборочно подключать библиотеки, обновляя их на лету.
  • Кроссплатформенность. Я многое делаю не только для себя, но и для вас. Много народу сидит на линухах/маках и терять их как целевую аудиторию я не хочу. Игл есть на этих платформах в родном виде. Без шаманства. Есть еще KiKad… Выглядит неплохо, но (как и многий опенсорц продукт, гыгыг) не юзабелен. Там, например, в редакторе PCB я не нашел Undo, а ловить соединения в схематике? Тот еще гемор. Лет через пять-десять может допилят до вменяемого состояния, если не забьют :)
  • Относительная бесплатность. Жутко ломает ковыряться с патчами-кряками, а орел имеет вполне функциональный деморежим. Позволяет разводить по двум слоям, на площади 100х80мм. Для дома вполне нормально. Кому мало всегда можно спиздить найти лекарство от жадности. Игл популярен и найти кряк совсем не проблема. Вот только хочу предупредить — у игла хитрая защита и она любит палить контору и шифровать проекты сделанные в крякнутой программе. По крайней мере про такую засаду я слышал. Так что бэкапьте проекты дабы они внезапно не оказались недоступными. Ну и рекомедую юзать в этом случае четвертую версию Орла. Для нее был нормальный кряк. Мне же хватает деморежима почти всегда. Может потом и куплю его =))))
  • Наличие автороутера и возможность срыгнуть нетлист в другую систему трассировки. Вон, например, Шура Люберецкий, трейсил Топором. Получалось очень торчково. Особенно вставляло тех, кто не привык к теплым ламповым схемам с плавной кривизной дорожек :)
  • Легковесность. В отличии от всяких монстров вроде Mentor Pads или Altuium Designer Орел не тупит даже на моем древнем ноуте, не говоря уже о атомном нетбуке на котором я пишу этот текст.
  • Простота использования. Читать сто тыщь мануалов по тому как сделать то или это в мои планы не входило. Игл оказался очень простым.

  
Плюс у Eagle есть мощный скриптовый язык, позволяющий творить много вуду :) Я туда пока еще не лез, но судя по тому, что творят всякие ulp скрипты, может он очень многое.
(далее…)

Read More »

Sprint Layout 5. Подробное руководство.

DI HALT

Несмотря на простоту этой программы, меня часто просят написать по ней статью. Но мне все было некогда. Поэтому роль Капитана Очевидность взял на себя Sailanser. Выполнив этот титанический труд. Я лишь подкорректировал, да добавил кое где подробностей.

Всем наверно давно известна программа для изготовления печатных плат под названием Sprint-Layout, на данный момент последняя версия гордо именуется, 5.0

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

Как я и говорил, сама программа довольно проста, но имеет множество кнопочек и менюшек, помогающих нам в работе. Поэтому наш урок в рисовании платы разделим на насколько частей.
В первой части познакомимся с программой и узнаем, где и что в ней прячется. Во второй части нарисуем простенькую плату, которая будет содержать, к примеру, пару микросхем в DIP корпусах (причем эти микросхемы сделаем с полного нуля), несколько резисторов и конденсаторов, также посмотрим такую интересную фишку программы как Создатель макроса и сделаем с его помощью корпус микросхемы, например TQFP-32.
Также я покажу как обрисовать плату с картинки или фотографии. (далее…)

Read More »

Оболочки для USBASP

Вот уже почти два года активно использую USBasp в качестве основного программатора. Все мне в нем нравится, кроме прошивающей программы — avrdude консольная, а мне под каждую прошивку писать свой батник лениво.
Да и начинающим порой разобраться в прорве его ключей бывает сложно. Так что будем натягивать на него ГУЙ ака Графически Удобный Йнтерфейс. Их существует с пол десятка я же отобрал наиболее удачные, на мой взгляд, оболочки.
(далее…)

Read More »

Терминальные программы

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

Первой хотел бы упомянуть Terminal v1.9b by Bray. На мой взгляд — гениальная программа! Более удобного интерфейса для работы я не встречал. Судите сами — все под рукой!

Для настроек скорости работы, номера порта, параметров передачи и прочих сиюминутных потребностей не надо даже по менюшкам лазать — все прям сразу же. Также можно в один тык выдать инфу в разных системах счисления, что порой бывает очень удобно. Я бы сказал жизненно необходимо.
В один клик доступна таблица ASCII, а среди особых фишек которую я очень люблю — возможность выдать поток данных в виде графика от 0 до 255.
А еще можно писать скрипты на паскалеподобном языке, делающие с входящими-исходящими данными всякие непотребности.
В общем, рулез!

Из минусов можно только отметить некоторую тормознутость при выводе в Hex кодах, но это мелочи. Еще автор похоже забил на эту разработку, так что новых версий я не видел уже много лет. Найти эту дивную программу можно много где, в том числе и у меня:

Скачать программу Bray Terminal v1.9

Вторая программа это COM Port Toolkit от Михаила Голикова. Ей я пользуюсь гораздо реже, но она умеет весьма нужную штуку — возможность перехватывать обмен данными между софтом и физическим COM портом. Это чертовски выручило меня когда я ломал защиту PLC, а также помогло отреверсить обмен между программой настройки модулей HM-TR433. В общем, редко, но метко.

Программка эта довольно проста в обращении, имеет три режима работы:

  • Терминал
    Может выдавать логи обмена данных улетевших к нами от нас. Слать из файла. Обрабатывать пересылаемое макросами (что может быть очень крутым подспорьем, но мне пока не пригождалось). Терминал как терминал, ничего особенного.
  • Прослушка
    Это фишка уже поинтересней. Позволяет воткнуть комп в разрез между принимающим и передающим девайсом и прослушать передачу данных кто кому и что передал. Также ведутся логи с указанием времени передачи посылки.
  • Захват
    Вот за эту фичу я и люблю эту программу — возможность снифферить обмен между софтом и портом. Редкая фича. Из бесплатных программ я нигде такого не встречал, а у программ вроде Advanced Serial Port Monitor или Free Serial Port Monitor эта фича доступна только в платной версии, тут же ее можно заюзать даже в демо версии.

Также можно писать скрипты на этот раз уже на Си подобном языке. Мне это больше нравится, т.к. я его лучше знаю.

Недостатков пожалуй три:

  • Невозможность разделить в режиме «Захват» входящие и исходящие данные на два разных окна.
  • Отстуствие русской документации, хотя бы по тому же скриптописанию.
  • Шароварность. Впрочем, я бы не назвал это недостатком. Автор, я думаю, не святым духом питается.

Демка проработала 30 дней, потом захотела денег. Но свою работу по облегчению разбора протокола обмена PLC она выполнила.

Поначалу была мысль вспомнить шальное детство, сдуть пыль с родимого SoftICE и похачить защиту, но потом вспомнил что шашек такой формы не брал в руки уже лет 5, как минимум. Да и цена программы оказалась смешной — всего 10 баксов для русскоязычных пользователей.
Так что проще было ее зарегистрировать. Тем более штука нужная и уже неоднократно себя окупившая.

Скачать последнюю версию ComPort Toolkit можно с официального сайта автора

Read More »

SinaProg — графическая оболочка для AVRDude

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

С одной стороны это хорошо — консольная утилита позволяет очень сильно ускорить и автоматизировать процесс прошивки. Один раз написал батничек и для перешивки только вызывать его и все.

Остается проблема прошивки разных устройств, ведь под каждую придется делать свой батник. И ладно бы ключи прописать, да файл с прошивкой указать. Самая засада начинается с fuse битами (впрочем, как и везде в мире AVR ;) ) Тут их надо вначале внимательно проштудировать в даташите, выписать в виде байтов, вписать правильно в командную строку и молиться на то, чтобы нигде не ошибиться.
Да, для avrdude написано много оболочек, но все что мне встречались раньше решали лишь малозначительную проблему выбора нужного ключа файла и/или программатора, а фузы также было надо указывать числом.

Проблема решилась с появлением новой версии оболочки SinaProg от команды программистов-террористов из Аль-каиды иранских AVR программеров.

Запускаем… Если не запустилась, то возможно потребуется установить фреймворк от NI — LabView RunTime Library

(далее…)

Read More »