Pull to refresh
13
0

Инженер — электроник

Send message

Простой цифровой радиоприемник на базе контроллера STM32G4 своими руками

Reading time44 min
Views35K

Обучающие проекты по созданию простого цифрового радиоприемника на базе микроконтроллера STM32G431KB.

Читать далее
Total votes 85: ↑85 and ↓0+85
Comments52

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

Level of difficultyMedium
Reading time10 min
Views46K

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

Читать далее
Total votes 100: ↑100 and ↓0+100
Comments77

Фильтрация шума сигнала

Reading time7 min
Views42K

Фильтрация шума очень важная вещ, при работе с различными датчиками. Сигнал, получаемый от них всегда приходит с шумами, и важно уметь их грамотно отфильтровать. Качественная фильтрация шума способна уменьшить погрешность и увеличить качество измерения датчика. Этим мы сегодня и займемся.

Читать далее
Total votes 34: ↑29 and ↓5+35
Comments38

CoroOS: концепт операционной системы для микроконтролеров на корутинах С++20

Reading time18 min
Views11K

Здравствуйте! Меня зовут Александр, и я работаю программистом микроконтроллеров.

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

И ваш автор не исключение.

Как по мне - дело не то чтобы запредельно сложное, сколько кропотливое. Если у вас, как и у меня, увлечение и(или) карьера крутится вокруг Arm Cortex-M серии, то вооружаемся стволами (раз, два и три) и выдвигаемся за Джеффом. Но, написав и запустив ядро своей "best of the best" оси около года назад, я вскоре забросил разработку, ибо как я ни креативил, вместо Сокола Тысячелетия у меня получался крепенький, но банальный и скучный велосипед.

А ведь хотелось оригинальности и бесстыдного выпендрёжа.

И тут в 20-й стандарт плюсов завезли корутины.

Читать далее
Total votes 24: ↑21 and ↓3+28
Comments28

Открытый проект файловой системы для внутренней памяти STM32H

Reading time8 min
Views7.8K

Зачем ставить внешнюю IC памяти или SD карту если в микроконтроллере осталось много свободной Flash памяти! 

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

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

Читать далее
Total votes 14: ↑13 and ↓1+18
Comments19

UHF RFID: Бюджетное решение для шлагбаума, после тестирования

Reading time9 min
Views8.4K

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

наслаждайтесь
Total votes 14: ↑14 and ↓0+14
Comments3

Управление RC машинкой 27mhz с компьютера

Reading time3 min
Views11K

Накопилось у меня некоторое количество радиоуправляемых игрушек, из тех, которые покупать своим двум детям нельзя: один пульт управляет всем в округе, никакого разделения ни по частотам, ни по кодам. Одновременно играть не получится. У меня эти игрушки работают на частоте 27mhz, но аналогичные могут работать на частотах 35, 40, 49 mhz по тому же простейшему протоколу, о котором и пойдет речь дальше.

Моя идея заключалась в том, чтобы сделать USB девайс, на который можно передавать с компьютера коды команд, а это устройство каждую команду закодирует и выдаст в эфир RC-машинке.

Читать далее
Total votes 14: ↑13 and ↓1+19
Comments7

Разработка контроллера резервного питания. Технология отладки и тюнинг

Reading time15 min
Views7.2K

Здесь рассматривается технология отладки платы контроллера резервного питания и его программного обеспечения . Используются: адаптер SWD, осциллограф, VT100 терминал через UART, движок FreeMaster, экспорт и анализ в MATLAB. Дан пример реализации регулируемого источника напряжения. Заключительный тюнинг платы.

Читать далее
Total votes 12: ↑11 and ↓1+14
Comments9

Проводим нагрузочное тестирование скоростных USB-библиотек для STM32F103C8T6

Reading time10 min
Views4.4K
В предыдущей статье я показывал предельную скорость шины USB у микроконтроллера STM32F103 со штатной библиотекой MiddleWare. В комментариях мне показали сразу две самодельных библиотеки, выжимающих из USB FS все соки. Но автор одной из библиотек высказал мысль, что быстро-то они работают быстро, а насколько надёжно – не ясно. Он считал, что было бы полезно провести нагрузочное тестирование с какими-то полезными данными. Только если они не потеряются и не исказятся, можно будет сказать, что библиотеки имеют право на жизнь.



Само собой, я еле дождался выходных, чтобы провести проверки. Давайте рассмотрим результаты испытаний. А чтобы было интересней, попутно рассмотрим технологию отображения переменных «на лету», без остановки процессорного ядра. Ну, и технологию визуальной отладки elf-файлов, собранных пакетными компиляторами.
Читать дальше →
Total votes 18: ↑17 and ↓1+26
Comments5

Как устроен блок питания, который работает в каждом системнике

Reading time12 min
Views121K

Блок питания извлечён из корпуса. Пучок проводов слева подключается к компьютеру. Большой компонент посередине типа трансформатора — это фильтрующий индуктор. Кликабельно, как и все фотографии в статье

Вы когда-нибудь задумывались, что находится внутри блока питания (БП) вашего компьютера? Задача БП — преобразовать питание из сети (120 или 240 В переменного тока, AC) в стабильное питание постоянного, то есть однонаправленного тока (DC), который нужен вашему компьютеру. БП должен быть компактным и дешёвым, при этом эффективно и безопасно преобразовывать ток. Для этих целей при изготовлении используются различные методы, а сами БП внутри устроены гораздо сложнее, чем вы думаете.

В этой статье мы разберём блок стандарта ATX и объясним, как он работает1.
Читать дальше →
Total votes 46: ↑31 and ↓15+31
Comments97

Видеоконтроллер RA8875 и внешние шрифты на EEPROM W25Q32 для быстрого вывода текста на экран дисплея

Reading time2 min
Views5K

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

Читать далее →
Total votes 13: ↑13 and ↓0+13
Comments51

STM32 LTDC и 7-дюймовый дисплей: часть 1

Reading time5 min
Views22K

Речь пойдёт подключении дисплея AT070TN94 с параллельным интерфейсом к контроллеру STM32H743, начиная от выбора электронных компонентов, заканчивая настройкой блока LTDC. И хотя в сети достаточно много информации по данной теме, при создании своего устройства у меня периодически возникали те или иные вопросы, ответов на которых найти не удавалось. Пишу в первую очередь для новичков, а профи приглашаю почитать ради советов и аргументированной критики (первая статья как-никак). Приступим.

Заинтересовало
Total votes 21: ↑20 and ↓1+33
Comments16

Запуск Qt на STM32. Часть 2. Теперь с псевдо 3d и тачскрином

Reading time3 min
Views7K
Мы в проекте Embox некоторое время назад запустили Qt на платформе STM32. Примером было приложение moveblocks — анимация с четырьмя синими квадратами, которые перемещаются по экрану. Нам захотелось большего, например, добавить интерактивность, ведь на плате доступен тачскрин. Мы выбрали приложение animatedtiles просто потому, что оно и на компьютере круто смотрится. По нажатию виртуальных кнопок множество иконок плавно перемещаются по экрану, собираясь в различные фигуры. Причем выглядит это вполне как 3d анимация и у нас даже были сомнения, справится ли микроконтроллер с подобной задачей.
Total votes 13: ↑12 and ↓1+16
Comments10

Размещение кучи FreeRTOS в разделе CCMRAM для STM32

Reading time2 min
Views8.3K
При разработке одного девайса на базе STM32F407 столкнулся с проблемой нехватки оперативной памяти. Назначение самого девайса не принципиально, но важно, что изначальный код писался для десктопной системы и его нужно было просто портировать на микроконтроллер под управлением FreeRTOS. А так как исходный код был написан на С++ и вопрос об экономии ОЗУ даже не стоял, то и вылезла соответствующая проблема.

Заниматься оптимизацией кода, одновременно добавляя себе проблем с поиском новых ошибок, очень не хотелось. Поэтому своевременно вспомнилось, что данная версия микроконтроллера имеет на борту дополнительный сегмент ОЗУ размером 64К (CCM SRAM), который сейчас никак не был задействован. Эврика — вот оно, решение!

Но к сожалению, все оказалось не так просто.

Читать дальше →
Total votes 12: ↑10 and ↓2+12
Comments9

Поговорим с мышами? Или Soft USB HOST на Esp32

Reading time4 min
Views14K

Esp32 весьма мощный контроллер, подходящий для эмуляции различных ретро систем, таких как Spectrum, Commodore, NES, IBM PC-XT и т.д. Есть возможность сгенегировать VGA или AV - TV композитный сигнал, подключить различные компактные LCD дисплеи. Он умеет разговаривать с SD картами по SPI & SD протоколу. Вот только с USB клавиатурами, мышами и джойстиками - не умеет. Попробуем научить его говорить с ними. Есть конечно новый вариант ESP32-S3 с одним USB host контроллером, а мне нужно подключить хотя бы 3 девайса и без хаба...

Нам понадобится:
Total votes 33: ↑33 and ↓0+33
Comments6

Составное устройство USB на STM32. Часть 3: Звуковое устройство отдельно, виртуальный СОМ-порт отдельно

Reading time9 min
Views8.3K

В третьей части публикации о составном устройстве USB я расскажу о том, как переделать сгенерированный в STM32CubeMX USB Audio Speaker, описанный во второй части публикации, в дуплексное звуковое устройство.

Затем мы создадим в STM32CubeMX драйвер виртуального COM-порта.

Зачем мы всё это делаем, подробно описано в первой части публикации.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments3

Приемопередатчик HC-12 и датчик температуры DS18b20 на AVR-ассемблере

Reading time26 min
Views17K
По мотивам содержания моей книжки «Программирование микроконтроллеров AVR: от Arduino к ассемблеру» была опубликована статья о подключении дисплеев к AVR с применением только «чистого» ассемблера. Под «чистым» имеется в виду наличие только простейшего редактора кода и программатора, и отсутствие необходимости во всяких навороченных инструментах вроде Atmel Studio. В конце я пообещал, что изложенный там материал продолжится изложением примеров, затронутых в книжке лишь вскользь или не вошедших в нее вовсе.

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

Для упрощения отладки проекта его составляющие сначала моделировались на Arduino, и затем воспроизводились на ассемблере на более адекватной элементной базе.
Читать дальше →
Total votes 13: ↑10 and ↓3+13
Comments28

Делаем гибкую печатную плату

Reading time7 min
Views18K

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

Читать далее
Total votes 69: ↑69 and ↓0+69
Comments51

АЦП преобразования в указанные моменты времени на STM32

Reading time5 min
Views23K

В этом посте я расскажу, как мне удалось заставить STM32F4 измерять аналоговые сигналы в указанные моменты времени с помощью DMA не расходуя вычислительных ресурсов микроконтроллера.

Читать далее
Total votes 20: ↑19 and ↓1+26
Comments14

Information

Rating
Does not participate
Location
Уфа, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity