Gå direkte til indhold
  • IT-komponenter

H-Bro

Styr nemt DC motorer gennem din micro­controller med denne dual H-Bro!

Lab
ITT Lab
Programområde
Digital
Placering

EK Guldbergsgade
Bygning E, lokale A448

Adgang til komponenten

Komponenten er kun tilgængelig for studerende på IT-teknolog-uddannelsen.

Med denne dual H-bro komponent kan du nemt styrer DC motorer via din mikrocontroller. Via komponentens 4 input pins kan du styre om de tilsluttede motor skal kører frem eller tilbage, og ved brug af ADC kan hastigheden også kontrolleres.  

Tekniske specifikationer

Kreds L298N eller MX1508 
Operativ spænding 2V - 10V DC
Signal indgangs spænding 1.8V - 7V
Max strømforbrug 2.5A
Dimensioner 21mm x 25mm x 7mm

Pinout

Motor_A kontrol signal​

Navn Funktion
+ Positiv forsyning
- Negativ forsyning
IN1 Motor-A kontrol signal
IN2 Motor-A kontrol signal
IN3 Motor-B kontrol signal
IN4 Motor-B kontrol signal
Motor-A Motor-A connection pin
Motor-A Motor-A connection pin
Motor-B Motor-B connection pin
Motor-B Motor-B connection pin

Hvordan fungerer den?

Motor Driver in depth | H-Bridge

Pico MicroPython DC Motor Control

MicroPython TechNotes: Dual Motor Driver

H-broen får sit navn fra den H form, som det optegnede kredsløbet har. Dens primære funktion er at kunne tillade strømmen at løbe i begge retninger, som fx kan benyttes til at styre, hvorvidt en DC motor skal køre fremad eller bagud.

Komponenten har 2 Signal ben per motor som henholdsvis styrer H-Broens indre mekanismer til at tillade for at strømmen kan flyde den ene eller den anden vej igennem motoren, dvs. det ene signal ben vil gøre at motoren bliver påført en positiv spænding, og det andet ben en negativ. 

H-Broen leverer strøm til motorens via 2 forsynings pins, da man kan kører motoren via dedikeret strømforsyning, eller bare uden om mikrocontroller, kan man via H-broen styrer en DC motor uden noget særligt pres på den tilsluttede mikrocontroller. 

Kodeeksempel

from machine import Pin,PWM
import time

speed = 500
stop = 0

IN1 = PWM(Pin(16),freq=50)
IN2 = PWM(Pin(15),freq=50)
IN3 = PWM(Pin(26),freq=50)
IN4 = PWM(Pin(12),freq=50)

def set_all_speed(x):
   print("Adjusting speed")
   IN1.duty(x) IN2.duty(x)
   IN3.duty(x) IN4.duty(x)

def motor_a_forward():
   IN2.duty(stop)
   IN1.duty(speed)

def motor_a_backwards():
   IN1.duty(stop)
   IN2.duty(speed)

def motor_b_forward():
   IN4.duty(stop)
   IN3.duty(speed)

def motor_b_backwards():
   IN3.duty(stop)
   IN4.duty(speed)