मैं एक पहिया के आरपीएम को कैसे माप सकता हूं?


15

मैं अपनी बाइक के लिए एक Arduino या शायद लिलिपैड बोर्डों का उपयोग करके ऑनबोर्ड प्रणाली बनाने की कोशिश कर रहा हूं।

मुझे लगता है कि मुझे हॉल इफेक्ट सेंसर का उपयोग करना चाहिए, लेकिन कोई भी विकल्प अच्छा है।

मैं अपनी गति को एक एलसीडी डिस्प्ले में आउटपुट करना चाहता हूं और मैं इस बारे में जाने का सबसे अच्छा तरीका सोच रहा हूं।

जवाबों:


12

हॉल प्रभाव सेंसर का उपयोग करना जैसा कि स्टारलाइनर ने सुझाव दिया है कि पहिया के साथ इंटरफेस करने का एक तरीका होगा। रीड स्विच का उपयोग करने के लिए अचिम और शटर्र्रोन का सुझाव अधिक मायने रखता है, हालांकि सहायक हार्डवेयर को एक हॉल इफेक्ट सेंसर को देखते हुए एक स्वच्छ डिजिटल सिग्नल प्राप्त करने की आवश्यकता होती है।

आप एक टूटे हुए साइकिल कंप्यूटर से चुंबक और सेंसर लेने में सक्षम हो सकते हैं लेकिन यदि आप नहीं कर सकते हैं, तो स्थानीय घटक स्टोर के पास स्टॉक में प्रत्येक में से एक होना चाहिए। एक पुनर्नवीनीकरण सेंसर और चुंबक का लाभ यह है कि आपके पास पहले से ही बढ़ते हार्डवेयर होंगे।

रीडिंगआरपीएम संकेतों पर आर्डिनो डिकी पर एक पृष्ठ है। गति की गणना करने के लिए पहिया के परिधि द्वारा RPM मान को गुणा करें (2 * pi * त्रिज्या [मीटर में])। परिणाम प्रति मिनट मीटर में होगा।

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

volatile byte revolutions;

unsigned int rpmilli;
float speed;


unsigned long timeold;

void setup()
{
  Serial.begin(9600);
  attachInterrupt(0, rpm_fun, RISING);

  revolutions = 0;
  rpmilli = 0;
  timeold = 0;
}

void loop()
{
  if (revolutions >= 20) { 
    //Update RPM every 20 counts, increase this for better RPM resolution,
    //decrease for faster update

    // calculate the revolutions per milli(second)
    **rpmilli = (millis() - timeold)/revolutions;** EDIT: it should be revolutions/(millis()-timeold)

    timeold = millis();
    **rpmcount = 0;** (EDIT: revolutions = 0;)

    // WHEELCIRC = 2 * PI * radius (in meters)
    // speed = rpmilli * WHEELCIRC * "milliseconds per hour" / "meters per kilometer"

    // simplify the equation to reduce the number of floating point operations
    // speed = rpmilli * WHEELCIRC * 3600000 / 1000
    // speed = rpmilli * WHEELCIRC * 3600

    speed = rpmilli * WHEELCIRC * 3600;

    Serial.print("RPM:");
    Serial.print(rpmilli * 60000,DEC);
    Serial.print(" Speed:");
    Serial.print(speed,DEC);
    Serial.println(" kph");
  }
}

void rpm_fun()
{
  revolutions++;
}

इसके अलावा, मैंने इस पर 'कम्युनिटी विकी' को सक्षम किया है, जो मुझे लगता है कि इसका मतलब है कि अन्य उपयोगकर्ता इसे संपादित कर सकते हैं। यदि मेरा गणित गलत है (और आप इसे साबित कर सकते हैं!) मेरे लिए इसमें कूदें और इसे ठीक करें। :)


10

दरअसल, अचिम ने यहां बहुत अच्छी बात की है।

रीड (चुंबकीय) रिले (स्विच) और एक हॉल प्रभाव सेंसर के बीच एक बड़ा अंतर है।

मुख्य रूप से, एक रीड रिले एक स्विच को कनेक्ट करेगा जब भी पर्याप्त चुंबकीय बल उस पर कार्य कर रहा है, आपको एक चालू / बंद संकेत दे रहा है। एक हॉल इफेक्ट सेंसर एक वोल्टेज स्तर प्रदान करता है जो दर्शाता है कि उस पर कितना चुंबकीय बल लगाया जा रहा है।

ऊपर दिखाया गया कोड एक रीड रिले के साथ केवल 'सीधे' काम करेगा, जो यह कहने के लिए नहीं है कि यह एक हॉल प्रभाव सेंसर के लिए बिल्कुल भी काम नहीं करेगा, लेकिन यह एक हॉल-इफेक्ट सेंसर का उपयोग करके अतिरिक्त चुनौतियां प्रदान करेगा।

प्राथमिक चुनौती यह होगी कि आप एनालॉग डिवाइस को एक डिजिटल के रूप में मान रहे हैं - एक नाड़ी के बढ़ने पर ट्रिगर करने की उम्मीद है। अब, संकेत स्पंदित नहीं होगा - यह आमतौर पर घंटी-वक्र की तरह होगा, जिसमें सभी प्रकार के उतार-चढ़ाव होंगे। आप उच्च संकेत (लगभग 3.5 v, IIRC?) के लिए कई बार न्यूनतम वोल्टेज से पहले यात्रा कर सकते हैं क्योंकि चुंबक हॉल-इफेक्ट सेंसर से गुजरता है।

बेशक, हॉल इफेक्ट सेंसर की तरह कुछ का उपयोग करते समय हमारी पहली वृत्ति एडीसी का उपयोग करना और एनालॉग पिन पर वोल्टेज स्तर को पढ़ना है। हालांकि, आप 10,000 पिन तक सीमित हैं, मोटे तौर पर एक एनालॉग पिन पर प्रति सेकंड (प्रत्येक रीड 100uS लेता है)। यह भी माना जाता है कि आप जो कुछ भी करते हैं वह लूप होता है और मूल्यों को पढ़ता है - प्रदर्शन, गणना इत्यादि को अपडेट करने के लिए आपके पास बहुत समय नहीं बचता है, इसका उल्लेख नहीं है, यदि आप गलत समय पर पढ़ते हैं, तो आपने अपना संकेत याद किया!

मुझे यकीन है कि ADC से जुड़े किसी भी तरह से व्यवधान का उपयोग करना संभव है, लेकिन मेरे पास ऐसा कोई ज्ञान नहीं है।

इसके बजाय, यदि आप एक वास्तविक हॉल इफेक्ट सेंसर का उपयोग करना चाहते हैं, तो मैं इसे स्कैम ट्रिगर में फीड करने के लिए इसे एक डिजिटल (ऑन / ऑफ) सिग्नल को एक कैलिब्रेटेड स्तर पर सिग्नल में बदलने का सुझाव दूंगा जो "सीधे चुंबक के नीचे इंगित करता है।" इसके अतिरिक्त, श्मिट ट्रिगर में लागू हिस्टैरिसीस के स्तर के आधार पर, आपको कुछ डी-बाउंसिंग करने की आवश्यकता हो सकती है जो वर्तमान गति के आधार पर डी-बाउंस की दर को बदल देगा। तब आप इसे सामान्य रीड रिले की तरह मान सकते हैं।

!सी


1
आप दोनों दुनिया के सर्वश्रेष्ठ प्राप्त कर सकते हैं। ATMega8 घटकों को आंतरिक तुलनित्र तक पहुंच प्रदान करने के लिए कॉन्फ़िगर किया जा सकता है। एक उपयुक्त वोल्टेज संदर्भ के साथ (कहने के साथ समायोज्य, एक ट्रिम्पॉट), आप एनालॉग सिग्नल के बढ़ते (या गिरने या दोनों) किनारे पर व्यवधान डाल सकते हैं। समझा सिर्फ इतना है कि मंच विषय के लिए लिंक: arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1163394545
SingleNegationElimination

एक schmitt- ट्रिगर थ्रेशोल्ड आउटपुट के साथ हॉल-इफेक्ट डिवाइस हैं। वे काफी सामान्य हैं। इसके अलावा, एक ईख स्विच के साथ, आपको आउटपुट एनीवेज को डिबेट करना होगा।
कॉनर वुल्फ

7

हॉल इफेक्ट सेंसर और रीड स्विच यहां सबसे अधिक उल्लेखित हैं, और वे सबसे अच्छा समाधान हैं।

रीड स्विच सस्ता होगा, लेकिन जब बाइक एक झटका हो जाता है आप गलत दालों दे सकता है। यदि यह सिर्फ एक अंकुश की सवारी से है, तो सॉफ्टवेयर इसे आसानी से फ़िल्टर कर सकता है, लेकिन जब आप कोब्लेस्टोन पर सवारी कर रहे हों, तो यह अलग है, जो आपको हर समय झूठी दाल दे सकता है। अधिक शॉक प्रतिरोधी रीड स्विच को सक्रिय करने के लिए एक मजबूत चुंबकीय क्षेत्र की आवश्यकता होगी, लेकिन एक नियोडिमियम चुंबक इसे ठीक कर देगा।



77

हॉल प्रभाव स्विच इन कमियों को नहीं है, लेकिन कुछ हद तक अधिक महंगा है।


टी

v=πडीटी

डीटी

रों=नाड़ी की गिनती×π×डी

डी


5

एक चुंबक को पहिया के रिम के किनारे पर लगाया जा सकता है और हॉल इफेक्ट सेंसर चुंबक के बहुत करीब (लेकिन संपर्क नहीं) पर मुहिम शुरू करता है। जैसे ही पहिया घूमता है और चुंबक सेंसर से गुजरता है, सेंसर चुंबकीय क्षेत्र में बदलाव को उठाएगा।


3

यदि आप अभी भी सॉलिड-स्टेट पर जाना चाहते हैं, तो वे कई "हॉल इफेक्ट स्विच" हैं, जिनमें हॉल इफेक्ट सेंसर और हिस्टिसिस के साथ श्मिट ट्रिगर शामिल हैं, जो बिना उछाल के स्वच्छ डिजिटल आउटपुट प्रदान करते हैं। जब भी कुछ थ्रेशोल्ड फ्लक्स डेन्सिटी (डेटशीट में प्रदान की गई) तक पहुँच जाते हैं तो वे स्विच हो जाते हैं। आप चुंबक और स्विच के एक अच्छे संयोजन की गणना कर सकते हैं या बस प्रयोग कर सकते हैं।

यह साइट आपको और भी बहुत कुछ बताएगी।


2

साइकिल कंप्यूटर के पुर्जों में रीड-कॉन्टैक्ट होते हैं न कि हॉल इफेक्ट सेंसर। वे पूरी तरह से अलग हैं। लेकिन मुझे लगता है कि आप सभी ईख-संपर्क के बारे में बात कर रहे हैं।


1

चुंबक को एक स्पोक पर और आपके एक कांटे या चेनस्टे पर सेंसर लगाया जा सकता है।

पाई आदि से गुणा करने के बजाय, मेरी पिछली बाइक कंप्यूटर द्वारा सुझाई गई विधि एक क्रांति की रैखिक दूरी (टायर पर चाक, दो चाक के निशान के बीच का माप) को मापने के लिए थी, फिर आप केवल परिधि प्रत्यक्ष द्वारा क्रांतियों को गुणा कर सकते हैं।

[संपादित करें] मैंने पीआईसी का उपयोग करते हुए बाइक कंप्यूटर को लागू करने के लिए बस इस गाइड को पिकलिस्ट साइट पर पाया है , हो सकता है कि कुछ जानकारी आपके उपयोग की हो।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.