Рубрика «микроконтроллеры» - 20

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

На примере микроконтроллера stm32f103c8t6 и модуля Blue pill мы рассмотрим структуру типового проекта для среды разработки IAR и создадим работающую прошивку.

Всем, кому интересно начать работать с stm32, добро пожаловать под кат.
Читать полностью »

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

Загрузка ARM в четырех прямоугольниках — под катом.
Читать полностью »

ПНЯ* — Периферия Независимая от Ядра известная так же как CIP — Core Independent Peripheral

Предыдущие статьи про Периферию Независимую от Ядра

Микроконтроллеры в импульсных источниках питания
Часть 3

50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 3 - 1

В предыдущих частях (Часть 1, Часть 2) обсуждалось как Независимая от Ядра Периферия микроконтроллеров Microchip позволяет строить ШИМ контроллеры импульсных источников питания из «кирпичиков» путем установления связей между различными периферийными модулями. Если в описанные выше ШИМ контроллеры добавлять новые «кирпичики», то получим новые функции. Рассмотрим что можно сделать еще.

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

В данном цикле статей я буду рассказывать о моем опыте сборки «умной» автоматической системы для кормления домашнего питомца, в моем случае – кота.

Хочу сразу отметить, что на первом шаге речь пойдет только об "автоматической" кормушке, а "умной" она станет на следующих этапах (если повезет, и все пойдет по плану).

Итак, начнем с концепции и целей:

  1. Сделать систему, которая освободит меня от обязанности кормить кота сухим кормом (шаг 1)
  2. Оснастить систему датчиком веса под миской и осуществлять кормежку в соответствии с показаниями весов: если миска пустая – подсыпать, иначе – ждать пока миска не станет пустой (шаг 2)
  3. Добавить в систему вай-фай модуль и видеокамеру для передачи фотографий с любимым котом, а также обеспечить контроль кормежки удаленно. Кроме того, собирать данные о том сколько кот съел и строить аналитику (шаг 3)

На первом шаге не требуется большое количество датчиков и манипуляторов, достаточно одного серводвигателя (например, Micro Servo Towerpro SG90 9 г), поэтому все управление происходит с платы ArdruinoUno, которая идеально подходит для задач такого рода.

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

ПНЯ* — Периферия Независимая от Ядра известная так же как CIP — Core Independent Peripheral

Микроконтроллеры в импульсных источниках питания
Часть 2

50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2 - 1

В предыдущей части статьи был рассмотрен вариант построения "типового" ШИМ-контроллера Импульсного Источника Питания (ИИП), варианты реализаций ШИМ-контроллеров на основе ПНЯ и некоторые топологии ИИП.
Продолжим знакомство с возможностями Периферии Независимой от Ядра применительно к задаче построения импульсных источников питания.

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

  • ПНЯ — Периферия Независимая от Ядра в микроконтроллерах Microchip, известная так же как CIP — Core Independent Peripheral.

Микроконтроллеры в импульсных источниках питания
Часть 1

50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания - 1

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

Цель статьи – показать принципиальную возможность реализации большинства топологий ИИП на универсальной периферии микроконтроллеров Microchip, продемонстрировать преимущества микроконтроллерных решений по гибкости и универсальности относительно специализированных «аналоговых» ШИМ-контроллеров и ASIC для ИИП.

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

Большинство GSM модулей работают по интерфейсу UART, посредством AT-команд. Но для серьезных проектов, использование AT команд несет определенные трудности:

• контроль и обработка ошибок
• результат выполнения команды возвращается с длительной задержкой
• необходимо разбирать входящие строки налету

Нужно понимать, что с результатом выполнения команды, в буфер может попасть URC-код от входящего звонка, SMS, принятые данные и пр. Входной буфер с принятыми строками, приходится разбирать опираясь лишь на символы переносов и «эхо» команды, а сами команды зачастую сильно отличаются форматом. По этим причинам, использование AT вносит дополнительную задержку, алгоритмически ее устранить практически невозможно, ведь причина находится в самом модуле и несовершенстве его встроенного ПО

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

Пример PPP-пакета:

STM32 + PPP (GSM) + LwIP - 1
Читать полностью »

Привет geektimes.

О компьютерах BBC Micro я впервые прочитал здесь же, на geektimes. Еще в 80х британская компания BBC запустила обучающий проект, целью которого было повышение уровня компьютерной грамотности. Подробнее можно прочитать в статье компании Plarium "BBC Micro — компьютер, который обыграл ZX Spectrum", но мы вернемся к делам сегодняшним. Долго ли, коротко ли, BBC решила повторить проект уже на современной элементной базе, и выпустила микрокомпьютер BBC Micro:bit.

BBC Micro:bit — детский обучающий микрокомпьютер, первое знакомство - 1

Как можно видеть, современная модель чуть поменьше своего предшественника.

Про Micro:bit уже писали на geektimes, как про то что плату уже можно купить, так и про то, что британским школьникам ее даже раздают бесплатно. Однако здесь на сайте похоже мало кто на ней программировал, пора восполнить этот пробел.

Как это работает, подробности под катом.
Читать полностью »

Введение

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

Задача: на основе заданных пользователем данных о том, как должен работать периферийный блок микроконтроллера, получить на этапе компиляции массив масок конфигурации его регистров, которые можно было бы использовать в реальном времени. При этом требуется на этапе компиляции проверить, что все параметры заданные верно (периферия микроконтроллера будет сконфигурирована верна).

Используем template + constexpr для создания масок регистров периферии микроконтроллера на этапе компиляции (C++14) - 1

Заинтересовавшихся в том, как это можно сделать, прошу под кат.
Читать полностью »

Как положено порядочному гигу у меня есть метеостанция, которую я собрал сам из DHT22, Raspberry Pi и экранчика Nokia, это решение на постоянном питании, передающее данные по Ethernet.

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

Еще один беспроводной датчик температуры и влажности. Z-Wave плата Z-Uno + Sensirion SHT20 - 1

Материалы и цены:

Материал Магазин Цена
1 Z-Wave плата Z-Uno 5smart.ru 3500 р
2 Датчик Sensirion SHT20 voltmaster.ru 72 р
3 Корпус Gainta G517B voltmaster.ru 160 р
4 Батарейный отсек BH421 2xAAA voltmaster.ru 14 р

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


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