Как стать автором
Обновить
218.9

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

Сначала показывать
Порог рейтинга
Уровень сложности

Все мои детальки: переход на отечественные микроконтроллеры

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров15K

 Привет, читатель!

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

Программирование микроконтроллеров сейчас для меня больше как хобби и научный интерес, которому уделяю свободное от работы время. На сегодняшний день 8-ми битные контроллеры использую в небольших роботах, для опроса различных датчиков или вывода информации. Поэтому выбирал для первых экспериментов простой и понятный микроконтроллер, совместимый или подобный чипам AVR. Для тех, кому интересен этот эксперимент - прошу под кат.

Читать далее
Всего голосов 40: ↑35 и ↓5+44
Комментарии58

Новости

КодоГенератор Линейных Отображений (как ускорить создание ASIC драйвера)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

В программировании микроконтроллеров на Си часто приходится писать драйверы для умных и навороченных ASIC чипов с управлением по I2C/SPI/MDIO интерфейсам.

Обычно перед запуском эти чипы надо правильным образом сконфигурировать.

Такие чипы всегда оперируют с реальными физическими величинами. Одновременно с этим ячейки памяти этих ASIC чипов - дискретные, двоичные. Поэтому все производители микросхем кодируют эти переменные бинарными кодами разной разрядности.

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

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии5

Обзор AудиоКодека NAU8814YG

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3K

Аудио кодек по сути это цифро-аналоговое устройство, где есть пара ADC + DAC. На входе обычно есть сумматор на операционных усилителях для подмешивания аналогово сигнала с разных проводов, есть еще аналоговые усилители. Высокоскоростной многоканальный интерфейс: I2S или TDM. И интерфейс I2C для того чтобы всем этим добром управлять.

В этой заметке я написал о своём опыте работы с ASIC аудиокодеком NAU8814.

Читать далее
Всего голосов 18: ↑15 и ↓3+17
Комментарии15

Второе рождение DSP или запуск нейросетей на процессорах К1967ВН044 от «Миландр»

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.7K
Нейросети постепенно и незаметно проникают во все уголки нашей жизни. От огромных сеток, которые могут обыгрывать в шахматы чемпионов мира или вести беседу на уровне интеллигентного человека, до совсем маленьких, реагирующих на голосовые команды или выделяющих лица на фотографии.

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

В этой статье поделюсь нашим опытом запуска нейросетей на DSP процессоре фирмы «Миландр» К1967ВН044, тем более что в новой ревизии появился Ethernet и можно организовать быстрый обмен данными, например, с ПК.


Читать дальше →
Всего голосов 25: ↑23 и ↓2+30
Комментарии36

Запускаем Intel 87C51 — первый крупносерийный микроконтроллер (1980)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.5K

  Мы принимаем как должное удобства современных микроконтроллеров - все ключевые компоненты интегрированы в один корпус: флэш-память/EEPROM, SRAM, само процессорное ядро, PLL, ADC/DAC, PWM, последовательные порты и многое другое.

  Но так было не всегда. Первым монолитным микроконтроллером был Intel 8048 (MCS-48) выпущенный в 1976 по n-МОП технологии. Не планировалось что у него будет длинный жизненный цикл и уже через 4 года в 1980 на смену ему пришел Intel 8051 (MCS-51), завоевавший мир. Не планировалось что у него будет длинный жизненный цикл и уже через 4 года в 1980 на смену ему пришел Intel 8051 (MCS-51), завоевавший мир. Он имел на борту 4КиБ однократно-программируемой памяти, 128 байт SRAM, GPIO, последовательные порт и, собственно, 8-битное процессорное ядро. Intel 87C51FC был вариантом на базе УФ-стираемой EPROM памяти (объемом 32КиБ), C-версия - на КМОП процессе, объем памяти увеличен до 256 байт.

Пару недель назад ко мне в руки случайно попал D87C51FC-20 - и я решил его запустить, чтобы прочувствовать проверенные временем технологии. Сразу отмечу - не стоит тут искать практической пользы, это скорее экскурс в историю на 44 года назад...

Читать далее
Всего голосов 61: ↑61 и ↓0+75
Комментарии43

KC868-A32M: контроллер без цифровых входов (зато со всем остальным, плюс 32 мосфета)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.3K


Похоже Kincony перешла к созданию откровенно экзотических моделей (видимо все тривиальные она уже выпустила) для пресыщенных её продукцией фанатов автоматизаторов.

KC868-A32M — это своеобразный гибрид в котором есть всё, что только можно, но нет… цифровых входов. Вопрос: «что это за контроллер без цифровых входов?» незримо повисает в воздухе и я сходу даже не припомню аналогов столь смелого технологического решения.

Ну ладно, вначале мы ужаснулись, теперь давайте попробуем разобраться с тем, что представляет собой KC868-A32M.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+17
Комментарии22

Настройка связки VScode, OpenOCD, WCH-LinkE, Cortex-M

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.6K

Wch-link является программатором для ARM, RISC-V микроконтроллеров. По возможностям это аналог St-link, JLink и прочих. По сравнению с st-link он поддерживает контроллеры не только фирмы STM. А по сравнению с JLink стоит намного дешевле и не имеет проблем с лицензиями, которые могут встречаться у дешевых клонов JLink. Также плюсом идет поддержка набирающих популярность контроллеров от китайской компании WCH.

Есть несколько вариантов этого отладчика, я буду говорить о версии Wch-linkE rev 1.3.

Читать далее
Всего голосов 8: ↑8 и ↓0+10
Комментарии24

Поросенок найден (80186)

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров13K

Наверное многие слышали историю, рассказанную М. Задорновым в одном из своих выступлений, про трех поросят выпущенных в американской школе с номерами 1, 2 и 4 с панчлайном о том, как полиция долго искала поросенка номер 3.

Мое знакомство с компьютерами типа IBM PC происходило по похожему сценарию. В юности (начало 90х), в скудной литературе регулярно мелькали процессоры 8086(8088) и 80286, 386, затем 486 и т.д. Однако процессор 80186, который было бы логично ожидать не попадался.

Читать далее
Всего голосов 59: ↑58 и ↓1+80
Комментарии58

Контроллер управления аттенюаторами Agilent/Keysight 8494H и 8496H

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров2.7K

Приветствуем!

Так получилось, что нам достались два аттенюатора Agilent 8494H и 8496H. Они долго лежали без дела, поскольку отсутствовал контроллер управления. Конечно, четыре простых переключателя справились бы с этой задачей, но хотелось реализации с дисплеем показывающий текущее значение затухания и программное управление. Проект сделан в EasyEDA и Atmel Studio.

Читать далее
Всего голосов 10: ↑10 и ↓0+12
Комментарии4

Универсальный контроллер моторов на ARM Cortex-M85. Трассировка

Время на прочтение6 мин
Количество просмотров6.2K

Новейшее семейство микроконтроллеров RA8M1 просится быть использованным в умном электроприводе. Вычислительная мощь ядра ARM Cortex-M85 (480 МГц) позволяет легко управлять на нашей плате одновременно двумя PMSM/BLDC или тремя DC коллекторными моторами с использованием алгоритмов машинного обучения и еще оставляет ресурс для комплексной удаленной диагностики в реальном времени. Добавим сюда IoT на ESP32-С6, дисплей, интерфейсы энкодеров, полевые шины и в результате получаем универсальный контроллер моторов.

Читать далее
Всего голосов 28: ↑27 и ↓1+33
Комментарии21

Zigbee датчик мониторинга углекислого газа EFEKTA Pixel Open Air

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров13K
Приветствую всех читателей Habr. Время от времени я выкладываю в открытый доступ некоторые свои проекты по электронике. В эти майские праздники я подготовил для всех любителей что-то собрать своими руками достаточно интересный проект бытового zigbee-датчика мониторинга углекислого газа с LCD-дисплеем. Это неплохо проработанный проект, ничем не уступающий фабричным аналогам, да и по многим параметрам и функциональности гораздо превосходящий их.


