W tym samouczku zamierzamy podłączyć silnik prądu stałego do Arduino UNO i kontrolować jego prędkość za pomocą koncepcji PWM (modulacji szerokości impulsu). Ta funkcja jest włączona w UNO, aby uzyskać zmienne napięcie nad stałym napięciem. Tutaj wyjaśniono metodę PWM; rozważ prosty obwód, jak pokazano na rysunku.
Jeśli przycisk zostanie naciśnięty, jeśli figura, silnik zacznie się obracać i będzie się poruszał do momentu naciśnięcia przycisku. To tłoczenie jest ciągłe i jest przedstawione na pierwszej fali rysunku. Jeśli w przypadku, weź pod uwagę, że przycisk zostanie naciśnięty na 8 ms i otwarty na 2 ms w cyklu 10 ms, w tym przypadku silnik nie będzie odczuwał pełnego napięcia akumulatora 9 V, ponieważ przycisk jest naciskany tylko przez 8 ms, więc napięcie RMS na zaciskach silnik będzie miał około 7V. Z powodu tego zmniejszonego napięcia RMS silnik będzie się obracał, ale ze zmniejszoną prędkością. Teraz średni czas włączenia w okresie 10 ms = czas włączenia / (czas włączenia + czas wyłączenia), nazywa się to cyklem pracy i wynosi 80% (8 / (8 + 2)).
W drugim i trzecim przypadku przycisk jest naciśnięty jeszcze krócej niż w pierwszym przypadku. Z tego powodu napięcie RMS na zaciskach silnika jest jeszcze bardziej obniżane. Z powodu tego zmniejszonego napięcia prędkość silnika jeszcze bardziej spada. Spadek prędkości z ciągłym cyklem pracy, aż do momentu, w którym napięcie na zaciskach silnika nie będzie wystarczające do włączenia silnika.
Na tej podstawie możemy wywnioskować, że PWM może służyć do zmiany prędkości silnika.
Zanim przejdziemy dalej, musimy omówić H-BRIDGE. Teraz ten obwód ma głównie dwie funkcje, pierwsza to sterowanie silnikiem prądu stałego z sygnałów sterujących małej mocy, a druga to zmiana kierunku obrotów silnika prądu stałego.
Ryc.1
Rysunek 2
Wszyscy wiemy, że w przypadku silnika prądu stałego, aby zmienić kierunek obrotów, należy zmienić polaryzacje napięcia zasilania silnika. Aby zmienić polaryzację, używamy mostka H. Teraz na powyższym rysunku 1 mamy cztery przełączniki. Jak pokazano na rysunku 2, aby silnik mógł się obracać, A1 i A2 są zamknięte. Z tego powodu prąd przepływa przez silnik od prawej do lewej strony, jak pokazano w drugiej części rysunku 3. Na razie rozważmy, że silnik obraca się zgodnie z ruchem wskazówek zegara. Teraz, jeśli przełączniki A1 i A2 są otwarte, B1 i B2 są zamknięte. Prąd przez silnik przepływa od lewej do prawej, jak pokazano na 1 st część rysunku 3. Ten kierunek przepływu prądu jest przeciwny do pierwszego, więc na zacisku silnika widzimy potencjał przeciwny do pierwszego, więc silnik obraca się w kierunku przeciwnym do ruchu wskazówek zegara. Tak działa H-BRIDGE. Jednak silniki o małej mocy mogą być napędzane przez układ H-BRIDGE IC L293D.
L293D to układ scalony H-BRIDGE przeznaczony do napędzania silników prądu stałego małej mocy i jest pokazany na rysunku. Ten układ scalony składa się z dwóch mostków typu H, dzięki czemu może napędzać dwa silniki prądu stałego. Więc ten układ scalony może być używany do napędzania silników robota z sygnałów mikrokontrolera.
Teraz, jak omówiono wcześniej, ten układ scalony ma możliwość zmiany kierunku obrotów silnika prądu stałego. Osiąga się to poprzez kontrolowanie poziomów napięcia na WEJŚCIU1 i WEJŚCIU2.
Włącz Pin |
Pin wejściowy 1 |
Pin wejściowy 2 |
Kierunek silnika |
Wysoki |
Niska |
Wysoki |
Skręć w prawo |
Wysoki |
Wysoki |
Niska |
Skręć w lewo |
Wysoki |
Niska |
Niska |
Zatrzymać |
Wysoki |
Wysoki |
Wysoki |
Zatrzymać |
Tak więc, jak pokazano na powyższym rysunku, dla obrotów w prawo 2A powinno być wysokie, a 1A niskie. Podobnie dla ruchu w kierunku przeciwnym do ruchu wskazówek zegara 1 A powinno być wysokie, a 2 A powinno być niskie.
Jak pokazano na rysunku, Arduino UNO ma kanały 6PWM, więc możemy uzyskać PWM (zmienne napięcie) na dowolnym z tych sześciu pinów. W tym samouczku będziemy używać PIN3 jako wyjścia PWM.
Sprzęt: ARDUINO UNO, zasilacz (5v), kondensator 100uF, dioda LED, przyciski (dwuczęściowe), rezystor 10KΩ (dwuczęściowe).
Oprogramowanie: arduino IDE (Nightly Arduino).
Schemat obwodu
Obwód jest podłączony w płytce stykowej zgodnie ze schematem obwodu pokazanym powyżej. Należy jednak zwrócić uwagę podczas podłączania zacisków LED. Chociaż przyciski wykazują efekt odbijania się w tym przypadku nie powoduje to większych błędów, więc tym razem nie musimy się martwić.
PWM z UNO jest łatwe, w normalnych przypadkach ustawienie kontrolera ATMEGA na sygnał PWM nie jest łatwe, musimy zdefiniować wiele rejestrów i ustawień dla dokładnego sygnału, jednak w ARDUINO nie musimy się tym wszystkim zajmować.
Domyślnie wszystkie pliki nagłówkowe i rejestry są predefiniowane przez ARDUINO IDE, po prostu musimy je wywołać i to będziemy mieli wyjście PWM na odpowiednim pinie.
Teraz, aby uzyskać wyjście PWM na odpowiednim pinie, musimy popracować nad trzema rzeczami,
|
Najpierw musimy wybrać pin wyjściowy PWM z sześciu pinów, po czym musimy ustawić ten pin jako wyjście.
Następnie musimy włączyć funkcję PWM UNO, wywołując funkcję „analogWrite (pin, value)”. W tym przypadku „pin” reprezentuje numer pinu, na którym potrzebujemy wyjścia PWM i wstawiamy go jako „3”. Więc na PIN3 otrzymujemy wyjście PWM.
Wartość to cykl pracy włączenia, od 0 (zawsze wyłączone) do 255 (zawsze włączone). Będziemy zwiększać i zmniejszać tę liczbę przez naciśnięcie przycisku.
UNO ma maksymalną rozdzielczość „8”, nie można iść dalej, stąd wartości od 0 do 255. Jednak można zmniejszyć rozdzielczość PWM za pomocą polecenia „analogWriteResolution ()”, wpisując w nawiasach wartość z zakresu 4-8, możemy zmienić jego wartość z czterobitowego PWM na ośmiobitowy PWM.
Przełącznik służy do zmiany kierunku obrotów silnika prądu stałego.