Spisu treści:

Prowadzenie silnika krokowego bez mikrokontrolera: 7 kroków
Prowadzenie silnika krokowego bez mikrokontrolera: 7 kroków

Wideo: Prowadzenie silnika krokowego bez mikrokontrolera: 7 kroków

Wideo: Prowadzenie silnika krokowego bez mikrokontrolera: 7 kroków
Wideo: Arduino 16: DUŻE SILNIKI KROKOWE 2024, Listopad
Anonim
Image
Image

W tym Instruktażu będę jeździł silnikiem krokowym 28-BYJ-48, z płytą tablicy darlington UNL2003, czasami nazywaną x113647, bez mikrokontrolera.

Będzie miał start/stop, przód/tył i kontrolę prędkości.

Silnik jest jednobiegunowym silnikiem krokowym z 2048 krokami na obrót w trybie pełnego kroku. Arkusz danych silnika znajduje się pod adresem

Oba urządzenia można kupić razem od kilku sprzedawców. Mam swoją z kjell.com

Bing lub google, aby znaleźć dostawcę w pobliżu.

Najpierw przejdę przez kilka kroków i części potrzebnych do uruchomienia, a następnie dodam kilka kroków i części, aby uzyskać większą kontrolę.

Powinieneś być ostrzeżony, że części, których używam, to te, które przypadkiem mam w mojej skrzyni skarbów, a niekoniecznie części najlepiej nadające się do tego celu.

Powinieneś również zostać ostrzeżony, że to jest mój pierwszy Instruktaż i że jestem całkiem nowy w elektronice.

Proszę o komentarze, jeśli uważasz, że zrobiłem coś, czego nie powinienem lub jeśli masz sugestie dotyczące ulepszeń lub sugestie dotyczące lepiej dopasowanych części.

Krok 1: Lista części

Główne części
Główne części

Części użyte do tego projektu to

  • Deska do krojenia chleba
  • Silnik krokowy 28byj-48
  • Tablica tranzystorowa Darlington ULN2003 (x113647)
  • 74HC595 rejestr przesuwny
  • 74HC393 binarny licznik tętnień
  • Potencjometr cyfrowy Dallastat DS1809-100
  • 74HC241 ósemkowy bufor
  • 3 × przyciski dotykowe
  • Rezystory 3 × 10kΩ
  • Kondensatory ceramiczne 2 × 0,1 µF
  • Kondensator ceramiczny 1 × 0,01 µF
  • Przewody połączeniowe
  • Zasilanie 5V

Krok 2: Główne części

Główne części
Główne części

Rejestr przesuwny 74HC595

Silnik jest poruszany poprzez wielokrotne nadawanie czterem pinom wejściowym płyty UNL2003 następującej sekwencji:

1100-0110-0011-1001

Spowoduje to napęd silnika w tak zwanym trybie pełnego kroku. Wzór 1100 jest wielokrotnie przesuwany w prawo. Sugeruje to rejestr przesuwny. Sposób działania rejestru przesuwnego polega na tym, że w każdym cyklu zegara bity w rejestrze przesuwają się o jedno miejsce w prawo, zastępując skrajny lewy bit wartością pinu wejściowego w tym czasie. Dlatego powinien być zasilany dwoma cyklami zegarowymi o wartości 1, a następnie dwoma cyklami zegarowymi o wartości 0, aby wygenerować wzór do nurkowania z silnikiem.

Do generowania sygnałów zegarowych potrzebny jest oscylator, który generuje stałą serię impulsów, najlepiej czystą falę prostokątną. Stworzy to podstawę przesuwania się ścieżki sygnałów do silnika.

Aby wygenerować „dwa cykle jednego, a następnie dwa cykle 0”, używane są przerzutniki.

Mam rejestr przesuwny 74HC595. Jest to bardzo popularny chip, opisany w wielu instrukcjach i filmach na Youtube.

Arkusz danych można znaleźć na stronie

Fajny Instructable to 74HC595-Shift-Register-Demistified by bweaver6, Rejestr przesuwny 74HC595 działa tak, że w każdym cyklu zegara dane w jego 8-bitowym rejestrze są przesuwane w prawo, a także przesuwając wartość pinu wejściowego w skrajnej lewej pozycji. Dlatego powinien być zasilany dwoma cyklami zegara po 1, a następnie dwoma cyklami zegara po 0.

Dane są przesuwane na zboczu narastającym impulsu zegarowego. Zatem przerzutnik powinien przełączać się przy opadającej krawędzi zegara, więc 74HC595 będzie miał stabilne dane wejściowe przy wznoszącej się krawędzi zegara.

74HC595 w można podłączyć w następujący sposób:

Pin 8 (GND) -> GND

Pin 16 (VCC) -> 5V Pin 14 (SER) -> Dane w Pin 12 (RCLK) -> Wejście zegara Pin 11 (SRCLK) -> Wejście zegara Pin 13 (OE) -> GND Pin 10 (SRCRL) -> 5 V Piny 15 i 1-3 wyprowadzą wzór do napędzania silnika.

Połączenie RCLK i SRCLK zapewnia, że rejestr danych chipa jest zawsze zsynchronizowany z rejestrem wyjściowym. Umieszczenie pinu 13 na ziemi sprawia, że zawartość rejestru wyjściowego jest natychmiast widoczna dla pinów wyjściowych (Q0 - Q7).

Zegar 555

Do wygenerowania impulsu zegarowego można użyć układu czasowego 555. Jest to również bardzo popularny układ scalony i jest jeszcze bardziej opisany i omówiony niż rejestr przesuwny. Wikipedia ma fajny artykuł na

Arkusz danych znajduje się tutaj:

Układ ten może, między innymi, generować impuls zegarowy o fali prostokątnej. Zewnętrzne rezystory i kondensatory służą do sterowania częstotliwością i cyklem pracy (na ułamek).

Po ustawieniu na wielokrotne generowanie impulsów, układ 555 mówi się, że jest w trybie astabilnym. Odbywa się to poprzez okablowanie jak na powyższym obrazku. (zdjęcie jjbeard [domena publiczna], za pośrednictwem Wikimedia Commons):

Pin 1 -> GND

Pin 2 -> R1 (10kΩ) -> Pin 7 Pin 2 -> Pin 6 Pin 3 to wyjście Pin 4 (reset) -> 5 V Pin 5 -> 0,01 µF -> GND Pin 6 -> 0,1 µF -> GND Pin 7 -> R2 (10kΩ) -> 5V Pin 8 -> 5V

Wyjście Pin 3 zostanie podłączone do pinów zegara wejściowego (Pin 11 i Pin 12) rejestru przesuwnego 74HC595.

Częstotliwość sygnału wyjściowego (a tym samym prędkość silnika krokowego) jest określona przez wartości rezystorów R1 i R2 oraz wartość kondensatora C.

Czas cyklu T będzie wynosił ln(2) C (R1 + 2 R2) lub około 0,7 C (R1 + 2 R2). Częstotliwość wynosi 1/T.

Współczynnik wypełnienia, ułamek czasu cyklu, w którym sygnał jest wysoki, wynosi (R1 + R2) / (R1 + 2R2). Współczynnik wypełnienia nie jest bardzo ważny dla tego projektu.

Używam 10kΩ, zarówno dla R1 i R2 oraz C = 0,1µF.

Daje to częstotliwość około 480 Hz i jest blisko maksymalnej częstotliwości, którą odkryłem, że silnik krokowy może poradzić sobie bez gaśnięcia.

Aby wygenerować przesunięty, powtarzający się wzór 1100 z 74HC595, pin 14 (SER) powinien być utrzymywany na wysokim poziomie przez dwa cykle zegara, a następnie na niskim poziomie przez dwa cykle zegara wielokrotnie. Oznacza to, że pin powinien oscylować z połową częstotliwości zegara.

Podwójny binarny licznik tętnień 74HC393

74HC393 zliczają binarnie, co oznacza również, że można go wykorzystać do dzielenia częstotliwości impulsów przez potęgi dwójki, Jego karta katalogowa znajduje się tutaj:

74HC393 jest podwójny, ma jeden 4-bitowy licznik z każdej strony.

Na opadającym zboczu impulsu zegarowego pierwszy pin wyjściowy włącza się i wyłącza. Stąd pierwszy pin wyjściowy będzie oscylował z połową częstotliwości zegara wejściowego. Na opadającej krawędzi pierwszego pinu wyjściowego pin wyjściowy dwa włącza się i wyłącza. I tak dalej dla wszystkich czterech pinów wyjściowych. Za każdym razem, gdy pin n się wyłączy, pin n+1 przełącza.

Pin n+1 zmienia się o połowę rzadziej niż pin n. To jest liczenie binarne. Licznik może liczyć do 15 (wszystkie cztery bity 1), zanim ponownie zacznie od zera. Jeśli ostatni pin wyjściowy licznika 1 jest podłączony jako zegar do licznika 2, może on liczyć do 255 (8 bitów).

Aby wytworzyć impuls o połowie częstotliwości zegara wejściowego, potrzebny jest tylko pin wyjściowy 1. Oznacza to, że liczy się tylko od zera do jednego.

Tak więc, jeśli zliczanie odbywa się za pomocą impulsu zegarowego z 555, pin licznika 74HC393 reprezentujący bit 2 będzie oscylował z połową częstotliwości zegara. W związku z tym można go podłączyć do pinu SER rejestru przesuwnego 74HC595, aby wygenerować pożądany wzór.

Okablowanie licznika binarnego 74HC393 powinno być:

Pin 1 (1CLK) -> 74HC595 Pin 11, 12 i 555 Pin 3

Pin 2 (1CLR) -> GND Pin 4 (1QB) -> 74HC595 Pin 14 Pin 7 (GND) -> GND Pin 14 (VCC) -> 5V Pin 13 (2CLK) -> GND (nie używany) Pin 12 (2CLR)) -> 5V (nieużywane)

Krok 3: Niech to działa

Niech to działa
Niech to działa
Niech to działa
Niech to działa

Teraz możemy uruchomić silnik, jeśli piny 0-3 74HC595 są podłączone odpowiednio do pinów 1-4 płyty ULN2003.

Na razie zamień kondensator 0,1 µF na styku 6 timera 555 na 10 µF. To sprawi, że cykl zegara będzie sto razy dłuższy i będzie można zobaczyć, co się dzieje.

Można do tego wykorzystać diody LED na płytkach ULN2003. Odłącz silnik od płyty ULN2003. Połącz styki 1 do 4 płyty z wyjściem QA-QD (styki 7, 9, 10 i 11) 74HC595. Podłącz - i + płyty ULN2003 do masy i 5V. Jeśli zasilanie jest włączone, powinieneś zobaczyć pożądany wzór na diodach LED.

Jeśli chcesz zobaczyć, co się dzieje w liczniku binarnym 74HC393, podłącz zamiast tego piny 3-6 tego licznika.

Jeśli wzór wydaje się prawidłowy, wyłącz zasilanie, ponownie wymień kondensator na 0,1 µF, podłącz styki wejściowe 1 - 4 płyty ULN2003 do styków wyjściowych QA - QD 74HC595 i ponownie podłącz silnik.

Przy włączonym zasilaniu silnik powinien teraz pracować.

Krok 4: Kontrola prędkości

Kontrola prędkości
Kontrola prędkości

Prędkość silnika krokowego jest regulowana przez częstotliwość wyjścia timera 555. To znowu jest regulowane przez wartości rezystorów R1 i R2 oraz podłączonego do niego kondensatora C1. Po podłączeniu potencjometru 100kΩ szeregowo z R2 częstotliwość może mieścić się w zakresie od 480Hz do 63Hz. Kroki pr. sekunda silnika będzie równa połowie częstotliwości timera 555.

Użyłem potencjometru cyfrowego DS1809-100, który jest przeznaczony do użycia z przyciskiem. Przyciski łączące pin 2 (UC) i pin 7 (DC) z napięciem 5V powodują wzrost/zmniejszenie rezystancji między zaciskami RH (Pin 1) lub RL (Pin 4), a pinem 6 (RW) wycieraczki. Przytrzymanie przycisku dłużej niż sekundę powoduje automatyczne powtórzenie przycisku.

Arkusz danych można znaleźć tutaj:

Okablowanie wygląda tak:

Pin 1 (RH) nieużywany

styk 2 (UC) -> przycisk dotykowy 1 styk 3 (STR) -> masa styk 4 (RL) -> 555 styk 2 styk 5 -> masa styk 6 (RW) -> 10 kΩ -> 555 styk 7 styk 7 (DC) -> przycisk dotykowy 2 pin 8 -> 5V

Okablowanie przycisku dotykowego 1:

Pin 1/2 -> DS1809 Pin 2

Pin 3/4 -> 5V

Okablowanie przycisku dotykowego 2:

Pin 1/2 -> DS1809 Pin 7

Pin 3/4 -> 5V

Teraz prędkość można regulować.

Krok 5: Start / Stop

Zacząć zakończyć
Zacząć zakończyć

Aby uruchomić i zatrzymać silnik krokowy, można wykorzystać pin 4 (styk resetowania) timera 555. Jeśli to jest niskie, nie będzie impulsów wyjściowych z pinu 3.

Dotykowy przycisk będzie używany do przełączania uruchamiania i zatrzymywania. Jednokrotne naciśnięcie przycisku powinno uruchomić silnik, a ponowne naciśnięcie powinno go zatrzymać. Aby uzyskać takie zachowanie, potrzebny jest flip-flop. Ale 74HC393, który już tam jest, również może być użyty. 74HC393 składa się z dwóch części, a tylko jedna połowa jest używana jako dzielnik częstotliwości dla impulsu zegarowego.

Ponieważ licznik binarny jest w rzeczywistości tylko zestawem przełączających przerzutników w serii, można użyć pierwszego przerzutnika drugiej części. Podłączając przycisk dotykowy tak, że Pin 13 (2CLK) jest niski, gdy przycisk jest wciśnięty, a wysoki, jeśli nie, Pin 12 przełącza się na każdym niskim. Połączenie pinu 12 z pinem 4 555 uruchomi i zatrzyma jego wyjście, a tym samym silnik.

Przyciski dotykowe są nieco skomplikowane, ponieważ są mechaniczne. Mogą „odbić”, to znaczy mogą wysyłać wiele sygnałów przy każdym naciśnięciu. Podłączenie kondensatora 0,1 µF do przycisku pomaga tego uniknąć.

