Обновить
224.14

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

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

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

AMD проводит суперкомпьютерный день в Казахстане. Можно подсоединиться по Зуму

Время на прочтение4 мин
Охват и читатели3.2K

AMD проводит суперкомпьютерный день в Назарбаевском Университете в Астане, в Казахстане. 29 сентября. Можно подсоединиться по Зуму. Зарегистрироваться можно до 27 сентября по ссылке

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

Теперь можно добавить и другое сходство: в Лас-Вегасе помимо казино есть университет, в котором еще в допотопные времена стояли суперкомпьютеры и велись конкурсы на качество распознавания образов. Также там сейчас преподает Сара Харрис, соавтор известного учебника. Кроме этого в Лас-Вегасе иногда проводится конференция DAC по автоматизации проектирования электроники. Почему бы не превратить Астану в евразийский центр такого рода?

Расписание докладов суперкомпьютерного дня

Матричная клавиатура и Ардуино — использование прерываний

Время на прочтение6 мин
Охват и читатели11K

Традиционно матричные клавиатуры подключают к платам Ардуино ( и другим) по следующей схеме (см. https://habr.com/ru/post/460409/ )

Читать далее

LOGO! и S7-коммуникация с контроллерами S7-1200/S7-1500 и панелями оператора SIMATIC HMI

Время на прочтение8 мин
Охват и читатели10K

Основные возможности S7-коммуникации

Обмен данными LOGO! <-> LOGO!

Обмен данными LOGO! <-> SIMATIC S7 контроллерами

Возможность соединения и обмена данными с системами визуализации LOGO! <-> SIMATIC HMI.

Эти три варианта основываются на S7-коммуникациях, которые представляют из себя проприетарный протокол для связи систем автоматизации SIMATIC. По существу этот протокол вшит в операционную систему контроллеров и основное его преимущество в относительной простоте использования.

Читать далее

Полезные возможности ST+Codesys 3, которые многие не замечают

Время на прочтение8 мин
Охват и читатели39K

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

Читать далее

ARM Cortex M* — сколько «весит» примитив?

Время на прочтение3 мин
Охват и читатели8.9K

Промышленное проектирование алгоритмов для бюджетных микроконтроллеров stm32, как правило, учитывает время выполнения критических участков программы.

Ожидаемое время выполнения машинной команды на процессорах с архитектурой RISC — один такт. Так же очевидно, что даже простейшие операторы языка "C", после перевода в двоичный, машинный код, требуют больше времени, чем один такт.

Вопрос: "Больше, чем один такт" — это сколько?

Читать далее

Безопасность ПЛК: 4,5) Используйте переменные-флаги, хеши и контрольные суммы для проверки целостности проекта

Время на прочтение3 мин
Охват и читатели2.7K

Добавляйте счётчики для флагов ошибок.

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

Разбираем рекомендации по безопасному программированию ПЛК, формируем список своих рекомендаций. Всех неравнодушных прошу под кат.

Читать далее

Немного сложнее чем мигание светодиодом или усилитель с DSP обработкой сигнала и веб интерфейсом

Время на прочтение6 мин
Охват и читатели7.4K

Начать свою статью хочу с известных многим слов:

«Что нам стоит, дом построить?
нарисуем, будем жить,
и уж, точно, непременно,
в нём не будем мы тужить.»

Что нам стоит собрать усилитель с ДСП обработкой сигнала, да еще с красивым веб интерфейсом и различными другими интерфейсами управления? Легко? На практике это оказывается достаточно сложная задача.

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

ВАЖНО: это мой личный взгляд на разработку, он не обязательно будет совпадать с вашим мнением. А возможно наоборот, я озвучу некоторые мысли, которые вам кажутся родными, но это просто совпадение. Мой взгляд может не совпадать с классическими подходами к разработке оборудования. Но он имеет место быть, так как подтвержден успешным запуском в производство некоторого количества оборудования.

Если интересно - добро пожаловать.

Читать далее

Руководство по выживанию для создателей нейрочипов

Время на прочтение7 мин
Охват и читатели4.5K


