संतृप्त एक्सेलेरोमीटर से डेटा पुनर्प्राप्त करना


10

मेरे पास ADXL345 एक्सेलेरोमीटर है और इसे लॉन्च करने के लिए एक हाइब्रिड रॉकेट पर लगाया गया है। दुर्भाग्य से, मैं इसकी डिफ़ॉल्ट +/- 2g से +/- 8g (हम उठाने के दौरान 6 जी की उम्मीद) की सीमा निर्धारित करना भूल गया।

+/- 2 जी श्रेणी के लिए, डेटाशीट 10 बिट्स के आउटपुट रिज़ॉल्यूशन को सूचीबद्ध करता है, और +/- 8 जी के लिए यह 12 बिट्स के रिज़ॉल्यूशन को सूचीबद्ध करता है।

मैंने इसे ऊपर दिए गए डेटाशीट में DATA_FORMATरजिस्टर (0x31) के तहत देखा था :

DATA_FORMAT रजिस्टर डेटा की प्रस्तुति को रजिस्टर 0x37 के माध्यम से 0x32 रजिस्टर करने के लिए नियंत्रित करता है । सभी डेटा, सिवाय इसके कि +/- 16g रेंज के लिए, रोलओवर से बचने के लिए क्लिप किया जाना चाहिए। ( जोर मेरा )

इस कथन के आधार पर और कार्यात्मक ब्लॉक आरेख (एक 3-अक्ष सेंसर "अर्थ इलेक्ट्रॉनिक्स" से जुड़ा है, फिर एक एडीसी से जुड़ा हुआ है), मैं उम्मीद कर रहा हूं कि सही डेटा को हल करने का एक तरीका है। स्केल कारक डेटाशीट के पेज 3 पर सूचीबद्ध हैं।

क्या कोई तरीका है जिससे मैं इस डेटा को हल कर सकता हूं, कम से कम 1 या 2 महत्वपूर्ण आंकड़े? (उदाहरण के लिए, मेरे पास 1.9414g का पता लगाना है - यह लगभग 6 होना चाहिए)। मुझे नहीं लगता कि सेंसर ने संतृप्त किया, डेटा रजिस्टरों में केवल संख्या - और स्केल कारकों और कुछ रचनात्मक बिट-शिफ्टिंग को देखते हुए (यह पूरी तरह से स्पष्ट नहीं है कि संकल्प बदलते समय उन्हें 10 से 12 बिट्स कैसे मिलते हैं), उम्मीद है कि मैं कर सकता हूं मेरे डेटा से उपयोगी कुछ पुनर्प्राप्त करें।


यदि आप अपने डेटा को रोल ओवर के साथ 2g डिस्प्ले मानकर प्लॉट करते हैं, तो आप एक लंबे शब्द के नीचे 2g को देखते हैं, तो सॉल्लट कैसे दिखता है। आरोही जी के लिए आपने देखा दांतों की एक श्रृंखला देखने की आशा की है। 0-2 = 0-2। 2-4 = 0-2। 4-6 = 0-2।
रसेल मैकमोहन

रॉकेट को ठीक करने के बाद मैं उसे एक शॉट दूंगा। हमारे पास अपर्याप्त डेटा है क्योंकि हमने इसे एक बादल के पीछे खो दिया है ..
डांग खोआ

जवाबों:


7

"रजिस्टर 0x31- DATA_FORMAT" में आपने वास्तव में किस मूल्य को स्टोर किया था?

मैं मान रहा हूं कि आपने उस रजिस्टर में कुछ भी संग्रहीत नहीं किया है, इसलिए यह अभी भी 00 के रीसेट मूल्य में है। दूसरे शब्दों में, जब आप डेटा एकत्र कर रहे थे (तालिका 16 से और ADXL345 डेटाशीट के पृष्ठ 17 से भी ):

  • रजिस्टर 0x31- DATA_FORMAT == 00।
  • FULL_RES == 0. तो डिवाइस 10-बिट मोड में है, और रेंज बिट अधिकतम जी रेंज और स्केल फैक्टर निर्धारित करते हैं।
  • औचित्य बिट == 0. इतना सही औचित्य संकेत विस्तार के साथ।
  • रेंज बिट्स == 00. तो + - 2 जी रेंज।

