home.social

#программирование_микроконтроллеров — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #программирование_микроконтроллеров, aggregated by home.social.

  1. Полезные утилиты RTT Viewer и System Viewer

    Хорошие инструменты для отладки встраиваемого ПО микроконтроллеров давно стали делом привычным. Возможности таких инструментов определяются как архитектурой ядра, так и выбором отладчика. Рассмотрим три понятия: DAP (Debug access port), ITM (Instrumentation Trace Macrocell) и RTT (Real-Time Transfer). Всё это «механизмы» позволяющие выводить отладочную информацию в том или ином виде. DAP – это аппаратный блок, который дает доступ к шинам и ядру микроконтроллера. ITM – это специальный блок внутри Cortex-M (начиная с M3 и выше), предназначенный для сообщений с минимальными потерями времени. RTT – технология компании SEGGER, построенная на использовании кольцевого буфера внутри RAM. Именно о ней и пойдет речь в публикации.

    habr.com/ru/articles/1011650/

    #RTT_Viewer #System_Viewer #rtos #программирование_микроконтроллеров #printf

  2. Сам себе шедулер (sheduler) — планировщик

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

    habr.com/ru/articles/1010270/

    #си #программирование_микроконтроллеров #шедулер #sheduler #shedule #shedule_task

  3. Сам себе шедулер (sheduler) — планировщик

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

    habr.com/ru/articles/1010270/

    #си #программирование_микроконтроллеров #шедулер #sheduler #shedule #shedule_task

  4. Сам себе шедулер (sheduler) — планировщик

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

    habr.com/ru/articles/1010270/

    #си #программирование_микроконтроллеров #шедулер #sheduler #shedule #shedule_task

  5. Сам себе шедулер (sheduler) — планировщик

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

    habr.com/ru/articles/1010270/

    #си #программирование_микроконтроллеров #шедулер #sheduler #shedule #shedule_task

  6. Мои самодельные программаторы

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

    habr.com/ru/articles/1004930/

    #программаторы #программирование_микроконтроллеров

  7. Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)

    Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств , пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени . В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс ? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.

    habr.com/ru/articles/1002110/

    #aiot #iot #ai #ииагенты #ии #esp32 #электроника #программирование_микроконтроллеров #edge_ai #tiny_ml

  8. Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)

    Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств , пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени . В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс ? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.

    habr.com/ru/articles/1002110/

    #aiot #iot #ai #ииагенты #ии #esp32 #электроника #программирование_микроконтроллеров #edge_ai #tiny_ml

  9. Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)

    Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств , пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени . В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс ? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.

    habr.com/ru/articles/1002110/

    #aiot #iot #ai #ииагенты #ии #esp32 #электроника #программирование_микроконтроллеров #edge_ai #tiny_ml

  10. Как я перестал писать код для микроконтроллеров вручную и подружил ESP32C6 с AI (Опыт создания платформы)

    Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств , пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени . В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс ? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.

    habr.com/ru/articles/1002110/

    #aiot #iot #ai #ииагенты #ии #esp32 #электроника #программирование_микроконтроллеров #edge_ai #tiny_ml

  11. Программист микроконтроллеров: что спрашивают на собеседованиях

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

    habr.com/ru/companies/yadro/ar

    #собеседование #программирование_микроконтроллеров

  12. Робот Xiaozhi: беседа двух роботов

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

    habr.com/ru/articles/996420/

    #робот #Xiaozhi #esp32cam #esp32s3 #программирование_микроконтроллеров #искусственный_интеллект #голосовой_ассистент

  13. Робот Xiaozhi: беседа двух роботов

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

    habr.com/ru/articles/996420/

    #робот #Xiaozhi #esp32cam #esp32s3 #программирование_микроконтроллеров #искусственный_интеллект #голосовой_ассистент

  14. Робот Xiaozhi: беседа двух роботов

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

    habr.com/ru/articles/996420/

    #робот #Xiaozhi #esp32cam #esp32s3 #программирование_микроконтроллеров #искусственный_интеллект #голосовой_ассистент

  15. Робот Xiaozhi: беседа двух роботов

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

    habr.com/ru/articles/996420/

    #робот #Xiaozhi #esp32cam #esp32s3 #программирование_микроконтроллеров #искусственный_интеллект #голосовой_ассистент

  16. [Перевод] Как изменялась Raspberry Pi: тесты производительности

    Сегодня мы хотим рассмотреть на практике 13 летнюю историю разработки Raspberry Pi. У меня есть экземпляры каждого поколения Pi, от оригинальной модели из 2012 года, до Pi 5, которая вышла чуть больше года назад. В этой статье мы изучим, что менялось от поколения к поколению, как менялись их производительность и энергопотребление, проведя несколько тестов.

    habr.com/ru/articles/988770/

    #Raspberry_PI #бенчмарк #программирование_микроконтроллеров #микроконтроллеры #одноплатные_компьютеры

  17. Мнимая “неисправность MPU9250” в роботе STUDICA

    Довелось мне, в своем университете, вести занятия для студентов колледжа по управлению роботами STUDICA ( studica.ca/en/worldskills-mobi ). Наша версия “WorldSkills Shanghai Collection 2022 - Insert - July 5-22”. Мы использовали для управления язык LabView2020, с пакетами, как рекомендует производитель в документации docs.wsr.studica.com/en/latest/ . В нашем распоряжении 5 роботов, нумерация каждого от “1111” до “5555” или от “первого” до “пятого”. Роботы активно эксплуатируются в течении года на занятиях и практиках, плюс в июне очень интенсивно три дня на демо экзамене в колледже. Итак, на очередном занятии, робот с номером 4444 при движении вперед остановился и перестал реагировать на команды, чаще всего помогает перезагрузка робота путем выключения питания или замена разряженного аккумулятора. Однако, это не помогло. Робот перестал даже определяться по сети Wi-Fi и производить обмен информацией по шине CAN от VMX-pi к TITAN. Стало ясно, что робот STUDICA производства канадской фирмы, позиционируемый как высоконадежный, вышел из строя, сломался. Сначала, мы сделали запрос на форум поддержки STUDICA в канаде, но ответа не пришло до сих пор, похоже из-за санкций. Пришлось самим в интернете искать документацию, описания, изучать схему и плату VMX-pi, смотреть работу индикаторов. Первая попытка – перепрошить VMX-pi предлагаемыми производителем средствами – dfu метод, но он не помог. Прошивка прошла успешно, однако неисправность не исчезла.

    habr.com/ru/articles/985614/

    #Робототехника #Обучение #мобильная_робототехника #STUDICA #STM32F411VET6 #ремонт #программирование_микроконтроллеров

  18. Процессор, которого не существует. Читаем и пишем ПЗУ

    Автомобильные блоки управления полны компонентов, промаркированных нестандартно. Например, встречались микросхемы, на которых выбито "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 была решена.

    habr.com/ru/articles/983202/

    #программирование_микроконтроллеров #flash #flashпамять #TMS470 #texas_instruments #srs #bare_metal #реверсинжиниринг #загрузчик #bootloader

  19. Процессор, которого не существует. Читаем и пишем ПЗУ

    Автомобильные блоки управления полны компонентов, промаркированных нестандартно. Например, встречались микросхемы, на которых выбито "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 была решена.

    habr.com/ru/articles/983202/

    #программирование_микроконтроллеров #flash #flashпамять #TMS470 #texas_instruments #srs #bare_metal #реверсинжиниринг #загрузчик #bootloader

  20. Процессор, которого не существует. Читаем и пишем ПЗУ

    Автомобильные блоки управления полны компонентов, промаркированных нестандартно. Например, встречались микросхемы, на которых выбито "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 была решена.

    habr.com/ru/articles/983202/

    #программирование_микроконтроллеров #flash #flashпамять #TMS470 #texas_instruments #srs #bare_metal #реверсинжиниринг #загрузчик #bootloader

  21. Процессор, которого не существует. Читаем и пишем ПЗУ

    Автомобильные блоки управления полны компонентов, промаркированных нестандартно. Например, встречались микросхемы, на которых выбито "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 была решена.

    habr.com/ru/articles/983202/

    #программирование_микроконтроллеров #flash #flashпамять #TMS470 #texas_instruments #srs #bare_metal #реверсинжиниринг #загрузчик #bootloader

  22. Новогодняя игрушка

    Привет, Хабр! Пришло моё время начать писать статьи сюда. И первая моя статья будет посвящена новогодней игрушке. Прошу не судить строго. В 2019-м году Я приобрел 50 микроконтроллеров CH32V003F4P6 по 11 рублей за штуку. В этом году решил пустить их в дело. И первое, что пришло в голову, это сделать игрушку к новому году. Кроме того, появилась возможность лично попробовать WS2812B. Схема и печатная плата устройства были разработаны в свободной САПР KiCad 9.0. Прошивка написана в среде MounRiver Studio Ⅱ, от производителя микроконтроллера Nanjing Qinheng Microelectronics. Схема устройства получилась достаточно простой, даже примитивной. В её основе RISC-V микроконтроллер CH32V003F4P6 и адресные светодиоды WS2812B. Так же в схеме есть разъём питания, разъём программирования и куча конденсаторов по питанию. Питание платы внешнее, номиналом 5 В.

    habr.com/ru/articles/981050/

    #программирование_микроконтроллеров #радиолюбительство #хобби

  23. Энкодер на базе HEDR и STM32

    Всем привет! В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала. С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути. Будет рассмотрено: Принцип работы датчика HEDR-5420-ES214; Схема подключения к микроконтроллеру STM32; Программная реализация (расчет пройденного пути и вывод информации на дисплей).

    habr.com/ru/articles/960558/

    #программирование_микроконтроллеров #stm32 #энкодер #микроконтроллер #датчики #схемотехника #diy_или_сделай_сам

  24. Энкодер на базе HEDR и STM32

    Всем привет! В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала. С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути. Будет рассмотрено: Принцип работы датчика HEDR-5420-ES214; Схема подключения к микроконтроллеру STM32; Программная реализация (расчет пройденного пути и вывод информации на дисплей).

    habr.com/ru/articles/960558/

    #программирование_микроконтроллеров #stm32 #энкодер #микроконтроллер #датчики #схемотехника #diy_или_сделай_сам

  25. Энкодер на базе HEDR и STM32

    Всем привет! В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала. С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути. Будет рассмотрено: Принцип работы датчика HEDR-5420-ES214; Схема подключения к микроконтроллеру STM32; Программная реализация (расчет пройденного пути и вывод информации на дисплей).

    habr.com/ru/articles/960558/

    #программирование_микроконтроллеров #stm32 #энкодер #микроконтроллер #датчики #схемотехника #diy_или_сделай_сам

  26. Энкодер на базе HEDR и STM32

    Всем привет! В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала. С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути. Будет рассмотрено: Принцип работы датчика HEDR-5420-ES214; Схема подключения к микроконтроллеру STM32; Программная реализация (расчет пройденного пути и вывод информации на дисплей).

    habr.com/ru/articles/960558/

    #программирование_микроконтроллеров #stm32 #энкодер #микроконтроллер #датчики #схемотехника #diy_или_сделай_сам

  27. Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32

    Привет, Хабр! В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485. Интерфейс RS-485 - представляет собой промышленный стандарт физического уровня передачи данных, широко применяемый в распределенных системах управления, телеметрии и автоматизации, его ключевая особенность - использование дифференциального сигнала, что обеспечивает высокую помехоустойчивость и надежность передачи данных на значительные расстояния (до 1200 метров). В основе работы лежит двухпроводная линия (выводы А и В), по которой передается информация в виде разности потенциалов: Логическая "1" фиксируется при условии, что напряжение на линии А ниже, чем на линии B; Логический "0" соответствует ситуации, когда потенциал линии А выше потенциала линии В. Такой метод передачи данных позволяет минимизировать влияние электромагнитных помех, так как внешние наводки одинаково взаимодействуют на обе линии и компенсируются при дифференциальном приеме.

    habr.com/ru/articles/950818/

    #программирование_микроконтроллеров #stm32 #gps #энкодер #modbus #rs485 #nmea #электроника_для_начинающих #программирование #проектирование_интерфейсов

  28. Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32

    Привет, Хабр! В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485. Интерфейс RS-485 - представляет собой промышленный стандарт физического уровня передачи данных, широко применяемый в распределенных системах управления, телеметрии и автоматизации, его ключевая особенность - использование дифференциального сигнала, что обеспечивает высокую помехоустойчивость и надежность передачи данных на значительные расстояния (до 1200 метров). В основе работы лежит двухпроводная линия (выводы А и В), по которой передается информация в виде разности потенциалов: Логическая "1" фиксируется при условии, что напряжение на линии А ниже, чем на линии B; Логический "0" соответствует ситуации, когда потенциал линии А выше потенциала линии В. Такой метод передачи данных позволяет минимизировать влияние электромагнитных помех, так как внешние наводки одинаково взаимодействуют на обе линии и компенсируются при дифференциальном приеме.

    habr.com/ru/articles/950818/

    #программирование_микроконтроллеров #stm32 #gps #энкодер #modbus #rs485 #nmea #электроника_для_начинающих #программирование #проектирование_интерфейсов

  29. Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32

    Привет, Хабр! В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485. Интерфейс RS-485 - представляет собой промышленный стандарт физического уровня передачи данных, широко применяемый в распределенных системах управления, телеметрии и автоматизации, его ключевая особенность - использование дифференциального сигнала, что обеспечивает высокую помехоустойчивость и надежность передачи данных на значительные расстояния (до 1200 метров). В основе работы лежит двухпроводная линия (выводы А и В), по которой передается информация в виде разности потенциалов: Логическая "1" фиксируется при условии, что напряжение на линии А ниже, чем на линии B; Логический "0" соответствует ситуации, когда потенциал линии А выше потенциала линии В. Такой метод передачи данных позволяет минимизировать влияние электромагнитных помех, так как внешние наводки одинаково взаимодействуют на обе линии и компенсируются при дифференциальном приеме.

    habr.com/ru/articles/950818/

    #программирование_микроконтроллеров #stm32 #gps #энкодер #modbus #rs485 #nmea #электроника_для_начинающих #программирование #проектирование_интерфейсов

  30. Модуль обработки и коммутации данных, с внешними управляющими устройствами по RS-485 на STM32

    Привет, Хабр! В данной статье будет рассматриваться разработка коммутатора, для приема, обработки и передачи потока данных от GNSS-приемника и энкодера, осуществляться передача ведущему устройству будет по интерфейсу RS-485. Интерфейс RS-485 - представляет собой промышленный стандарт физического уровня передачи данных, широко применяемый в распределенных системах управления, телеметрии и автоматизации, его ключевая особенность - использование дифференциального сигнала, что обеспечивает высокую помехоустойчивость и надежность передачи данных на значительные расстояния (до 1200 метров). В основе работы лежит двухпроводная линия (выводы А и В), по которой передается информация в виде разности потенциалов: Логическая "1" фиксируется при условии, что напряжение на линии А ниже, чем на линии B; Логический "0" соответствует ситуации, когда потенциал линии А выше потенциала линии В. Такой метод передачи данных позволяет минимизировать влияние электромагнитных помех, так как внешние наводки одинаково взаимодействуют на обе линии и компенсируются при дифференциальном приеме.

    habr.com/ru/articles/950818/

    #программирование_микроконтроллеров #stm32 #gps #энкодер #modbus #rs485 #nmea #электроника_для_начинающих #программирование #проектирование_интерфейсов

  31. Практическая реализация энкодера с использованием датчика HOA0902 и STM32

    Привет, Хабр! В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 - это двухканальный отражательный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск. В данной статье будут рассмотрены: - Принципы работы HOA092-11; - Схема электрическая принципиальная энкодера; - Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей); - Тестирование системы , будет рассмотрено (пройденный путь, скорость, направление движения).

    habr.com/ru/articles/947218/

    #программирование_микроконтроллеров #STM32 #Энкодрер #датчик_движения #датчики #схемотехника #микросхема #микроконтроллер

  32. Практическая реализация энкодера с использованием датчика HOA0902 и STM32

    Привет, Хабр! В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 - это двухканальный отражательный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск. В данной статье будут рассмотрены: - Принципы работы HOA092-11; - Схема электрическая принципиальная энкодера; - Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей); - Тестирование системы , будет рассмотрено (пройденный путь, скорость, направление движения).

    habr.com/ru/articles/947218/

    #программирование_микроконтроллеров #STM32 #Энкодрер #датчик_движения #датчики #схемотехника #микросхема #микроконтроллер

  33. Практическая реализация энкодера с использованием датчика HOA0902 и STM32

    Привет, Хабр! В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 - это двухканальный отражательный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск. В данной статье будут рассмотрены: - Принципы работы HOA092-11; - Схема электрическая принципиальная энкодера; - Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей); - Тестирование системы , будет рассмотрено (пройденный путь, скорость, направление движения).

    habr.com/ru/articles/947218/

    #программирование_микроконтроллеров #STM32 #Энкодрер #датчик_движения #датчики #схемотехника #микросхема #микроконтроллер

  34. Практическая реализация энкодера с использованием датчика HOA0902 и STM32

    Привет, Хабр! В системах точного позиционирования и измерения угла поворота оптические энкодеры остаются критически важным компонентом, обеспечивающим обратную связь по положению. Среди множества датчиков данной категории, будет рассмотрен HOA0902-11 - это двухканальный отражательный фотодатчик, предназначенный для высокоточного измерения углового положения, скорости и направления вращения, его конструкция и схема работы основаны на принципе оптической модуляции света через диск. В данной статье будут рассмотрены: - Принципы работы HOA092-11; - Схема электрическая принципиальная энкодера; - Программная реализация (расчет пройденного пути, скорости и направления движения, а также вывод информации на дисплей); - Тестирование системы , будет рассмотрено (пройденный путь, скорость, направление движения).

    habr.com/ru/articles/947218/

    #программирование_микроконтроллеров #STM32 #Энкодрер #датчик_движения #датчики #схемотехника #микросхема #микроконтроллер

  35. Pixel Table: от идеи до реализации интерактивного пиксельного стола

    Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров. Этап 0: Как всё начиналось Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…

    habr.com/ru/articles/945418/

    #программирование_микроконтроллеров #raspberry_pi #игры #стол #своими_руками #diyпроекты #программирование_игр

  36. Pixel Table: от идеи до реализации интерактивного пиксельного стола

    Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров. Этап 0: Как всё начиналось Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…

    habr.com/ru/articles/945418/

    #программирование_микроконтроллеров #raspberry_pi #игры #стол #своими_руками #diyпроекты #программирование_игр

  37. Pixel Table: от идеи до реализации интерактивного пиксельного стола

    Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров. Этап 0: Как всё начиналось Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…

    habr.com/ru/articles/945418/

    #программирование_микроконтроллеров #raspberry_pi #игры #стол #своими_руками #diyпроекты #программирование_игр

  38. Pixel Table: от идеи до реализации интерактивного пиксельного стола

    Меня зовут Анатолий, и я программист с инженерным бэкграундом. Помимо основной деятельности, бэкенд разработки на Go, меня часто тянет собрать что-нибудь эдакое электронно-светодиодное с использованием микроконтроллеров. Этап 0: Как всё начиналось Однажды мне попался на глаза проект пиксельного стола, и я подумал, что было бы круто сделать стол не просто с красивыми визуальными эффектами, а ещё и с играми и звуковым сопровождением, т.е интерактивный. И я начал изучать тему…

    habr.com/ru/articles/945418/

    #программирование_микроконтроллеров #raspberry_pi #игры #стол #своими_руками #diyпроекты #программирование_игр

  39. Контроль напряжения над блоком питания на STM32: Подход к энергоэффективности и защите

    Привет, Хабр ! В современном мире, где автономные системы становятся все более востребованными - от портативных приборов до сложных промышленных комплексов - надежное управление напряжением питания превращается в ключевой фактор их долговечности и эффективности. Сердце любой такой системы - аккумулятор, а его безопасность и срок службы, напрямую зависит от контроля напряжения. В данной статье будет представлен пример контроля напряжения, над блоком питания - внутри которого (никель-металлгидридная аккумуляторная сборка NiMH 14.4В/12 банок по 1.2В(1.4В- при полной зарядке)), с помощью микроконтроллера STM32. В блоке питания уже есть палата управления над аккумулятором, которая выполняет задачи: • Работа с кнопкой; • Работа со светодиодом; • Работа с пъезоэлектрическим излучателем(звуковая индикация); • Контроль заряда/разряда аккумулятора(дает звуковой сигнал при напряжении менее 9 вольт и более 14). В процессе анализа и статистики использования оборудования стало очевидно, что многие пользователи часто забывают своевременно отключать блоки питания. В результате аккумуляторные сборки продолжают разряжаться даже при отсутствии необходимости, напряжение падает до критических значений, и аккумулятор быстро теряет свою емкость, становясь непригодным для дальнейшей эксплуатации.

    habr.com/ru/articles/937596/

    #программирование_микроконтроллеров #программирование_stm32 #контроль_напряжения #язык_программирования_c

  40. Интеллектуальный датчик оптического потока

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

    habr.com/ru/articles/935020/

    #программирование_микроконтроллеров #схемотехника #датчики_перемещения

  41. Занятия программированием и обучением шагающего двуного мини-робота в кружке от Центра робототехники Сбера

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

    habr.com/ru/companies/sberbank

    #робототехника #роботы #програмирование #программирование_микроконтроллеров #конструирование #3dпечать #образование #шагающий_робот #двуногий_робот

  42. Сервер за копейки

    КДПВ Обычно сервер ассоциируется с чем-то дорогим и недоступным обычному человеку. Даже на вторичном рынке они пока еще стоят весьма существенно (если не рассматривать совсем уж допотопные экземпляры). Однако, есть и такие, которые можно приобрести весьма недорого. Это, так называемые, блейд-серверы. Блейд-сервер (от англ. blade — лезвие) – концепция использования нескольких компактных серверов в одной общей корзине (шасси). Некоторые узлы сервера (такие как блоки питания, охлаждение, сетевые адаптеры, управление) вынесены за пределы сервера и сделаны общими для всех. Благодаря этому исключается излишнее дублирование и, соответственно, уменьшаются габариты и общее энергопотребление всей сборки. Увеличивается плотность вычислительной мощности на единицу объема серверной стойки. Из-за того, что единичный блейд-сервер бесполезен без корзины, а в корзине избыточен, они не пользуются спросом на вторичном рынке, а потому стоят весьма недорого.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #сервер #микроконтроллеры_avr #ибп_для_дома #программирование_микроконтроллеров

  43. Измерение собственного напряжения питания микроконтроллера

    Началось все с того, что при проектировании своего устройства на микроконтроллере 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!

    habr.com/ru/articles/907954/

    #программирование #микроконтроллеры #c++ #программирование_микроконтроллеров #avr #attiny85 #attiny #ацп

  44. Измерение собственного напряжения питания микроконтроллера

    Началось все с того, что при проектировании своего устройства на микроконтроллере 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!

    habr.com/ru/articles/907954/

    #программирование #микроконтроллеры #c++ #программирование_микроконтроллеров #avr #attiny85 #attiny #ацп

  45. Измерение собственного напряжения питания микроконтроллера

    Началось все с того, что при проектировании своего устройства на микроконтроллере 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!

    habr.com/ru/articles/907954/

    #программирование #микроконтроллеры #c++ #программирование_микроконтроллеров #avr #attiny85 #attiny #ацп

  46. Измерение собственного напряжения питания микроконтроллера

    Началось все с того, что при проектировании своего устройства на микроконтроллере 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!

    habr.com/ru/articles/907954/

    #программирование #микроконтроллеры #c++ #программирование_микроконтроллеров #avr #attiny85 #attiny #ацп