Sommario:

Controllo di motori CC con L298N utilizzando il microcontrollore CloudX: 3 passaggi
Controllo di motori CC con L298N utilizzando il microcontrollore CloudX: 3 passaggi

Video: Controllo di motori CC con L298N utilizzando il microcontrollore CloudX: 3 passaggi

Video: Controllo di motori CC con L298N utilizzando il microcontrollore CloudX: 3 passaggi
Video: Come controllare motori DC con L298N - Arduino ITA 2024, Dicembre
Anonim
Controllo di motori CC con L298N utilizzando il microcontrollore CloudX
Controllo di motori CC con L298N utilizzando il microcontrollore CloudX
Controllo di motori CC con L298N utilizzando il microcontrollore CloudX
Controllo di motori CC con L298N utilizzando il microcontrollore CloudX

In questo progetto spiegheremo come utilizzare il nostro ponte H L298N per aumentare e diminuire la velocità del motore DC. Il modulo L298N H-bridge può essere utilizzato con motori che hanno una tensione compresa tra 5 e 35V DC.

C'è anche un regolatore 5V integrato, quindi se la tua tensione di alimentazione è fino a 12V puoi anche fornire 5V dalla scheda. Questi moduli controller doppio motore L298 H-bridge sono economici e disponibili QUI

Passaggio 1: componenti

Componenti
Componenti
Componenti
Componenti
Componenti
Componenti
  • Microcontrollore CloudX
  • Softcard CloudX
  • Cavo USB V3
  • L298N Ponte ad H
  • tagliere
  • Ponticelli
  • motore a corrente continua
  • resistore da 10k
  • Pulsante 4*

puoi online qui

Passaggio 2: schema elettrico

Schema elettrico
Schema elettrico

segui il circuito

Passaggio 3: codice

copia questo codice nel tuo IDE CloudX

#include #include

carattere firmato i, j;

bit bandiera;

impostare(){

//imposta qui for(i=1; i<5; i++){ pinMode(i, INPUT); } PWM1_Init(5000); PWM2_Init(5000); PWM1_Start(); PWM2_Start(); PWM1_Duty(0); PWM2_Duty(0); io=j=0; loop(){ //Programma qui if(!readPin(1)){ delayMs(200); if(flag==0){ PWM1_Duty(i); PWM2_Duty(0); } if(flag==1){ PWM2_Duty(j); PWM1_Duty(0); } bandiera = ~ bandiera; } if(!readPin(2)){ delayMs(200); if(flag==1){ //i -= 10; io--; se(i <= 0) i=0; PWM1_Duty(i); PWM2_Duty(0); } if(flag==0){ //j -= 10; J--; se(j <= 0) j=0; PWM2_Duty(j); PWM1_Duty(0); } } if(!readPin(3)){ delayMs(200); if(flag==1){ //i += 10; io++; se(i>= 100) i=100; PWM1_Duty(i); PWM2_Duty(0); } if(flag==0){ //j += 10; j++; se(j>=100) j=100; PWM2_Duty(j); PWM1_Duty(0); } }

if(!readPin(4)){

ritardoMs(200); PWM1_Duty(0); PWM2_Duty(0); io=0; j=0; }

}

}

Consigliato: