Съдържание:

Управление на DC двигатели с L298N с помощта на микроконтролер CloudX: 3 стъпки
Управление на DC двигатели с L298N с помощта на микроконтролер CloudX: 3 стъпки

Видео: Управление на DC двигатели с L298N с помощта на микроконтролер CloudX: 3 стъпки

Видео: Управление на DC двигатели с L298N с помощта на микроконтролер CloudX: 3 стъпки
Видео: Драйвер двигателей L298N - Обзор, Тест, Подключение к Arduino 2024, Ноември
Anonim
Управление на DC двигатели с L298N с помощта на микроконтролер CloudX
Управление на DC двигатели с L298N с помощта на микроконтролер CloudX
Управление на DC двигатели с L298N с помощта на микроконтролер CloudX
Управление на DC двигатели с L298N с помощта на микроконтролер CloudX

В този проект ще обясним как да използваме нашия L298N H-мост за увеличаване и намаляване на скоростта на DC двигателя. Модулът L298N H-bridge може да се използва с двигатели с напрежение между 5 и 35V DC.

Има и вграден 5V регулатор, така че ако захранващото ви напрежение е до 12V, можете също да източите 5V от платката. Тези модули за двумотови контролери L298 H-bridge са евтини и се предлагат ТУК

Стъпка 1: Компоненти

Компоненти
Компоненти
Компоненти
Компоненти
Компоненти
Компоненти
  • Микроконтролер CloudX
  • Софт карта на CloudX
  • V3 USB кабел
  • L298N H-мост
  • Платка
  • Кабелни проводници
  • DC мотор
  • 10k резистор
  • 4* бутон за натискане

можете онлайн тук

Стъпка 2: Електрическа схема

Електрическа схема
Електрическа схема

следвайте веригата нагоре

Стъпка 3: Код

копирайте този код във вашата CloudX IDE

#включи #включи

подписан char i, j;

битов флаг;

настройвам(){

// настройка тук за (i = 1; i <5; i ++) {pinMode (i, INPUT); } PWM1_Init (5000); PWM2_Init (5000); PWM1_Start (); PWM2_Start (); PWM1_Duty (0); PWM2_Duty (0); i = j = 0; loop () {// Програмираме тук, ако (! readPin (1)) {delayMs (200); if (флаг == 0) {PWM1_Duty (i); PWM2_Duty (0); } if (флаг == 1) {PWM2_Duty (j); PWM1_Duty (0); } флаг = ~ флаг; } if (! readPin (2)) {delayMs (200); if (флаг == 1) {// i -= 10; i--; ако (i <= 0) i = 0; PWM1_Duty (i); PWM2_Duty (0); } if (флаг == 0) {// j -= 10; j--; ако (j <= 0) j = 0; PWM2_Duty (j); PWM1_Duty (0); }} if (! readPin (3)) {delayMs (200); if (флаг == 1) {// i += 10; i ++; ако (i> = 100) i = 100; PWM1_Duty (i); PWM2_Duty (0); } if (флаг == 0) {// j += 10; j ++; ако (j> = 100) j = 100; PWM2_Duty (j); PWM1_Duty (0); }}

if (! readPin (4)) {

забавянеMs (200); PWM1_Duty (0); PWM2_Duty (0); i = 0; j = 0; }

}

}

Препоръчано: