Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 22.03.2026
Сообщений: 7

Балансирующий робот на STM32 в среде keil

23.03.2026, 16:11. Показов 1523. Ответов 27

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые форумчане.
Немного предыстории вопроса...
Дети решили собрать своего балансирующего робота на шаговых моторчиках. Они имеют небольшой опыт на ардуино. Ну по крайней мере светодиодами научились мигать. Но интерес вроде не пропал.
Я начал немного изучать вопрос и оказалось, что для реализации их задумки потребуются довольно серьезные вычисления.
Управление моторчиками (генерация степ/дир), опрос датчиков и пр. В общем решили, что ардуинки будет не хватать.
Через некоторое время пришли к выводу, что лучше будет если в качестве контроллера использовать что-то побыстрее и поумнее.
Выбор пал на отладочную платку на базе stm32f103c8t6. А в качестве среды разработки keil.
Первое знакомство с этим контроллером у меня было очень давно. Около 10 лет назад. Многое уже забыл. И основная работа ни как не связана с конструированием и электроникой.
Но пока есть желание у детей попробую заинтересовать их этой сферой.
Платку и st-link нашел,

Что известно на текущий момент:
Необходимо 2 счетчика для генерации сигналов степ/дир. на 2 мотора. Возможно в природе существуют библиотеки управления шаговыми моторами. Но мне такое не известно (пока)
Датчик гироскопа имеет интерфейс i2c
Еще есть 4 аналоговых датчика приближения. Пока точных характеристик не подобрали.
Подключение блютус шилда для управления с телефона.
Так как сейчас пока сложно оценить сколько потребуется различных программных модулей решили еще и free rtos изучить и поставить.

И вот спустя некоторое время нам удалось подключиться к плате и даже загрузили на нее блинк светодиода
Сегодня получилось поднять freertos и запустить два потока. В одном светодиод. В другом вычисления тестовые.
Некоторые модули удалось найти в своих старых архивах.

Вопрос: Существуют ли какие-то библиотеки для работы с i2c (cmsis) для работы с данным контроллером?
st.com не доступен. Похоже банят адреса из РФ.

Вопрос 2: После загрузки прошивки на контроллер, он начинает работать только после нажатия кнопки ресет на плате. Это как-то лечится?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2026, 16:11
Ответы с готовыми решениями:

Сравнить программные продукты Keil uVision 5.11.2.0 и Keil ARM 5.29.0.0
прив! программные среды разработки Keil uVision 5.11.2.0 и Keil ARM 5.29.0.0 это просто разные ...

Вопрос по среде keil
Можно ли как-то подключить в keil стандартные виндовые библиотеки, математические, к примеру? Не...

Программа ФВЧ в среде Keil
Доброго времени суток. Пытаюсь запрограммировать перестраиваемый фильтр ФВЧ в Keil. Программа...

27
346 / 138 / 10
Регистрация: 19.07.2024
Сообщений: 805
24.03.2026, 18:29
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от wizard41 Посмотреть сообщение
Имел дело. Еще раз: движения механизмов при обработке заготовки весьма планомерные и известные заранее (задолго), т.к. заранее посчитаны и зашиты координаты, на основании чертежа.
У автора вопроса - конкретное регулирование объекта с неизвестными векторами движения, которые определяются буквально на ходу. Реакция на эти движения должна быть незамедлительная.
Так и я "имел дело": сделал много проектов с векторным управлением PMSM-двигателями. В которых тоже "должна быть незамедлительная реакция".
При обслуживании двигателя с частотой ~10кГц - уже всё предельно плавно. А для F103 такое обслуживание - не проблема. Для робота ТС скорее всего хватит и в разы меньшей частоты обслуживания.

PS: К вашему сведению: 3D-принтер ничего "заранее, задолго" не считает. У него просто не хватит буфера на это. Расчёт он выполняет на короткое время вперёд - на доли секунды. И не важно что файл перемещений подготовлен заранее. Расчёт управлений двигателями выполняется "на лету". Так что - никакой разницы.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
24.03.2026, 18:35
jcxz, разница есть и довольно существенная. Мог бы привести массу примеров такого управления, где F103 никуда не годится. Просто не хочу спорить и разводить оффтоп..
Сейчас нам действительно мало что известно по задумке автора, поэтому рекомендовать что-то конкретное рано. Еще не будем скидывать со счетов тот факт, что сам алгоритм (ПИД) у автора без опыта может съесть добрую половину ресурсов..
0
0 / 0 / 0
Регистрация: 22.03.2026
Сообщений: 7
24.03.2026, 19:23  [ТС]
Добрый день.
Тема всколыхнула многих
Дети (7 класс) ходят в кружок по программированию. Но учат их там питону. Со следующего года думаю перейдут на робототехнику.
Так вот руководитель клуба показывал балансирующего робота собранного на основе ардуино нано. Так, что stm32 я думаю вполне справится, раз уже avr на 16 МГц справляется.
Предполагается следующая периферия:
- 2 шаговых мотора.
- Гироскоп с акселерометром 3х осевой (пока не видел в живую датчик).
- Еще два фото-датчика должны определять трек (черная полоска на белом полу). (справа и слева)
- Дальномер, что бы "видел" препятствие по ходу движения.

По поводу STM32... глядя на выражение лиц детей, я думаю рановато им это осваивать. Разбираться в тонкостях программирования регистров, прерываний, dma и пр ... боюсь такая сложность только отпугнет их.

Сегодня принесли ESP32. Посмотрим, что за зверек. А еще обещали библиотеки прислать для работы шаговыми моторами.
0
346 / 138 / 10
Регистрация: 19.07.2024
Сообщений: 805
24.03.2026, 20:31
Цитата Сообщение от Smith2007 Посмотреть сообщение
Так, что stm32 я думаю вполне справится, раз уже avr на 16 МГц справляется.
Конечно. С большим запасом. О чём я выше и говорил.
Цитата Сообщение от Smith2007 Посмотреть сообщение
По поводу STM32... глядя на выражение лиц детей, я думаю рановато им это осваивать. Разбираться в тонкостях программирования регистров, прерываний, dma
Было бы желание.... Питон / не питон - не важно. Главное для начала: заложить основы алгоритмического мышления. Умения формализировать задачу. Я в своё время вообще начинал с бейсиков и ассемблеров. И норм. А си, по сравнению с asm - семечки.
Цитата Сообщение от Smith2007 Посмотреть сообщение
Сегодня принесли ESP32
А какая разница? Примерно то же самое, что и STM32 только чудесатее. И (имхо) - для работы с железом в реалтайм - ESP32 хуже.
0
451 / 176 / 29
Регистрация: 12.12.2020
Сообщений: 1,373
24.03.2026, 20:56
Цитата Сообщение от Smith2007 Посмотреть сообщение
По поводу STM32... глядя на выражение лиц детей, я думаю рановато им это осваивать.
STM от AVR ничем принципиально не отличается
0
Нарушитель
445 / 886 / 106
Регистрация: 23.11.2021
Сообщений: 5,204
Записей в блоге: 19
24.03.2026, 21:05
Ну уж, ребят, лучше вообще никак, чем так поганить детям судьбу!
Если хотите чему-то научить, учите с азов! Не надо издеваться над детьми и вместо микроконтроллера им подсовывать абдурину, вместо операционной системы - маздай, вместо языка программирования - змеюку, а вместо разработки - "скачай готовые куски и абы-как собери вместе при помощи дипсика"…

Представьте, что криминалистов обучали бы по "улице разбитых фонарей", а хирургов - по "доктору хаусу"… Вот абсолютно то же самое, что и в данном случае!
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
24.03.2026, 21:13
Цитата Сообщение от Smith2007 Посмотреть сообщение
Предполагается следующая периферия:
Ну теперь ясно. Тогда да, тут справится все что угодно.
Просто мы тут все дядьки умные, и когда нам говорят про сущую мелочевку - мы сразу размышляем так, чтобы она сумела до Луны долететь...
0
0 / 0 / 0
Регистрация: 22.03.2026
Сообщений: 7
24.03.2026, 22:15  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
Тогда да, тут справится все что угодно.
Но в любом случае лишней производительность контроллера не будет
Прицепил две фотки. Примерно так будет выглядеть этот робот.
Размеры 150*200*80 мм. Может чуть больше
Миниатюры
Балансирующий робот на STM32 в среде keil   Балансирующий робот на STM32 в среде keil  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2026, 22:15

В среде Keil 5 при повторном запуске в режиме эмуляции программа виснет
Доброго времени суток. MK STM32F103C8T6. Запускаю в режиме эмуляции - работает. При повторном...

STM32 + KEIL. Найти смещение функции в прошивке
Привет, коллеги! Столкнулся с проблемой - надо найти адрес и размер функции, а также все что к...

STM32, Keil, передача массива в функцию
Использую uVision 4.60.00. Есть функция, которая выполняет расчёт контрольной суммы (CRC). Для её...

C++ в Keil + STM32
Доброго времени суток. Пытаюсь написать небольшой проектик на С++ под STM32 в Keil, но что то не...

CMSIS STM32 проект в Keil - это просто
Пишу небольшую обзорную статейку про CMSIS, это её часть ... Скачайте у ST последний HAL и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru