Spisu treści:
- Krok 1: Wymagane części
- Krok 2: Płytka zaciskowa TB6612FNG
- Krok 3: Wyjścia pinów
- Krok 4: Schematy
- Krok 5: Okablowanie
- Krok 6: Pobieranie i instalacja biblioteki
- Krok 7: Uruchamianie przykładowego kodu
- Krok 8: Wyjaśnienie biblioteki
Wideo: Prowadzenie małych silników za pomocą TB6612FNG: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
TB6612FNG to układ scalony sterownika podwójnego silnika firmy Toshiba. Istnieje wiele tablic zaciskowych i jest to jeden z najpopularniejszych wyborów do napędzania małych silników.
Istnieje wiele zasobów internetowych na temat rozpoczęcia pracy z TB6612FNG, ale postanowiłem to napisać, aby lepiej skompilować to, na co natknąłem się.
Skoncentruję się na logice sterowania, a także szczegółowo wyjaśnię bibliotekę sterowników silników Sparkfun TB6612FNG w tej instrukcji.
Krok 1: Wymagane części
Oto, czego będziemy dzisiaj używać:
1) Silniki Micro Metal
2) Sterownik silnika TB6612FNG
3) Kabel Arduino i USB
4) Źródło zasilania silników
5) Deska do krojenia chleba
6) przewody połączeniowe
Krok 2: Płytka zaciskowa TB6612FNG
Jak wspomniałem wcześniej, dla TB6612FNG dostępnych jest wiele płytek typu breakout różnych producentów. Wszystkie mają na sobie mniej więcej te same elementy, a także podobny pinout.
Kondensatory są przylutowane do płytki w celu ochrony przed hałasem z silników, więc nie będziesz musiał lutować tych ceramicznych kondensatorów do silników.
Układ scalony jest również wyposażony w wewnętrzne diody chroniące przed wstecznym polem elektromagnetycznym silników. Ale posiadanie dodatkowych środków bezpieczeństwa nikomu nie szkodzi. Nie dodałem ich bo moje silniki nie są zbyt duże i brakuje mi diod:|
Krok 3: Wyjścia pinów
Płytka zaciskowa TB6612FNG ma bardzo wygodny pinout. Wszystkie wyjścia silnika, wejścia i złącza zasilania są ładnie zgrupowane, aby zapewnić maksymalną łatwość użytkowania.
Zrobiłem ilustrację wyprowadzeń i sposobu ich podłączenia, mam nadzieję, że przyda się przy podłączaniu wszystkich tych przewodów:)
Krok 4: Schematy
Jestem całkiem nowy w używaniu Fritzing. Uważam, że schematy obwodów z Fritzinga są dość trudne do zrozumienia, ale widok płytki prototypowej jest wygodny dla Instructables. Nie wahaj się zadawać pytań, jeśli którekolwiek z połączeń przewodowych wygląda na mylące.
Krok 5: Okablowanie
Połącz wszystko według schematów. Jest dużo przewodów, upewnij się, że sprawdzasz dwukrotnie po każdym połączeniu.
Do wejść sterownika silnika użyłem następujących pinów Arduino:
Sterownik silnika -> Numer pinu Arduino
1) PWMA -> 5
2) INA1 -> 2
3) INA2 -> 4
4) PWMB -> 6
5) INB1 -> 7
6) INB2 -> 8
Rzeczy, które mogą pójść nie tak w tym kroku: 1) Nie odwracaj polaryzacji podczas podłączania Vm i GND ze źródła zasilania. Możesz usmażyć swojego kierowcę silnika.
2) Upewnij się, że podłączyłeś PWMA i PWMB do pinów PWM na arduino.
3) Pamiętaj, aby połączyć Arduino GND i GND ze sterownika silnika, jeśli używasz innego źródła zasilania dla każdego z nich.
Krok 6: Pobieranie i instalacja biblioteki
Pobierz bibliotekę ze strony GitHub Sparkfun.
Po pobraniu pliku zip otwórz swoje Arduino IDE.
Wybierz opcję Szkic > Dołącz bibliotekę > Dodaj bibliotekę. Zip i dodaj pobraną bibliotekę.
Po pomyślnym zainstalowaniu powinien pojawić się w Plik> Przykłady, jako „Biblioteka silników SparkFun TB6612FNG”
Jeśli masz trudności z pobraniem i zainstalowaniem biblioteki Arduino, zapoznaj się z krokiem 5 tej instrukcji.
Krok 7: Uruchamianie przykładowego kodu
Teraz, gdy mamy gotową bibliotekę, możemy przesłać przykładowy kod, aby ją przetestować.
1) Otwórz przykład 'MotorTestRun' z biblioteki 'Sparkfun TB6612FNG Motor Driver Library' wymienionej w twoich bibliotekach.
Uwaga: Jeśli nie używasz tych samych numerów pinów, o których mowa w kroku 5, pamiętaj, aby zmienić definicje pinów zgodnie z konfiguracją.
2) Wybierz swoją tablicę z menedżera zarządu
3) Prześlij swój kod, a silniki powinny zacząć się poruszać
Po przesłaniu silniki powinny zacząć się poruszać. Jeśli nie, sprawdź ponownie okablowanie.
Krok 8: Wyjaśnienie biblioteki
Teraz wyjaśnię, jak wykorzystać bibliotekę do własnego kodu.
Najpierw zacznij od zaimportowania biblioteki i inicjalizacji pinów na arduino
#włączać
#zdefiniuj AIN1 2 #zdefiniuj AIN2 4 #zdefiniuj PWMA 5 #zdefiniuj BIN1 7 #zdefiniuj BIN2 8 #zdefiniuj PWMB 6#zdefiniuj STBY 9
Aby zainicjować obiekty silnika, musisz ustawić przesunięcia dla każdego silnika. Wyobraź sobie, że wykonujesz polecenie do przodu na silniku, który kręci się w odwrotnym kierunku. Możesz go ręcznie przełączyć lub możesz po prostu zmienić przesunięcie z tego miejsca. Sprytny mały hack QoL dodany przez SparkFun. Wartości tych przesunięć to 1 lub -1.
Następnie musisz zainicjować każdy z silników z następującymi parametrami;
Silnik = Silnik (pin 1, pin 2, pin PWM, przesunięcie, pin czuwania)
const int offsetA = 1;
const int offsetB = 1; Motor motor1 = Motor (AIN1, AIN2, PWMA, offsetA, STBY);
I na tym kończysz inicjowanie biblioteki. Nigdy więcej kroków w funkcji setup(), po prostu uruchamiamy kod w funkcji loop().
Metoda motoryczna ma następujące funkcje. Majsterkuj, aby sprawdzić je wszystkie.
1).drive(wartość, czas)
Motor_name = nazwa twojego obiektu motorvalue= 255 do -255; wartości ujemne spowodują ruch silnika w odwrotnym czasie = czas w milisekundach
2).hamulec()
Funkcja hamulca nie bierze żadnych argumentów, hamuje silniki.
3) hamulec(, <nazwa_silnika2)
Funkcja hamulca przyjmuje nazwy obiektów silnika jako argumenty. Hamuje silniki przekazane do funkcji.
4) do przodu(,, czas) do przodu(,, prędkość, czas)
Funkcja przyjmuje dwie nazwy obiektu silnika, opcjonalnie prędkość PWM i czas w milisekundach i uruchamia silnik w kierunku do przodu przez upłynięty czas. Jeśli wartość prędkości jest ujemna, silnik pojedzie do tyłu. Domyślna prędkość jest ustawiona na 255.
5) wstecz(,, czas) wstecz(,, prędkość, czas)
Funkcja przyjmuje dwie nazwy obiektów silnika, opcjonalnie prędkość PWM i czas w milisekundach i uruchamia silnik w kierunku do przodu przez upływający czas. Jeśli wartość prędkości jest ujemna, silnik pojedzie do przodu. Domyślna prędkość jest ustawiona na 255.
6) lewo(,, prędkość) prawo(,, prędkość)
Funkcja akceptuje dwie nazwy obiektów silnika i prędkość. Ważna jest kolejność obiektów motorycznych przekazywanych jako parametry. Aby sterować pojedynczymi silnikami, użyj zamiast tego.drive().
Zalecana:
Tester silników DC i krokowych: 12 kroków (ze zdjęciami)
Tester silników prądu stałego i krokowego: Kilka miesięcy temu mój przyjaciel dał mi kilka porzuconych drukarek atramentowych i kserokopiarek. Byłem zainteresowany zebraniem ich jednostek zasilających, kabli, czujników, a zwłaszcza silników. Uratowałem, co mogłem i chciałem przetestować wszystkie pa
Prowadzenie pasa startowego lotniska LED: 7 kroków
Running LED Airport Runway: To jest wersja i inspiracja z https://www.instructables.com/id/Running-LEDs-Ardu… Zmieniam kod źródłowy, aby światło migało tam i z powrotem i było wolniejsze. to ręcznie robiony model pasa startowego lotniska
Prowadzenie taśmy LED RGB za pomocą Arduino: 4 kroki
Prowadzenie taśmy LED RGB Za pomocą Arduino: Hi Guys w tej instrukcji wykonamy obwód do uruchomienia taśmy ledowej 12V RGB z arduino. Ponieważ wiemy, że arduino nie ma wystarczającej mocy, aby uruchomić pasek led RGB, więc musimy wzmocnić sygnał arduino, aby zasilić pasek Led z innego źródła, więc będziemy
Co zrobić z losowymi kolekcjami silników: Projekt 2: Wirujące światła (model UFO): 12 kroków (ze zdjęciami)
Co zrobić z kolekcjami losowych silników: Projekt 2: Wirujące światła (model UFO): Więc nadal mam kolekcję losowych silników… Co mam zrobić? Cóż, pomyślmy. Co powiesz na spinner LED? (Nie trzymane w ręku, przepraszam miłośników fidget spinner.) Wygląda trochę jak UFO, brzmi jak mieszanka chwastów i blendera
Korzystanie z silników z układem scalonym L293D: 6 kroków (ze zdjęciami)
Używanie silników z układem scalonym L293D: Jest to krótki przewodnik z kilkoma dodatkowymi informacjami (konfiguracje pinów itp.), których nauczyłem się po drodze, jak używać L293D z Arduino, pokazując, że możemy: A) Używać dodatkowe źródło zasilania do zasilania silnika prądu stałego.B) Użyj L293D c