Cuprins:

Controlul motoarelor de curent continuu cu L298N folosind microcontrolerul CloudX: 3 pași
Controlul motoarelor de curent continuu cu L298N folosind microcontrolerul CloudX: 3 pași

Video: Controlul motoarelor de curent continuu cu L298N folosind microcontrolerul CloudX: 3 pași

Video: Controlul motoarelor de curent continuu cu L298N folosind microcontrolerul CloudX: 3 pași
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Iulie
Anonim
Controlul motoarelor de curent continuu cu L298N folosind microcontrolerul CloudX
Controlul motoarelor de curent continuu cu L298N folosind microcontrolerul CloudX
Controlul motoarelor de curent continuu cu L298N folosind microcontrolerul CloudX
Controlul motoarelor de curent continuu cu L298N folosind microcontrolerul CloudX

În acest proiect, vom explica cum să folosim podul nostru L298N H pentru a crește și a reduce viteza motorului de curent continuu. Modulul H-bridge L298N poate fi utilizat cu motoare care au o tensiune cuprinsă între 5 și 35V DC.

Există, de asemenea, un regulator de 5V la bord, deci dacă tensiunea de alimentare este de până la 12V, puteți de asemenea să obțineți 5V de pe placă. Aceste module de controler cu motor dual L298 H-bridge sunt ieftine și disponibile AICI

Pasul 1: Componente

Componente
Componente
Componente
Componente
Componente
Componente
  • Microcontroler CloudX
  • CloudX Softcard
  • Cablu USB V3
  • L298N H-pod
  • Pană de pâine
  • Sârme de jumper
  • Motor DC
  • Rezistor de 10k
  • 4 * Apăsați butonul

puteți face online aici

Pasul 2: Diagrama circuitului

Diagrama circuitului
Diagrama circuitului

urmează circuitul în sus

Pasul 3: Cod

copiați acest cod în IDE-ul dvs. CloudX

#include #include

semnat char i, j;

bit steag;

înființat(){

// configurați aici pentru (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 () {// Programează aici dacă (! readPin (1)) {delayMs (200); if (flag == 0) {PWM1_Duty (i); PWM2_Duty (0); } if (flag == 1) {PWM2_Duty (j); PWM1_Duty (0); } flag = ~ flag; } if (! readPin (2)) {delayMs (200); if (flag == 1) {// i - = 10; i--; dacă (i <= 0) i = 0; PWM1_Duty (i); PWM2_Duty (0); } if (flag == 0) {// j - = 10; j--; dacă (j <= 0) j = 0; PWM2_Duty (j); PWM1_Duty (0); }} if (! readPin (3)) {delayMs (200); if (flag == 1) {// i + = 10; i ++; dacă (i> = 100) i = 100; PWM1_Duty (i); PWM2_Duty (0); } if (flag == 0) {// j + = 10; j ++; dacă (j> = 100) j = 100; PWM2_Duty (j); PWM1_Duty (0); }}

if (! readPin (4)) {

delayMs (200); PWM1_Duty (0); PWM2_Duty (0); i = 0; j = 0; }

}

}

Recomandat: