L298N DC Motor Sürücü Modülü Açıklaması

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda, fırçalanmış DC motorları ve mikrodenetleyicilere ve IC'lere sahip step motorları sürmek için kullanılabilecek L298N çift H köprülü DC motor sürücü modülü hakkında bilgi edineceğiz.

Genel Bakış

Modüler devre kartları, prototipleme hatalarını da azaltan elektronik tasarımcıları için en iyi zaman kurtarıcıdır. Bu daha çok mikrodenetleyiciler için kod yazan programcılar tarafından tercih edilir ve zamanlarının çoğunu bilgisayarın önüne kodlar yazarak geçirir ve ayrık elektronik bileşenleri lehimlemek için daha az zamanı vardır.



Bu nedenle, sadece Arduino kartları için yapılmış tonlarca farklı modüler devre bulabiliriz, arayüz oluşturmak kolaydır ve prototipimizi tasarlarken en az donanım hatası avantajına sahiptir.

L298N modülünün resmi:

L298N modülünün resmi:



Modül, IC L298N temel alınarak oluşturulmuştur ve genellikle E-ticaret web sitelerinde bulunur.

Kullanırız DC motor sürücüleri çünkü IC'ler ve mikrodenetleyiciler genel olarak 100 miliamperden fazla akım veremezler. Mikrodenetleyiciler akıllıdır ancak güçlü değildir, bu modül Arduino, IC'ler ve diğer mikrodenetleyicilere yüksek güçlü DC motorları sürmek için bazı kaslar katacaktır.

Her biri 2 ampere kadar 2 DC motoru veya bir step motoru aynı anda kontrol edebilir. Yapabiliriz hızı kontrol et PWM'yi ve ayrıca motorların dönüş yönünü kullanarak.

Bu modül aşağıdakiler için idealdir: bina robotları ve oyuncak arabalar gibi karada taşıma projeleri.

L298N modülünün teknik ayrıntılarına bakalım.

L298N modülünün teknik detayları.

Pin açıklaması:

· Sol tarafta DC motoru bağlamak için OUT1 ve OUT2 portları vardır. Benzer şekilde, başka bir DC motor için OUT3 ve OUT4.

· ENA ve ENB etkin pinlerdir, ENA'yı yüksek veya + 5V'a bağlayarak OUT1 ve OUT2 portlarını etkinleştirir. ENA pinini düşük veya toprağa bağlarsanız, OUT1 ve OUT2'yi devre dışı bırakır. Benzer şekilde, ENB ve OUT3 ve OUT4 için.

· IN1 ila IN4, Arduino'ya bağlanacak giriş pinleridir. IN1 + Ve ve IN2 –Ve'yi mikrodenetleyiciden veya manuel olarak girerseniz OUT1 yüksek ve OUT2 düşük döner, böylece motoru çalıştırabiliriz.

· IN3 yüksek girerseniz, OUT4 yüksek olur ve IN4 düşük girerseniz OUT3 düşük olur, şimdi başka bir motoru sürebiliriz.

· Motorun dönüş yönünü tersine çevirmek istiyorsanız, IN1 ve IN2 kutuplarını ters çevirin, benzer şekilde IN3 ve IN4 için.

· ENA ve ENB'ye PWM sinyali uygulayarak motorların hızını iki farklı çıkış portunda kontrol edebilirsiniz.

· Kart nominal olarak 7'den 12V'a kadar kabul edebilir. Gücü + 12V terminalinde ve topraklamayı 0V'a girebilirsiniz.

· + 5V terminali, gerekirse Arduino veya başka bir modüle güç sağlamak için kullanılabilen OUTPUT'tur.

Süveter:

Yukarı kaydırabileceğiniz üç jumper pini vardır, gösterilen resme bakın.

İhtiyacınıza bağlı olarak başlangıçta tüm jumper'lar bağlanacaktır, jumper'ı çıkarın veya saklayın.

Atlama teli 1 (gösterilen resme bakın):

· Motorunuz 12V'den fazla beslemeye ihtiyaç duyuyorsanız, jumper 1'in bağlantısını kesmeniz ve 12v terminalinde istenen voltajı (maksimum 35V) uygulamanız gerekir. Başka getir 5V besleme ve + 5V terminalinde giriş. Evet, 12V'den fazlasını uygulamanız gerekiyorsa 5V girmelisiniz (atlama teli 1 kaldırıldığında).

· 5V girişi IC'nin düzgün çalışması içindir, çünkü jumper'ı çıkarmak dahili 5v regülatörü devre dışı bırakacak ve 12v terminalinden daha yüksek giriş voltajından koruyacaktır.

· + 5V terminali, beslemeniz 7 ile 12V arasındaysa çıkış görevi görür ve 12V'den fazla uygularsanız ve jumper çıkarılırsa giriş görevi görür.

· Projelerin çoğu sadece 12V'nin altında motor voltajına ihtiyaç duyar, bu nedenle jumper'ı olduğu gibi tutun ve çıkış olarak + 5V terminali kullanın.

Atlama teli 2 ve Atlama teli 3 (gösterilen resme bakın):

· Bu iki atlama telini kaldırırsanız, mikro denetleyiciden gelen etkinleştirme ve devre dışı bırakma sinyalini girmeniz gerekir, kullanıcıların çoğu iki atlama telini çıkarmayı ve sinyali mikro denetleyiciden uygulamayı tercih eder.

· İki atlama telini tutarsanız, OUT1 - OUT4 arası her zaman etkinleştirilecektir. OUT1 ve OUT2 için ENA atlama telini hatırlayın. OUT3 ve OUT4 için ENB atlama teli.

Şimdi pratik bir devre görelim, nasıl yapabiliriz arayüz motorları, Arduino ve sürücü modülüne besleme.

Şematik:

L298N modülünün şematik diyagramı.

Kodu uygun şekilde değiştirirseniz ve bir joystick eklerseniz yukarıdaki devre oyuncak arabalar için kullanılabilir.

Sadece L289N modülüne güç vermeniz yeterlidir ve modül Arduino'ya Vin terminali üzerinden güç sağlayacaktır.

Yukarıdaki devre her iki motoru da 3 saniye saat yönünde döndürecek ve 3 saniye duracaktır. Bundan sonra motor 3 saniye saat yönünün tersine dönecek ve 3 saniye duracaktır. Bu, H köprüsünün iş başında olduğunu göstermektedir.

Bundan sonra, her iki motor da yavaş yavaş saat yönünün tersine dönmeye başlayacak ve hızı kademeli olarak maksimuma çıkaracak ve hızı kademeli olarak sıfıra indirecektir. Bu, PWM tarafından motorların hız kontrolünü gösterir.

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--------------//

Yazarın prototipi:

L298N modülü kullanılarak motor sürücü devresinin Arduino prototipi.

Bu L298N DC motor sürücü projesiyle ilgili herhangi bir sorunuz varsa, yorum bölümünde ifade etmekten çekinmeyin, hızlı bir yanıt alabilirsiniz.




Önceki: Boşaltma Kapasitörünü kullanan Çoklu Akü Şarj Devresi Sonraki: Arduino Kullanarak Joystick Kontrollü 2.4 GHz RC Araba