Oprawa testowa silnika krokowego: 3 kroki
Oprawa testowa silnika krokowego: 3 kroki
Anonim
Image
Image
Okablowanie
Okablowanie

Miałem niewielkie lub żadne doświadczenie w prowadzeniu silników krokowych, więc przed zaprojektowaniem, wydrukowaniem, złożeniem i zaprogramowaniem „Antique” Auto Correcting Analog Clock (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/)) korzystając z silnika krokowego, postanowiłem zaprojektować i przetestować oprogramowanie przy użyciu znacznie prostszego przyrządu testowego. Jeśli, tak jak ja, masz niewielkie lub żadne doświadczenie z silnikami krokowymi, mam nadzieję, że ta krótka instrukcja z kodem źródłowym pomoże.

Oprawa testowa wymaga następujących elementów:

  • Płytka prototypowa.
  • Adafruit Feather ESP32 z żeńskimi nagłówkami.
  • Płyta kontrolera krokowego oparta na ULN2003.
  • Silnik krokowy 28BYJ-48 5vdc.
  • Niektóre przewody połączeniowe męskie i żeńskie.
  • Bateria litowa Adafruit 3.7vdc.
  • Drukowana w 3D wskazówka wskaźnika.

Sterownik krokowy, silnik krokowy i przewody połączeniowe, których użyłem, są zawarte w 5 opakowaniu, które kupiłem jako zestaw on-line (szukaj „TIMESETL 5 sztuk DC 5V silnik krokowy 28BYJ-48 + 5 sztuk ULN2003 płyta sterownicza + 40 sztuk męskiego żeńskiego przewodu połączeniowego ).

Bateria jest opcjonalna. Zwróć uwagę na wyjścia akumulatora 3,7 V DC, ale płyta kontrolera krokowego i stepper mają napięcie 5 V DC. Urządzenie testowe będzie działać tylko na zasilaniu bateryjnym, nawet przy niższym napięciu.

Dołączyłem film pokazujący kroki wymagane do pobrania oprogramowania do ESP32, podłączenia ESP32 do sterownika silnika krokowego i podłączenia silnika krokowego i akumulatora.

Krok 1: Okablowanie

Okablowanie
Okablowanie
Okablowanie
Okablowanie

Użyłem przewodów połączeniowych męskich / żeńskich zawartych w zestawie do podłączenia urządzenia testowego. Wymaganych jest sześć przewodów, które są wstawiane w następujący sposób:

  1. ESP32 pin 14 (męski) do pinu IN4 płytki steppera (żeński).
  2. ESP32 pin 32 (męski) do pinu IN3 płyty krokowej (żeński).
  3. ESP32 pin 15 (męski) do pinu IN2 płytki steppera (żeński).
  4. ESP32 pin 33 (męski) do pinu IN1 płytki steppera (żeński).
  5. ESP32 pin "GND" (męski) do pinu płyty krokowej "-" (żeński).
  6. ESP32 pin "USB" (męski) dla pracy USB LUB "BAT" (męski) dla pracy bateryjnej, do pinu "+" (żeński) płytki steppera.

Po włożeniu i dwukrotnym sprawdzeniu przewodów podłącz kabel silnika krokowego do złącza płyty sterownika silnika krokowego. Złącze ma klucz i będzie pasować tylko w jedną stronę.

Na koniec, jeśli używasz baterii, podłącz ją do złącza baterii ESP32.

Krok 2: Wskaźnik

Wskaźnik
Wskaźnik

Dla wskaźnika na silniku krokowym zaprojektowałem i wydrukowałem w 3D wskazówkę wskaźnika „Hand.stl”. Wydrukowałem wskazówkę wskaźnika na wysokości warstwy 0,15 mm, 20% wypełnienia bez podpór, a następnie wcisnąłem ją na wał silnika krokowego.

Alternatywnie jako wskaźnik można zastosować taśmę, karton lub inny materiał.

Krok 3: Oprogramowanie

Oprogramowanie
Oprogramowanie

Oprogramowanie do testów krokowych napisałem w środowisku Arduino 1.8.5. Jeśli jeszcze tego nie zrobiłeś, pobierz środowisko Arduino i niezbędne sterowniki USB na swój komputer i zainstaluj je. Odwiedź również stronę internetową Adafruit, aby uzyskać dodatkowe oprogramowanie związane z Adafruit ESP32. Uważam, że ten link jest bardzo pomocny: Adafruit ESP32 i Arduino Environment.

Po podłączeniu kabla USB między komputerem a ESP32 i załadowaniu „Stepper.ino” do środowiska Arduino, pobierz „Stepper.ino” na ESP32.

Po pobraniu stepper powinien robić krok 6 stopni raz na sekundę.

Napisałem to oprogramowanie testowe z dwóch powodów; po pierwsze, aby nauczyć się sterować silnikiem krokowym, a po drugie, aby przekonwertować 4096 kroków na obrót silnika krokowego na 60 jednosekundowych „tyknięć” 6 stopni dla zegara.

Funkcja „Step(nDirection)” steruje silnikiem krokowym. Ta funkcja przechowuje lokalną (statyczną) zmienną całkowitą „nPhase”, która jest albo zwiększana, albo zmniejszana o jeden (za każdym razem, gdy funkcja jest wywoływana), zgodnie ze znakiem argumentu funkcji nDirection. Ta zmienna jest ograniczona w zakresie od 0 do 7, co w połączeniu z przełącznikiem obudowy steruje fazami silnika zgodnie ze specyfikacjami producenta dla każdego kroku.

Funkcja „Update()” określa, kiedy i ile kroków należy wykonać dla każdego tiku, aby równomiernie rozmieścić 60 tików na 360 stopni obrotu. Ta funkcja wykonuje kroki silnika krokowego o 68 lub 69 kroków dla każdego tiku. Na przykład, jeśli funkcja używała tylko 68 kroków na tik, to (68 kroków * 60 tików) = 4080 kroków nie wystarczyłoby do wykonania 360 stopni obrotu (pamiętaj, że stepper wymaga 4096 kroków do 360 stopni obrotu). A gdyby funkcja używała 69 kroków na tik, to (69 kroków * 60 tików) = 4140 byłoby za dużo kroków. Prosty algorytm, który napisałem, równomiernie rozkłada 68 i 69 kroków w całym obrocie o 360 stopni i może określić, który kierunek obrotu jest najszybszy do pożądanej liczby sekund (używanej w zegarze).

I tak zaprojektowałem i przetestowałem oprogramowanie dla 'Antique' Auto Correcting Analog Clock.

Jeśli masz jakieś sugestie i / lub pytania, śmiało komentuj, a ja postaram się odpowiedzieć.

Zalecana: