Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
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
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:
- ESP32 pin 14 (męski) do pinu IN4 płytki steppera (żeński).
- ESP32 pin 32 (męski) do pinu IN3 płyty krokowej (żeński).
- ESP32 pin 15 (męski) do pinu IN2 płytki steppera (żeński).
- ESP32 pin 33 (męski) do pinu IN1 płytki steppera (żeński).
- ESP32 pin "GND" (męski) do pinu płyty krokowej "-" (żeński).
- 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
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 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:
Podnoszenie silnika krokowego sterowanego podczerwienią: 15 kroków
Sterowany na podczerwień podnośnik silnika krokowego: Musiałem zautomatyzować podnoszenie dużego obrazu, który ukrywa telewizor zamontowany nad kominkiem. Obraz jest zamontowany na niestandardowej przesuwnej stalowej ramie, która wykorzystuje liny, krążki i przeciwwagi, dzięki czemu można go podnieść ręcznie. W teorii brzmi to dobrze, ale w tym
Raspberry Pi, Python i sterownik silnika krokowego TB6600: 9 kroków
Raspberry Pi, Python i sterownik silnika krokowego TB6600: Ten Instruktaż postępuje zgodnie z krokami, które podjąłem, aby podłączyć Raspberry Pi 3b do sterownika silnika krokowego TB6600, zasilacza 24 VDC i 6-przewodowego silnika krokowego. Prawdopodobnie jestem jak wielu z was i przypadkiem mam „torbę do chwytania”; pozostałego par
Jak korzystać z silnika krokowego 28BYJ-48 z 3 przyciskami: 5 kroków
Jak używać silnika krokowego 28BYJ-48 z 3 przyciskami: Czy chcesz sterować silnikiem krokowym za pomocą przycisków? Co może zrobić zgodnie z ruchem wskazówek zegara, przeciwnie do ruchu wskazówek zegara, a następnie zatrzymać funkcję? W takim razie ten film jest dla Ciebie
Kątowa kontrola położenia silnika krokowego 28BYJ-48 z Arduino i analogowym joystickiem: 3 kroki
Kątowe sterowanie pozycyjne silnika krokowego 28BYJ-48 za pomocą Arduino i joysticka analogowego: Jest to schemat sterowania silnikiem krokowym 28BYJ-48, który opracowałem do wykorzystania w ramach mojego ostatniego roku pracy doktorskiej. Nie widziałem tego wcześniej, więc pomyślałem, że wrzucę to, co odkryłem. Mam nadzieję, że pomoże to komuś innemu
Oprawa testowa PCB: 6 kroków
Oprawa testowa PCB: Większość projektowanych przeze mnie płyt ma przelotowe podkładki pod 6-stykowe złącze ICSP, a niektóre mają przelotowe podkładki pod złącze szeregowe. W wielu przypadkach żadne nagłówki nie są używane po zaprogramowaniu płytki. Ten uchwyt testowy jest używany zamiast stałego