All streams
Search
Write a publication
Pull to refresh
179
107.8

Embedded SW/Firmware Engineer

Send message

Техникум: Распознавание Вещественного Числа из Строчки

Level of difficultyEasy
Reading time9 min
Views4.9K

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

Потом часто надо анализировать текстовые логи с SD-карты. Надо выхватывать вещественные числа из CSV файлов для дальнейших расчетов.

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

В этом тексте я представил решение этой задачи.

Читать далее

Load-Detect для Проверки Качества Пайки

Level of difficultyEasy
Reading time12 min
Views4.7K

Как вы думаете зачем в микроконтроллерах есть функция pull-up/pull-down, если можно просто воспользоваться установкой логического уровня push-pull?

Вот типичная ситуация. Вам принесли электронную плату с производства. Крайне вероятно, что на PCB есть какие-то аппаратные баги. Обычно это короткие замыкания на GND/VCC или вовсе непропай.

Как выявить и найти эти бракованные пины?

Вот тут-то нам и помогут подтяжки к питанию/земле на пинах MCU.

Называется эта тема load-detect.

В этом тексте я подробно написал про то, как работает load-detect под капотом.

Читать далее

Симулятор Графического Монохромного Дисплея на Graphviz

Level of difficultyEasy
Reading time4 min
Views4K

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

Проблема в том что у языка Си нет встроенной библиотеки для отрисовки битовых матриц в отдельном окне подобно тому как это есть в Python или C#. Поэтому отлаживают такой код обычно на конечных устройствах.

В этом тексте я написал как можно отлаживать графические дисплеи на DeskTop PC без самого физического дисплея.

Читать далее

Атрибуты Хорошего Загрузчика

Level of difficultyEasy
Reading time8 min
Views11K

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

Читать далее

Сканирование шины RS485

Level of difficultyEasy
Reading time22 min
Views21K

В электронике есть множество проводных полудуплексных асинхронных последовательных интерфейсов типа "общая шина". Это 1-Wire, RS485, 10BASE2(thin Ethernet), LIN, K-Line, CAN, I2C, MIL-STD-1553, ARINC 429.

Во всех этих shared-bus интерфейсах так или иначе возникает задача сканирования шины. То есть надо автоматически определить адреса устройств которые подключены к витой паре проводов.

В тексте представлен простой наивный алгоритм сканирования шины RS485. А также есть пояснение при чем тут отмычка.

Читать далее

Ряд Фурье как Фильтр Нижних Частот

Level of difficultyEasy
Reading time4 min
Views9.7K

Обычно когда говорят про ряды Фурье вспоминают, что они показывают частоты в сигнале. Однако преобразование Фурье показывает также и фазу для каждой частоты.

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

Читать далее

Python: Построение графиков по данным из файла

Level of difficultyEasy
Reading time3 min
Views56K

В разных областях деятельности приходится строить графики. Построить график на компьютере можно десятками если не сотнями способов. В этот тексте я показал как строить графики при помощи интерпретируемого языка программирования Python.

Читать далее

Обзор датчика освещения BH1750

Level of difficultyEasy
Reading time2 min
Views10K


BH1750 это простой цифровой чип датчика освещения с I2C интерфейсом от японской компании Rohm Semiconductor.

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



Читать далее

RTC: Обзор микросхемы часов DS3231

Level of difficultyEasy
Reading time4 min
Views24K

Обзор микросхемы DS3231. Это часы реального времени со встроенным будильником и термометром и даже кварцевым резонатором. В этот тексте я расскажу об особенностях программирования этой микросхемы.

Читать далее

Обзор платы Black Pill V2.0

Level of difficultyEasy
Reading time3 min
Views15K

PCB Black Pill V2.0 - эта дешевая плата-малютка которая подходит для прототипирования электронных устройств.

В этом тексте я написал с какой стороны подходить к плате Black Pill V2.0. Перечислил особенности аппаратной реализации и перечислил плюсы и минусы этой платформы.

Читать далее

Как начертить диск энкодера (или черчение кодом)

Level of difficultyMedium
Reading time5 min
Views3.4K

В машиностроении есть такие детали, которые очень утомительно чертить вручную. Это, например, шестерни или диск оптического энкодера. Не всякий бесплатный софт способен сгенерировать симметричный и предсказуемый паттерн по кругу.

Однако есть языки программирования для черчения. Вот, например, Asymptote: The Vector Graphics Language отличный вариант для авто генерации чертежей.

Читать далее

Акселерометр = полунавигатор

Level of difficultyMedium
Reading time3 min
Views6.3K

Нам очень повезло, что Земля вращается вокруг своей оси!

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

На основе этого явления можно сконструировать навигатор, который по измеренному значению g скажет широту местности.

Читать далее

Обзор контроллера SSD1306 для OLED экранов

Level of difficultyEasy
Reading time5 min
Views29K

В этом тексте я представил обзор контроллера графических монохромных OLED экранов SSD1306. В этом тексте я напишу с какой стороны следует подходить к этому ASIC(у). Перечислю достоинства и недостатки дисплея SSD1306.

Читать далее

Поляризатор = датчик угла

Level of difficultyEasy
Reading time7 min
Views8.2K

Поговорим о датчиках угла.

Есть один остроумный и умозрительный способ измерять углы: при помощи поляризаторов.

Всем известен физический эффект поляризации. Это когда берут 2 поляризационные фильтра от фотоаппарата, накладывают их друг на друга и проворачивают. В результате свет то проходит то не проходит сквозь cэндвич из пластинок.

Насколько реально сделать датчик угла на основе закона Малюса?

Читать далее

Солнечный Навигатор (или Фоторезистор = Навигатор)

Level of difficultyEasy
Reading time17 min
Views14K

Наверное сложно поверить, что такой косный электротехнический компонент как фоторезистор может в какой-то мере заменить дорогущий цифровой санкционный навигационный приемник. Но это в самом деле так.

Если взять микроконтроллер, к ADC пину подключить фоторезистор, целый день непрерывно записывать на SD карту показания солнечной освещенности с вкраплениями временных отметок из часов реального времени RTC, то спустя 24 часа можно оценить широту (длительность светового дня) и долготу (фаза светового дня).

Попробуем понять, работает ли эта идея.

Читать далее

Отладочная плата NRF5340-DK в качестве программатора J-Link

Level of difficultyEasy
Reading time6 min
Views3.1K

Отладочная плата NRF5340-DK поддерживает программирование и пошаговую отладку внешних плат с микроконтроллерами серий nRF51, nRF52, nRF53. В том числе модули BT40.
В этом случае отладочная плата NRF5340-DK выступает как программатор SEGGER J-Link. Для этого на PCB NRF5340-DK заложен отдельный интерфейсный микроконтроллер (U2) с тремя SWD шинами (к слову тот же чип, что и сам target NRF5340 (U1)).

В этом тексте представлена методичка про то, как прошивать внешние дикие платы отладочной платой NRF5340-DK.

Читать далее

Примеры абстракций в технике и повседневности

Level of difficultyEasy
Reading time7 min
Views18K

Поговорим об абстракциях. Где их можно заметить в технике и повседневности. Зачем их создают и какая от них польза.

--------------------------------------------------------------

Читать далее

NVRAM Поверх off-chip SPI-NOR Flash

Level of difficultyEasy
Reading time8 min
Views5.4K

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

В этом тексте поговорим о том как можно построить эффективную программную реализацию энергонезависимой Key-Value Map(ки) над дешевой SPI NOR Flash для микроконтроллерных проектов. Суть проста. Нужна NVRAM.

Читать далее

SPI-NOR Flash на примере MX25R6435F

Level of difficultyMedium
Reading time4 min
Views9.6K

Обзор Off-Chip SPI-NOR Flash памяти на примере микросхемы MX25R6435FZNI.

Число хранилище для электронных плат. Если расшифровывать маркировку, то внутри 8MByte NOR-Flash память с SPI интерфейсом, питанием 1.65V-3.6V, в корпусе 8-WSON и индустриальном диапазоне переносимых температур (-40°C to 85°C).

Читать далее

Information

Rating
64-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Embedded Software Engineer, DevOps
Senior
Git
Bash
CI/CD
C
Embedded system
Programming microcontrollers
Software development
Algorithms and data structures
System Programming
Development of drivers