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

В настоящее время получили распространение различные жидкокристаллические дисплеи, которые отлично подключаются к контроллерам семейства STM32. В данной статье речь пойдет об одном из распространенных контроллеров STM32F103C8T6 и дисплее 7" на контроллере SSD1963. Оба в виде законченных узлов легко доступны на Aliexpress и относительно недорого стоят. Конечно, все рассмотренное ниже справедливо и для других дисплеев с параллельным интерфейсом и большинства контроллеров STM32.
Читать полностью »

В предыдущей публикации мы подключали дешевый китайский LCD экран к плате STM32L4 Discovery. Теперь мы попробуем реализовать на этой комбинации что-то выходящее за рамки традиционного моргания светодиодом, а именно анализатор звукового спектра, который использует имеющийся на плате микрофон. Заодно я расскажу, как пользоваться операционной системой FreeRTOS, и зачем она нужна, а также почему в нотной октаве 12 нот, и чем 53 ноты лучше, чем 12.

Измерим гармонию — анализатор звукового спектра на STM32L4 Discovery - 1

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

Иногда чужой код очень помогает в деле подключения к микроконтроллеру периферийного железа. К сожалению, адаптировать чужой код к своему проекту бывает сложнее, чем переписать его самому, особенно если речь идет о мега фреймворках вроде arduino или mbed. Желая подключить китайский LCD на базе ILI9341 к плате STM32L476G DISCOVERY, автор задался целью воспользоваться в демо-проекте от ST драйвером, написанным для mbed, не изменив ни строчки в его коде. В результате удалось заодно разогнать экран до невиданных скоростей обновления в 27 fps.

Использование mbed кода в собственном проекте на STM32 — опыт разгона китайского LCD - 1

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

Надеюсь сообщество простит меня за такой заголовок, просто в последнее время все чаще и чаще сталкиваюсь с программами в которых к микроконтроллерам STM32 подключают различные дисплеи с интерфейсом SPI и очень часто передачу данных при этом делают не правильно.
Как следствие — либо код не работает совсем и тогда в него внедряют различные задержки, или пишут код таким образом что он гарантированно будет работать медленно (по сравнению с возможной скоростью). А кто то, не разобравшись просто копирует чужой «с костылями» код, и потом такие «произведения» ходят по интернету из примера в пример…

Откуда растут такие проблемы и каким образом они решаются под катом.
Читать полностью »

Продолжение статьи. На этот раз попробуем подключить USB без падения частоты измерений и соберём одноканальную аналоговую часть.
STM32F103C8T6 — первые шаги. Продолжаем делать осциллограф - 1
Читать полностью »

Не так давно TFA выпустила довольно симпатичную метеостанцию TFA Spring с сенсором температуры-влажности 30.3206.02. При желании использовать сенсор в собственных разработках, например, в самодельных часах/метеостанции, может помочь эта статья.

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

Приветствую читатель!

Так получилось, что в последнее время моя компания соседствует с бизнес инкубатором, в котором изобилие молодых и амбициозных товарищей, считающих, что сляпанная за вечер поделка из говна и палок arduino и проводков это и есть конечный продукт, который они завтра будут продавать миллионами. Спорить с ними бесполезно, да и рассказ о величине пропасти между макетом и серийным изделием не уложить в 2 предложения, поэтому я пишу этот пост.
Путь от макета до серийного изделия - 1
Я хочу вам рассказать свой опыт создания серийного устройства (пока <1000 шт).
Читать полностью »

Это моя первая статья для сообщества Хабрахабр и написать ее я решил про то что сейчас волнует меня самого: написание программ для микроконтроллеров STM32 (семейство АRМ) на языке ассемблера. Я использую отладочную плату на основе микроконтроллера STM32F407 (STM32F4 Discovery, Open407I-C), но статья будет не менее полезна и для программирования других микроконтроллеров STM32.
Читать полностью »

Часть 1
Часть 2
Часть 3
Часть 4.1

Пролог

Мнения были разные по поводу разбора кода и его необходимости вообще. Я постарался в данной статье реализовать метод «золотого сечения», поэтому:
а) в конце статьи будет приложен исходник экспертам дальше не читать
б) приведу алгоритм работы и разберу его
в) объясню как пользоваться библиотеками SPL
г) в объеме статьи расскажу как пользоваться определенной периферией, покажу реализацию работы с ней в коде
д) отдельным пунктом опишу работу с ILI9341, т.к. тема довольно разжевана, то просто расскажу о главном — как обдумано реализовать функцию инициализации (в интернете видел лишь код с фразой: «вот рабочая инициализация, копируйте и не вдумывайтесь что это») и запустить его через аппаратный SPI.

Слишком подробный разбор кода вы тут не увидите, все будет в меру, иначе мне придется написать книгу страниц так в 200-250. Поэтому изучайте даташиты и прочую документацию (ссылки будут) перед тем, как приступать к написанию программы. Те, кто первый раз сядет за МК — не бойтесь, если возникнут вопросы я вам подскажу и помогу, так что данный код вы осилите.
Читать полностью »

Часть 1
Часть 2
Часть 3

Пролог

Всем добрый день и это последняя часть цикла посвященная не силовой части устройства. Возможно вы подумаете, что я нарочно затягиваю силовые модули, но это не так. Просто мне хотелось бы сначала закончить со всеми побочными модулями, которые являются от части «декоративными», но без которых наш ИБП превращается в груду плохо работающего железа с непонятным назначением.
Поэтому в данном статье будет подробно рассмотрена реализация измерения напряжений, токов в узлах, а так же контроль температуры и защита от перегрева. И конечно же — индикация, куда нам без нее! Ведь без нее достаточно проблематично понять что творится с нашим прибором, насколько правильно он работает и работает ли вообще.
Еще несколько заявлений перед началом:

1) В промышленном варианте плата была разведена в 4-х слоях для реализации качественной трассировки платы, с гальванической развязкой и минимальными шумами, но в данной статье я приведу два вида трассировки и оба для «радиолюбителей»! Один вид — двухсторонняя плата, другой вариант — односторонний. Могу сразу отметить, что даже эти варианты обладают более чем достаточными шумовыми свойствами для надежной работы, а гальваническая развязка была убрана с целью удешевления изготовления, т.к. данный узел не является ответственным и в случае его неисправности прибор продолжит работать и сигнализировать о случившейся аварии.
Конечно же перед тем, как выложить их в статью я изготовил прототип, усиленно его погонял и оценил более чем пригодную живучесть. Так же проверил возможность изготовления данных плат с помощью ЛУТа и фоторезиста — шаг 0.3 мм достигается без проблем.

2) Всем кто захочет повторить данный блок или ИБП целиком я готов выслать запрограммированный микроконтроллер STM32, если его присутствие вас отпугнет. Цена будет: стоимость МК + пересылка, исключительно с целью помочь, а не заработать.

Некоторую ясность вроде бы внес, тогда поехали разбираться в схеме…

Общая схемотехника и описание функций модуля

И так общая схема модуля о котором сегодня пойдет речь, перечертил ее специально для этой статьи по модулям, чтобы новичкам было проще понять общий принцип работы и какой «кусок» за что отвечает в конечном функционале:
Индикация выходных параметров и реализация защиты нагрузки в ИБП. Часть 4.1 - 1
Рисунок 1 — Принципиальная схема блока индикации и управления на STM32F103RBT6
Читать полностью »


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