#программирование_микроконтроллеров — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #программирование_микроконтроллеров, aggregated by home.social.
-
Полезные утилиты RTT Viewer и System Viewer
Хорошие инструменты для отладки встраиваемого ПО микроконтроллеров давно стали делом привычным. Возможности таких инструментов определяются как архитектурой ядра, так и выбором отладчика. Рассмотрим три понятия: DAP (Debug access port), ITM (Instrumentation Trace Macrocell) и RTT (Real-Time Transfer). Всё это «механизмы» позволяющие выводить отладочную информацию в том или ином виде. DAP – это аппаратный блок, который дает доступ к шинам и ядру микроконтроллера. ITM – это специальный блок внутри Cortex-M (начиная с M3 и выше), предназначенный для сообщений с минимальными потерями времени. RTT – технология компании SEGGER, построенная на использовании кольцевого буфера внутри RAM. Именно о ней и пойдет речь в публикации.
https://habr.com/ru/articles/1011650/
#RTT_Viewer #System_Viewer #rtos #программирование_микроконтроллеров #printf
-
Сам себе шедулер (sheduler) — планировщик
Это мой развернутый ответ на тему организации программных таймеров который я обещал в комментариях (ссылка на комментарии будет ниже). На самом деле это не совсем то что я изначально имел ввиду - хотел рассказать, то есть это на самом деле только часть ответа. Картинки я здесь не стал рисовать, так как они уже у меня нарисованы в одной из предыдущих статей, ссылка тоже будет, но в самом конце.
https://habr.com/ru/articles/1010270/
#си #программирование_микроконтроллеров #шедулер #sheduler #shedule #shedule_task
-
Сам себе шедулер (sheduler) — планировщик
Это мой развернутый ответ на тему организации программных таймеров который я обещал в комментариях (ссылка на комментарии будет ниже). На самом деле это не совсем то что я изначально имел ввиду - хотел рассказать, то есть это на самом деле только часть ответа. Картинки я здесь не стал рисовать, так как они уже у меня нарисованы в одной из предыдущих статей, ссылка тоже будет, но в самом конце.
https://habr.com/ru/articles/1010270/
#си #программирование_микроконтроллеров #шедулер #sheduler #shedule #shedule_task
-
Сам себе шедулер (sheduler) — планировщик
Это мой развернутый ответ на тему организации программных таймеров который я обещал в комментариях (ссылка на комментарии будет ниже). На самом деле это не совсем то что я изначально имел ввиду - хотел рассказать, то есть это на самом деле только часть ответа. Картинки я здесь не стал рисовать, так как они уже у меня нарисованы в одной из предыдущих статей, ссылка тоже будет, но в самом конце.
https://habr.com/ru/articles/1010270/
#си #программирование_микроконтроллеров #шедулер #sheduler #shedule #shedule_task
-
Сам себе шедулер (sheduler) — планировщик
Это мой развернутый ответ на тему организации программных таймеров который я обещал в комментариях (ссылка на комментарии будет ниже). На самом деле это не совсем то что я изначально имел ввиду - хотел рассказать, то есть это на самом деле только часть ответа. Картинки я здесь не стал рисовать, так как они уже у меня нарисованы в одной из предыдущих статей, ссылка тоже будет, но в самом конце.
https://habr.com/ru/articles/1010270/
#си #программирование_микроконтроллеров #шедулер #sheduler #shedule #shedule_task
-
Мои самодельные программаторы
Много лет назад, в один прекрасный день, начитавшись про микроконтроллеры, я решил попробовать заняться этими устройствами. Ведь это удобно, одна микросхема может заменить сложную цифровую схему. Сделать печатку и спаять схему — это не проблема. А вот для программирования микроконтроллеров необходим программатор.
-
Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)
Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств , пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени . В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс ? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.
https://habr.com/ru/articles/1002110/
#aiot #iot #ai #ииагенты #ии #esp32 #электроника #программирование_микроконтроллеров #edge_ai #tiny_ml
-
Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)
Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств , пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени . В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс ? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.
https://habr.com/ru/articles/1002110/
#aiot #iot #ai #ииагенты #ии #esp32 #электроника #программирование_микроконтроллеров #edge_ai #tiny_ml
-
Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)
Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств , пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени . В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс ? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.
https://habr.com/ru/articles/1002110/
#aiot #iot #ai #ииагенты #ии #esp32 #электроника #программирование_микроконтроллеров #edge_ai #tiny_ml
-
Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)
Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств , пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени . В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс ? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.
https://habr.com/ru/articles/1002110/
#aiot #iot #ai #ииагенты #ии #esp32 #электроника #программирование_микроконтроллеров #edge_ai #tiny_ml
-
Программист микроконтроллеров: что спрашивают на собеседованиях
В интернете есть много разных статей по решению задач с IT-собеседований, но на русском языке по программированию микроконтроллеров я видел только одну статью на Хабре. Недавно я менял работу: посещал много компаний и отвечал на вопросы по поводу различных аспектов моей профессии. По итогам этих и более ранних встреч решил написать о том, чем на собеседованиях могут озадачить программиста микроконтроллеров. Дисклеймер: хоть эта статья и размещена в блоге
-
Робот Xiaozhi: беседа двух роботов
Дополнение к моей предыдущей мини-статье по роботу Xiaozhi. Я заказал детали и комплектующие, чтобы собрать такого робота самостоятельно. Сборка данного робота не доставляет существенных проблем.
https://habr.com/ru/articles/996420/
#робот #Xiaozhi #esp32cam #esp32s3 #программирование_микроконтроллеров #искусственный_интеллект #голосовой_ассистент
-
Робот Xiaozhi: беседа двух роботов
Дополнение к моей предыдущей мини-статье по роботу Xiaozhi. Я заказал детали и комплектующие, чтобы собрать такого робота самостоятельно. Сборка данного робота не доставляет существенных проблем.
https://habr.com/ru/articles/996420/
#робот #Xiaozhi #esp32cam #esp32s3 #программирование_микроконтроллеров #искусственный_интеллект #голосовой_ассистент
-
Робот Xiaozhi: беседа двух роботов
Дополнение к моей предыдущей мини-статье по роботу Xiaozhi. Я заказал детали и комплектующие, чтобы собрать такого робота самостоятельно. Сборка данного робота не доставляет существенных проблем.
https://habr.com/ru/articles/996420/
#робот #Xiaozhi #esp32cam #esp32s3 #программирование_микроконтроллеров #искусственный_интеллект #голосовой_ассистент
-
Робот Xiaozhi: беседа двух роботов
Дополнение к моей предыдущей мини-статье по роботу Xiaozhi. Я заказал детали и комплектующие, чтобы собрать такого робота самостоятельно. Сборка данного робота не доставляет существенных проблем.
https://habr.com/ru/articles/996420/
#робот #Xiaozhi #esp32cam #esp32s3 #программирование_микроконтроллеров #искусственный_интеллект #голосовой_ассистент
-
[Перевод] Как изменялась Raspberry Pi: тесты производительности
Сегодня мы хотим рассмотреть на практике 13 летнюю историю разработки Raspberry Pi. У меня есть экземпляры каждого поколения Pi, от оригинальной модели из 2012 года, до Pi 5, которая вышла чуть больше года назад. В этой статье мы изучим, что менялось от поколения к поколению, как менялись их производительность и энергопотребление, проведя несколько тестов.
https://habr.com/ru/articles/988770/
#Raspberry_PI #бенчмарк #программирование_микроконтроллеров #микроконтроллеры #одноплатные_компьютеры
-
Мнимая “неисправность MPU9250” в роботе STUDICA
Довелось мне, в своем университете, вести занятия для студентов колледжа по управлению роботами STUDICA ( https://www.studica.ca/en/worldskills-mobile-robotics-collection-shanghai-2022 ). Наша версия “WorldSkills Shanghai Collection 2022 - Insert - July 5-22”. Мы использовали для управления язык LabView2020, с пакетами, как рекомендует производитель в документации https://docs.wsr.studica.com/en/latest/ . В нашем распоряжении 5 роботов, нумерация каждого от “1111” до “5555” или от “первого” до “пятого”. Роботы активно эксплуатируются в течении года на занятиях и практиках, плюс в июне очень интенсивно три дня на демо экзамене в колледже. Итак, на очередном занятии, робот с номером 4444 при движении вперед остановился и перестал реагировать на команды, чаще всего помогает перезагрузка робота путем выключения питания или замена разряженного аккумулятора. Однако, это не помогло. Робот перестал даже определяться по сети Wi-Fi и производить обмен информацией по шине CAN от VMX-pi к TITAN. Стало ясно, что робот STUDICA производства канадской фирмы, позиционируемый как высоконадежный, вышел из строя, сломался. Сначала, мы сделали запрос на форум поддержки STUDICA в канаде, но ответа не пришло до сих пор, похоже из-за санкций. Пришлось самим в интернете искать документацию, описания, изучать схему и плату VMX-pi, смотреть работу индикаторов. Первая попытка – перепрошить VMX-pi предлагаемыми производителем средствами – dfu метод, но он не помог. Прошивка прошла успешно, однако неисправность не исчезла.
https://habr.com/ru/articles/985614/
#Робототехника #Обучение #мобильная_робототехника #STUDICA #STM32F411VET6 #ремонт #программирование_микроконтроллеров
-
Процессор, которого не существует. Читаем и пишем ПЗУ
Автомобильные блоки управления полны компонентов, промаркированных нестандартно. Например, встречались микросхемы, на которых выбито "Toyota", хотя ежу понятно, что Toyota никаких процессоров не производит. Но в мире электроники при больших партиях производители чипов имеют возможность выбить на чипе ваш логотип, или маркировку, и разработчики ЭБУ этим активно пользуются, хотя цели их не совсем ясны. Но нестандартная маркировка - это еще цветочки! Существует огромный пласт кастомных компонентов, выполненных "под заказ" для конкретного производителя ЭБУ. Такие проприетарные компоненты зачастую не только не имеют открытой документации, но и отсутствуют в линейке производителя. Не так давно мы разбирались с процессором TMS470R1A256 , очень популярный в блоках SRS 2007-2010 г.в.. На нём выбивают маркировки: TMS470R1VF3482 или TMS470AVF3482 , однако достаточно подключиться к этому процессору посредством отладчика чтобы понять, что это процессор TMS470R1A256 . Дело в том, что согласно datasheet на эти процессоры, в каждом процессоре есть device identification code register , прочитав который, вы сможете узнать part number данного процессора, который уже можно отыскать в datasheet. Например, для TMS470R1A256: `The assigned device-specific part number for the A256 device is 0001010` что при переводе в hex = 0x0A . Много разработчиков написало программы для чтения данных процессоров, но почему-то блоки с процессорами, записанными этими программами, не выходили на связь. Пришлось разбираться с этим вопросом самостоятельно, результатом чего стала версия программы JLinkZReader, в которой проблема чтения и записи данных CPU была решена.
https://habr.com/ru/articles/983202/
#программирование_микроконтроллеров #flash #flashпамять #TMS470 #texas_instruments #srs #bare_metal #реверсинжиниринг #загрузчик #bootloader
-
Процессор, которого не существует. Читаем и пишем ПЗУ
Автомобильные блоки управления полны компонентов, промаркированных нестандартно. Например, встречались микросхемы, на которых выбито "Toyota", хотя ежу понятно, что Toyota никаких процессоров не производит. Но в мире электроники при больших партиях производители чипов имеют возможность выбить на чипе ваш логотип, или маркировку, и разработчики ЭБУ этим активно пользуются, хотя цели их не совсем ясны. Но нестандартная маркировка - это еще цветочки! Существует огромный пласт кастомных компонентов, выполненных "под заказ" для конкретного производителя ЭБУ. Такие проприетарные компоненты зачастую не только не имеют открытой документации, но и отсутствуют в линейке производителя. Не так давно мы разбирались с процессором TMS470R1A256 , очень популярный в блоках SRS 2007-2010 г.в.. На нём выбивают маркировки: TMS470R1VF3482 или TMS470AVF3482 , однако достаточно подключиться к этому процессору посредством отладчика чтобы понять, что это процессор TMS470R1A256 . Дело в том, что согласно datasheet на эти процессоры, в каждом процессоре есть device identification code register , прочитав который, вы сможете узнать part number данного процессора, который уже можно отыскать в datasheet. Например, для TMS470R1A256: `The assigned device-specific part number for the A256 device is 0001010` что при переводе в hex = 0x0A . Много разработчиков написало программы для чтения данных процессоров, но почему-то блоки с процессорами, записанными этими программами, не выходили на связь. Пришлось разбираться с этим вопросом самостоятельно, результатом чего стала версия программы JLinkZReader, в которой проблема чтения и записи данных CPU была решена.
https://habr.com/ru/articles/983202/
#программирование_микроконтроллеров #flash #flashпамять #TMS470 #texas_instruments #srs #bare_metal #реверсинжиниринг #загрузчик #bootloader
-
Процессор, которого не существует. Читаем и пишем ПЗУ
Автомобильные блоки управления полны компонентов, промаркированных нестандартно. Например, встречались микросхемы, на которых выбито "Toyota", хотя ежу понятно, что Toyota никаких процессоров не производит. Но в мире электроники при больших партиях производители чипов имеют возможность выбить на чипе ваш логотип, или маркировку, и разработчики ЭБУ этим активно пользуются, хотя цели их не совсем ясны. Но нестандартная маркировка - это еще цветочки! Существует огромный пласт кастомных компонентов, выполненных "под заказ" для конкретного производителя ЭБУ. Такие проприетарные компоненты зачастую не только не имеют открытой документации, но и отсутствуют в линейке производителя. Не так давно мы разбирались с процессором TMS470R1A256 , очень популярный в блоках SRS 2007-2010 г.в.. На нём выбивают маркировки: TMS470R1VF3482 или TMS470AVF3482 , однако достаточно подключиться к этому процессору посредством отладчика чтобы понять, что это процессор TMS470R1A256 . Дело в том, что согласно datasheet на эти процессоры, в каждом процессоре есть device identification code register , прочитав который, вы сможете узнать part number данного процессора, который уже можно отыскать в datasheet. Например, для TMS470R1A256: `The assigned device-specific part number for the A256 device is 0001010` что при переводе в hex = 0x0A . Много разработчиков написало программы для чтения данных процессоров, но почему-то блоки с процессорами, записанными этими программами, не выходили на связь. Пришлось разбираться с этим вопросом самостоятельно, результатом чего стала версия программы JLinkZReader, в которой проблема чтения и записи данных CPU была решена.
https://habr.com/ru/articles/983202/
#программирование_микроконтроллеров #flash #flashпамять #TMS470 #texas_instruments #srs #bare_metal #реверсинжиниринг #загрузчик #bootloader
-
Процессор, которого не существует. Читаем и пишем ПЗУ
Автомобильные блоки управления полны компонентов, промаркированных нестандартно. Например, встречались микросхемы, на которых выбито "Toyota", хотя ежу понятно, что Toyota никаких процессоров не производит. Но в мире электроники при больших партиях производители чипов имеют возможность выбить на чипе ваш логотип, или маркировку, и разработчики ЭБУ этим активно пользуются, хотя цели их не совсем ясны. Но нестандартная маркировка - это еще цветочки! Существует огромный пласт кастомных компонентов, выполненных "под заказ" для конкретного производителя ЭБУ. Такие проприетарные компоненты зачастую не только не имеют открытой документации, но и отсутствуют в линейке производителя. Не так давно мы разбирались с процессором TMS470R1A256 , очень популярный в блоках SRS 2007-2010 г.в.. На нём выбивают маркировки: TMS470R1VF3482 или TMS470AVF3482 , однако достаточно подключиться к этому процессору посредством отладчика чтобы понять, что это процессор TMS470R1A256 . Дело в том, что согласно datasheet на эти процессоры, в каждом процессоре есть device identification code register , прочитав который, вы сможете узнать part number данного процессора, который уже можно отыскать в datasheet. Например, для TMS470R1A256: `The assigned device-specific part number for the A256 device is 0001010` что при переводе в hex = 0x0A . Много разработчиков написало программы для чтения данных процессоров, но почему-то блоки с процессорами, записанными этими программами, не выходили на связь. Пришлось разбираться с этим вопросом самостоятельно, результатом чего стала версия программы JLinkZReader, в которой проблема чтения и записи данных CPU была решена.
https://habr.com/ru/articles/983202/
#программирование_микроконтроллеров #flash #flashпамять #TMS470 #texas_instruments #srs #bare_metal #реверсинжиниринг #загрузчик #bootloader
-
Новогодняя игрушка
Привет, Хабр! Пришло моё время начать писать статьи сюда. И первая моя статья будет посвящена новогодней игрушке. Прошу не судить строго. В 2019-м году Я приобрел 50 микроконтроллеров CH32V003F4P6 по 11 рублей за штуку. В этом году решил пустить их в дело. И первое, что пришло в голову, это сделать игрушку к новому году. Кроме того, появилась возможность лично попробовать WS2812B. Схема и печатная плата устройства были разработаны в свободной САПР KiCad 9.0. Прошивка написана в среде MounRiver Studio Ⅱ, от производителя микроконтроллера Nanjing Qinheng Microelectronics. Схема устройства получилась достаточно простой, даже примитивной. В её основе RISC-V микроконтроллер CH32V003F4P6 и адресные светодиоды WS2812B. Так же в схеме есть разъём питания, разъём программирования и куча конденсаторов по питанию. Питание платы внешнее, номиналом 5 В.
https://habr.com/ru/articles/981050/
#программирование_микроконтроллеров #радиолюбительство #хобби
-
Энкодер на базе HEDR и STM32
Всем привет! В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала. С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути. Будет рассмотрено: Принцип работы датчика HEDR-5420-ES214; Схема подключения к микроконтроллеру STM32; Программная реализация (расчет пройденного пути и вывод информации на дисплей).
https://habr.com/ru/articles/960558/
#программирование_микроконтроллеров #stm32 #энкодер #микроконтроллер #датчики #схемотехника #diy_или_сделай_сам
-
Энкодер на базе HEDR и STM32
Всем привет! В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала. С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути. Будет рассмотрено: Принцип работы датчика HEDR-5420-ES214; Схема подключения к микроконтроллеру STM32; Программная реализация (расчет пройденного пути и вывод информации на дисплей).
https://habr.com/ru/articles/960558/
#программирование_микроконтроллеров #stm32 #энкодер #микроконтроллер #датчики #схемотехника #diy_или_сделай_сам
-
Энкодер на базе HEDR и STM32
Всем привет! В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала. С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути. Будет рассмотрено: Принцип работы датчика HEDR-5420-ES214; Схема подключения к микроконтроллеру STM32; Программная реализация (расчет пройденного пути и вывод информации на дисплей).
https://habr.com/ru/articles/960558/
#программирование_микроконтроллеров #stm32 #энкодер #микроконтроллер #датчики #схемотехника #diy_или_сделай_сам
-
Энкодер на базе HEDR и STM32
Всем привет! В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала. С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути. Будет рассмотрено: Принцип работы датчика HEDR-5420-ES214; Схема подключения к микроконтроллеру STM32; Программная реализация (расчет пройденного пути и вывод информации на дисплей).
https://habr.com/ru/articles/960558/
#программирование_микроконтроллеров #stm32 #энкодер #микроконтроллер #датчики #схемотехника #diy_или_сделай_сам
-
Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32
Привет, Хабр! В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485. Интерфейс RS-485 - представляет собой промышленный стандарт физического уровня передачи данных, широко применяемый в распределенных системах управления, телеметрии и автоматизации, его ключевая особенность - использование дифференциального сигнала, что обеспечивает высокую помехоустойчивость и надежность передачи данных на значительные расстояния (до 1200 метров). В основе работы лежит двухпроводная линия (выводы А и В), по которой передается информация в виде разности потенциалов: Логическая "1" фиксируется при условии, что напряжение на линии А ниже, чем на линии B; Логический "0" соответствует ситуации, когда потенциал линии А выше потенциала линии В. Такой метод передачи данных позволяет минимизировать влияние электромагнитных помех, так как внешние наводки одинаково взаимодействуют на обе линии и компенсируются при дифференциальном приеме.
https://habr.com/ru/articles/950818/
#программирование_микроконтроллеров #stm32 #gps #энкодер #modbus #rs485 #nmea #электроника_для_начинающих #программирование #проектирование_интерфейсов
-
Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32
Привет, Хабр! В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485. Интерфейс RS-485 - представляет собой промышленный стандарт физического уровня передачи данных, широко применяемый в распределенных системах управления, телеметрии и автоматизации, его ключевая особенность - использование дифференциального сигнала, что обеспечивает высокую помехоустойчивость и надежность передачи данных на значительные расстояния (до 1200 метров). В основе работы лежит двухпроводная линия (выводы А и В), по которой передается информация в виде разности потенциалов: Логическая "1" фиксируется при условии, что напряжение на линии А ниже, чем на линии B; Логический "0" соответствует ситуации, когда потенциал линии А выше потенциала линии В. Такой метод передачи данных позволяет минимизировать влияние электромагнитных помех, так как внешние наводки одинаково взаимодействуют на обе линии и компенсируются при дифференциальном приеме.
https://habr.com/ru/articles/950818/
#программирование_микроконтроллеров #stm32 #gps #энкодер #modbus #rs485 #nmea #электроника_для_начинающих #программирование #проектирование_интерфейсов
-
Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32
Привет, Хабр! В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485. Интерфейс RS-485 - представляет собой промышленный стандарт физического уровня передачи данных, широко применяемый в распределенных системах управления, телеметрии и автоматизации, его ключевая особенность - использование дифференциального сигнала, что обеспечивает высокую помехоустойчивость и надежность передачи данных на значительные расстояния (до 1200 метров). В основе работы лежит двухпроводная линия (выводы А и В), по которой передается информация в виде разности потенциалов: Логическая "1" фиксируется при условии, что напряжение на линии А ниже, чем на линии B; Логический "0" соответствует ситуации, когда потенциал линии А выше потенциала линии В. Такой метод передачи данных позволяет минимизировать влияние электромагнитных помех, так как внешние наводки одинаково взаимодействуют на обе линии и компенсируются при дифференциальном приеме.
https://habr.com/ru/articles/950818/
#программирование_микроконтроллеров #stm32 #gps #энкодер #modbus #rs485 #nmea #электроника_для_начинающих #программирование #проектирование_интерфейсов
-
Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32
Привет, Хабр! В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485. Интерфейс RS-485 - представляет собой промышленный стандарт физического уровня передачи данных, широко применяемый в распределенных системах управления, телеметрии и автоматизации, его ключевая особенность - использование дифференциального сигнала, что обеспечивает высокую помехоустойчивость и надежность передачи данных на значительные расстояния (до 1200 метров). В основе работы лежит двухпроводная линия (выводы А и В), по которой передается информация в виде разности потенциалов: Логическая "1" фиксируется при условии, что напряжение на линии А ниже, чем на линии B; Логический "0" соответствует ситуации, когда потенциал линии А выше потенциала линии В. Такой метод передачи данных позволяет минимизировать влияние электромагнитных помех, так как внешние наводки одинаково взаимодействуют на обе линии и компенсируются при дифференциальном приеме.
https://habr.com/ru/articles/950818/
#программирование_микроконтроллеров #stm32 #gps #энкодер #modbus #rs485 #nmea #электроника_для_начинающих #программирование #проектирование_интерфейсов
-
Практическая реализация энкодера с использованием датчика HOA0902 и STM32
Привет, Хабр! В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 - это двухканальный отражательный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск. В данной статье будут рассмотрены: - Принципы работы HOA092-11; - Схема электрическая принципиальная энкодера; - Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей); - Тестирование системы , будет рассмотрено (пройденный путь, скорость, направление движения).
https://habr.com/ru/articles/947218/
#программирование_микроконтроллеров #STM32 #Энкодрер #датчик_движения #датчики #схемотехника #микросхема #микроконтроллер
-
Практическая реализация энкодера с использованием датчика HOA0902 и STM32
Привет, Хабр! В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 - это двухканальный отражательный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск. В данной статье будут рассмотрены: - Принципы работы HOA092-11; - Схема электрическая принципиальная энкодера; - Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей); - Тестирование системы , будет рассмотрено (пройденный путь, скорость, направление движения).
https://habr.com/ru/articles/947218/
#программирование_микроконтроллеров #STM32 #Энкодрер #датчик_движения #датчики #схемотехника #микросхема #микроконтроллер
-
Практическая реализация энкодера с использованием датчика HOA0902 и STM32
Привет, Хабр! В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 - это двухканальный отражательный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск. В данной статье будут рассмотрены: - Принципы работы HOA092-11; - Схема электрическая принципиальная энкодера; - Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей); - Тестирование системы , будет рассмотрено (пройденный путь, скорость, направление движения).
https://habr.com/ru/articles/947218/
#программирование_микроконтроллеров #STM32 #Энкодрер #датчик_движения #датчики #схемотехника #микросхема #микроконтроллер
-
Практическая реализация энкодера с использованием датчика HOA0902 и STM32
Привет, Хабр! В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 - это двухканальный отражательный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск. В данной статье будут рассмотрены: - Принципы работы HOA092-11; - Схема электрическая принципиальная энкодера; - Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей); - Тестирование системы , будет рассмотрено (пройденный путь, скорость, направление движения).
https://habr.com/ru/articles/947218/
#программирование_микроконтроллеров #STM32 #Энкодрер #датчик_движения #датчики #схемотехника #микросхема #микроконтроллер
-
Pixel Table: от идеи до реализации интерактивного пиксельного стола
Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров. Этап 0: Как всё начиналось Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…
https://habr.com/ru/articles/945418/
#программирование_микроконтроллеров #raspberry_pi #игры #стол #своими_руками #diyпроекты #программирование_игр
-
Pixel Table: от идеи до реализации интерактивного пиксельного стола
Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров. Этап 0: Как всё начиналось Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…
https://habr.com/ru/articles/945418/
#программирование_микроконтроллеров #raspberry_pi #игры #стол #своими_руками #diyпроекты #программирование_игр
-
Pixel Table: от идеи до реализации интерактивного пиксельного стола
Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров. Этап 0: Как всё начиналось Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…
https://habr.com/ru/articles/945418/
#программирование_микроконтроллеров #raspberry_pi #игры #стол #своими_руками #diyпроекты #программирование_игр
-
Pixel Table: от идеи до реализации интерактивного пиксельного стола
Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров. Этап 0: Как всё начиналось Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…
https://habr.com/ru/articles/945418/
#программирование_микроконтроллеров #raspberry_pi #игры #стол #своими_руками #diyпроекты #программирование_игр
-
Контроль напряжения над блоком питания на STM32: Подход к энергоэффективности и защите
Привет, Хабр ! В современном мире, где автономные системы становятся все более востребованными - от портативных приборов до сложных промышленных комплексов - надежное управление напряжением питания превращается в ключевой фактор их долговечности и эффективности. Сердце любой такой системы - аккумулятор, а его безопасность и срок службы, напрямую зависит от контроля напряжения. В данной статье будет представлен пример контроля напряжения, над блоком питания - внутри которого (никель-металлгидридная аккумуляторная сборка NiMH 14.4В/12 банок по 1.2В(1.4В- при полной зарядке)), с помощью микроконтроллера STM32. В блоке питания уже есть палата управления над аккумулятором, которая выполняет задачи: • Работа с кнопкой; • Работа со светодиодом; • Работа с пъезоэлектрическим излучателем(звуковая индикация); • Контроль заряда/разряда аккумулятора(дает звуковой сигнал при напряжении менее 9 вольт и более 14). В процессе анализа и статистики использования оборудования стало очевидно, что многие пользователи часто забывают своевременно отключать блоки питания. В результате аккумуляторные сборки продолжают разряжаться даже при отсутствии необходимости, напряжение падает до критических значений, и аккумулятор быстро теряет свою емкость, становясь непригодным для дальнейшей эксплуатации.
https://habr.com/ru/articles/937596/
#программирование_микроконтроллеров #программирование_stm32 #контроль_напряжения #язык_программирования_c
-
Прием и декодирование NMEA-данных от GPS-приемника
Прием и декодирование NMEA-данных от GPS-приемника а также, рассмотрение работы разных типов GPS (UART и RS-232): как правильно подключить модуль к микроконтроллеру STM32.
https://habr.com/ru/articles/936028/
#STM32 #разработка_программного_обеспечения #разработка_электроники #программирование_микроконтроллеров #gps #ненормальное_программирование #nmea #декодирование_данных
-
Прием и декодирование NMEA-данных от GPS-приемника
Прием и декодирование NMEA-данных от GPS-приемника а также, рассмотрение работы разных типов GPS (UART и RS-232): как правильно подключить модуль к микроконтроллеру STM32.
https://habr.com/ru/articles/936028/
#STM32 #разработка_программного_обеспечения #разработка_электроники #программирование_микроконтроллеров #gps #ненормальное_программирование #nmea #декодирование_данных
-
Прием и декодирование NMEA-данных от GPS-приемника
Прием и декодирование NMEA-данных от GPS-приемника а также, рассмотрение работы разных типов GPS (UART и RS-232): как правильно подключить модуль к микроконтроллеру STM32.
https://habr.com/ru/articles/936028/
#STM32 #разработка_программного_обеспечения #разработка_электроники #программирование_микроконтроллеров #gps #ненормальное_программирование #nmea #декодирование_данных
-
Прием и декодирование NMEA-данных от GPS-приемника
Прием и декодирование NMEA-данных от GPS-приемника а также, рассмотрение работы разных типов GPS (UART и RS-232): как правильно подключить модуль к микроконтроллеру STM32.
https://habr.com/ru/articles/936028/
#STM32 #разработка_программного_обеспечения #разработка_электроники #программирование_микроконтроллеров #gps #ненормальное_программирование #nmea #декодирование_данных
-
Интеллектуальный датчик оптического потока
Современные компьютерные мыши, тачпады, сенсорные панели и мобильная робототехника, обязаны своей точностью и отзывчивостью миниатюрным системам движения. Одним из таких является PAT9125 — это высокоточный двухосевой оптический датчик, способный с невероятной точностью отслеживать перемещение по различным поверхностям. PAT9125 представляет собой интеллектуальный датчик, в основе которого — микроскопическая камера и инфракрасная подсветка. Он реализует текстуру поверхности под собой, фиксируя мельчайшие смещения и на основе полученных данных изображений рассчитывает вектор движения. Благодаря высокой кадровой частоте, датчик способен точно отслеживать даже быстрое перемещение, сохраняя стабильность и минимальную задержку.
https://habr.com/ru/articles/935020/
#программирование_микроконтроллеров #схемотехника #датчики_перемещения
-
Занятия программированием и обучением шагающего двуного мини-робота в кружке от Центра робототехники Сбера
С помощью проекта мы приглашаем университетское сообщество Москвы — студентов, магистров, аспирантов, лаборантов, профессоров и преподавателей — получить опыт в современной робототехнике. Также мы создаём российские учебные материалы по шагающей робототехнике от конструкции, электроники и программного обеспечения до reinforcement learning.
https://habr.com/ru/companies/sberbank/articles/927872/
#робототехника #роботы #програмирование #программирование_микроконтроллеров #конструирование #3dпечать #образование #шагающий_робот #двуногий_робот
-
Сервер за копейки
КДПВ Обычно сервер ассоциируется с чем-то дорогим и недоступным обычному человеку. Даже на вторичном рынке они пока еще стоят весьма существенно (если не рассматривать совсем уж допотопные экземпляры). Однако, есть и такие, которые можно приобрести весьма недорого. Это, так называемые, блейд-серверы. Блейд-сервер (от англ. blade — лезвие) – концепция использования нескольких компактных серверов в одной общей корзине (шасси). Некоторые узлы сервера (такие как блоки питания, охлаждение, сетевые адаптеры, управление) вынесены за пределы сервера и сделаны общими для всех. Благодаря этому исключается излишнее дублирование и, соответственно, уменьшаются габариты и общее энергопотребление всей сборки. Увеличивается плотность вычислительной мощности на единицу объема серверной стойки. Из-за того, что единичный блейд-сервер бесполезен без корзины, а в корзине избыточен, они не пользуются спросом на вторичном рынке, а потому стоят весьма недорого.
https://habr.com/ru/companies/timeweb/articles/920708/
#timeweb_статьи #сервер #микроконтроллеры_avr #ибп_для_дома #программирование_микроконтроллеров
-
Измерение собственного напряжения питания микроконтроллера
Началось все с того, что при проектировании своего устройства на микроконтроллере ATtiny 85 , которое должно было работать от встроенного li‑ion аккумулятора, я изначально не задавался целью измерения заряда АКБ, поскольку в этом не было необходимости. Однако, собрав все устройство на печатной плате, я подумал над тем, почему бы не добавить такую возможность. Прочитав в Интернете, как это можно было реализовать, стало ясно, что сделать это вряд ли удастся, поскольку все порты PB[0:5] уже были заняты и, следовательно, не было возможности применения АЦП с аналогового пина (при чем порт PB0 я не мог настроить на вход опорного напряжения AREF - он должен был использоваться как управляющий выход). Долгое изучение состояния регистров АЦП в datasheet на ATTiny 85 привело меня к следующей идее: в качестве опорного напряжения может быть выбрано само напряжение питания VCC (биты REFS [0:2] регистра ADMUX установлены в 0), а в качестве измеряемого ‑ напряжение VBG с внутреннего стабилизатора в 1.1В (биты MUX [3:0] регистра ADMUX установлены соответственно в 1100). То есть, для измерения напряжения питания не нужно ничего, кроме, собственно, самого питания VCC!
https://habr.com/ru/articles/907954/
#программирование #микроконтроллеры #c++ #программирование_микроконтроллеров #avr #attiny85 #attiny #ацп
-
Измерение собственного напряжения питания микроконтроллера
Началось все с того, что при проектировании своего устройства на микроконтроллере ATtiny 85 , которое должно было работать от встроенного li‑ion аккумулятора, я изначально не задавался целью измерения заряда АКБ, поскольку в этом не было необходимости. Однако, собрав все устройство на печатной плате, я подумал над тем, почему бы не добавить такую возможность. Прочитав в Интернете, как это можно было реализовать, стало ясно, что сделать это вряд ли удастся, поскольку все порты PB[0:5] уже были заняты и, следовательно, не было возможности применения АЦП с аналогового пина (при чем порт PB0 я не мог настроить на вход опорного напряжения AREF - он должен был использоваться как управляющий выход). Долгое изучение состояния регистров АЦП в datasheet на ATTiny 85 привело меня к следующей идее: в качестве опорного напряжения может быть выбрано само напряжение питания VCC (биты REFS [0:2] регистра ADMUX установлены в 0), а в качестве измеряемого ‑ напряжение VBG с внутреннего стабилизатора в 1.1В (биты MUX [3:0] регистра ADMUX установлены соответственно в 1100). То есть, для измерения напряжения питания не нужно ничего, кроме, собственно, самого питания VCC!
https://habr.com/ru/articles/907954/
#программирование #микроконтроллеры #c++ #программирование_микроконтроллеров #avr #attiny85 #attiny #ацп
-
Измерение собственного напряжения питания микроконтроллера
Началось все с того, что при проектировании своего устройства на микроконтроллере ATtiny 85 , которое должно было работать от встроенного li‑ion аккумулятора, я изначально не задавался целью измерения заряда АКБ, поскольку в этом не было необходимости. Однако, собрав все устройство на печатной плате, я подумал над тем, почему бы не добавить такую возможность. Прочитав в Интернете, как это можно было реализовать, стало ясно, что сделать это вряд ли удастся, поскольку все порты PB[0:5] уже были заняты и, следовательно, не было возможности применения АЦП с аналогового пина (при чем порт PB0 я не мог настроить на вход опорного напряжения AREF - он должен был использоваться как управляющий выход). Долгое изучение состояния регистров АЦП в datasheet на ATTiny 85 привело меня к следующей идее: в качестве опорного напряжения может быть выбрано само напряжение питания VCC (биты REFS [0:2] регистра ADMUX установлены в 0), а в качестве измеряемого ‑ напряжение VBG с внутреннего стабилизатора в 1.1В (биты MUX [3:0] регистра ADMUX установлены соответственно в 1100). То есть, для измерения напряжения питания не нужно ничего, кроме, собственно, самого питания VCC!
https://habr.com/ru/articles/907954/
#программирование #микроконтроллеры #c++ #программирование_микроконтроллеров #avr #attiny85 #attiny #ацп
-
Измерение собственного напряжения питания микроконтроллера
Началось все с того, что при проектировании своего устройства на микроконтроллере ATtiny 85 , которое должно было работать от встроенного li‑ion аккумулятора, я изначально не задавался целью измерения заряда АКБ, поскольку в этом не было необходимости. Однако, собрав все устройство на печатной плате, я подумал над тем, почему бы не добавить такую возможность. Прочитав в Интернете, как это можно было реализовать, стало ясно, что сделать это вряд ли удастся, поскольку все порты PB[0:5] уже были заняты и, следовательно, не было возможности применения АЦП с аналогового пина (при чем порт PB0 я не мог настроить на вход опорного напряжения AREF - он должен был использоваться как управляющий выход). Долгое изучение состояния регистров АЦП в datasheet на ATTiny 85 привело меня к следующей идее: в качестве опорного напряжения может быть выбрано само напряжение питания VCC (биты REFS [0:2] регистра ADMUX установлены в 0), а в качестве измеряемого ‑ напряжение VBG с внутреннего стабилизатора в 1.1В (биты MUX [3:0] регистра ADMUX установлены соответственно в 1100). То есть, для измерения напряжения питания не нужно ничего, кроме, собственно, самого питания VCC!
https://habr.com/ru/articles/907954/
#программирование #микроконтроллеры #c++ #программирование_микроконтроллеров #avr #attiny85 #attiny #ацп