सटीक रीडिंग के लिए Arduino टैकोमीटर सर्किट

सटीक रीडिंग के लिए Arduino टैकोमीटर सर्किट

टैकोमीटर एक उपकरण है जो घूर्णन पिंड के RPM या कोणीय वेग को मापता है। यह स्पीडोमीटर और ओडोमीटर से भिन्न होता है क्योंकि ये उपकरण शरीर के रैखिक या स्पर्शरेखा वेग से निपटते हैं जबकि टैकोमीटर a.k.a 'tach' अधिक मौलिक RPM से संबंधित होता है।



अंकित नेगी द्वारा

टैकोमीटर एक काउंटर से बना है और ये दोनों एक साथ काम करने वाले टाइमर को RPM प्रदान करता है। हमारी परियोजना में हम ऐसा ही करने जा रहे हैं, अपने Arduino और कुछ सेंसर का उपयोग करके हम एक काउंटर और एक टाइमर दोनों को सेटअप करेंगे और हमारे आसान और आसान टैक को विकसित करेंगे। ।





आवश्यक शर्तें

काउंटर एक उपकरण या सेटअप के अलावा कुछ भी नहीं है जो रोटेशन के दौरान डिस्क में डॉट के गुजरने जैसी किसी भी नियमित घटना को गिन सकता है। प्रारंभ में काउंटरों को यांत्रिक व्यवस्था और गियर, चूहा, स्प्रिंग्स आदि जैसे लिंक का उपयोग करके बनाया गया था।

लेकिन अब हम अधिक परिष्कृत और अत्यधिक सटीक सेंसर और इलेक्ट्रॉनिक्स वाले काउंटर का उपयोग कर रहे हैं। टाइमर एक इलेक्ट्रॉनिक तत्व है जो घटनाओं या समय को मापने के बीच समय अंतराल को मापने में सक्षम है।



हमारे Arduino Uno में ऐसी इमारते हैं जो न केवल समय का ध्यान रखती हैं बल्कि Arduino के कुछ महत्वपूर्ण कार्यों को भी बनाए रखती हैं। Uno में हमारे पास 3 टाइमर हैं जिनका नाम Timer0, Timer1 और Timer2 है। इन टाइमर के निम्नलिखित कार्य हैं- • टाइमर0- यूनो कार्यों के लिए विलंब (), मिलिस (), माइक्रो () या डिलेर्मिक्रोस ()।

• टाइमर 1 - सर्वो पुस्तकालय के काम के लिए।

• टाइमर 2 - टोन (), नोटोन () जैसे कार्यों के लिए।

इन कार्यों के साथ-साथ ये 3 टाइमर PWM आउटपुट जेनरेट करने के लिए भी जिम्मेदार होते हैं, जब पीएमआर नामित पिन में एनालॉगवर्इट () कमांड का उपयोग किया जाता है।

इंटरप्ट की अवधारणा

Arduino Uno में एक छिपा हुआ उपकरण मौजूद होता है, जो हमें टाइमर इंटरप्ट्स के रूप में जाना जाता है, जो कि एक बहुत सारे कामकाज तक पहुँच प्रदान कर सकता है। इंपॉर्टेंट उन घटनाओं या निर्देशों का एक सेट है, जिन्हें डिवाइस के वर्तमान कामकाज में बाधा डालने पर निष्पादित किया जाता है, अर्थात कोई बात नहीं कोड्स जो आपके Uno से पहले क्रियान्वित हो रहे थे लेकिन एक बार इंटरप्ट कहलाए जाने के बाद Interdu में दिए गए निर्देश को निष्पादित करें।

मोटर शाफ्ट पर चुंबक

अब इंटरप्ट को इनबिल्ट Arduino Syntax का उपयोग करके उपयोगकर्ता द्वारा परिभाषित कुछ शर्त पर बुलाया जा सकता है। हम इस इंटरप्ट का उपयोग हमारी परियोजना में करेंगे जो हमारे टैकोमीटर को अधिक दृढ़ बनाता है और साथ ही वेब के आसपास अन्य टैकोमीटर प्रोजेक्ट की तुलना में अधिक सटीक होता है।

Arduino का उपयोग कर इस टैकोमीटर परियोजना के लिए आवश्यक घटक

• हॉल इफेक्ट सेंसर (Fig.1)

हॉल प्रभाव सेंसर मॉड्यूल

• अर्डुइनो ऊनो

Arduino UNO बोर्ड

• छोटा चुंबक

छोटा चुंबक

• जम्पर तार

• घूर्णन वस्तु (मोटर शाफ्ट)

डीसी यंत्र

सर्किट सेटअप

• बनाने के लिए सेटअप निम्नानुसार है-

• शाफ्ट में जिसकी रोटेशन की गति मापी जानी है, गोंद बंदूक या विद्युत टेप का उपयोग करके एक छोटे चुंबक के साथ फिट की जाती है।

• हॉल इफेक्ट सेंसर में कनेक्शन के लिए आगे और 3 पिन में एक डिटेक्टर है।

• Vcc और Gnd पिन क्रमशः Arvino के 5V और Gnd पिन से जुड़े होते हैं। सेंसर का आउटपुट पिन इनपुट सिग्नल प्रदान करने के लिए Uno के डिजिटल पिन 2 से जुड़ा होता है।

• सभी घटकों को एक माउंट बोर्ड में तय किया गया है और हॉल डिटेक्टर को बोर्ड से इंगित किया गया है।

प्रोग्रामिंग

int sensor = 2 // Hall sensor at pin 2
volatile byte counts
unsigned int rpm //unsigned gives only positive values
unsigned long previoustime
void count_function()
{ /*The ISR function
Called on Interrupt
Update counts*/
counts++
}
void setup() {
Serial.begin(9600)
//Intiates Serial communications
attachInterrupt(0, count_function, RISING) //Interrupts are called on Rise of Input
pinMode(sensor, INPUT) //Sets sensor as input
counts= 0
rpm = 0
previoustime = 0 //Initialise the values
}
void loop()
{
delay(1000)//Update RPM every second
detachInterrupt(0) //Interrupts are disabled
rpm = 60*1000/(millis() - previoustime)*counts
previoustime = millis() //Resets the clock
counts= 0 //Resets the counter
Serial.print('RPM=')
Serial.println(rpm) //Calculated values are displayed
attachInterrupt(0, count_function, RISING) //Counter restarted
}

कोड अपलोड करें।

कोड पता है

हमारे टैकोमीटर हॉल इफ़ेक्ट सेंसर हॉल इफ़ेक्ट सेंसर का उपयोग करते हैं, जो उनके खोजकर्ता एडविन हॉल के नाम पर हॉल के प्रभाव पर आधारित है।

जब एक चुंबकीय क्षेत्र को धारा के प्रवाह के लिए लंबवत पेश किया जाता है, तो हॉल इफेक्ट एक वर्तमान ले जाने वाले कंडक्टर में वोल्टेज की पीढ़ी की घटना है। इनपुट सिग्नल जनरेशन में इस घटना के कारण उत्पन्न यह वोल्टेज। इस परियोजना में इंटरप्ट का उल्लेख किया जाएगा, इंटरप्ट को कॉल करने के लिए हमें अपनी स्थिति को सेटअप करना होगा। Arduino Uno में इंटरप्ट के लिए कॉल करने के लिए 2 शर्तें हैं-

RISING- जब इसका उपयोग किया जाता है, तो हर बार जब इनपुट सिग्नल LOW से हाई हो जाता है, तो Interrupt को कॉल किया जाता है।

FALING- जब इसका उपयोग किया जाता है, तो Interrupt उस समय कहे जाते हैं जब सिग्नल High से LOW होता है।

हमने RISING का उपयोग किया है, ऐसा क्या होता है कि जब शाफ्ट या घूर्णन वस्तु में रखा चुंबक हॉल डिटेक्टर इनपुट सिग्नल के करीब आता है और इंटरप्ट को कॉल किया जाता है, तो इंटरप्ट इंटरप्ट सर्विस रूटीन (ISR) फ़ंक्शन शुरू करता है, जिसमें वृद्धि शामिल है मायने रखता है और इस तरह गिनती जगह लेता है।

हमने टाइमर सेटअप करने के लिए पत्राचार में अरुडिनो और प्रीविवेस्टमाइम (चर) के मिलिस () फ़ंक्शन का उपयोग किया है।

इस प्रकार RPM की गणना गणितीय संबंध का उपयोग करके की जाती है-

RPM = काउंट्स / टाइम को मिलीसेकंड को मिनटों और पुनर्व्यवस्था में परिवर्तित करने के लिए हमें फॉर्मूला = 60 * 1000 / (मिलिस () - प्रीविवेलेम) * काउंट्स में मिलता है।

विलंब (1000) समय अंतराल निर्धारित करता है जिसके बाद स्क्रीन पर RPM का मूल्य अपडेट किया जाएगा, आप अपनी आवश्यकताओं के अनुसार इस देरी को समायोजित कर सकते हैं।

प्राप्त RPM के इस मूल्य का उपयोग संबंध- v = (3.14 * D * N) / 60 m / s का उपयोग करके घूर्णन वस्तु के स्पर्शरेखा वेग की गणना करने के लिए किया जा सकता है।

RPM के मूल्य का उपयोग घूर्णन व्हील या डिस्क द्वारा यात्रा की गई दूरी की गणना करने के लिए भी किया जा सकता है।

सीरियल मॉनीटर पर प्रिंटिंग वैल्यू के बजाय बेहतर उपयोग के लिए एलसीडी डिस्प्ले (16 * 2) और बैटरी को जोड़कर इस डिवाइस को अधिक उपयोगी बनाया जा सकता है।




पिछला: IC 555 का उपयोग कर स्टेपर मोटर ड्राइवर सर्किट अगला: Arduino का उपयोग करके डिजिटल कैपेसिटेंस मीटर सर्किट