Spisu treści:
- Krok 1: Modulacja szerokości impulsu (PWM)
- Krok 2: Sprzęt
- Krok 3: Moduł Bluetooth
- Krok 4: Oprogramowanie
Wideo: Arduino 2-w-1 kontroler modelu pociągu: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Czterdzieści lat temu zaprojektowałem dla paru przyjaciół przepustnicę pociągu opartą na wzmacniaczu operacyjnym, a następnie około cztery lata temu odtworzyłem ją za pomocą mikrokontrolera PIC. Ten projekt Arduino odtwarza wersję PIC, ale dodaje również możliwość korzystania z połączenia Bluetooth zamiast ręcznych przełączników do sterowania przepustnicą, hamulcem i kierunkiem. Chociaż projekt, który tutaj przedstawiam, jest przeznaczony dla 12-woltowego silnika kolejowego, można go łatwo zmodyfikować do różnych innych zastosowań sterowania silnikiem prądu stałego.
Krok 1: Modulacja szerokości impulsu (PWM)
Dla tych z was, którzy nie są zaznajomieni z PWM, nie jest to tak przerażające, jak się wydaje. Wszystko, co naprawdę oznacza dla naszej prostej aplikacji do sterowania silnikiem, to to, że generujemy falę prostokątną o pewnej częstotliwości, a następnie zmieniamy cykl pracy. Cykl pracy jest definiowany jako stosunek czasu, w którym wyjście jest logicznie wysokie w porównaniu z okresem przebiegu. Widać to dość wyraźnie na powyższym schemacie z górnym przebiegiem przy 10% cyklu pracy, środkowym przebiegiem przy 50% cyklu pracy i dolnym przebiegiem przy 90% cyklu pracy. Linia przerywana nałożona na każdy przebieg reprezentuje równoważne napięcie DC widziane przez silnik. Biorąc pod uwagę, że Arduino ma wbudowaną funkcję PWM, bardzo łatwo jest wygenerować ten rodzaj sterowania silnikiem prądu stałego. Inną zaletą korzystania z PWM jest to, że pomaga powstrzymać silnik przed szarpnięciem, które może się zdarzyć przy użyciu prostego prądu stałego. Jedną z wad PWM jest to, że czasami słychać słyszalny hałas silnika o częstotliwości PWM.
Krok 2: Sprzęt
Pierwsze zdjęcie przedstawia połączenia Arduino dla przełączników i modułu sterownika silnika LM298. Wewnątrz Arduino są słabe rezystory podciągające, więc przełączniki nie są potrzebne. Przełącznik kierunku to prosty przełącznik SPST (jednobiegunowy jednokierunkowy). Przełączniki przepustnicy i hamulca są pokazane jako normalnie otwarte przyciski z chwilowym kontaktem.
Drugie zdjęcie przedstawia połączenia Arduino dla modułu Bluetooth i modułu sterownika silnika LM298. Wyjście Bluetooth TXD łączy się bezpośrednio z wejściem szeregowym Arduino RX.
Trzecie zdjęcie to podwójny moduł mostka H L298N. Moduł LM298 ma wbudowany regulator 5 V, który można włączyć za pomocą zworki. Potrzebujemy +5 V dla Arduino i Bluetooth, ale chcemy +12 V do napędzania silnika. W takim przypadku podłączamy +12 woltów do wejścia „+12 V zasilania” L298N i zostawiamy zworkę „włącz 5 V” na swoim miejscu. Pozwala to regulatorowi 5 V na wyjście do złącza „+5 zasilania” w module. Podłącz to do Arduino i Bluetooth. Nie zapomnij podłączyć przewodów uziemiających wejścia +12 i wyjścia +5 do modułu „power GND”.
Chcemy, aby napięcie wyjściowe silnika różniło się w zależności od PWM generowanego przez Arduino, zamiast po prostu być całkowicie włączone lub całkowicie wyłączone. Aby to zrobić, usuwamy zworki z „ENA” i „ENB” i podłączamy nasze wyjście Arduino PWM do „ENA” na module. Należy pamiętać, że rzeczywisty pin zezwalający znajduje się najbliżej krawędzi płytki (obok pinów „wejściowych”). Tylny pin dla każdego włączenia wynosi +5 woltów, więc chcemy się upewnić, że się z tym nie łączymy.
Piny „IN1” i „IN2” na module są podłączone do odpowiednich pinów Arduino. Te piny kontrolują kierunek silnika i tak, jest dobry powód, aby pozwolić Arduino sterować nimi, zamiast po prostu podłączyć przełącznik do modułu. Zobaczymy dlaczego w dyskusji na temat oprogramowania.
Krok 3: Moduł Bluetooth
Przedstawiony tutaj obraz jest typowy dla dostępnych modułów Bluetooth. Szukając jednego do kupienia, możesz wyszukać hasła „HC-05” i HC-06”. Różnice między nimi dotyczą oprogramowania układowego i zwykle liczby pinów na płycie. Powyższe zdjęcie przedstawia moduł HC-06 i jest dostarczany z uproszczonym oprogramowaniem układowym, które pozwala tylko na bardzo podstawową konfigurację. Jest również ustawione jako urządzenie Bluetooth tylko „Slave”. W uproszczeniu oznacza to, że może odpowiadać tylko na polecenia z urządzenia „Master” i nie może samodzielnie wydawać poleceń. Moduł HC-05 ma więcej możliwości konfiguracyjnych i może być ustawiony jako urządzenie „Master” lub „Slave”. HC-05 zwykle ma sześć pinów zamiast czterech pokazanych powyżej dla HC-06. Pin stanu nie jest tak naprawdę ważny, ale pin klucza (czasami ma inne nazwy, takie jak „EN”) jest wymagany, jeśli chcesz wykonać jakąkolwiek konfigurację. Ogólnie rzecz biorąc, moduły nie wymagają żadnej konfiguracji, jeśli jesteś w porządku z domyślną szybkością transmisji 9600 i nie chcesz nadać modułowi konkretnej nazwy. Mam kilka projektów, w których ich używam, więc lubię je odpowiednio nazywać.
Konfiguracja modułów Bluetooth wymaga zakupu lub zbudowania interfejsu do portu szeregowego RS-232 lub do portu USB. W tym poście nie opiszę, jak je zbudować, ale powinieneś być w stanie znaleźć informacje w Internecie. Lub po prostu kup interfejs. Polecenia konfiguracyjne używają poleceń AT, podobnie jak w dawnych czasach z modemami telefonicznymi. Załączam tutaj instrukcję obsługi, która zawiera polecenia AT dla każdego typu modułu. Należy zauważyć, że HC-06 wymaga poleceń WIELKIMI LITERAMI, a ciąg poleceń musi zakończyć się w ciągu 1 sekundy. Oznacza to, że niektóre z dłuższych ciągów dla rzeczy takich jak zmiana szybkości transmisji będą musiały zostać wycięte i wklejone do programu terminala lub będziesz musiał skonfigurować pliki tekstowe do wysłania. WIELKIE LITERY są wymagane tylko wtedy, gdy próbujesz wysłać polecenia konfiguracyjne. Zwykły tryb komunikacji może akceptować dowolne 8-bitowe dane.
Krok 4: Oprogramowanie
Oprogramowanie jest dość proste zarówno w wersji ręcznej, jak i wersji Bluetooth. Aby wybrać wersję Bluetooth, wystarczy odkomentować instrukcję „#define BT_Ctrl”.
Kiedy pisałem kod PIC, eksperymentowałem z częstotliwością PWM i ostatecznie zdecydowałem się na 500 Hz. Odkryłem, że jeśli częstotliwość była zbyt wysoka, moduł LM298N nie był w stanie wystarczająco szybko reagować na impulsy. Oznaczało to, że napięcie wyjściowe nie było liniowe i mogło przyjmować duże skoki. Arduino ma wbudowane polecenia PWM, ale pozwalają one tylko na zmianę cyklu pracy, a nie częstotliwości. Na szczęście częstotliwość wynosi około 490 Hz, więc jest wystarczająco bliska 500 Hz, której użyłem na PIC.
Jedną z „cech” przepustnic pociągów jest wyczucie pędu przyspieszania i hamowania w celu symulacji działania prawdziwego pociągu. Aby to osiągnąć, do pętli ręcznej wersji oprogramowania wstawiane jest proste opóźnienie czasowe. Przy pokazanej wartości potrzeba około 13 sekund, aby przejść od 0 do 12 woltów lub z 12 woltów z powrotem do zera. Opóźnienie można łatwo modyfikować na dłuższe lub krótsze czasy. Jedynym przypadkiem, w którym pęd nie działa, jest zmiana przełącznika kierunku. Dla celów ochrony cykl pracy PWM jest natychmiast ustawiany na 0% po każdej zmianie tego przełącznika. To w efekcie sprawia, że przełącznik kierunku pełni również funkcję hamulca awaryjnego.
Aby zapewnić natychmiastową obsługę przełącznika kierunku, umieściłem jego kod w obsłudze przerwań. Pozwala nam to również użyć funkcji „przerwania przy zmianie”, więc nie ma znaczenia, czy zmiana jest z niskiego na wysoki, czy z wysokiego na niski.
Wersja oprogramowania Bluetooth używa poleceń składających się z pojedynczych liter do inicjowania funkcji do przodu, do tyłu, hamulca i przepustnicy. W efekcie otrzymane polecenia zastępują przełączniki ręczne, ale powodują takie same reakcje. Aplikacja, której używam do sterowania Bluetooth, nazywa się „Bluetooth Serial Controller” firmy Next Prototypes. Pozwala skonfigurować wirtualną klawiaturę i ustawić własne ciągi poleceń i nazwy dla każdego klawisza. Pozwala również ustawić częstotliwość powtarzania, więc ustawiam przyciski Brake i Throttle na 50 ms, aby dać około 14 sekund rozpędu. Wyłączyłem funkcję powtarzania dla przycisków do przodu i do tyłu.
To tyle w tym poście. Sprawdź moje inne instrukcje. Jeśli jesteś zainteresowany projektami mikrokontrolerów PIC, zajrzyj na moją stronę internetową www.boomerrules.wordpress.com
Zalecana:
Zautomatyzowany układ modelu pociągu (wersja 1.0): 12 kroków
Automated Model Train Layout (Wersja 1.0): Modele pociągów to zawsze świetna zabawa. Ale ręczne sterowanie nimi czasami wydaje się trochę nudne. W tej instrukcji pokażę Ci, jak zautomatyzować układ modeli kolejowych, abyś mógł usiąść i zrelaksować się, oglądając
Kontroluj układ swojego modelu pociągu za pomocą KLAWIATURY!: 12 kroków
Kontroluj układ swojego modelu pociągu za pomocą KLAWIATURY!: W jednym z moich poprzednich instrukcji pokazałem, jak możesz sterować swoim modelem pociągu za pomocą pilota do telewizora. Zaktualizowaną wersję możesz sprawdzić również tutaj. W tej instrukcji pokażę, jak kontrolować układ modelu pociągu za pomocą klawiatury th
Kontroluj układ swojego modelu pociągu za pomocą telefonu komórkowego!: 11 kroków (ze zdjęciami)
Kontroluj układ modelu pociągu za pomocą telefonu komórkowego!: Sterowanie układem modelu pociągu za pomocą przewodowych sterowników przepustnicy i rozjazdów może być dobrym początkiem dla początkujących, ale stwarza problem braku możliwości przenoszenia. Ponadto dostępne na rynku sterowniki bezprzewodowe mogą sterować tylko niektórymi lokomotywami
Sterowanie WiFi w modelu pociągu za pomocą MQTT: 9 kroków
Sterowanie WiFi w modelach pociągów za pomocą MQTT: Mając stary system modeli pociągów w skali TT, wpadłem na pomysł, jak indywidualnie sterować lokomotywami. Mając to na uwadze, poszedłem o krok dalej i wymyśliłem, co jest potrzebne nie tylko do sterowania pociągami ale aby uzyskać dodatkowe informacje na temat
Kontroluj układ swojego modelu pociągu za pomocą pilota telewizora!: 7 kroków (ze zdjęciami)
Kontroluj układ swojego modelu pociągu za pomocą telewizora PILOT!: W tej instrukcji pokażę, jak zrobić system zdalnego sterowania na podczerwień do modelu pociągu. Będziesz wtedy mógł kontrolować swoje pociągi, relaksując się na kanapie. Więc zacznijmy