Spisu treści:
- Krok 1: Krok: 1 Sprawdź stan pracy czujników i urządzeń
- Krok 2: Jak to działa?
- Krok 3: Zaprogramuj Arduino za pomocą Arduino IDE
- Krok 4: Symulacja za pomocą Proteusa
- Krok 5: Wykonanie sprzętowe
Wideo: Pomiar prędkości silnika za pomocą Arduino: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
Czy trudno zmierzyć obroty silnika ??? Nie sądzę. Oto jedno proste rozwiązanie.
Tylko jeden czujnik podczerwieni i Arduino w twoim zestawie mogą to zrobić.
W tym poście przedstawię prosty samouczek wyjaśniający, jak mierzyć obroty dowolnego silnika za pomocą czujnika podczerwieni i Arduino UNO/nano
Kieszonkowe dzieci:
1. Arduion uno (Amazonka) / Arduion nano (Amazonka)
2. Czujnik podczerwieni (Amazonka)
3. Silnik prądu stałego dowolny (Amazon)
4. LCD 16*2 (Amazonka)
Narzędzia użyte
1. Lutownica (Amazonka)
2. Narzędzie do ściągania izolacji (Amazonka)
Krok 1: Krok: 1 Sprawdź stan pracy czujników i urządzeń
Co to jest czujnik podczerwieni? Czujnik podczerwieni to urządzenie elektroniczne, które emituje światło w celu wykrycia jakiegoś obiektu z otoczenia. Czujnik podczerwieni może mierzyć ciepło obiektu, a także wykrywać ruch. Zazwyczaj w widmie podczerwonym wszystkie obiekty promieniują jakąś formą promieniowania cieplnego. Tego typu promieniowanie jest niewidoczne dla naszych oczu, ale czujnik podczerwieni może je wykryć.
Co to jest silnik prądu stałego? Silnik prądu stałego (DC) to rodzaj maszyny elektrycznej, która przekształca energię elektryczną w energię mechaniczną. Silniki prądu stałego pobierają energię elektryczną za pośrednictwem prądu stałego i przekształcają tę energię w ruch obrotowy.
Silniki prądu stałego wykorzystują pola magnetyczne, które powstają z generowanych prądów elektrycznych, które napędzają ruch wirnika zamocowanego na wale wyjściowym. Wyjściowy moment obrotowy i prędkość zależą zarówno od wejścia elektrycznego, jak i konstrukcji silnika.
Co to jest Arduino?
Arduino to platforma elektroniczna typu open source oparta na łatwym w użyciu sprzęcie i oprogramowaniu. Płytki Arduino potrafią odczytywać wejścia – światło na czujniku, palec na przycisku czy wiadomość na Twitterze – i zamieniać je w wyjście – uruchamiając silnik, włączając diodę LED, publikując coś online. Możesz powiedzieć swojej płytce, co ma robić, wysyłając zestaw instrukcji do mikrokontrolera na płytce. Aby to zrobić, użyj języka programowania Arduino (opartego na Wiring) oraz oprogramowania Arduino (IDE), opartego na Processing.
Pobierz ARDUINO IDE
Krok 2: Jak to działa?
Więc jaka jest logika za tym ??
Działa bardzo podobnie do enkodera. Enkodery są dość trudne do zrozumienia dla początkujących. Wszystko, co musisz wiedzieć, to czujnik podczerwieni generuje impuls, a my ustalamy odstęp czasowy między każdym impulsem.
W takim przypadku czujnik podczerwieni wyśle impuls do Arduino, gdy jego wiązka podczerwieni zostanie przechwycona przez śmigła silników. Zwykle używamy śmigieł z dwoma łopatami, ale ja użyłem śmigła z trzema łopatami, jak pokazano na rysunku. w zależności od ilości łopat śmigła musimy zmodyfikować niektóre wartości podczas obliczania obrotów.
załóżmy, że mamy śmigło, które ma dwie łopatki. Przy każdym obrocie silnika ostrze przechwyci promień IR dwukrotnie. W ten sposób czujnik IR będzie wytwarzał impulsy, gdy kiedykolwiek przechwyci.
Teraz musimy napisać program, który mógłby mierzyć liczbę impulsów wytwarzanych przez czujnik IR w określonym przedziale czasu.
Jest więcej niż jeden sposób rozwiązania problemu, ale musimy wybrać, który jest najlepszy w tym kodzie. Zmierzyłem czas trwania między przerwaniami (czujnik podczerwieni) Użyłem funkcji micros() do pomiaru czasu trwania impulsów w mikro sekundach.
możesz użyć tego wzoru do pomiaru RPMRPM = ((1/czas trwania)*1000*1000*60)/ostrza
gdzie, czas trwania - odstęp czasu między impulsami.
60 - sekund do minut
1000 - od młyna do sekundy
1000 - mikro do mielenia
łopaty - liczba skrzydeł w śmigle.
Wyświetlacz LCD - Arduino aktualizuje rejestry poleceń i danych wyświetlacza LCD. Który wyświetla znaki ASCII na wyświetlaczu LCD.
Krok 3: Zaprogramuj Arduino za pomocą Arduino IDE
#włączać
LCD LiquidCrystal (9, 8, 7, 6, 5, 4); const int IR_IN = 2; //czujnik podczerwieni INPUT unsigned long prevmicro; // Aby przechowywać czas bez znaku długi czas trwania; // Przechowywanie różnicy czasu unsigned long lcdrefresh; // Przechowywanie czasu potrzebnego do odświeżenia lcd int rpm; // RPM wartość logiczna bieżący stan; // Bieżący stan skanowania wejścia IR boolean prevstate; // Stan czujnika podczerwieni w poprzednim skanie void setup() { pinMode(IR_IN, INPUT); lcd.początek(16, 2); poprzednie mikro = 0; stan wstępny = NISKI; } void loop() { /////////////////////////////////////////// //////////////////////////////////// RPM Stan pomiaru = digitalRead(IR_IN); // Odczyt stanu czujnika podczerwieni if(prevstate != currentstate) // Jeśli nastąpiła zmiana na wejściu { if(currentstate == LOW) // Jeśli wejście zmienia się tylko z HIGH na LOW { czas trwania = (micros() - prevmicros); // Różnica czasu między obrotem w mikrosekundach obr/min = ((60000000/czas trwania)/3); // obr/min = (1/ czas milis)*1000*1000*60; prevmikro = mikro(); // czas przechowywania dla obliczenia nect rewolucji } } prevstate = currentstate; // zapisz dane tego skanowania (poprzednie skanowanie) do następnego skanowania //////////////////////////////////// ////////////////////////////////////////////// LCD ((millis()-lcdrefresh) >= 100) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Prędkość silnika"); lcd.setCursor(0, 1); lcd.print("RPM = "); lcd.print(rpm); lcdrefresh = mili(); } }
Krok 4: Symulacja za pomocą Proteusa
Ten projekt działał idealnie, gdy próbowałem go zasymulować za pomocą proteusa.
Zamiast czujnika IR użyłem generatora impulsów prądu stałego, który symuluje impuls IR podobny do generowanego, gdy promienie IR uderzają w łopatki śmigła.
musisz wprowadzić zmiany w swoim programie w zależności od używanego czujnika
Czujnik podczerwieni z LM358 musi używać tego polecenia.
if(currentstate == HIGH) // Jeśli wejście zmienia się tylko z LOW na HIGH
Czujnik podczerwieni z LM359 musi używać tego polecenia.
if(currentstate == LOW) // Jeśli wejście zmienia się tylko z HIGH na LOW
Krok 5: Wykonanie sprzętowe
W przypadku schematu użyj zdjęć symulacyjnych lub zapoznaj się z kodami programu i wykonaj odpowiednie połączenia. Wgraj kod programu do Arduino i zmierz obroty dowolnego silnika. Czekajcie na mój następny post i oglądajcie mój kanał na YouTube.
Zalecana:
Sterownik zmiennej prędkości silnika: 8 kroków
Regulator prędkości silnika o zmiennej prędkości: W tym projekcie pokażę, w jaki sposób stworzyłem regulator prędkości silnika i amp; Pokażę również, jak łatwo można zbudować regulator zmiennej prędkości silnika za pomocą IC 555. Zaczynajmy
Pomiar prędkości wiatru za pomocą obwodów Micro:bit i Snap: 10 kroków
Pomiar prędkości wiatru za pomocą układów Micro:bit i Snap Circuits: StoryJako moja córka i ja pracowaliśmy nad anemometrem do projektu pogody, postanowiliśmy rozszerzyć zabawę o angażujące programowanie.Co to jest anemometr? jest. Cóż, to urządzenie, które mierzy wiatr
Jak uruchomić bezszczotkowy silnik prądu stałego drona quadcoptera za pomocą bezszczotkowego kontrolera prędkości silnika HW30A i testera serwomechanizmu: 3 kroki
Jak uruchomić bezszczotkowy silnik prądu stałego drona Quadcopter za pomocą bezszczotkowego kontrolera prędkości silnika HW30A i testera serwomechanizmu: Opis: To urządzenie nazywa się testerem silnika serwo, który może być używany do uruchamiania silnika serwo poprzez proste podłączenie silnika serwo i zasilanie do niego. Urządzenie może być również wykorzystywane jako generator sygnału do elektrycznego regulatora prędkości (ESC), wtedy nie można
Jak sterować bezszczotkowym silnikiem prądu stałego drona Quadcoptera (typ 3 przewodów) za pomocą kontrolera prędkości silnika HW30A i Arduino UNO: 5 kroków
Jak kontrolować bezszczotkowy silnik prądu stałego drona Quadcopter (typ 3 przewodów) za pomocą kontrolera prędkości silnika HW30A i Arduino UNO: Opis: Kontroler prędkości silnika HW30A może być używany z 4-10 akumulatorami NiMH / NiCd lub 2-3 ogniwami LiPo. BEC działa z maksymalnie 3 ogniwami LiPo. Może być używany do sterowania prędkością bezszczotkowego silnika prądu stałego (3 przewody) z maksymalnie 12Vdc. Specyficzne
Pomiar prędkości przepływu: 7 kroków (ze zdjęciami)
Pomiar prędkości przepływu: Za pomocą tego urządzenia możesz zmierzyć prędkość swobodnie płynącego strumienia. Jedyne, co jest potrzebne, to Arduino i kilka podstawowych umiejętności rzemieślniczych i oczywiście swobodny przepływ. Nie jest to najbardziej praktyczny sposób mierzenia prędkości