पहली चीज जो मैं करूंगा, वह मूल 16 बिट वैल्यू को रिकवरमीटर से पढ़ने के रूप में ठीक करना है। (यानी, अगर मैंने लापरवाही से मूल डेटा को फेंक दिया है, और मेरे पास जो कुछ बचा है वह "जी" की इकाइयों में संख्या है जो कुछ ऑफसेट को घटाकर और कुछ गलत पैमाने के कारक से गुणा करके गणना की गई है, मैं एकत्रित डेटा को एक में कॉपी करूंगा स्प्रेडशीट और उसी (गलत) स्केल फैक्टर द्वारा विभाजित करें और फिर मूल मूल्यों के करीब कुछ पुनर्प्राप्त करने की कोशिश करने के लिए उस ऑफसेट को जोड़ें)।

फिर मैं डेटा को ग्राफ़ करूंगा और देखूंगा कि क्या यह "संतृप्ति", "रैखिक", या "रोल-ओवर" (जैसा कि नीचे दिया गया है) अधिक दिखता है।

डेटाशीट maddeningly अस्पष्ट है कि क्या होता है जब सेंसर 2 जी से अधिक त्वरण का अनुभव करता है।

स्पर्शरेखा रैंट

क्या मैंने आपको बताया कि जब तकनीकी लेखक निष्क्रिय आवाज़ में लिखने पर ज़ोर देते हैं तो यह मुझे कितना परेशान करता है? जब लेखक आपके द्वारा उद्धृत वाक्य में निष्क्रिय आवाज का उपयोग करता है,

"सभी डेटा, सिवाय इसके कि data 16 जी रेंज के लिए, रोलओवर से बचने के लिए क्लिप किया जाना चाहिए।" (पेज 17)

मैं नहीं बता सकता कि कौन वास्तव में इस क्लिपिंग को करने वाला है।

कई लोग सक्रिय आवाज का उपयोग करने की सलाह देते हैं । जब मैं उन अनुशंसाओं का पालन करता हूं, तो मेरा पाठ आमतौर पर अधिक स्पष्ट होता है कि कौन क्या करता है। क्या यह बेहतर नहीं है जब मैं ऐसा सामान लिखूं जो समझने में आसान हो , न कि किसी शैली का उपयोग करने के बजाय जिसे लोगों को "अधिक पेशेवर" या "अधिक विद्वान" लगता है?

स्वचालित क्लिपिंग

मेरा सबसे अच्छा अनुमान है कि एक्सेलेरोमीटर स्वचालित रूप से यह क्लिपिंग करता है।

संतृप्ति : यदि आप त्वरण मूल्यों के माध्यम से रैंप को देखते हैं, तो रहस्यमय तरीके से एक पठार पर अटक जाते हैं, +2 जी पर या उसके पास संतृप्त होते हैं, तो एक्सीलेरोमीटर "सहायक रूप से" आपके लिए डेटा को क्लिप कर देता है। कतरन के बाद, "शीर्ष" मान अब इंगित नहीं करता है "एक त्वरण + 2 जी के बहुत करीब है", लेकिन अब इंगित करता है "कम से कम 2 जी का त्वरण, और संभवतः बहुत, बहुत अधिक - बताने का कोई तरीका नहीं है"।

