Indholdsfortegnelse:

Kontrol af DC -motorer med L298N ved hjælp af CloudX Microcontroller: 3 trin
Kontrol af DC -motorer med L298N ved hjælp af CloudX Microcontroller: 3 trin

Video: Kontrol af DC -motorer med L298N ved hjælp af CloudX Microcontroller: 3 trin

Video: Kontrol af DC -motorer med L298N ved hjælp af CloudX Microcontroller: 3 trin
Video: hvordan man laver børsteløs motorcontroller, mosfet, IRFz 44n 2024, November
Anonim
Kontrol af DC -motorer med L298N ved hjælp af CloudX -mikrokontroller
Kontrol af DC -motorer med L298N ved hjælp af CloudX -mikrokontroller
Kontrol af DC -motorer med L298N ved hjælp af CloudX -mikrokontroller
Kontrol af DC -motorer med L298N ved hjælp af CloudX -mikrokontroller

I dette projekt forklarer vi, hvordan vi bruger vores L298N H-bro til at øge og reducere DC-motorens hastighed. L298N H-bridge-modulet kan bruges med motorer, der har en spænding på mellem 5 og 35V DC.

Der er også en indbygget 5V regulator, så hvis din forsyningsspænding er op til 12V, kan du også få 5V fra kortet. Disse L298 H-bridge dual motor controller moduler er billige og tilgængelige HER

Trin 1: Komponenter

Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
Komponenter
  • CloudX mikrokontroller
  • CloudX Softcard
  • V3 USB -kabel
  • L298N H-bro
  • Brødbræt
  • Jumper ledninger
  • DC motor
  • 10k modstand
  • 4* trykknap

du kan online her

Trin 2: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram

følge kredsløbet op

Trin 3: Kode

kopier denne kode til dit CloudX IDE

#include #include

signeret char i, j;

bit flag;

Opsætning(){

// opsætning her 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); i = j = 0; loop () {// Program her if (! readPin (1)) {delayMs (200); hvis (flag == 0) {PWM1_Duty (i); PWM2_Duty (0); } hvis (flag == 1) {PWM2_Duty (j); PWM1_Duty (0); } flag = ~ flag; } hvis (! readPin (2)) {delayMs (200); hvis (flag == 1) {// i -= 10; jeg--; hvis (i <= 0) i = 0; PWM1_Duty (i); PWM2_Duty (0); } hvis (flag == 0) {// j -= 10; j--; hvis (j <= 0) j = 0; PWM2_Duty (j); PWM1_Duty (0); }} if (! readPin (3)) {delayMs (200); hvis (flag == 1) {// i += 10; i ++; hvis (i> = 100) i = 100; PWM1_Duty (i); PWM2_Duty (0); } hvis (flag == 0) {// j += 10; j ++; hvis (j> = 100) j = 100; PWM2_Duty (j); PWM1_Duty (0); }}

hvis (! readPin (4)) {

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

}

}

Anbefalede: