Table des matières:

Contrôle des moteurs à courant continu avec le L298N à l'aide du microcontrôleur CloudX : 3 étapes
Contrôle des moteurs à courant continu avec le L298N à l'aide du microcontrôleur CloudX : 3 étapes

Vidéo: Contrôle des moteurs à courant continu avec le L298N à l'aide du microcontrôleur CloudX : 3 étapes

Vidéo: Contrôle des moteurs à courant continu avec le L298N à l'aide du microcontrôleur CloudX : 3 étapes
Vidéo: Module L298N : Contrôleur double pont H pour moteur DC (première partie) 2024, Juillet
Anonim
Contrôle des moteurs à courant continu avec le L298N à l'aide du microcontrôleur CloudX
Contrôle des moteurs à courant continu avec le L298N à l'aide du microcontrôleur CloudX
Contrôle des moteurs à courant continu avec le L298N à l'aide du microcontrôleur CloudX
Contrôle des moteurs à courant continu avec le L298N à l'aide du microcontrôleur CloudX

Dans ce projet, nous expliquerons comment utiliser notre pont en H L298N pour augmenter et diminuer la vitesse du moteur à courant continu. Le module pont en H L298N peut être utilisé avec des moteurs ayant une tension comprise entre 5 et 35 V CC.

Il y a aussi un régulateur 5V intégré, donc si votre tension d'alimentation est jusqu'à 12V, vous pouvez également vous procurer 5V à partir de la carte. Ces modules de contrôleur de moteur double pont en H L298 sont peu coûteux et disponibles ICI

Étape 1: Composants

Composants
Composants
Composants
Composants
Composants
Composants
  • Microcontrôleur CloudX
  • Carte logicielle CloudX
  • Câble USB V3
  • Pont en H L298N
  • Planche à pain
  • Fils de cavalier
  • docteur moteur
  • résistance 10k
  • 4 * bouton poussoir

vous pouvez en ligne ici

Étape 2: schéma de circuit

Schéma
Schéma

suivre le circuit

Étape 3: Coder

copiez ce code dans votre IDE CloudX

#include #include

caractère signé i, j;

indicateur de bits;

mettre en place(){

//configuration ici pour (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(){ //Programmer ici if(!readPin(1)){ delayMs(200); if(drapeau==0){ PWM1_Duty(i); PWM2_Duty(0); } if(drapeau==1){ PWM2_Duty(j); PWM1_Duty(0); } indicateur = ~ indicateur; } if(!readPin(2)){ delayMs(200); if(drapeau==1){ //i -= 10; je--; si(i <= 0) i=0; PWM1_Duty(i); PWM2_Duty(0); } if(drapeau==0){ //j -= 10; j--; si(j <= 0) j=0; PWM2_Duty(j); PWM1_Duty(0); } } if(!readPin(3)){ delayMs(200); if(drapeau==1){ //i += 10; je++; si(i>= 100) i=100; PWM1_Duty(i); PWM2_Duty(0); } if(drapeau==0){ //j += 10; j++; si(j>=100) j=100; PWM2_Duty(j); PWM1_Duty(0); } }

if(!readPin(4)){

délaiMs(200); PWM1_Duty(0); PWM2_Duty(0); i=0; j=0; }

}

}

Conseillé: