Все потоки
Поиск
Написать публикацию
Обновить
162.4

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

Учимся программировать микроконтроллеры

Сначала показывать
Порог рейтинга
Уровень сложности

Анализ модуля RF125 (125 кГц): дальность >5 м и мкА потребление

Уровень сложностиПростой
Время на прочтение29 мин
Количество просмотров1.5K

Серия RF125 представляет собой систему беспроводной связи, работающую в низкочастотном (НЧ) диапазоне 125 кГц. Ее основной функцией является обеспечение дальнего «пробуждения по воздуху» (Over-the-Air Wake-up) и двунаправленной передачи данных. Система состоит из передающего модуля (RF125-TX/TX2) и приемного модуля (RF125-RX/RA), специально разработанных для приложений, где приемное устройство должно находиться в режиме ожидания в течение длительных периодов времени при сверхнизком энергопотреблении и может быть активировано при получении определенного беспроводного сигнала.

Выбор диапазона 125 кГц является краеугольным камнем технических характеристик системы. Как низкочастотный диапазон, он обладает отличными физическими проникающими способностями, что позволяет ему эффективно проходить через неметаллические препятствия. Между тем, его свойства связи в ближнем поле концентрируют энергию сигнала в меньшей области, способствуя безопасной связи с ограничением по зоне. Серия RF125 в полной мере использует эти функции для достижения дальности связи более 5 метров, что является значительным преимуществом среди аналогичных продуктов на 125 кГц. Ключевая ценность системы заключается в способности ее приемного модуля поддерживать чрезвычайно низкое энергопотребление на уровне микроампер при отсутствии сигнала, тем самым значительно продлевая срок службы батареи устройств с питанием и решая проблему высокого энергопотребления в традиционных беспроводных устройствах, находящихся в состоянии непрерывного прослушивания.

Читать далее

Новости

DIY Open Source принтер. Часть 1. Покоряем USB Printer Class и имитируем печать текста

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.6K

Привет, Хабровчане!

Это продолжение моего дневника разработки DIY струйного принтера предыдущая часть:

DIY Open Source принтер. Часть 0

В прошлый раз одной из поднятых проблем стал интерфейс между ПК и устройством. В данной статье я постараюсь решить вопрос подключения STM32 по USB и убедить Windows и Linux что это принтер.

Содержание


§1. Кратко о USB
§2. Поиск реализаций USB Printer Class для STM32
§3. Реализация USB Printer Class для STM32
§4. Тест на Windows
§5. Тест на Linux
§6. Как добавить поддержку печати изображений?

Читать далее

ARM Cortex-M: пуск Memory Рrotection Unit (MPU)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.9K

В ARM Cortex-M (Arm v7-M) процессорах есть очень полезный блочок. Называется MPU (Memory Рrotection Unit). Попробуем разобраться что это такое и зачем нужно. .

Читать далее

Утилита CANcat (или CAN-Мессенджер)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5K

Недавно я купил себе CAN-трансивер USB2CANFD_V1 и с удивлением обнаружил насколько же простой и лаконичный протокол заложили разработчики в прошивку STM32G0B1CBT6. Это протокол SLCAN. По сути serial CLI. И это оказалось очень кстати, ведь в программировании микроконтроллеров порой приходится работать с UDS протоколом. Как известно, UDS протокол работает поверх сетевого протокола ISO-TP. В этом тексте я написал под SLCAN простую отладочную утилиту для отладки процесса передачи данных по протоколу ISO-TP (ISO 15765-2).

Читать далее

MKA — DIY-куб на ESP32-C3: одна кнопка, OLED-дисплей, динозаврик и немного глюков

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.2K

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

Итак, начнем....

Почему вообще делать самодельный кубик, который ещё и глючит, но при этом умеет запускать игры вроде пресловутого «динозаврика» из Chrome? Вопрос резонный. Но, как говорится, «почему бы и нет?». Представляю проект MKA – небольшой куб с OLED-экраном, одной сенсорной кнопкой, пищалкой и кастомной прошивкой. Он получился чем-то средним между тамагочи, ретро-миниконсолью и электронным pet rock (если помните такую шутку). В этой статье – немного дневника разработки и технических деталей о том, как и зачем я его собрал.

Читать далее

Как с помощью нехитрых приспособлений превратить буханку в автомотрису

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.1K

В 1980х в США активно развивалось увлечение садовыми железными дорогами. Поезда работали на электричестве вместо пара, были доступны аккумуляторы, появилась компактная электроника, чтобы можно было «прикрутить» радиоуправление. И многие любители делали не только модели настоящего подвижного состава, но и ставили на рельсы игрушки марки Stomper.

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

