Pull to refresh

Comments 42

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

Какие-то огромные цены на Альтиум для тех у кого нет опыта -- от полумиллиона. Это скорее для тех, кто занимается разработкой профессионально.

А есть ли что-нибудь действительно для начинающих?

Вроде бы Eagle для того же служит, но я его один раз только запускал - испугался и закрыл.

Статья обзорная, в ней нет альтиумной специфики.

Альтиум действительно дорогущий, но есть много бесплатных альтернатив вроде Eagle, Circuit maker и тд.

Когда-то пользовался P-CAD. Не сложное кад приложение. Можно проектировать платы любой сложности.

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

Уж лучше тогда и правда Eagle мучать привыкать.

есть ли что-нибудь действительно для начинающих?

Протеус же. Нарисовал принципиальную схему, сразу же перешёл в режим трпссировки/разводки, где программа проверяет соответствие топологии разводки схеме. Покрутил в 3D, помоделировал работу...

Для жителей бывшего СССР — бесплатная лицензия.

Присоединяюсь к толпе советующих KiCad.

В сложных дизайнах с жирными BGA чипами и 8+ слоями способностей KiCad начинает немного не хватать. Но для начинающих разработчиков и для дизайнов низкой сложности там есть всё что нужно.

Что за планшет с таким экраном квадратным, если не секрет?

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

Формулировка показалась чрезмерно упрощённой, стала интересна реализация, думал, что-то своё или хотя бы по мотивам. Полез в прошивку, потом в даташит, оказалось прозаичнее, bno55 выдаёт уже готовые углы наклонов и поворота (впрочем, последнее не используется, т.к. вращение руля может происходить не только вокруг вертикальной оси, поэтому для поворота логично берутся показания гироскопа по оси z). Я понимаю отсутствие желания заморачиваться с описанием sensor data fusion (фильтров Калмана, Мэджвика и остальных), ориентацию на начинающих и прочая, но есть ощущение, что это стоило хотя бы кратко отметить отдельно (коль скоро описаны потроха и акселерометра и гироскопа. Да и кроме них в микрухе есть ещё и магнитометр, тоже небесполезный датчик).

BNO055 уже имеет на борту реализацию sensor fusion и может выдавать готовые кватернионы или углы Эйлера. Как вы правильно заметили, для задачи из статьи достаточно брать крен и тангаж, а для рысканья я беру угловую скорость с гироскопа.

Описание различных реализаций sensor fusion - это отдельная большая статья (очень большая) и для описанной задачи не требуется.

За анимированные png и реально изготовленные печатные платы, как говорил Войтенко, моментальный респект!

Для меня всегда камнем преткновения была многочисленная обвязка. В статье её не так много, но вот посмотришь какой-нибудь ролик на ютюбе с проектированием платы на STM32, а там для подключения одного только резонатора необходимо два или три конденсатора. Развязка после преобразователя напряжения. Питание МК тоже просто так не подать, там куча конденсаторов, резисторов и тд. Я просто не понимаю почему именно так, именно здесь, именно такие номиналы. С чего вообще начать это понимать. Смотришь на очередную отладочную плату, а там все просто усеяно SMD компонентами, многие из которых едва различимы невооружённым глазом. И все на своих местах и с нужным номиналом. Жуть.

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

У меня похожая ситуация, только наоборот, с эмбедом. Сколько раз я пытался влететь в это дело, какие-то строки в которых делается какая-то магия, чёто подключаем-отключаем (зачем? даже в хелловордах смысла происходящего не написано), прописываем какие-то пути, почему у одного работает быстрее чем у другого, я ХЗ. В то же время мои коллеги легко могли написать (или прикрутить) новый драйвер на дисплей за день, или вообще синтезировать какой-нибудь лютый алгоритм по поиску иголки в стоге сена, и это под музычку в наушниках. Поэтому сижу в своей схемоте, которую всегда можно не только отсимулировать, но и пощупать в реальном мире приборами, сделав даже лучше чем в референсе, либо подогнав номиналы под ограничительные перечни.

У одного работает быстрее чем у другого, потому что для того, чтобы всё работало быстро, нужно делать одновременно всё, что можно делать одновременно в принципе, а не сначала подождать, пока закончится что-то одно, а потом пока закончится что-то другое - ожидание обычно завязано на какие-то аппаратные процессы. Но писать так, чтобы всё работало параллельно, и правильно синхронизировалось, сложно. Поэтому чтобы быстро написать что-то работающее быстро, нужно использовать подходящие наработки, свои или чужие. А это не у всех получается, потому что свои наработки не всегда применимы в этом конкретном случае, а в чужих бывает непросто разобраться, и ими в эмбеде не слишком охотно делятся.

Некоторые из них даже подключены к интернету шпионят за нами.

Это мы про apple/google и т.д.?)

На иллюстрации - кварцевый резонатор камертонного типа. Эти резонаторы - низкочастотные, например бывают на 32кГц. Высокочастотные резонаторы на 32МГц имеют другую конструкцию.

