У нас вы можете посмотреть бесплатно #Сервопривод или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Управление сервоприводом с помощью потенциометра STM32 «По сути, мы говорим сервоприводу: „Приятель, двигайся только по команде потенциометра, а не по команде твоей девушки“. 😆» «Это как будто твой сервопривод говорит: „Я выполняю твои команды, хозяин!“» Если не двигается... проверяй проводку или молись богам отладки. 😅 🎬 Добро пожаловать в MKRC Labs! 🧾 Версия, безопасная для YouTube (код сервопривода STM32 + потенциометра) Угловые скобки удалены из-за ограничений YouTube, добавлены снова. /* КОД ПОЛЬЗОВАТЕЛЯ НАЧИНАЕТСЯ С 0 */ void SetServoAngle(uint8_t angle) { ///////////////// uint32_t pulse = SERVO_MIN + (angle * (SERVO_MAX - SERVO_MIN)) / 180; uint32_t pulse = 500 + (angle * (2500 - 500)) / 180; // Преобразуем 0–180° в 500–2500 мкс __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, pulse); } uint8_t ReadPotentiometer(void) { HAL_ADC_Start(&hadc1); HAL_ADC_PollForConversion(&hadc1, 100); uint32_t adc_value = HAL_ADC_GetValue(&hadc1); HAL_ADC_Stop(&hadc1); return (adc_value * 180) / 4095; } /* КОД ПОЛЬЗОВАТЕЛЯ ЗАВЕРШЕН 0 */ /* КОД ПОЛЬЗОВАТЕЛЯ НАЧАЛО 2 */ HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); // Тест движения сервопривода SetServoAngle(0); // Переместить на 0 градусов HAL_Delay(1000); SetServoAngle(90); // Переместить на 90 градусов HAL_Delay(1000); SetServoAngle(180); // Переместить на 180 градусов HAL_Delay(1000); SetServoAngle(90); // Возврат в центр HAL_Delay(1000); // Старт в центральном положении (необязательно) // SetServoAngle(90); // HAL_Delay(500); /* КОД ПОЛЬЗОВАТЕЛЯ ЗАВЕРШЕН 2 */ while (1) { /* КОД ПОЛЬЗОВАТЕЛЯ ЗАВЕРШЕН WHILE */ /* КОД ПОЛЬЗОВАТЕЛЯ НАЧАЛО 3 */ uint8_t angle = ReadPotentiometer(); SetServoAngle(angle); HAL_Delay(50); } /* КОНЕЦ ПОЛЬЗОВАТЕЛЬСКОГО КОДА 3 */ В этом видео мы заставим серводвигатель танцевать, используя плату STM32F401RE Nucleo и потенциометр 10 кОм — всё это полностью запрограммировано в STM32CubeIDE. 💪 Вы узнаете пошагово: ✅ Как подключить сервопривод (PA15) и потенциометр (PC5) ✅ Как подать питание на плату Nucleo с помощью перемычки E5V ✅ Как настроить таймеры АЦП и ШИМ в STM32CubeIDE ✅ Как преобразовать значения АЦП (0–4095) в углы поворота сервопривода (0–180°) ✅ Плюс — несколько инженерных шуток, чтобы не дать вам заснуть 😄 --- 🧩 *Используемое оборудование* Плата Nucleo STM32F401RE Сервопривод SG90 Потенциометр 10 кОм Перемычки и USB-кабель --- ⚡ *Соединения схемы* Сигнал сервопривода → PA15 (TIM3_CH4) Средний вывод потенциометра → PC5 (АЦП CH13) Питание → 5 В (E5V) Земля → Общий провод --- 📘 *Код и пояснение* Мы генерируем ШИМ с помощью TIM3 и считываем аналоговый входной сигнал с помощью АЦП1. Длительность импульса 0,5–2,5 мс → поворот 0°–180°. Плавное считывание АЦП обеспечивает стабильное движение сервопривода. --- 🎯 *Временные метки* 00:00 Введение 00:45 Компоненты и подключение 02:10 Питание от E5V 03:15 Конфигурация STM32CubeIDE 05:00 Пояснение к коду 07:00 Демонстрация и советы 08:30 Заключение - 💡 *Смотреть далее:* 🔗 Проект для начинающих: сервопривод STM32 с АЦП 🔗 Управление BLDC-двигателем с использованием STM32 и компонентов ховерборда --- 🔥 *Поддержка MKRC Labs* Нравится 👍 | Комментарий 💬 | Подпишитесь 🔔 Потому что каждый лайк заставляет сервопривод двигаться быстрее (по крайней мере, так я говорю своему микроконтроллеру 😉) #STM32 #ServoMotor #MKRCLabs #NucleoBoard #STM32CubeIDE #PWM #ADC #EmbeddedSystems #ElectronicsProject #STM32Tutorial Сегодня мы будем управлять сервоприводом с помощью потенциометра на плате STM32F401RE Nucleo — с помощью STM32CubeIDE. И да — на этот раз без Arduino. Давайте дадим STM32 немного времени для работы. 💪 PC5 звучит как почтовый индекс, но на самом деле это входной контакт нашего АЦП. И PA15 — это тот самый счастливый пин, который заставляет наш сервопривод качаться слева направо, словно диджей царапает виниловую пластинку. 🎧 «Теперь откройте STM32CubeIDE, создайте новый проект для STM32F401RE и откройте файл .ioc. Шаг 1 — включите ADC1 → Channel 13 (PC5) для нашего потенциометра. Шаг 2 — включите TIM3 Channel 4 → PA15 для ШИМ-выхода на наш сервопривод. Шаг 3 — перейдите в раздел «Настройка тактовой частоты» и установите системную частоту 84 МГц. И, наконец, сгенерируйте код. Вуаля! — ваша конфигурация CubeMX готова!» «Вот и секретный ингредиент — код, который заставит ваш сервопривод слушаться вас. Мы определили ограничения для длительности импульса сервопривода от 0,5 до 2,5 мс. По сути, это означает: 0,5 мс = 0° 2,5 мс = 180° Итак, наш сервопривод плавно перемещается во всем диапазоне. Вот основная функция: Запускаем АЦП Запускаем ШИМ на TIM3 Непрерывно считываем значение потенциометра Преобразуем его в диапазон от 0 до 4095 до 0–180 градусов И, наконец, передаем его сервоприводу через функцию servo_set_angle(). Шаг Задача Подробности 1. Подключение сервопривода → PA15, потенциометра → PC5 2. Питание: USB 5 В → перемычка на E5V 3. Конфигурация CubeIDE ADC1 CH13 (PC5), TIM3 CH4 (PA15) 4. Конфигурация тактовой частоты 84 МГц 5. Код. Скопируйте предоставленный код. 6....