Рубрика «stm32» - 19

Самодельный текстовый лазерный проектор - 1
В этой статье я рассажу о том, как сделать достаточно простой лазерный проектор из подручных деталей.

Читать полностью »

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

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

Думаю многие из вас наверняка видели рекламу, либо читали статьи, где была фраза «чистый синус». Вот именно о нем и пойдет речь, но не о маркетинговой составляющей, а о исключительно технической реализации. Я постараюсь максимально понятно рассказать о самих принципах работы, о стандартных (и не очень) схемотехнических решениях и самое главное — напишем и разберем ПО для микроконтроллера STM32, которое и сформирует нам необходимые сигналы.

Почему STM32? Да потому, что сейчас это самый популярный МК в СНГ: по ним много обучающей русскоязычной информации, есть куча примеров, а главное эти МК и средства отладки для них — очень дешевые. Скажу прямо — в коммерческом проекте я бы поставил только TMS320F28035 или подобный DSP из серии Piccolo от TI, но это уже совсем другая история.

Важно одно — STM32 позволяет стабильно управлять простыми «бытовыми» силовыми преобразователями от которых не зависит судьба мира работа какой-нибудь АЭС или ЦОДа.

DC-AC инвертор: принцип работы, схемотехника, встроенное ПО - 1

Вот такую картину управляющих сигналов необходимо получить, чтобы превратить ток постоянный в переменный. И да — тут именно синус! Как в том фильме: «Видишь суслика? — Нет. — А он есть...»

Интересно узнать каким образом формируется синус? Хочется узнать как все-таки качают нефть киловатты энергии? Тогда добро пожаловать под кат!
Читать полностью »

Полуавтоматическое управление насосом скважины с помощью STM32 в среде Ардуино

image

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

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

Попытавшись почистить ее различными способами, было приобретено понимание, что не так уж все плохо и достаточно обеспечить стабильный отбор воды. Для этого было собрано несложное устройство, состоящее из блока питания с переходником микро-usb, (зарядное от телефона, на фото отсутствует), платы blue pill на базе камушка stm32f103c8t6, модуля реле, двухполюсного магнитного пускателя, обычного кнопочного выключателя закрытого типа, и собрано в распаечной коробке.
Читать полностью »

Продолжаем рассмотрение базовых вопросов

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

Начинаем изучать STM32: Что такое регистры? Как с ними работать? - 1

Читать полностью »

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

На примере микроконтроллера stm32f103c8t6 и модуля Blue pill мы рассмотрим структуру типового проекта для среды разработки IAR и создадим работающую прошивку.

Всем, кому интересно начать работать с stm32, добро пожаловать под кат.
Читать полностью »

Небольшое вступление

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

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

В свое время, более 5 лет, при поиске информации о 32-разрядных микроконтроллерах, обратил внимание, что практически все примеры для STM32 подразумевали использование SPL (Standard Peripherals Library). Цитата из Википедии:

STM32F10x Standard Peripherals Library (сокр. STM32F10x SPL) — библиотека, созданная компанией STMicroelectronics на языке Си для своих микроконтроллеров семейства STM32F10x. Содержит функции, структуры и макросы для облегчения работы с периферией микроконтроллера."

В настоящее время, для снижения порога вхождения и ускорения разработки предлагается использовать STM32CUBE. Цитата с сайта STM:

STM32Cube embedded software libraries, including:

The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls.
The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency.
A collection of Middleware components, like RTOS, USB library, file system, TCP/IP stack, Touch sensing library or Graphic Library (depending on the MCU series)

На мой взгляд, для большинства проектов не нужны внешние библиотеки и проще использовать обращение к регистрам микроконтроллера, используя стандартную документацию.
Читать полностью »

image
Недавно я ковырялся с подключением своего устройства на микроконтроллере STM32F103 как USB Mass Storage Device, или по русски — как флешку. Вроде бы как все относительно несложно: в графическом конфигураторе STM32CubeMX в пару кликов сгенерировал код, добавил драйвер SD карты, и вуаля — все работает. Только очень медленно — 200кбайт/с при том, что пропускная способность шины USB в режиме Full Speed гораздо выше – 12 мБит/с (грубо 1.2 Мбайт/с). Более того, время старта моей флешки в операционной системе составляет около 50 секунд, что попросту некомфортно в работе. Раз уж я нырнул в эту область, то почему бы и не зачинить скорость передачи.

Вообще-то я уже писал свой драйвер для SD карты (точнее драйвер SPI), который работал через DMA и обеспечивал скорость до 500кб/с. К сожалению в контексте USB этот драйвер не заработал. Причиной всему сама модель общения USB — там все делается на прерываниях, тогда как мой драйвер был заточен под работу в обычном потоке. Да еще и припудрен примитивами синхронизации FreeRTOS.

В этой статье я сделал парочку финтов, которые позволили выжать максимум из связки USB и SD карточки подключенной к микроконтроллеру STM32F103 по SPI. Также тут будет про FreeRTOS, объекты синхронизации и общие подходы к передаче данных через DMA. Так что, думаю, статья будет полезна и тем кто только разбирается в контроллерах STM32, и инструментах вроде DMA, и подходах при работе с FreeRTOS. Код построен на основе библиотек HAL и USB Middleware из пакета STM32Cube, а также SdFat для работы с SD картой.
Читать полностью »

Всем, кто использует или интересуется микроконтроллерами фирмы STMicroelectronics, хочу представить свой небольшой хобби-проект.

И на Хабре, и на geektimes уже достаточно много статей, посвящённых микроконтроллерам серии STM32F, например: Дешевая STM32 плата + Arduino IDE, Попытка подружиться с STM32 и ответ на неё Как надо дружиться с STM32 и многие другие. В совокупности они очень хорошо освещают эту тему, но есть одно но… Во всех этих статьях рассматриваются готовые платы и один конкретный контроллер, что на этой плате. А что делать тем, кто хочет поиграться с разными контроллерами, да ещё и на макетной плате? Например, многие известные мне платы с контроллером STM32F4 (та же STM32F4-Discovery) в макетную плату не воткнуть. Но мне лично хочется что-то типа такого (внимание, все картинки кликабельны):

Нестандартный способ подружиться с STM32: не Ардуино и не Discovery - 1


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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js