Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Часы на основе индикатора ИЛЦ3-5/7 (ILC3-5/7)

C *Схемотехника *Старое железо DIY или Сделай сам Электроника для начинающих
Из песочницы

Хочу поделиться опытом и наработками при создании настольных, компактных часов на основе индикатора ИЛЦ3-5/7.

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 6K
Комментарии 37

Сохраняем настройки и лог файл во внутренней памяти микроконтроллера

Блог компании Embox Программирование *Системное программирование *Программирование микроконтроллеров *
image Задача сохранения настроек встречается в подавляющем большинстве современных устройств. Реже, но тоже очень часто, требуется хранение лог-файлов. Если речь идет о большом устройстве построенном на Линукс и содержащей как минимум SD карту, то с этими задачами не возникает проблем. Но если все устройство представляет из себя микроконтроллер, то возникает вопрос, где и в каком виде хранить подобные данные. В этом случае, обычно для настроек предлагают использовать сырые данные размещенные во внешнем eeprom. Но такой подход гораздо менее удобен чем вариант с файловой системой пусть даже с сильно ограниченными свойствами. Кроме того он плохо подходит для задач логирования. В данной статье мы расскажем как можно организовать удобное хранение файлов настроек и лог-файлов во внутренней флеш памяти микроконтроллера.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 3.3K
Комментарии 12

rusEFI: Hellen и новости

Open source *Программирование *Программирование микроконтроллеров *

TL,DR: gerbmerge+pdf merge+non-kicad interactivebom позволяет нам эффективно склеивать очень похожие, но при этом разные по форме и нюансам платы электронных блоков управления ДВС. Другие новости про rusEFI, до сих пор ищем единомышленников :)

В статье от 2014 года https://habr.com/ru/post/244737/ рассказ об открытом электронном блоке управления двигателями внутреннего сгорания rusEFI остановился на плате Frankenso. За четыре года мы продали 100 юнитов rusEFI, потом за последние 12 месяцев мы продали ещё 100 более современных юнитов, многому научились - но всё равно продолжаем пытаться понять, чего же именно мы хотим. Сейчас мы смещаем фокус с универсальности на устройства для конкретных семейств автомобилей с конкретными разъёмами и схожими распиновками ЭБУ, этим мы в том числе мечтаем привлекать программистов, которым не комфортно паять.

Давайте для начала я расскажу про Hellen https://github.com/andreika-git/hellen-one - это наш инструментарий разработки семейства модульных, склеенных из кусочков похожих, но всё-таки разных плат под конкретные проводки конкретных автомобилей.

Примерно год назад стало понятно, что универсальные блоки слишком сложны в поддержке: возможность управлять практически любым бензиновым двигателем с почти любыми оригинальными датчиками и формами сигналов ДПКВ/ДПРВ достигается только за счёт огромных усилий по поддержке нашей очень небольшой командой экспертов. При этом результат механически и электрически обычно выглядит всё равно очень плачевно. И со своей стороны мы устали сильно много допаивать руками после изготовления платы сервисом JLCPCB. Вместо большого универсального https://rusefi.com/s/proteus и маленького универсального https://rusefi.com/s/microrusefi ЭБУ мы решили сделать пару десятков ЭБУ под конкретные распиновки конкретных популярных автомобилей, изначально оптимизированных именно под JLCPCB каталог компонентов. Не хотелось разрабатывать и поддерживать много плат под конкретные автомобили ручным копированием блоков схемы и блоков трассировки. Наше решение: Hellen One Framework, это набор скриптов для склеивания gerber, PDF схем, описаний монтажа и HTML просмотрщика плат.

читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 2.4K
Комментарии 11

Проект электронного мультитула QUARK. Часть 4

Open source *Развитие стартапа Производство и разработка электроники *Гаджеты Краудсорсинг

Часть 1, Часть 2, Часть 3. Страница на краудфандинге

