- Tworzenie graficznego interfejsu użytkownika MATLAB do sterowania silnikiem prądu stałego
- Kod MATLAB do sterowania silnikiem prądu stałego za pomocą Arduino
- Wymagany materiał
- Schemat obwodu
- Sterowanie silnikiem DC za pomocą MATLAB
W tym samouczku pokażemy, jak sterować silnikiem prądu stałego za pomocą MATLB i Arduino. Jeśli nie masz doświadczenia z MATLABem, zalecamy rozpoczęcie od prostego programu migania diod LED z MATLAB-em.
Tworzenie graficznego interfejsu użytkownika MATLAB do sterowania silnikiem prądu stałego
Po zakończeniu konfiguracji z Arduino dla MATLAB, musimy zbudować GUI (graficzny interfejs użytkownika) do sterowania silnikiem prądu stałego. Aby uruchomić GUI, wpisz poniższe polecenie w oknie poleceń
przewodnik
Otworzy się wyskakujące okienko, a następnie wybierz nowy pusty GUI, jak pokazano na poniższym obrazku,
Teraz wybierz trzy przyciski do obrotu w prawo, w lewo i STOP, jak pokazano poniżej,
Aby zmienić rozmiar lub kształt przycisku, po prostu kliknij go, a będziesz mógł przeciągać rogi przycisku. Dwukrotne kliknięcie przycisku pozwala zmienić kolor, ciąg i tag tego konkretnego przycisku. Dostosowaliśmy trzy przyciski, jak pokazano na poniższym obrazku.
Możesz dostosować przyciski według własnego wyboru. Teraz, kiedy to zapiszesz, kod zostanie wygenerowany w oknie edytora MATLAB-a. Aby zakodować Arduino do wykonywania dowolnego zadania związanego z projektem, zawsze musisz edytować ten wygenerowany kod. Więc poniżej zmieniliśmy kod MATLAB.
Kod MATLAB do sterowania silnikiem prądu stałego za pomocą Arduino
Kompletny kod MATLAB-a, po edycji do sterowania silnikiem prądu stałego, jest podany na końcu tego projektu. Ponadto dołączamy plik GUI (.fig) i plik kodu (.m) do pobrania, za pomocą którego można dostosować przyciski zgodnie z wymaganiami. Poniżej znajduje się kilka poprawek, które zrobiliśmy, aby obrócić silnik prądu stałego zgodnie z ruchem wskazówek zegara, przeciwnie do ruchu wskazówek zegara i zatrzymać za pomocą trzech przycisków.
Skopiuj i wklej poniższy kod w linii nr. 74, aby upewnić się, że Arduino rozmawia z MATLABem za każdym razem, gdy uruchamiasz plik m.
Wyczyść wszystko; globalny a; a = arduino ();
Kiedy przewiniesz w dół, zobaczysz, że dla każdego przycisku w GUI są trzy funkcje. Teraz napisz kod w każdej funkcji zgodnie z zadaniem, które chcesz wykonać po kliknięciu.
W funkcji przycisku Zgodnie z ruchem wskazówek zegara skopiuj i wklej poniższy kod tuż przed końcowymi nawiasami klamrowymi funkcji, aby obrócić silnik w kierunku zgodnym z ruchem wskazówek zegara. Tutaj podajemy WYSOKI na pinie 6 i NISKI na pinie 5, aby obrócić silnik w kierunku zgodnym z ruchem wskazówek zegara.
globalny a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 1); pauza (0,5);
Teraz w funkcji przycisku przeciwnie do ruchu wskazówek zegara wklej poniższy kod na końcu funkcji, aby obrócić silnik w kierunku przeciwnym do ruchu wskazówek zegara. Tutaj podajemy WYSOKI na pinie 5 i NISKI na pinie 6, aby obrócić silnik w kierunku przeciwnym do ruchu wskazówek zegara.
globalny a; writeDigitalPin (a, 'D5', 1); writeDigitalPin (a, 'D6', 0); pauza (0,5);
Wreszcie w funkcji przycisku STOP wklej poniższy kod na końcu, aby zatrzymać obrót silnika. Tutaj podajemy LOW na obu pinach 5 i 6, aby zatrzymać silnik.
globalny a; writeDigitalPin (a, 'D5', 0); writeDigitalPin (a, 'D6', 0); pauza (0,5);
Wymagany materiał
- Zainstalowany laptop MATLAB (preferencja: wersje R2016a lub nowsze)
- Arduino UNO
- Silnik prądu stałego
- L293D - sterownik silnika
Schemat obwodu
Sterowanie silnikiem DC za pomocą MATLAB
Po skonfigurowaniu sprzętu zgodnie ze schematem obwodu, wystarczy kliknąć przycisk Uruchom, aby uruchomić edytowany kod w pliku.m
MATLAB może odpowiedzieć kilka sekund, nie klikaj żadnego przycisku GUI, dopóki MATLAB nie pokaże komunikatu ZAJĘTY, który możesz zobaczyć w lewym dolnym rogu ekranu, jak pokazano poniżej,
Kiedy wszystko będzie gotowe, kliknij przycisk w prawo lub w lewo, aby obrócić silnik. Po naciśnięciu przycisku Zgodnie z ruchem wskazówek zegara prąd przepływa przez styk 6 do styku 5, a silnik będzie się obracał w kierunku zgodnym z ruchem wskazówek zegara, podczas gdy prąd w kierunku przeciwnym do ruchu wskazówek zegara przepływa przez styk 5 do styku 6, a silnik obraca się w kierunku zgodnym z ruchem wskazówek zegara, obraca się w kierunku zgodnym z ruchem wskazówek zegara. Aby zatrzymać obroty silnika prądu stałego, naciśnij przycisk STOP. Ta sama metoda może być użyta do sterowania serwomotorem za pomocą MATLAB-a, wystarczy tylko odpowiednio zmodyfikować kod. Możesz obejrzeć poniższy film, aby zrozumieć cały proces sterowania silnikiem DC MATLAB za pomocą Arduino.