В 2018 году мы взялись за первый большой контракт по созданию инструментов разработки для нейропроцессора. В то время я знал, что рынок AI быстро растёт и на нём существуют сотни компаний. Но я не подозревал, что к 2021 году на рынке возникнет ещё пара сотен новых чипмейкеров, разрабатывающих акселераторы для AI, что мы станем AI-партнёром Arm, а наши проекты с нейрочипейкерами вырастут в отдельное направление. Не уверен, что вопрос, который поднимаю, актуален для российской аудитории: не так много в России компаний (откровенно говоря – мало), которые выпускают собственные ускорители для нейросетей. Скорее, эта статья — попытка зафиксировать знания, которые мы получили на американском рынке в результате нескольких проектов и около сотни бесед с чипмейкерами. Но если эта статья нанесёт кому-то непоправимую пользу, буду очень рад.
Читать дальше →

От копии аркады 90-х на отдельном носителе до полноценной компьютерной игры со своим геймпадом

Время на прочтение11 мин
Охват и читатели4.1K

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

Наверняка в фильмах или сериалах, а может быть даже на собственном опыте, вы сталкивались с игровыми автоматами. Мы тоже, и однажды у нас появилась идея создать современную версию игры, похожую на всеми любимую космическую аркаду Blasteroids. А чтобы вдвойне воплотить наш замысел в жизнь, мы сделали два режима управления игрой, один из которых — с помощью Ардуино, играющего роль маленького переносного геймпада, а другой — с помощью клавиатуры.

Читать далее

Зачем нужен отчёт MISRA Compliance и как его получить в PVS-Studio?

Время на прочтение5 мин
Охват и читатели2.3K

Если вы не понаслышке знаете о MISRA и хотели бы понимать, соответствует ли ваш проект какому-то из стандартов ассоциации MISRA, то есть решение. Имя ему - MISRA Compliance. С недавних пор PVS-Studio научился генерировать отчёт соответствия по этому стандарту, и хочется поделиться тем, как это делается. Возможно, кому-то это упростит жизнь.

Читать далее

Тестирование устройств с помощью Robot Framework

Время на прочтение10 мин
Охват и читатели8K

Про тестирование embedded-устройств с помощью Robot Framework

Читать далее

Arduino + max30102 + ЦОС = SpO2

Время на прочтение4 мин
Охват и читатели17K

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

Читать далее

«Морзянка сэр» или обзор составных функциональных блоков в CannyLab 2

Время на прочтение9 мин
Охват и читатели4.2K
Год назад, мне подарили мой первый контроллер Canny 3 Tiny, о чем я написал статью, из которой со временем вырос целый небольшой цикл.

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

Но зайдя на сайт разработчика, чтобы полистать документацию, я обнаружил, что с момента моего последнего визита, среда разработки кардинально обновилась. На момент написания статьи — актуальная версия CannyLab 2.7.

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

В итоге я решил отложить обзор нового контроллера и потратить время на описание примера работы с составными функциональными блоками.

В этот раз мы запрограммируем контроллер моргать «морзянкой» число 2021.

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


Читать дальше →

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

NeoPixel + ESP8266 + PLYWOOD = WALL LAMP «BATMAN» (part 3)

Время на прочтение11 мин
Охват и читатели5.3K

Номинант на премию «БОМЖ-ПРОЕКТ ГОДА» 2020

В этой части наконец-то будет завершено монументальное строительство сего щщедевра! Для тех, кто пропустил — вот первая и вторая части сей трилогии (ну прямо как у Нолана, ага).

*Вновь под катом куча картинок (и даже видосики)!

Читать далее

ModBus Slave RTU/ASCII без смс и регистрации

Время на прочтение31 мин
Охват и читатели13K
image

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

Уличные часы изнутри, а если посложнее?

Время на прочтение5 мин
Охват и читатели7.8K
Невзирая на «прекрасные» отзывы «теоретиков» — продолжаю «цикл» о внутреннем устройстве часов светодиодных уличных, со стороны «практики».

В случае, когда корпус прямоугольной формы и дисплей представляет собою, по сути, всего-то четыре цифры = то что там может быть сложного? Всегда имеется стремление «к чему-то большему». Но вот если корпус более сложной формы, то тут не только более трудоёмкий процесс непосредственно изготовления циферблата и корпуса, нужнА «изюминка»!

Некоторое время тому назад возникла возможность изготовить часы с многогранной кромкой, напоминающей по форме «орден». Для ещё большей «необычности» — добавил такую «хитрость», как секундные метки, набегающие вкруговую по кромке. Выглядит очень необычно и эффектно!

image

Блеск и нищета модельно ориентированного проектирования по авиационным стандартам DO-331

Время на прочтение14 мин
Охват и читатели4.6K

В предыдущих статьях про модельно-ориентированное проектирование Как не повторить Чернобыль, Электропривод с бесколлекторным двигателем постоянного тока, и Создание достоверной модели, на примере авиационного теплообменника, я показал на примерах, что не все методики модельно-ориентированного проектирования (МОП) одинаково полезны.


Начиная свою инженерную деятельность в атомной отрасли, я привык, что первым этапом проектирования является создание модели объекта. Модель объекта в атомной отрасли, является обязательной частью проекта. Средства моделирования для АЭС проходят аттестацию, где экспертиза определяет их применимость для расчетного моделирования процессов АЭС. И если есть модель объекта, то модель системы управления естественно разрабатывается совместно в виде комплексной модели. Именно это и является в моем представление методом модельно-ориентированного проектирования.


По моему мнению, моделирование одной только системы управления без создания модели объекта является ущербным. Поэтому, когда вы слушаете рассказы поставщиков моделирующего софта для разработки ПО, необходимо понимать о чем идет речь: о новых передовых методиках разработки систем или о модельно-ориентированном проектировании в понимании авиационного стандарта DO-331.




Нужно помнить, что МОП в авиационных стандартах отражает устаревший и консервативный подход к модельно-ориентированной разработке ПО. И в этом подходе, даже если ваша модель – это только набор UML диаграмм, где собраны требования к ПО, это все равно будет модельно-ориентированное проектирования в терминах DO-331.


Предлагаю перевод статьи «DO-331 Model based development for engineer and manager», публикуемый мной с любезного разрешения автора Vance Hilderman (vance.hilderman@afuzion.com) Vance Hilderman www.afuzion.com


Данный текст позволит сориентироваться в основных положениях стандарта DO-331, терминах и понятиях, которые в нем используются.

Читать дальше →

Использование asyncio для создания асинхронных драйверов устройств на MicroPython v.1.12

Время на прочтение43 мин
Охват и читатели16K
Изученая возможности MicroPython для своих целей натолкнулся на одну из реализаций библиотеки asyncio и, после недолгой переписки с Piter Hinch — автором библиотеки, понял, что мне необходимо глубже разобраться с принципами, базовыми понятиями и типичными ошибками использования методов асинхронного программирования. Тем более, что раздел для начинающих — как раз для меня.

Летом 2020 года вышло обновление этой библиотеки, описанное в asyncio v3, при наличии времени и заинтересованности непременно дополню перевод обновленного Руководства.


Это руководство предназначено для пользователей, имеющих разный уровень опыта работы с asyncio, в том числе содержит специальный раздел для начинающих.
Читать дальше →

Работа с нестандартными шинами комплекса Redd

Время на прочтение10 мин
Охват и читатели2.6K
В прошлой статье мы начали знакомиться с тем, как можно работать со стандартными, общеизвестными шинами силами комплекса Redd, после чего я обещал перейти к тому, как в нём можно получить доступ к шинам более экзотическим. Но побеседовав с парой знакомых, я вдруг понял, что не все читали статью, которая была написана про комплекс Redd вне этого цикла. И, соответственно, не все знают, зачем эти шины в комплекс добавлены вообще. Можно, конечно, просто сослаться на ту статью, но мне кажется, что будет правильнее пересказать соответствующую её часть с привязкой к теме именно этого цикла. Поэтому сегодня мы рассмотрим не только практические, но и теоретические вопросы, касающиеся шин, реализуемых комплексом Redd.


Читать дальше →

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO

Время на прочтение3 мин
Охват и читатели30K
В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь.

Для тех, кому лень перечитывать — закончилось все тем, что пустой проект успешно собрался.



В данной части напишем простейший пример Hello World на HAL, посмотрим как запускать и пользоваться отладчиком, ну и выясним, сколько же памяти кушает наша программа, которая в этой части будет написана на HAL.
Читать дальше →

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