MCU Timer / Prescaler कैलकुलेटर

यह मुफ़्त MCU Timer और Prescaler कैलकुलेटर सिस्टम क्लॉक, prescaler और ARR मानों से timer फ़्रीक्वेंसी, पीरियड और ओवरफ़्लो समय की गणना करता है। इसमें एक रिवर्स PWM सॉल्वर है जो आपकी लक्ष्य फ़्रीक्वेंसी के लिए इष्टतम prescaler/ARR/CCR संयोजन खोजता है, इंटरैक्टिव SVG वेवफ़ॉर्म आरेख, और STM32, ESP32, Arduino, nRF52, PIC और RP2040 MCU के लिए अंतर्निहित प्रीसेट हैं।

MCU की मुख्य क्लॉक फ़्रीक्वेंसी (prescaler से पहले)

क्लॉक डिवाइडर मान (STM32 के लिए वास्तविक विभाजन = PSC + 1)

Timer 0 से ARR तक गिनती करता है, फिर रीलोड होता है (पीरियड = ARR + 1)

Timer फ़्रीक्वेंसी

1.000 kHz

Timer पीरियड

1.000 ms

ओवरफ़्लो समय

1.000 ms

Timer क्लॉक (prescaler के बाद)

1.000 MHz

प्रति ओवरफ़्लो गिनती

1,000

अधिकतम Timer पीरियड

59.6523 s

कोई सुझाव है?

नया टूल अनुरोध करें या सुधार सुझाएं — हमारे Slack समुदाय में शामिल हों!

Slack पर फीडबैक दें

MCU Timer / Prescaler कैलकुलेटर क्या है?

MCU Timer / Prescaler कैलकुलेटर एम्बेडेड सिस्टम इंजीनियरों को माइक्रोकंट्रोलर में हार्डवेयर टाइमर कॉन्फ़िगर करने में मदद करता है। हार्डवेयर टाइमर मूलभूत पेरिफ़ेरल हैं जो सटीक समय विलंब बनाने, पल्स चौड़ाई मापने, मोटर नियंत्रण और LED डिमिंग के लिए PWM (Pulse Width Modulation) सिग्नल बनाने, और आवधिक इंटरप्ट ट्रिगर करने के लिए उपयोग किए जाते हैं। Timer फ़्रीक्वेंसी सिस्टम क्लॉक को prescaler और auto-reload रजिस्टर (ARR) से विभाजित करके निर्धारित की जाती है। चूँकि ये मान MCU फ़ैमिली के अनुसार भिन्न विशिष्ट सीमाओं के भीतर पूर्णांक होने चाहिए, लक्ष्य फ़्रीक्वेंसी प्राप्त करने के लिए सही संयोजन खोजना सावधानीपूर्ण गणना की आवश्यकता है — विशेष रूप से जब prescaler विकल्प निश्चित मानों (जैसे Arduino/AVR में) या दो की घात (जैसे nRF52 में) तक सीमित हों।

MCU Timer कैलकुलेटर का उपयोग कैसे करें

  1. प्रीसेट टैब से अपना MCU चुनकर शुरू करें, या मैन्युअली सिस्टम क्लॉक और timer बिट चौड़ाई दर्ज करें
  2. Timer कैलकुलेटर टैब में, परिणामी फ़्रीक्वेंसी, पीरियड और ओवरफ़्लो समय देखने के लिए prescaler और ARR मान दर्ज करें
  3. अपनी लक्ष्य फ़्रीक्वेंसी और ड्यूटी साइकिल दर्ज करने के लिए PWM कैलकुलेटर टैब का उपयोग करें
  4. न्यूनतम त्रुटि के साथ सर्वोत्तम prescaler/ARR/CCR संयोजन प्राप्त करने के लिए 'इष्टतम सेटिंग्स खोजें' पर क्लिक करें
  5. फ़्रीक्वेंसी सटीकता और रिज़ॉल्यूशन के बीच ट्रेड-ऑफ़ वाली वैकल्पिक सेटिंग्स की समीक्षा करें
  6. वास्तविक टाइमिंग दिखाने वाला इंटरैक्टिव PWM वेवफ़ॉर्म आरेख देखें
  7. प्रीसेट MCU मानों को सीधे Timer या PWM कैलकुलेटर टैब में लागू करें

अक्सर पूछे जाने वाले प्रश्न

वास्तविक PWM फ़्रीक्वेंसी मेरे लक्ष्य से अलग क्यों है?

Timer रजिस्टर (prescaler और ARR) केवल पूर्णांक मान रख सकते हैं, इसलिए वास्तविक फ़्रीक्वेंसी निकटतम प्राप्य सन्निकटन है। उदाहरण के लिए, यदि आप 72 MHz क्लॉक से ठीक 50 kHz चाहते हैं, तो आदर्श ARR 1439 (72M / 50k - 1) होगा, जो ठीक 50 kHz देता है। लेकिन 33 kHz के लिए, आदर्श ARR ~2181.18 होगा — 2181 पर राउंड करने से 33.003 kHz (0.01% त्रुटि) मिलता है। कैलकुलेटर वास्तविक प्राप्य फ़्रीक्वेंसी और त्रुटि प्रतिशत दिखाता है।

PSC+1 और प्रत्यक्ष prescaler मानों में क्या अंतर है?

STM32 और समान ARM-आधारित MCU वास्तविक विभाजन कारक के रूप में PSC+1 का उपयोग करते हैं (PSC=0 का मतलब 1 से विभाजन, PSC=1 का मतलब 2 से विभाजन)। Arduino/AVR MCU 1, 8, 64, 256, 1024 जैसे निश्चित prescaler मानों का उपयोग करते हैं — आप सीधे इस सेट से चुनते हैं। nRF52 2 की घात वाले prescaler (1, 2, 4, 8, ..., 512) का उपयोग करता है। यह कैलकुलेटर सभी परंपराओं को संभालता है और आपके चयनित MCU के लिए रजिस्टर-रेडी मान दिखाता है।

Servo मोटर के लिए 50 Hz PWM सिग्नल कैसे बनाएँ?

Servo मोटर को 50 Hz (20 ms पीरियड) PWM सिग्नल की आवश्यकता होती है। 72 MHz पर STM32F103 के लिए: prescaler 71 पर सेट करें (72 से विभाजन, 1 MHz timer क्लॉक देता है), फिर ARR 19999 (20000 गिनती = 20 ms)। 1-2 ms पल्स चौड़ाई की सामान्य servo रेंज के लिए, CCR 1000 से 2000 तक होता है। 16 MHz पर Arduino के लिए: 16-बिट timer के साथ prescaler 64 का उपयोग करें, ARR=4999, ठीक 50 Hz देता है।

यदि मुझे बहुत धीमे timer (सेकंड या मिनट) की आवश्यकता हो तो क्या करूँ?

लंबी अवधि के लिए, prescaler और ARR दोनों मानों को अधिकतम करें। 16-बिट timer 65535 तक गिनती कर सकता है, और अधिकतम prescaler के साथ, आप कई सेकंड की अवधि प्राप्त कर सकते हैं। PSC=65535 और ARR=65535 के साथ 72 MHz पर STM32 के लिए: पीरियड = 65536 × 65536 / 72M ≈ 59.6 सेकंड। लंबी अवधि के लिए, 32-बिट timer (STM32F4/H7) का उपयोग करें जो 4 अरब तक गिनती कर सकते हैं, या कई timers को एक साथ चेन करें।

संबंधित टूल