Согласен. Но я счёл, что так нагляднее и суть не искажена

Статья содержит значительное число неточностей и упрощений, много чёго упущено или сделано не самым лучшим образом,но! Это на порядок лучше клубка проводов с Ардуино в центре!

В этом видео мы с нуля

в тексте до ката осталось (на главной), там ctrl+enter не работает

При этом она просто рассеивает часть мощности в виде тепла.

А есть ли какие-то более энергоэффективные пути решения проблемы? Просто рассеивать часть энергии в тепло выглядит уж очень расточительно :-)

Спасибо за статью, прочитал с большим интересом.

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

Да, для этого есть импульсные преобразователи. Им требуется, как минимум, внешняя индуктивность и конденсаторы большей емкости. Зато у них кпд больше 90% и они могут не только понижать, но и повышать напряжение.

 Зато у них кпд больше 90%

Это лишь при оптимальных условиях использования. Иногда линейный стабилизатор бывает выгодней.

Линейный понижатор напряжения

В мои времена это называлось "делитель напряжения".

Делитель - это два резистора, он не стабилизирует выходное напряжение. В отличие от линейного регулятора

Два резистора — это резистивный делитель, а делитель — это вообще любой делитель, в том числе, например, емкостный делитель, а так же делитель на основе нелинейных и активных элементов.

Немного завидно, когда быстро решаются вопросы разработки и производства. Решил изучать контроллеры на основе STM32, купил плату, немного повозился - теперь понимаю о чём идёт речь, когда читаю подобные статьи.

Чтобы поместить компонент на принципиальную схему, нужно создать его схематичное изображение. У этого контроллера 48 контактов и все они должны быть нарисованы.

А вот и нет. Не изображать пины питания у ОУ и логических элементов — классика жанра.

Также я представляю, как у какого-нибудь BGA-процессора, у которого только GND-пинов насчитаньмя штук 150, будут на принципиалке рисовать каждый пин отдельно...

Также я представляю, как у какого-нибудь BGA-процессора, у которого только GND-пинов насчитаньмя штук 150, будут на принципиалке рисовать каждый пин отдельно

В САПР рисуется все, иначе невозможно будет сопоставить выводы на схеме с выводами на корпусе. Но для удобства можно разбить микросхему на блоки.

Где рисуется? На принципиальной схеме зачастую нет, зачем там 100500 земель? Один пин цифровой, один пин аналоговой, зачем еще что-то.

G
G

Пример из сервис-мануала на ноутбук. Хотя сейчас есть и САПР c поддержкой нумерации выводов через перечисление,чтобы рисовать меньше выводов, но мне сталкиваться не приходилось. Как вариант можно в редакторе радиоэлемента нарисовать кучу одинаковых выводов поверх друг-друга и просто скрыть их номера, а перечисление добавить отдельным текстом. В KiСad также есть возможность сделать скрытые вывода питания с автопривязкой цепей питания по их имени. Но по мне эта реализация - кривая, так как уже имел из-за нее проблемы, когда делал в KiCad схему с гальванически развязанными питаниями.

В САПР рисуется все

Выкиньте свой САПР на помойку (шутка).

А если серьёзно - не во всех PCB САПРах это обязательно. Например в древнем OrCAD Layout все неуказанные выводы считались неподключёнными, а выводы питания можно было подключить автоматом к цепям с именами, как у вывода или через атрибут. В Cadence Allegro все выводы должны быть указаны, но можно указать атрибуты с неподключёнными выводами и с цепями питания. В Mentor Xpedition и Altium тоже через атрибуты и скрытые выводы можно питания подключать.

По неподключенным выводам - с ними скорее всего в любых САПР проблем нет. По подключение питания автоматом по имени вывода - это может не годится для схем с гальванической развязкой. Про Mentor, Altium и другие "крутые" дорогие САПР ничего сказать не могу - стараюсь ограничиваться бесплатными (полностью или с частичными ограничениями).

По подключение питания автоматом по имени вывода - это может не годится для схем с гальванической развязкой

Обычно при этом присутствует атрибут "перезаписи" данного функционала в ручном режиме. Например в OrCAD Capture есть команда "Assign Power Pins...", которая записывает атрибут что-то вроде POWER_PINS=(+5V=+5V-ISO),(GND=GND-ISO), могу ошибаться в названии.

Я удивлен, что этот несущественный момент вызвал столько споров)

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

Меня больше удивляет указания на возможности весьма не дешевых САПР под статьей ориентированной не на профессионалов. А переназначение ног в футпринте - это достаточно костыльный пример.

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

Добавим его на нашу схему и подключим питание.

Примечание по предложенной схеме подключения питания к датчику: для снижения влияния шумов по питанию на измерения рекомендутся питание ввода-вывода отделять от основного питания или сооединять их через фильтрующую цепь.

Sign up to leave a comment.

Articles