Objaśnienie modułu sterownika silnika prądu stałego L298N

Wypróbuj Nasz Instrument Do Eliminowania Problemów





W tym poście dowiemy się o module sterownika silnika DC z podwójnym mostkiem H L298N, który może być używany do sterowania szczotkowanymi silnikami prądu stałego i silnikami krokowymi z mikrokontrolerami i układami scalonymi.

Przegląd

Modułowe płytki drukowane to najlepsza oszczędność czasu dla projektantów elektroniki, które również zmniejszają liczbę błędów prototypowania. Jest to szczególnie preferowane przez programistów, którzy piszą kod dla mikrokontrolerów, spędzają większość czasu na wpisywaniu kodów przed komputerem i mają mniej czasu na lutowanie dyskretnych elementów elektronicznych.



Dlatego możemy znaleźć mnóstwo różnych obwodów modułowych wykonanych tylko dla płyt Arduino, są one łatwe w obsłudze i mają tę zaletę, że podczas projektowania naszego prototypu są najmniejsze błędy sprzętowe.

Ilustracja modułu L298N:

Ilustracja modułu L298N:



Moduł jest zbudowany wokół IC L298N i jest powszechnie dostępny na stronach handlu elektronicznego.

Używamy Sterowniki silników prądu stałego ponieważ układy scalone i mikrokontrolery nie są w stanie ogólnie dostarczyć prądu nie większego niż 100 miliamperów. Mikrokontrolery są inteligentne, ale nie są mocne, ten moduł doda trochę mięśni do Arduino, układów scalonych i innych mikrokontrolerów, aby napędzać silniki prądu stałego o dużej mocy.

Może sterować 2 silnikami prądu stałego jednocześnie do 2 amperów każdy lub jednym silnikiem krokowym. Możemy kontrolować prędkość za pomocą PWM, a także jego kierunku obrotów silników.

Ten moduł jest idealny dla budowanie robotów oraz projekty związane z przenoszeniem lądu, takie jak samochody zabawkowe.

Zobaczmy szczegóły techniczne modułu L298N.

szczegóły techniczne modułu L298N.

Opis pinów:

· Po lewej stronie znajdują się porty OUT1 i OUT2, które służą do podłączenia silnika prądu stałego. Podobnie OUT3 i OUT4 dla innego silnika prądu stałego.

· ENA i ENB są pinami włączającymi, podłączając ENA do wysokiego lub + 5V włącza port OUT1 i OUT2. Jeśli podłączysz pin ENA do niskiego lub uziemienia, wyłącza OUT1 i OUT2. Podobnie dla ENB i OUT3 i OUT4.

· IN1 do IN4 to piny wejściowe, które zostaną podłączone do Arduino. Jeśli wprowadzisz IN1 + Ve i IN2 –Ve z mikrokontrolera lub ręcznie, OUT1 zmieni stan na wysoki, a OUT2 na niski, dzięki czemu możemy napędzać silnik.

· Jeśli wprowadzisz IN3 w stan wysoki, OUT4 zmieni stan na wysoki, a jeśli wprowadzisz IN4 w stanie niskim OUT3 będzie miał stan niski, możemy teraz napędzać inny silnik.

· Jeśli chcesz odwrócić kierunek obrotów silnika, po prostu zamień polaryzację IN1 i IN2, podobnie dla IN3 i IN4.

· Stosując sygnał PWM do ENA i ENB można sterować prędkością silników na dwóch różnych portach wyjściowych.

· Karta akceptuje nominalnie od 7 do 12V. Możesz wprowadzić zasilanie na zacisk + 12V i masę do 0V.

· Terminal + 5V to OUTPUT, który w razie potrzeby może służyć do zasilania Arduino lub dowolnego innego modułu.

Zworki:

Istnieją trzy zworki, które można przewinąć w górę, patrz ilustrowany obraz.

Wszystkie zworki zostaną podłączone początkowo, usuń lub zachowaj zworkę w zależności od potrzeb.

Zworka 1 (patrz ilustracja):

· Jeśli silnik potrzebuje zasilania większego niż 12 V, należy odłączyć zworkę 1 i przyłożyć żądane napięcie (maksymalnie 35 V) do zacisku 12 V. Przynieś kolejny Zasilanie 5V i wejście na zacisku + 5V. Tak, musisz wprowadzić 5 V, jeśli chcesz zastosować więcej niż 12 V (gdy zworka 1 jest zdjęta).

· Wejście 5 V służy do prawidłowego funkcjonowania układu scalonego, ponieważ usunięcie zworki wyłączy wbudowany regulator 5 V i ochroni przed wyższym napięciem wejściowym z zacisku 12 V.

· Zacisk + 5 V działa jako wyjście, jeśli napięcie zasilania wynosi od 7 do 12 V i działa jako wejście, jeśli zastosujesz więcej niż 12 V i zworka zostanie usunięta.

· Większość projektów wymaga jedynie napięcia silnika poniżej 12 V, więc zachowaj zworkę tak, jak jest i użyj zacisku + 5V jako wyjścia.

Zworka 2 i Zworka 3 (patrz ilustracja):

· Jeśli usuniesz te dwie zworki, musisz wprowadzić sygnał włączający i wyłączający z mikrokontrolera, większość użytkowników preferuje usunięcie tych dwóch zworek i podanie sygnału z mikrokontrolera.

· Jeśli zachowasz dwie zworki, wyjścia OUT1 do OUT4 będą zawsze włączone. Pamiętaj o zworce ENA dla OUT1 i OUT2. Zworka ENB dla OUT3 i OUT4.

Zobaczmy teraz praktyczny obwód, jak możemy interfejsy silników, Arduino i dostarczyć do modułu sterownika.

Schematyczny:

schemat ideowy modułu L298N.

Powyższy obwód można wykorzystać do autka, jeśli odpowiednio zmienisz kod i dodasz joystick.

Wystarczy zasilić moduł L289N, a moduł będzie zasilał Arduino przez terminal Vin.

Powyższy obwód będzie obracał oba silniki zgodnie z ruchem wskazówek zegara przez 3 sekundy i zatrzymał się na 3 sekundy. Następnie silnik będzie się obracał w kierunku przeciwnym do ruchu wskazówek zegara przez 3 sekundy i zatrzyma się na 3 sekundy. To demonstruje działanie mostka H.

Następnie oba silniki zaczną powoli obracać się w kierunku przeciwnym do ruchu wskazówek zegara, stopniowo zwiększając prędkość do maksimum i stopniowo zmniejszając prędkość do zera. Pokazuje to sterowanie prędkością silników przez PWM.

Program:

//----------------Program developed by R.GIRISH--------------//
const int Enable_A = 9
const int Enable_B = 10
const int inputA1 = 2
const int inputA2 = 3
const int inputB1 = 4
const int inputB2 = 5
void setup()
{
pinMode(Enable_A, OUTPUT)
pinMode(Enable_B, OUTPUT)
pinMode(inputA1, OUTPUT)
pinMode(inputA2, OUTPUT)
pinMode(inputB1, OUTPUT)
pinMode(inputB2, OUTPUT)
}
void loop()
{
//----Enable output A and B------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
//----------Run motors-----------//
digitalWrite(inputA1, HIGH)
digitalWrite(inputA2, LOW)
digitalWrite(inputB1 , HIGH)
digitalWrite(inputB2, LOW)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//-------Reverse Motors----------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
digitalWrite(inputA1, LOW)
digitalWrite(inputA2, HIGH)
digitalWrite(inputB1 , LOW)
digitalWrite(inputB2, HIGH)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//----------Speed rise----------//
for(int i = 0 i < 256 i++)
{
analogWrite(Enable_A, i)
analogWrite(Enable_B, i)
delay(40)
}
//----------Speed fall----------//
for(int j = 256 j > 0 j--)
{
analogWrite(Enable_A, j)
analogWrite(Enable_B, j)
delay(40)
}
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
}
//----------------Program developed by R.GIRISH--------------//

Prototyp autora:

Prototyp obwodu sterownika silnika Arduino wykorzystujący moduł L298N.

Jeśli masz jakieś pytania dotyczące tego projektu sterownika silnika prądu stałego L298N, możesz śmiało wyrazić je w sekcji komentarzy, możesz otrzymać szybką odpowiedź.




Poprzedni: Obwód wielu ładowarek akumulatorów za pomocą kondensatora zrzutowego Dalej: Sterowany joystickiem samochód RC 2,4 GHz przy użyciu Arduino