Читать дальше →
Всего голосов 41: ↑39 и ↓2+45
Комментарии41

Оживляем раритетный домофон с магнитным ключом

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5.7K
Приветствую всех!
Год назад я уже рассказывал про то, как работают домофоны с магнитным ключом. Но вот сейчас ко мне в руки попала ещё более старая панель от той же фирмы. И, как оказалось, про неё у меня тоже есть, что рассказать.



Итак, в сегодняшней статье вернём к жизни «Факториал» образца девяностых годов. Попутно разберёмся, чем он отличается от более новых собратьев и какую подставу иногда могут устроить на первый взгляд неубиваемые компоненты.
Традиционно будет много интересного.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+55
Комментарии12

Как превратить игрушечного робота-доставщика в ровер с беспроводным управлением через мобильное приложение

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4.7K

Привет, Хабр!

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

В один из таких моментов во время очередного просмотра содержимого Яндекс Маркета я наткнулся на игрушечного робота-курьера. Он показался мне достаточно милым, так что я решил его купить.

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

«А может сделать его управляемым?»

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

Читать далее
Всего голосов 55: ↑55 и ↓0+60
Комментарии12

Ближайшие события

Подключаем модуль TM1638 к Arduino без библиотеки SPI

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.3K

Изначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino Nano. Хотелось быстро отделаться проверить работу самой платы при помощи ардуиновской библиотеки SPI.h – не получилось. В результате проделанный объём работы вылился в эту заметку.

Читать далее
Всего голосов 5: ↑4 и ↓1+5
Комментарии17

Создание системы управления электродвигателями в наноспутнике

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.5K

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

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

Читать далее
Всего голосов 8: ↑6 и ↓2+8
Комментарии7

DMX голова: трепанация черепа и замена мозга (превращение в 3D платформу)

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров4.1K


Некоторое время назад мне попалась на глаза китайская DMX голова для сценического света, которая произвела на меня неизгладимое впечатление — «да это же готовая платформа для 3D позиционирования!» — воскликнул я и немедленно заказал её. У меня мгновенно возник план: выкинуть стоковую плату управления, поставить свои драйверы для моторов, прикрутить что-нибудь вроде ES32/ESP8266, написать прошивку и дополнить всё это дело собственным API для интеграции мою IoT экосистему.

А заодно прокачаться в теме управления шаговыми моторами, 3D позиционировании и вычислении координат и открыть для себя захватывающие перспективы создания проектов на этой платформе, ну и получить ни с чем не сравнимое удовольствие от того самого DIY.

Итак, поехали…
Читать дальше →
Всего голосов 20: ↑19 и ↓1+29
Комментарии14

Наше расследование: мониторы LightCom, блогеры и все все все…

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров15K

Нашу прошлую публикацию про мониторы многие считают началом череды событий, которые взбудоражили российскую радиоэлектронную отрасль в конце 2023 года. Если кто не в курсе, то прочитав нашу статью блогер Максим Горшенин якобы нашёл подлог при получении статуса отечественной продукции для мониторов у компании Лайтком. И хотя это совсем не так, так как история началась намного раньше даже нашей статьи. И самое главное сейчас находится в кульминации, ну а уж развязка этого сериала будет фееричной. Ну а мы решили немного поспойлерить сюжет следующих серий.
Но для начала расскажем кто мы, и для чего мы. Мы – это очень небольшой аналитический отдел в одной очень большой внедренческой компании. Основная наша задача оценивать риски и выверять параметры будущих контрактов. Так что мы больше юристы, чем технари. Но при этом Вольты от Ваттов отличаем, ну а для особо сложных вопросов знаем у кого можно спросить. И так, в начале 2023 года наша компания планировала поучаствовать в одном крупном тендере на поставку техники в одно учреждение. Под планируемый тендер были подобраны товарные позиции от различных поставщиков, которые должны были быть заранее закуплены для того, чтобы в случае выигрыша тендера мы успеть его исполнить в обозначенные сроки. Среди множества позиций были и пресловутые мониторы. Так как тендер был достаточно крупным, то упреждающая закупка была достаточно рискованной и руководством была поставлена задача не облажаться при выборе. Потому мы попросили/купили/нашли большинство из планируемых к закупке позиций от нескольких поставщиков для анализа/разбора в целях минимизации рисков и отсева откровенного палева. И по результатам анализа мы рекомендовали вариант поставщиков и товарные позиции, которые и были утверждены и закуплены. Обычно по нашим рекомендациям мы не получаем вербальной обратной связи от руководства, поэтому иногда публикуем нашу информацию в профильных конференциях. Это позволяет выложить в открытый доступ найденные нами косяки поставщиков, а также получить отклик непредвзятых людей.

Но после публикации первого ролика Горшенина про мониторы в сентябре 2023 года мы-таки получили 100 децибельный фидбек от начальника. И хотя даже наши топы были уверены в том, что в этой истории торчат уши одного отвергнутого поставщика, ситуация усугублялась тем, что тендер проведён, контракт заключен, продукция заказчику поставлена, а вот закрывающие документы ещё не подписаны. И наш заказчик реально хочет весь фарш провернуть назад. А в этом случае мы попадаем не только на деньги за заранее закупленную продукцию, но и на штрафы по контракту. Потому руководством нам была поставлена новая задача во всём разобраться, по возможности успокоить заказчика и указать на виновных. Чем мы, собственно, и начали заниматься...

Читать далее
Всего голосов 91: ↑45 и ↓46+15
Комментарии184

Проект «Мультиключ». Как мы побеждали контактные ключи Metacom и Cyfral

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.4K

Как и обещал в предыдущей статье, пишу о нашем опыте работы с контактными ключами Metacom и Cyfral.

Эти ключи построены на микросхемах 1233KT1 и 1233KT2, которые не сильно друг от друга отличаются и имеют очень схожий принцип работы.

При подаче питания ключ просто выдает свой id. При этом никакие команды ключ не принимает и не посылает, а проверка правильности считывания ключа производится путем повторного считывания. Первым, для определения начала передачи, всегда идет стартовое слово. В отличие от ключей Dallas, они работают не по напряжению, а по току. Это менее распространенные и более дорогие ключи. Таким образом, логические уровни определяются сопротивлением ключа (около 400 Ом и 800 Ом). А значение бита определяется длительностью удержания низкого и высокого значения потребления тока.

Разберем эти ключи по отдельности...

Читать далее
Всего голосов 24: ↑23 и ↓1+26
Комментарии15

Не можешь остановить восстание роботов — возглавь его. Где учиться робототехнике в России узнали на ROS Meetup 2024

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.6K

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

Читать далее
Всего голосов 7: ↑7 и ↓0+9
Комментарии4

Оживляем неизвестный дисплей от японского поезда/автобуса

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров18K
Как-то раз, очередным томным субботним вечером, я в очередной раз листал от нефиг делать Yahoo! Auctions — одну из крупнейших японских сетевых барахолок. Внезапно, среди рекомендуемых лотов появился вот такой внушительных размеров электровакуумный дисплей:



Однако, рулить дисплеем, как правило, та ещё задача. «Особенно если динамическая индикация, да ну его, влом!» — подумал было я. Но у того же продавца обнаружилась и, судя по всему, управляющая плата:



На фотографии виднеется 8085 процессор, 8251 UART и ПЗУшка — казалось бы, дизассемблируй себе, разбирай протокол, да просто с ардуины выводи что угодно. Да ещё и за одну йену, это прям даром! После этого я решил всё же попытать удачу и выхватить этот дисплей. Тем более, что давно уже хотелось какие-нибудь красивые часики в комнату…
Читать дальше →
Всего голосов 179: ↑179 и ↓0+202
Комментарии43
1
23 ...

Вклад авторов