क्योंकि यह 10-बिट राइट-जस्टिफ़ाइड मोड में था, जब मैं उन 16 बिट मानों को सामान्य 16 बिट हस्ताक्षरित पूर्णांक के रूप में व्याख्या करता हूं, तो मुझे मानों को देखने की उम्मीद है

  • 0x01FF = +511, 1.992 ग्राम से अधिक का संकेत देता है। संभवतः बहुत, बहुत अधिक।
  • 0x01FE = +510, 510/256 g ~ = 1.992 g को दर्शाता है
  • 0x01FD = +509, 510/256 g ~ = 1.988 g को दर्शाता है
  • ...
  • 0x0001 = +1, 1/256 g = 0.0039 g को दर्शाता है
  • 0x0000 = 0, 0 जी को दर्शाता है
  • 0xFFFF = -1, -1/256 g = 0.0039 को दर्शाता है
  • ...
  • 0xFE02 = -510, -510/256 = -1.992 g को दर्शाता है
  • 0xFE01 = -511, -511/256 = -1.996 g को दर्शाता है
  • 0xFE00 = -512, कुछ और नकारात्मक -1.996 g को दर्शाता है। संभवतः कहीं अधिक, कहीं अधिक नकारात्मक।

(हां, मुझे पता है कि इस सेंसर के लिए परिशुद्धता के 4 दशमलव स्थान अपरिवर्तित हैं)। (मैंने कुछ उपकरणों को किसी अन्य बिंदु पर संतृप्त देखा है, जैसे -511 या -510। मैं आमतौर पर डेटा को देख सकता हूं और वास्तविक संतृप्ति बिंदु का पता लगा सकता हूं)।

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

विकल्प

यह पता लगाना संभव है कि एक्सीलरोमीटर डेटा से क्लिपिंग करता है या नहीं। (मैंने रैंप अप के संदर्भ में "संतृप्ति", "रैखिक" और "रोल-ओवर" का वर्णन किया है - डेटा के कुछ सेट के साथ, इसके बजाय रैंप को देखने के लिए अधिक स्पष्ट हो सकता है)।

रैखिक : यदि आप त्वरण को प्रशंसनीय मूल्यों के माध्यम से रैंप पर देखते हैं, तो उच्च मूल्यों (512 से ऊपर के मूल्य, या -512 से अधिक नकारात्मक) के लिए रैंपिंग जारी रखें, तो आप किस्मत में थे - एक्सेलेरोमीटर वास्तव में कोई क्लिपिंग नहीं किया था, और आपके पास संपूर्ण श्रेणी के माध्यम से मान्य डेटा है।

रोल-ओवर : यदि आप त्वरण मूल्यों के माध्यम से रैंप को देखते हैं, और इससे पहले कि यह +2 ग्राम तक पहुंच जाए, तो यह तुरंत -2 जी के पास एक गैर-भौतिक-यथार्थवादी मूल्य पर कूदता है और फिर रैंप पर जारी रहता है - संभवतः जा रहा है शून्य के माध्यम से, फिर + 2 जी फिर से आ रहा है, और फिर से -2 जी के पास नीचे कूद रहा है - फिर आपके पास रोल-ओवर रैप-अराउंड है। यदि आप भाग्यशाली हैं, तो मूल्य बहुत आसानी से बदल जाते हैं, जिससे प्रत्येक रोलओवर का पता लगाना संभव हो जाता है और वास्तविक मान को ठीक करने के लिए इन मूल्यों को "अनचाहे" कर देते हैं।

ps: ओपन सर्किट संपादित करने के लिए स्वतंत्र महसूस करें : रॉकेट कंप्यूटर


महान! जैसे ही हम रॉकेट को पुनर्प्राप्त करते हैं मैं इसे आज़माऊंगा। अब तक हमें इसे खोजने में मदद करने के लिए सेसना को चार्टर करना पड़ा है। लेकिन उम्मीद है कि हम भाग्यशाली हैं।
डांग खोआ

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

@davidcary, खुला सर्किट: रॉकेट कंप्यूटर लिंक टूट गया है
महेंद्र गनवार्डन

@ महेन्द्रगुणवेदना: मुझे बताने के लिए धन्यवाद। क्या अब यह काम कर रहा है?
davidcary
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.