- IT-komponenter
H-Bro
Styr nemt DC motorer gennem din microcontroller med denne dual H-Bro!
EK Guldbergsgade
Bygning E, lokale A448
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?
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)