İçindekiler:
- Adım 1: Gerekli Parçalar
- 2. Adım: TB6612FNG Breakout Board
- Adım 3: Pin Çıkışları
- Adım 4: Şemalar
- Adım 5: Kablolama
- Adım 6: Kitaplığı İndirme ve Yükleme
- Adım 7: Örnek Kodu Çalıştırma
- Adım 8: Açıklanan Kitaplık
Video: TB6612FNG ile Küçük Motorları Sürüş: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
TB6612FNG, Toshiba'nın çift motorlu sürücü IC'sidir. Bunun için çok sayıda devre kartı var ve küçük motorları sürmek için en popüler seçeneklerden biri.
TB6612FNG'yi kullanmaya başlamak için pek çok çevrimiçi kaynak var ama karşılaştığımı daha iyi derlemek için yine de bunu yazmaya karar verdim.
Kontrol mantığına odaklanacağım ve ayrıca bu talimatta Sparkfun TB6612FNG motor sürücü kitaplığını ayrıntılı olarak açıklayacağım.
Adım 1: Gerekli Parçalar
İşte bugün kullanacağımız şey:
1) Mikro Metal motorlar
2) TB6612FNG motor sürücüsü
3) Bir Arduino ve USB kablosu
4) Motorlar için güç kaynağı
5) ekmek tahtası
6) Atlama telleri
2. Adım: TB6612FNG Breakout Board
Daha önce de belirttiğim gibi, TB6612FNG için farklı üreticilerin çok sayıda devre kartı var. Hepsinin üzerinde aşağı yukarı aynı bileşenler ve benzer pinoutlar var.
Kondansatörler, motorlardan gelen gürültüye karşı koruma için karta lehimlenmiştir, bu nedenle bu seramik kapasitörleri motorlara lehimlemeniz gerekmeyecektir.
IC ayrıca motorlardan gelen arka EMF'den korumak için dahili diyotlarla birlikte gelir. Ancak ekstra güvenlik önlemleri almak kimseye zarar vermez. Motorlarım çok büyük olmadığı ve diyotlarım yetersiz olduğu için eklemedim:|
Adım 3: Pin Çıkışları
TB6612FNG devre kartı çok rahat bir pin çıkışına sahiptir. Tüm motor çıkışları, girişleri ve güç bağlantıları, maksimum kullanım kolaylığı için güzel bir şekilde gruplandırılmıştır.
Pinout'ların ve nasıl bağlanacağının bir illüstrasyonunu yaptım, umarım tüm bu kabloları bağlarken işe yarar:)
Adım 4: Şemalar
Fritzing'i kullanmakta oldukça yeniyim. Fritzing'in devre şemalarını anlamak oldukça zor, ancak devre tahtası görünümü Eğitilebilirler için uygundur. Kablo bağlantılarından herhangi biri kafa karıştırıcı görünüyorsa, herhangi bir soru sormaktan çekinmeyin.
Adım 5: Kablolama
Her şeyi şemalara göre bağlayın. Çok fazla kablo var, her bağlantıdan sonra iki kez kontrol ettiğinizden emin olun.
Motor sürücü girişleri için aşağıdaki Arduino Pinlerini kullandım:
Motor Sürücüsü -> Arduino Pin Numarası
1) PWMA -> 5
2) INA1 -> 2
3) INA2 -> 4
4) PWMB -> 6
5) INB1 -> 7
6) INB2 -> 8
Bu adımda ters gidebilecek şeyler:1) Vm ve GND'yi güç kaynağından bağlarken kutupları ters çevirmeyin. Motor sürücünüzü kızartabilirsiniz.
2) PWMA ve PWMB'yi arduino üzerindeki PWM pinlerine bağladığınızdan emin olun.
3) Her biri için farklı bir güç kaynağı kullanıyorsanız, motor sürücüsünden Arduino GND ve GND'yi bağlamayı unutmayın.
Adım 6: Kitaplığı İndirme ve Yükleme
Kitaplığı Sparkfun'un GitHub sayfasından indirin.
Zip dosyasını indirdikten sonra Arduino IDE'nizi açın.
Sketch > Kitaplığı Dahil Et >. Zip Kitaplığı Ekle'den indirdiğiniz kitaplığı ekleyin.
Başarılı bir şekilde kurulduktan sonra, Dosya > Örnekler'de 'SparkFun TB6612FNG Motor Kitaplığı' olarak görünmelidir.
Bir Arduino Kitaplığı indirirken ve kurarken sorun yaşıyorsanız, bu talimatın 5. adımına bakın.
Adım 7: Örnek Kodu Çalıştırma
Artık kitaplığımız hazır olduğuna göre, test etmek için örnek kodu yükleyebiliriz.
1) Kitaplıklarınızda listelenen 'Sparkfun TB6612FNG Motor Sürücü Kitaplığı'ndan 'MotorTestRun' örneğini açın.
Not: Adım 5'te belirtilen pin numaralarını kullanmıyorsanız, pin tanımlarını kurulumunuza göre değiştirdiğinizden emin olun.
2) Pano yöneticisinden panonuzu seçin
3) Kodunuzu yükleyin ve motorlar hareket etmeye başlasın
Yükledikten sonra motorlar hareket etmeye başlamalıdır. Değillerse, kablolamanızı tekrar kontrol edin.
Adım 8: Açıklanan Kitaplık
Şimdi kendi kod parçanız için kütüphaneyi nasıl kullanacağınızı açıklayalım.
İlk önce kütüphaneyi içe aktararak ve arduino'daki pinleri başlatarak başlayın
#Dahil etmek
#define AIN1 2 #define AIN2 4 #define PWMA 5 #define BIN1 7 #define BIN2 8 #define PWMB 6#define STBY 9
Motor nesnelerinizi başlatmak için her motor için ofset ayarlamanız gerekir. Motorunuzda bir ileri komutu yaptığınızı ve motorun tersine döndüğünü hayal edin. Manuel olarak yeniden bağlayabilir veya ofseti buradan değiştirebilirsiniz. SparkFun tarafından eklenen şık küçük QoL hack. Bu ofsetlerin değerleri ya 1 ya da -1'dir.
Daha sonra Motorların her birini aşağıdaki parametrelerle başlatmanız gerekir;
Motor = Motor(Pin 1, Pin 2, PWM pini, ofset, Bekleme pini)
const int offsetA = 1;
const int offsetB = 1; Motor motor1 = Motor(AIN1, AIN2, PWMA, offsetA, STBY);
Ve bununla, kütüphaneyi başlatmayı bitirdiniz. setup() işlevinde daha fazla adım yok, sadece kodu loop() işlevinde çalıştırıyoruz.
Motor yöntemi aşağıdaki işlevlere sahiptir. Hepsini kontrol etmek için etrafta dolaşın.
1).drive(değer, zaman)
Motor_name = motorunuzun adı nesnedeğeri= 255 - -255; negatif değerler motorun ters zamanda hareket etmesini sağlar= milisaniye cinsinden süre
2).fren()
Fren fonksiyonu herhangi bir argüman almaz, motorları frenler.
3) fren(, <motor_adı2)
Fren işlevi, motor nesne adlarını argüman olarak alır. Fonksiyona geçirilen motorları frenler.
4) ileri (,, zaman) ileri (,, hız, zaman)
Fonksiyon, isteğe bağlı olarak milisaniye cinsinden PWM hızı ve zamanı olmak üzere iki motor nesnesinin adını kabul eder ve geçen süre boyunca motoru ileri yönde çalıştırır. Hız değeri negatif ise motor geri gider. Varsayılan hız 255 olarak ayarlanmıştır.
5) geri(,, zaman) geri(,, hız, zaman)
Fonksiyon, isteğe bağlı olarak milisaniye cinsinden PWM hızı ve zamanı olmak üzere iki motor nesnesinin adını kabul eder ve geçen süre boyunca motoru ileri yönde çalıştırır. Hız değeri negatif ise motor ileri gidecektir. Varsayılan hız 255 olarak ayarlanmıştır.
6) sol(,, hız) sağ(,, hız)
İşlev, iki motor nesnesi adını ve hızını kabul eder. Parametre olarak geçirilen motor nesnelerinin sırası önemlidir. Tek motorları sürmek için bunun yerine.drive() kullanın.
Önerilen:
Servo Motorları Moto:bit Kullanarak Mikro:bit İle Çalıştırma: 7 Adım (Resimlerle)
Servo Motorları Moto:bit Kullanarak Mikro:bit İle Çalıştırma: micro:bit'in işlevselliğini genişletmenin bir yolu, SparkFun Electronics tarafından moto:bit adlı bir kart kullanmaktır (yaklaşık 15-20$). Karmaşık görünüyor ve birçok özelliği var, ancak ondan servo motor çalıştırmak zor değil. Moto:bit şunları yapmanızı sağlar
CloudX Mikrodenetleyici Kullanarak L298N ile DC Motorları Kontrol Etme: 3 Adım
DC Motorları L298N ile CloudX Mikrodenetleyici Kullanarak Kontrol Etme: Bu projede, DC motorun hızını artırmak ve azaltmak için L298N H-köprümüzün nasıl kullanılacağını açıklayacağız. L298N H-köprü modülü, voltajı 5 ile 35V DC arasında olan motorlarla kullanılabilir. Ayrıca yerleşik bir 5V regülatörü vardır, yani eğer
Pike - Daha Güvenli Sürüş, Daha Akıllı Sürüş, Bir Pike Sürme!: 5 Adım
Pike - Daha Güvenli Sür, Daha Akıllı Sür, Pike Sür!: Pike adlı projeme hoş geldiniz! Bu, eğitimimin bir parçası olan bir projedir. Belçika'da Howest'te NMCT öğrencisiyim. Amaç, bir Raspberry Pi kullanarak akıllı bir şey yapmaktı. Akıllı hale getirmek istediğimiz tam bir özgürlüğümüz vardı. Benim için
Küçük Robotlar İnşa Etmek: Bir İnç Kübik Mikro Sumo Robotlar ve Daha Küçük Yapmak: 5 Adım (Resimlerle)
Küçük Robotlar İnşa Etmek: Bir İnç Kübik Mikro-Sumo Robotlar ve Daha Küçük Yapmak: İşte küçük robotlar ve devreler inşa etmeyle ilgili bazı ayrıntılar. Bu talimat, her boyutta robot yapımında faydalı olan bazı temel ipuçlarını ve teknikleri de kapsayacaktır. Benim için elektronikteki en büyük zorluklardan biri, bir robotun ne kadar küçük olduğunu görmek
Motorları L293D IC ile Kullanma: 6 Adım (Resimlerle)
Motorları L293D IC ile Kullanma: Bu, L293D'nin Arduino ile nasıl kullanılacağına dair yol boyunca öğrendiğim biraz ekstra bilgi (pin konfigürasyonları vb.) içeren hızlı bir kılavuzdur ve şunları yapabileceğimizi gösterir: A) Kullanım DC motora güç sağlamak için ek bir güç kaynağı.B) L293D c'yi kullanın