Довольно часто можно встретить статьи, посвященные использованию режимов пониженного энергопотребления. В большинстве случаев в них описываются достоинства и недостатки конкретного микроконтроллера, а все рекомендации сводятся к обобщенной фразе — используй режимы сна.
Читать полностью »
Рубрика «stm32» - 21
Опыт разработки low power устройств на STM32L
2017-11-16 в 16:08, admin, рубрики: low power, stm32, программирование микроконтроллеровDC-AC инвертор: принцип работы, схемотехника, встроенное ПО
2017-11-15 в 12:31, admin, рубрики: c/c++, diy или сделай сам, stm32, микроконтроллеры, Программирование, Производство и разработка электроники, силовая электроника, схемотехника, чистый синус, Электроника для начинающихИмпульсные преобразователи и силовая электроника в целом, всегда оставались чем-то сакральным для большинства любителей и профессионалов в области разработки электроники. В статье освещается пожалуй самая интересная тема в среде DIY-щиков и фанатов альтернативной энергетики — формирование синусоидального напряжения/тока из постоянного.
Думаю многие из вас наверняка видели рекламу, либо читали статьи, где была фраза «чистый синус». Вот именно о нем и пойдет речь, но не о маркетинговой составляющей, а о исключительно технической реализации. Я постараюсь максимально понятно рассказать о самих принципах работы, о стандартных (и не очень) схемотехнических решениях и самое главное — напишем и разберем ПО для микроконтроллера STM32, которое и сформирует нам необходимые сигналы.
Почему STM32? Да потому, что сейчас это самый популярный МК в СНГ: по ним много обучающей русскоязычной информации, есть куча примеров, а главное эти МК и средства отладки для них — очень дешевые. Скажу прямо — в коммерческом проекте я бы поставил только TMS320F28035 или подобный DSP из серии Piccolo от TI, но это уже совсем другая история.
Важно одно — STM32 позволяет стабильно управлять простыми «бытовыми» силовыми преобразователями от которых не зависит судьба мира работа какой-нибудь АЭС или ЦОДа.
Вот такую картину управляющих сигналов необходимо получить, чтобы превратить ток постоянный в переменный. И да — тут именно синус! Как в том фильме: «Видишь суслика? — Нет. — А он есть...»
Интересно узнать каким образом формируется синус? Хочется узнать как все-таки качают нефть киловатты энергии? Тогда добро пожаловать под кат!
Читать полностью »
Полуавтоматическое управление насосом скважины
2017-10-19 в 10:46, admin, рубрики: arduino, diy или сделай сам, stm32, Электроника для начинающихПолуавтоматическое управление насосом скважины с помощью STM32 в среде Ардуино
Многие обладатели приусадебных участков имеют на своих владениях водяные скважины, и, возможно, сталкивались с проблемой заиливания колодца/протухания воды за время простоя скважины с осени по весну.
Так уж случилось, что скважина на моем участке простаивала несколько лет, а когда пользовались, то отбирали очень мало воды.
Попытавшись почистить ее различными способами, было приобретено понимание, что не так уж все плохо и достаточно обеспечить стабильный отбор воды. Для этого было собрано несложное устройство, состоящее из блока питания с переходником микро-usb, (зарядное от телефона, на фото отсутствует), платы blue pill на базе камушка stm32f103c8t6, модуля реле, двухполюсного магнитного пускателя, обычного кнопочного выключателя закрытого типа, и собрано в распаечной коробке.
Читать полностью »
Начинаем изучать STM32: Что такое регистры? Как с ними работать?
2017-09-30 в 17:34, admin, рубрики: KEIL, stm32, для начинающих, моргаем светодиодом, Программирование, Электроника для начинающихПродолжаем рассмотрение базовых вопросов
В предыдущем уроке мы рассмотрели работу с битовыми операциями и двоичными числами, тем самым заложив основу для рассмотрения новой темы. В этом уроке мы с Вами рассмотрим очередной вопрос: что такое регистры и как с ними работать?

Краткое введение в разработку приложений для микроконтроллеров stm32
2017-09-28 в 10:53, admin, рубрики: Cortex M3, IAR, STLINK-V2, stm32, stm32f103c8, Железо, микроконтроллеры, Программирование, Электроника для начинающихКо мне довольно часто обращаются люди с просьбой помочь им начать работу с микроконтроллерами семейства stm32. Отвечая на их вопросы и помогая им с проектами, я понял, что будет лучше написать статью, которая будет полезна всем желающим начать программировать микроконтроллеры stm32. Несмотря на все свои многочисленные возможности, контроллеры stm32 имеют довольно высокий порог вхождения, который для многих остаётся недоступным. В этой статье, я постараюсь дать читателю подробное руководство, как создавать проекты на stm32 и как организовать свою программу.
На примере микроконтроллера stm32f103c8t6 и модуля Blue pill мы рассмотрим структуру типового проекта для среды разработки IAR и создадим работающую прошивку.
Всем, кому интересно начать работать с stm32, добро пожаловать под кат.
Читать полностью »
Начинаем изучать STM32 или Управляем светом по-умному
2017-09-21 в 20:56, admin, рубрики: KEIL, stm32, stm32f051r8t6, для начинающих, Программирование, Производство и разработка электроники, умный дом, управление освещением, Электроника для начинающихНебольшое вступление
Однажды, заехав в очередную съемную квартиру, я столкнулся с определенным неудобством, которое достаточно сильно напрягало: выключатель света в основной комнате оказался за шкафом-стенкой, который был прикручен к стене, и его перестановка была невозможна т.к. на это требовалось значительно много времени и сил. Решить данную проблему хотелось очень сильно и в голову приходила только одна мысль: сделать дистанционный пульт для управления освещением!
Именно с идеи создания собственного пультика для управления светом в комнате и началось моё увлечение электроникой, микроконтроллерами и различными радиоустройствами. Читать полностью »
STM32 без HAL и SPL
2017-09-11 в 8:19, admin, рубрики: C, hal, microcontrollers, stm32, stm32cube, программирование микроконтроллеров, Промышленное программированиеВ свое время, более 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)
На мой взгляд, для большинства проектов не нужны внешние библиотеки и проще использовать обращение к регистрам микроконтроллера, используя стандартную документацию.
Читать полностью »
Прокачиваем USB Mass Storage Device на STM32F103 с помощью FreeRTOS и DMA
2017-09-05 в 15:01, admin, рубрики: DMA, freetros, hal, mass storage, microSD, MSc, sd, stm32, stm32f103, usb, программирование микроконтроллеров, системное программирование
Недавно я ковырялся с подключением своего устройства на микроконтроллере 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 картой.
Читать полностью »
Нестандартный способ подружиться с STM32: не Ардуино и не Discovery
2017-08-30 в 10:46, admin, рубрики: diy или сделай сам, open source, stm32, макетирование, программирование микроконтроллеров, схемотехника, Электроника для начинающихВсем, кто использует или интересуется микроконтроллерами фирмы STMicroelectronics, хочу представить свой небольшой хобби-проект.
И на Хабре, и на geektimes уже достаточно много статей, посвящённых микроконтроллерам серии STM32F, например: Дешевая STM32 плата + Arduino IDE, Попытка подружиться с STM32 и ответ на неё Как надо дружиться с STM32 и многие другие. В совокупности они очень хорошо освещают эту тему, но есть одно но… Во всех этих статьях рассматриваются готовые платы и один конкретный контроллер, что на этой плате. А что делать тем, кто хочет поиграться с разными контроллерами, да ещё и на макетной плате? Например, многие известные мне платы с контроллером STM32F4 (та же STM32F4-Discovery) в макетную плату не воткнуть. Но мне лично хочется что-то типа такого (внимание, все картинки кликабельны):

При этом, как я уже написал, не хочется быть связанным конкретным контроллером, а хочется иметь возможность легко его заменить. Тех, кому интересно, как я реализовал эти не совсем обычные хотелки, прошу под кат.
Черная магия голубой таблетки (делаем программатор Black Magic Probe из модуля на базе STM32F103)
2017-08-29 в 15:40, admin, рубрики: arduino, blackmagic, BLE, bluetooth, diy или сделай сам, jtag, nordic semiconductor, nrf51822, nrf52832, stm32, stm32f103, swd, Железо, Интернет вещей, программатор, схемотехникаЗачем?
В эпоху Arduino UNO и Atmega328 я вполне обходился без программатора, прошивая микроконтроллер сначала загрузчиком Arduino через другую Arduino (Arduino as ISP), а потом через обычный последовательный порт, и лишь после появления поддержки Arduino для модулей на основе Nordic Semiconductor nrf51822 и nrf52832 для меня впервые стало актуальным наличие swd-программатора, ибо никаким другим способом прошивку в голый китайский модуль не зальешь.
Стандартом де-факто в данной области являются программаторы Jlink немецкой компании Segger Microcontroller System, известные не только своими прекрасными ТТХ, но и заоблачной ценой (около $500-600). Надо отдать должное компании Segger, для некоммерческого использования выпускается EDU версия, полностью идентичная Jlink Base, но даже она стоит в России в районе 3000 руб. Любимый Aliexpress полон китайских клонов, однако и они относительно недешевы, не говоря уж о прочем.
Есть еще ST-LINK/V2 от ST Microelectronics, правда, под вопросом их совместимость с микроконтроллерами производства не самой STMicro.
В итоге, мой взгляд неминуемо пал на JTAG/SWD программатор Black Magic Probe (BMP), собравший на Kickstarter более $47,000 при заявленной цели в $10,000.
Читать полностью »