В предыдущей части я сообщил о запуске кампании и спросил у вас мнения насчет того, как лучше поступить с формой корпуса устройства. Юзеры @sshmakov, @dizatorr, тогда предложили сделать небольшой выступ со стороны дисплея, что исключит возможность устойчивого положения «Щупом к верху». А @Ivnika и @Olegun предложил сделать защитное стекло дисплея полукруглым. Прорабатываем оба эти варианта.

Очевидным упущением для меня стало то, что я плохо объяснил куда подключается второй щуп. Такие вопросы возникли как у читателей, так и у бекеров CrowdSupply. Думаю два этих фото все расставят по местам:...

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 4.2K
Комментарии 27

Мышь для людей с ограниченными возможностями

Программирование микроконтроллеров *Гаджеты Компьютерное железо 3D-принтеры Здоровье

Речь в данной статье пойдет про проектирование оборудования, которое упрощает работу за компьютером. Предыстория моего небольшого проекта связана, совершенно неожиданно, со спектрумами, apple 2 и прочей ретрокомпьютерной техникой. Есть увлечение такое — ковыряться во всяком старье. Плюс делать это в прямом эфире на YouTube. Коллективный разум помогает чинить. После одного из стримов обратился подписчик с весьма необычной просьбой. Зовут его Александр и у него ДЦП. Соответственно, ему трудно работать на компьютере. А желание работать имеется, что не может не радовать.

Читать далее
Всего голосов 58: ↑57 и ↓1 +56
Просмотры 5.4K
Комментарии 35

Аналоговое и цифровое питание. Мифы и реальность

Блог компании twin3d Разработка робототехники *Программирование микроконтроллеров *Энергия и элементы питания Электроника для начинающих

Иногда разводишь ты такой плату микроконтроллера или изучаешь документацию к чипу и натыкаешься на такую картину: два питания — аналоговое и цифровое. Две земли тоже не редкость. Я встречал людей, которые даже после пары лет работы в индустрии не всегда знали точно, зачем и когда нужно разделять питание и землю и как это корректно делать. Мы попробуем сегодня пробраться вниз по кроличьей норе. В том числе станут понятны практики подключения аудио оборудования проводами, которые покупаются за золотые слитки.

Узнать как разделять питание и властвовать
Всего голосов 47: ↑43 и ↓4 +39
Просмотры 18K
Комментарии 49

Как посчитать синус быстро

Алгоритмы *C *Математика *Программирование микроконтроллеров *
Из песочницы

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

Под катом я расскажу, как сделать это с использованием школьного курса алгебры и целочисленной арифметики, при чём здесь полиномы Чебышёва I-го рода, и дам ссылки на примеры реализаций для ПК и Cortex-M3.

Читать далее
Всего голосов 54: ↑52 и ↓2 +50
Просмотры 12K
Комментарии 52

Оптимизированный доступ к GPIO. Или GPIO как constexpr класс. С++

C++ *

Добрый день, жители Хабра. Данный пост будет посвящен программированию на C++, и использованию constexpr объектов с целью повышения уровня удобства и одновременно оптимизации кода с точки зрения размера и производительности.

В процессе работы над одним из проектов, задумался: "нельзя ли сделать удобный доступ к GPIO портам на STM32, и при этом сделать его оптимальным по размеру кода и производительности". Что я хотел получить...

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 4.9K
Комментарии 43

Разработка контроллера резервного питания. Как кризис сделал его сильней

Open source *Программирование микроконтроллеров *Производство и разработка электроники *DIY или Сделай сам Электроника для начинающих
Tutorial

Летом нас настиг кризис поставок микросхем. Контрактный сборщик сообщил что семейства MKE18F больше нет в продаже. В интернете на нас глядели пустые полки Digi-Key, Mouser, Avnet и прочих дистрибуторов. И вдруг на Octopart взгляд зацепился за STM32H753VIH6. Он был дороже, он был BGA, он требовал выше класс платы, но он был. Решать нужно мгновенно. Через несколько дней пропали бы и они. Дальше только у брокеров по 10-и кратной цене. Взяли все что было. Так начинается история новой версии контроллера резервного питания. Далее про новую трассировку и первый запуск.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.3K
Комментарии 2

Программируем микроконтроллеры ESP32 и STM32 на C# (nanoFramework)

Блог компании Timeweb Cloud .NET *C# *Программирование микроконтроллеров *DIY или Сделай сам
Tutorial
dotnet nanoFramework

.NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С её помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, робототехнические устройства, можно создавать прототипы и даже использовать на промышленном оборудовании. В первой части мы познакомились с платформой .NET nanoFramework, её архитектурой, основными возможностями, посмотрели примеры программного кода. Теперь перейдем к практике, установим nanoFramework на микроконтроллеры серии ESP32 и STM32, напишем первый «Hello World!», поработаем с аппаратными интерфейсами, и оценим переносимость кода с «большого» .NET на платформу nanoFramework.
Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры 9.3K
Комментарии 98

Отправка и прием данных неизвестной длины по UART через DMA в freeRTOS на STM32 с использованием LL

C *Программирование микроконтроллеров *
Tutorial

В этой статье я расскажу о том, как реализовать работу с UART через DMA в freeRTOS.

Приступим!
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 4.3K
Комментарии 3

Настройка VSCode для программирования stm32 в Linux и не только в Linux

Программирование микроконтроллеров *Электроника для начинающих
Из песочницы

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

Всё ниже описанное является следствием моего личного опыта, и ни на какую истинность не претендует. Все советы рассчитаны не людей только решившихся на переход с AVR на STM32

Вопросы типа почему Linux, VSCode и прочее, думаю, освещения не требуют. Считаю, что все заинтересованные в вопросе, на эти мелочи давно нашли СВОЙ ответ. Однако отмечу, в Винде всё это тоже работает, проверено, и проекты спокойно переживают миграцию между машинами.

Пожалуй начнём!

Читать далее
Всего голосов 32: ↑30 и ↓2 +28
Просмотры 8.6K
Комментарии 35

Проект под кодовым названием: «Бульболёт». Часть 1. Погружение в MPU6050 (или нет)

C *DIY или Сделай сам
Из песочницы

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

С начало я изучил основы, а именно посмотрел что там придумали китайцы, а придумали они "полётные контролеры" в основу которых входит микроконтроллер (в основном STM32), гироскоп, барометр и т.д. В принципе, подумал я, всё выглядит довольно просто, значит можно повторить.

И так мой путь начался с выбора начинки нашего "полётника". В основу я выбрал микроконтроллер STM32F103C8T6, расположенный на распаянной плате (blue pil)в периферию: микросхему MPU6050 (3 осевой гироскоп и акселерометр) разведенную на плате под кодовым названием (GY-521), BMP280 (датчик давления), HMC5883L (3-осевой цифровой компас) распаянный на плате (модуль GY-273). Для передачи и приёма я использую MRF49XA (трансивер). В последствии всё будет выпаяно и припаяно по месту назначению, а пока ограничимся макетной платой.

И так начнём, для работы с камнем я буду использовать STM32CubeMX (библиотека HAL), а для редактирования прослойки будем юзать STM32CubeIDE. Почему именно эти проги, во-первых, они официальные с поддержкой STM, во-вторых, имеют привлекательный и понятный интерфейс, а как же большое обилие примеров для изучения. Для дебагинга я использую USART, но в иделае надо бы юзать ST LINK (поэтому не экономим и берём вместе с blue pil-ом).

Занырнуть
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 3.1K
Комментарии 32

ARM Cortex M* — сколько «весит» примитив?

C *Промышленное программирование *Программирование микроконтроллеров *
Recovery mode

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

Ожидаемое время выполнения машинной команды на процессорах с архитектурой RISC — один такт. Так же очевидно, что даже простейшие операторы языка "C", после перевода в двоичный, машинный код, требуют больше времени, чем один такт.

Вопрос: "Больше, чем один такт" — это сколько?

Читать далее
Всего голосов 19: ↑11 и ↓8 +3
Просмотры 5.3K
Комментарии 32