Читать далее

Практическая реализация энкодера с использованием датчика HOA0902 и STM32

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.8K

Привет, Хабр!

В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 — это двухканальный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск.

В данной статье будут рассмотрены:

— Принципы работы HOA092-11;
— Схема электрическая принципиальная энкодера;
— Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей);
— Тестирование системы, будет рассмотрено (пройденный путь, скорость, направление движения).

Читать далее

Портирование драйвера VL53L1X на CH32V003

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.4K

Опыт портирования драйвера VL53L1X с STM32 на CH32V003. Рассказываю, как адаптировать низкоуровневые функции I2C, настроить системный таймер для таймаутов и HAL_Delay, а также организовать пример работы через UART. Статья будет полезна тем, кто хочет использовать готовые драйверы STM32 на простых микроконтроллерах

Читать далее

Первый шаг в умный дом

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.2K

Привет, Хабр. Меня зовут Сергей Жуков и я преподаю на курсе «Embedded Developer» в Otus. В этой статье на примере контроллера Wiren Board пройдём первый запуск без скриптов и командной строки в настройках: питание, подключение по USB-serial/RNDIS, вход в веб-интерфейс, выдача прав администратора, настройка сети, добавление модулей и тест реле. В финале кратко подключим датчики по RS-485/Modbus и разберём типичные подводные камни, чтобы к концу у вас был рабочий минимальный стенд и понимание следующего шага.

Вводная инструкция для желающих попроб..

Анализ модуля G-NiceRF RF4463PRO: производительность, сертификация, интеграция

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров2.5K

RF4463PRO, выпущенный компанией NiceRF Wireless Technology Co., Ltd., представляет собой высокопроизводительный беспроводной приемопередающий модуль субгигагерцового диапазона. Эта серия модулей доступна в различных версиях с рабочими частотными диапазонами, включая 150/315/433/470/868/915 МГц, для удовлетворения потребностей различных регионов и приложений.

Читать далее

Пошаговая разработка SPI драйвера для ЗОСРВ «Нейтрино»

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.9K

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

Читать далее

Управляем умным домом Home Assitant через Алису и без интернета. Часть 2

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров29K

Продолжаем разбираться в интеграции и в этой части настроим окружение для ESP-IDF, а так же рассмотрим код для контроллера.

Читать далее

Процессорный модуль Corgi SoM v1 на базе Xilinx Zynq-7000

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров2.3K

Коллеги, приветствую, обзорная статья работы с Corgi SoM v1 на базе AMD (Xilinx) Zynq-7000. Статья охватывает работу модуля с Vivado IDE, Vitis IDE, подготовку базового образа, работу с Embedded Linux (u-boot, device tree, linux kernel, rootfs). Подготовку образа для SPI NOR памяти, SPI NAND памяти и сопутствующие моменты необходимые для старта работы с данным модулем. Дополнительно статья будет полезно для linux embedded разработчиков, которые делать будут bring-up плат на базе AMD(Xilinx) zynq платформ.

Читать далее

Ближайшие события

JsonX — JSON на микроконтроллерах по-человечески

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.8K

JSON сейчас встречается буквально везде - от веб-сервисов до IoT, но есть нюанс: почти все популярные JSON-библиотеки писались с расчётом на десктопы и серверы, где оперативку никто не считает по килобайтам. А вот на микроконтроллерах, особенно Cortex-M, каждый байт на счету. Да, конечно, можно гонять сырые структуры и их же писать в конфиг-файл, это как говорится "не запрещено конституцией". Но отладка в таком случае превращается в отдельный квест. В какой-то момент я понял, что мне надоело вручную возиться с JSON на микроконтроллерах: писать километры кода для обхода дерева cJSON, ловить утечки и гадать, где malloc снова подставит. Из всех этих соображений и родился JsonX — лёгкая и минималистичная надстройка над cJSON, которую я делал в первую очередь под микроконтроллеры.

Преимущество JsonX:

Читать далее

Покраска Cтека (Stack Painting)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2K

В процессорах ARM Cortex‑M стек растет от большего адреса к меньшему. То есть вниз. В этом тексте я написал как оценивать расходование стековой памяти прямо во время исполнения программы на микроконтроллере. Считать израсходованный стек можно определив соотношение непрерывно прописанных нулей к ненулевым значениям в диапазоне стековой памяти.

Читать далее

Одноразовый вейп в качестве веб-сервера

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров87K

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

Предыстория

Уже пару лет я собираю коллекцию одноразовых вейпов, полученных от друзей и членов семьи. Поначалу я только извлекал аккумуляторы для «будущих» проектов (это точно не синдром Плюшкина), но в последнее время одноразовые вейпы стали гораздо более продвинутыми. Не хотел бы я быть юристом, которому придётся доказывать, что устройство с разъёмом USB C и перезаряжаемым аккумулятором можно классифицировать, как «одноразовое». К счастью, в ближайшее время я не планирую подаваться в юриспруденцию.

В прошлом году я разбирал одну из этих технологичных сосок для взрослых и заметил нечто любопытное: вместо обычной чёрной капли, которой заливают ASIC (Application Specific Integrated Circuit), я увидел небольшую интегральную схему с маркировкой «PUYA». Не буду винить читателей, если это название не вызвало у вас того же восторга, что и у меня — большинство людей никогда его не слышало. Эта компания больше всего знаменита своими флэш-чипами, но впервые я узнал о них из поста Джея Карлсона о самом дешёвом флэш-микроконтроллере. Это довольно мощные крошечные микроконтроллеры ARM Cortex-M0+.

За последний год у меня скопилось довольно много таких одноразок с PY32; это были разные модели вейпов одного производителя. Я не буду бесплатно рекламировать табачный бренд, но выражу благодарность проектировщику за маркировку на отладочных контактах!

Читать далее

Ещё один PID-контроллер. Теория

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.4K

В сегодняшней статье расскажу, как на стенде измеряется угол, чем обеспечивается защита от дурака, и как мне помог ChatGPT.

Читать далее

Электрический стол (или Зачем нужны ARM Cortex-M0)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.2K

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

Именно за столом на работе по сути и проходит вся трудовая жизнь.

В 2024 я купил себе в кабинет для работы стол с подъемной столешницей. Спустя год электроника подъёма внезапно перестала работать. Произошел полный отказ. Семи-сегментный индикатор стал показывать непонятный токен rE5. Кнопки перестали слушаться. Столешница застыла под потолком.

Я не знал, что мне делать. Пришлось разбираться, что же это такое за шайтан машина: электрический стол.

Читать далее

Асинхронность в микроконтроллерах

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.1K

Статья посвящена созданию асинхронных алгоритмов на микроконтроллерах с использованием средств языка С и без RTOS.

Созерцаем электропривод

Реализация геолокации с помощью LR1120 и платформы Tencent Cloud IoT

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров1.3K

В приложениях Интернета вещей (IoT) отслеживание и позиционирование активов с низким энергопотреблением и большим радиусом действия являются критически важными техническими показателями. Хотя традиционные модули Глобальной системы позиционирования (GPS) могут предоставлять точные координаты, их высокое энергопотребление часто становится фатальным недостатком для устройств с батарейным питанием, ограничивая их долгосрочное применение в таких сценариях, как отслеживание логистики, умное сельское хозяйство и управление активами. Для решения этой проблемы была предложена технологическая архитектура LoRa Edge™. Перенося рабочую нагрузку по вычислению местоположения с конечного устройства в облако для обработки, она значительно снижает сложность оборудования и энергопотребление терминала, предоставляя решение для геолокации IoT, которое уравновешивает стоимость, энергопотребление и производительность позиционирования.

Основная концепция этой архитектуры — «Сканирование на чипе, решение в облаке» (Scan-on-Chip, Solve-in-Cloud). Она переносит самые энергоемкие вычислительные задачи в процессе позиционирования с конечного устройства в облако. Конечное устройство, такое как модуль, оснащенный чипом Semtech LR1120, отвечает только за сбор необработанных «ключей» для позиционирования, таких как навигационные сообщения от сигналов GNSS (Глобальной навигационной спутниковой системы) и MAC-адреса ближайших точек доступа Wi-Fi (AP). Эти легковесные данные передаются на облачную платформу через сеть LoRaWAN® с большим радиусом действия и низким энергопотреблением. Облачная платформа, обладая мощными вычислительными возможностями и профессиональными службами определения местоположения, в конечном итоге вычисляет точное географическое положение устройства. Этот перенос ответственности резко снижает энергопотребление конечного устройства, делая возможным создание трекеров активов, которые могут работать годами от небольшой батареи, и устраняя ключевое препятствие для крупномасштабных развертываний IoT.

Читать далее
1
23 ...

Вклад авторов