एक ऑप्टिकल सेंसर का उपयोग करके Arduino आरपीएम काउंटर
एक RPM (प्रति मिनट रिवोल्यूशन) काउंटर का निर्माण एक क्लासिक और उपयोगी Arduino परियोजना है। यह गाइड आपको एक बनाने के माध्यम से चलता है ऑप्टिकल tachometer आईआर एलईडी, एक आईआर फोटोट्रांसिस्टर और एक 16 × 2 एलसीडी डिस्प्ले का उपयोग करना। परिणाम मोटर्स, प्रशंसकों या प्रोपेलर्स के लिए उपयुक्त एक सरल, सटीक आरपीएम काउंटर है।
परियोजना अवलोकन
यह Arduino RPM काउंटर एक घूर्णन वस्तु (जैसे प्रोपेलर) के साथ एक इन्फ्रारेड बीम को बाधित करके काम करता है। प्रत्येक रुकावट को Arduino द्वारा पता लगाया जाता है, गिना जाता है और एक आरपीएम मान में परिवर्तित किया जाता है जो एलसीडी स्क्रीन पर प्रदर्शित होता है।
मुख्य विशेषताएं:
रीयल-टाइम आरपीएम माप
ऑप्टिकल (गैर संपर्क) संवेदन
आसान पढ़ने के लिए एलसीडी आउटपुट
सरल और कम लागत वाले घटक
पार्ट्स सूची
आपको निम्नलिखित घटकों की आवश्यकता होगी:
1 × Arduino बोर्ड
1 × 16 × 2 एलसीडी डिस्प्ले (HD44780 संगत)
1 × 10kΩ पोटेंशियलोमीटर (LCD विपरीत नियंत्रण)
1 × 10kΩ प्रतिरोधी
1 × आईआर एलईडी
1 × आईआर फोटोट्रांसिस्टर
जम्पर तार
तारों का निर्देश
सर्किट को इकट्ठा करने के लिए इन चरणों का ध्यानपूर्वक पालन करें। प्रत्येक उपधारा वास्तव में बताती है कि प्रत्येक तार भ्रम से बचने के लिए जाना चाहिए।
विद्युत वितरण
कनेक्ट Arduino 5V पिन ब्रेडबोर्ड सकारात्मक रेल।
कनेक्ट Arduino GND पिन ब्रेडबोर्ड ग्राउंड रेल।
सुनिश्चित करें कि सभी घटक (एलसीडी, पोटेंशियलोमीटर, आईआर एलईडी और फोटोट्रांसिस्टर) इस आम जमीन को साझा करते हैं।
एलसीडी और पोटेंटियोमीटर कनेक्शन (16 × 2 समानांतर एलसीडी)
एलसीडी पिन 1 (वीएसएस) → ग्राउंड
एलसीडी पिन 2 (VDD) → 5 वी
एलसीडी पिन 3 (VO) → मध्य पिन 10k Ω पोटेंशियलोमीटर
Potentiometer साइड पिन → 5V और ग्राउंड (एलसीडी विपरीत समायोजित करने के लिए इस्तेमाल किया)
एलसीडी पिन 4 (RS) → Arduino डिजिटल पिन 7
एलसीडी पिन 5 (RW) → ग्राउंड (LCD मोड लिखने के लिए सेट)
एलसीडी पिन 6 (ई) → Arduino डिजिटल पिन 8
एलसीडी पिन 11 (D4) → Arduino डिजिटल पिन 9
एलसीडी पिन 12 (D5) → Arduino डिजिटल पिन 10
एलसीडी पिन 13 (D6) → Arduino डिजिटल पिन 11
एलसीडी पिन 14 (D7) → Arduino डिजिटल पिन 12
एलसीडी बैकलाइट
पिन 15 (A) → 5V एक रोकनेवाला के माध्यम से
पिन 16 (K) → ग्राउंड
आईआर एलईडी (ट्रांसमीटर)
Anode (longer lead) → Arduino डिजिटल पिन 13
कैथोड (शॉर्टर लीड) → ग्राउंड
आईआर एलईडी लगातार फोटोट्रांसिस्टर की ओर एक अवरक्त किरण उत्सर्जित करने के लिए बनी हुई है।
IR Phototransistor (Receiver)
कलेक्टर (शॉर्टर लीड) → Arduino डिजिटल पिन 2
Emitter (longer lead) → ग्राउंड
सीधे आईआर एलईडी का सामना करने वाले फोटोट्रांसिस्टर की स्थिति में, इसलिए बीम घूर्णन वस्तु द्वारा बाधित है।
अंतिम जाँच
सभी को सुनिश्चित करना ग्राउंड कनेक्शन आम हैं।
सर्किट को शक्ति देने से पहले डबल-चेक पिन नंबर।
जब तक पाठ एलसीडी पर स्पष्ट रूप से दिखाई नहीं देता तब तक पोटेंशियलोमीटर को समायोजित करें।
युक्ति: डिजिटल पिन 2 का उपयोग किया जाता है क्योंकि यह समर्थन करता है हार्डवेयर रुकावट, Arduino को बीम रुकावटों को सही ढंग से गिनने की अनुमति देता है और आसानी से RPM की गणना करता है।
Arduino कोड
अपने Arduino बोर्ड के लिए निम्नलिखित स्केच अपलोड करें:
/*
* Optical Tachometer
*
* Uses an IR LED and IR phototransistor to implement an optical tachometer.
* The IR LED is connected to pin 13 and runs continuously.
* Digital pin 2 (interrupt 0) is connected to the IR detector.
*/
#include
int ledPin = 13; // IR LED connected to digital pin 13
volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;
// Initialize the LCD with the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void rpm_fun() {
// This interrupt runs every time the IR beam is cut
rpmcount++;
}
void setup() {
lcd.begin(16, 2); // Initialize the LCD
// Attach interrupt to digital pin 2 (interrupt 0)
attachInterrupt(0, rpm_fun, FALLING);
// Turn on IR LED
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
rpmcount = 0;
rpm = 0;
timeold = 0;
}
void loop() {
// Update RPM every second
delay(1000);
// Temporarily stop interrupts during calculation
detachInterrupt(0);
rpm = 30 * 1000 / (millis() - timeold) * rpmcount;
timeold = millis();
rpmcount = 0;
// Display RPM on LCD
lcd.clear();
lcd.print("RPM=");
lcd.print(rpm);
// Re-enable interrupt
attachInterrupt(0, rpm_fun, FALLING);
}
आरपीएम गणना को समझना
यह परियोजना मानती है प्रति क्रांति दो रुकावटजैसे कि दो ब्लेड प्रोपेलर के साथ मोटर का उपयोग करते समय।
यही कारण है कि आरपीएम गणना इस सूत्र का उपयोग क्यों करती है:
rpm = 30 * 1000 / (millis() - timeold) * rpmcount;
अपने सेटअप के लिए समायोजन
प्रति क्रांति एक रुकावट:
बदलें30साथ60अधिक ब्लेड या अंकन:
विभाजन60प्रति पूर्ण रोटेशन रुकावट की संख्या से और तदनुसार सूत्र अद्यतन करें।
यह लचीलापन आपको विभिन्न मोटर्स और घूर्णन वस्तुओं के लिए परियोजना को अनुकूलित करने की अनुमति देता है।
अंतिम नोट
सुनिश्चित करें कि आईआर एलईडी और फोटोट्रांसिस्टर को विश्वसनीय रीडिंग के लिए ठीक से संरेखित किया गया है।
अधिक सुसंगत बीम रुकावट के लिए चिंतनशील टेप या एक slotted डिस्क का उपयोग करें।
इस परियोजना को RPM डेटा लॉगिंग या सीरियल आउटपुट जोड़कर बढ़ाया जा सकता है।
तैयार करने के लिए?
यह Arduino RPM काउंटर मोटर नियंत्रण परियोजनाओं, रोबोटिक्स और यांत्रिक निदान के लिए एक महान नींव है। घटकों को इकट्ठा करना, कोड को अपलोड करना और आत्मविश्वास के साथ आरपीएम को मापने शुरू करना।