Tak więc przycisk dotykowy (przycisk 3 został dodany, a połączenie z pinem 4 555 zostało zmienione.

Okablowanie przycisku:

Pin 1/2 -> 10kΩ -> 5V

Pin 1/2 -> 0.1µF -> Pin Pin 3/4 -> 74HC393 Pin 13 (2CLK)

W 555 wprowadzono następujące zmiany:

Pin 4 (Reset) -> 74HC393 Pin 11 (2QA)

Przycisk 3 powinien teraz działać jako przełącznik start/stop.

Zauważ, że silnik zatrzymany w ten sposób nadal będzie zużywał energię.

Krok 6: Kontrola kierunku

Kontrola kierunku
Kontrola kierunku

Aby sterować kierunkiem silnika, potrzebny jest kolejny przycisk, a następnie kolejny flip-flop. Jednak oszukam, używając następnego flip-flopa 74HC393, po przerzuceniu on/off flip i przycisku on/off.

Gdy pin kierunkowy (Pin 2QA) przechodzi w stan niski, przełączany jest następny pin (Pin 2QB). Dlatego wielokrotne naciskanie przycisku spowoduje WYŁĄCZENIE - WŁĄCZENIE DO PRZODU - WYŁĄCZENIE - WŁĄCZENIE DO TYŁU - WYŁĄCZENIE - WŁĄCZENIE DO PRZODU itp.

Aby silnik pracował do tyłu, wzorzec podawany do ULN2003 powinien zostać odwrócony. Można to zrobić za pomocą dwukierunkowego rejestru przesuwnego, ale nie mam takiego. 74HC595 nie jest dwukierunkowy.

Jednak odkryłem, że mogę użyć mojego bufora ósemkowego 74HC241. Ten bufor ma dwie 4-bitowe części, z oddzielnymi pinami OE (aktywacja wyjścia). Pierwszy pin OE steruje czterema pierwszymi pinami wyjściowymi, a drugi ostatnimi czterema pinami wyjściowymi. Gdy OE jest włączone, styki wyjściowe mają taką samą wartość jak odpowiednie styki wejściowe, a gdy jest wyłączone, styki wyjściowe będą w stanie wysokiej impedancji, tak jakby nie były podłączone. Co więcej, jeden z pinów OE jest aktywny w stanie niskim, a drugi w stanie wysokim, więc przy łączeniu ich ze sobą w danym momencie aktywna będzie tylko połowa bufora.

Tak więc dla tego samego wejścia jedna połowa bufora może napędzać silnik do przodu, a druga połowa do tyłu. Która połowa jest aktywna, zależy od wartości pinów OE.

Arkusz danych dla 74HC241 można znaleźć na stronie

Okablowanie może wyglądać tak:

Pin 1 (1OE) -> 74HC293 Pin 10 (2QB)

Pin 2 (1A1) -> 74HC595 Pin 15 Pin 3 (1Y4) -> ULN2003 Pin 1 Pin 4 (1A2) -> 74HC595 Pin 1 Pin 5 (1Y3) -> ULN2003 Pin 2 Pin 6 (1A3) -> 74HC595 Pin 2 Pin 7 (1Y2) -> ULN2003 Pin 3 Pin 8 (1A4) -> 74HC595 Pin 3 Pin 9 (1Y1) -> ULN2003 Pin 4 Pin 10 (GND) -> Uziemienie Pin 11 (2A1) -> Pin 2 (1A1) Pin 12 (1Y4) -> Pin 9 (2Y1) Pin 13 (2A2) -> Pin 4 (1A2) Pin 14 (1Y3) -> Pin 7 (2Y2) Pin 15 (2A3) -> Pin 6 (1A3) Pin 16 (1Y2) -> Pin 5 (2Y3) Pin 17 (2A3) -> Pin 8 (1A4) Pin 18 (1Y2) -> Pin 3 (2Y4) Pin 19 (2OE) -> Pin 1 (1OE) Pin 20 (VCC) -> 5V

Teraz okablowanie powinno być ukończone poprzez włączenie zasilania 5 V. Upewnij się, że zasilacz może dostarczyć wystarczający prąd do napędzania zarówno silnika, jak i obwodów.

Krok 7: Wnioski

Wnioski
Wnioski

Silnik krokowy może być sterowany bez mikrokontrolera.

Użyte tutaj układy scalone były tymi, które miałem wcześniej. Większość z nich nie jest do tego optymalna i można zastosować kilka alternatyw.

  • Aby wygenerować impulsy, chip zegarowy 555 jest dobrym wyborem, ale istnieje kilka alternatyw, np. ta opisana w tej instrukcji.
  • Do regulacji prędkości można użyć dowolnego potencjometru, nie tylko cyfrowego. Jeśli masz potencjometr 10kΩ zamiast 100kΩ, rezystory 10kΩ można zastąpić 1KΩ, a kondensator 0,1 µF kondensatorem 1µF (podziel wszystkie rezystory i pomnóż kondensator o tej samej liczbie, aby zachować taktowanie).
  • Za pomocą dwukierunkowego rejestru przesuwnego, np. 74HC194 ułatwiłby kontrolę kierunku.
  • Do sterowania przyciskami 74HC393 można było zastąpić flip-flopem, np. 74HC73. 555 może być również podłączony do działania jako przełącznik.

Zalecana: