একটি স্যাচুরেটেড অ্যাকসিলোমিটার থেকে ডেটা পুনরুদ্ধার করা


10

আমার কাছে একটি ADXL345 অ্যাক্সিলোমিটার রয়েছে এবং এটি একটি হাইব্রিড রকেটে চালু করার জন্য launch দুর্ভাগ্যক্রমে, আমি এর ডিফল্ট +/- 2g থেকে +/- 8g পর্যন্ত রেঞ্জটি সেট করতে ভুলে গেছি (আমরা লিফটফের সময় 6 জি আশা করেছি)।

+/- 2g রেঞ্জের জন্য, ডেটাশিটটি 10 ​​বিটের আউটপুট রেজোলিউশন তালিকাভুক্ত করে, এবং +/- 8g এর জন্য এটি 12 বিটের রেজোলিউশন তালিকাভুক্ত করে।

আমি এটি DATA_FORMATনিবন্ধের (0x31) এর নীচে উপরে লিঙ্কিত ডেটাশিটে লক্ষ্য করেছি:

DATA_FORMAT রেজিস্টার 0x32 নিবন্ধকের মাধ্যমে 0x32 রেজিস্টার করতে ডেটা উপস্থাপনা নিয়ন্ত্রণ করে । রোলওভার এড়ানোর জন্য +/- 16g রেঞ্জের ব্যতীত সমস্ত ডেটা অবশ্যই ক্লিপ করা উচিত। ( জোর আমার )

এই বিবৃতি এবং ফাংশনাল ব্লক ডায়াগ্রামের ভিত্তিতে (একটি 3-অক্ষ সেন্সর "সেন্স ইলেক্ট্রনিক্স" এর সাথে সংযুক্ত, তারপরে একটি এডিসিতে সংযুক্ত), আমি আশা করছি সঠিক ডেটা সমাধান করার কোনও উপায় আছে। স্কেল ফ্যাক্টরগুলি ডেটাশিটের 3 পৃষ্ঠায় তালিকাবদ্ধ রয়েছে।

কমপক্ষে 1 বা 2 উল্লেখযোগ্য পরিসংখ্যান থেকে আমি কীভাবে এই ডেটাটি সমাধান করতে পারি? (উদাহরণস্বরূপ, আমার কাছে 1.9414g শনাক্তকরণ রয়েছে - এটি 6 টির কাছাকাছি হওয়া উচিত)। আমি মনে করি না যে সেন্সরটি স্যাচুরেটেড, কেবলমাত্র নিবন্ধের সংখ্যাগুলিতে - এবং স্কেল ফ্যাক্টরগুলি এবং কিছু সৃজনশীল বিট-শিফটিং দেওয়া হয়েছে (রেজোলিউশন পরিবর্তনের সময় তারা 10 থেকে 12 বিট থেকে কীভাবে পাবেন তা পুরোপুরি পরিষ্কার নয়), আশা করি আমি পারব আমার ডেটা থেকে দরকারী কিছু পুনরুদ্ধার করুন।


যদি আপনি আপনার ডেটা রোল ওভারের সাথে 2 জি প্রদর্শন অনুমান করে প্লট করে থাকেন যাতে আপনি আরও দীর্ঘ শব্দের নীচে 2 জি দেখতে পান, কীভাবে উত্সাহ দেখায়। আরোহী ছের জন্য আপনি করাতের দাঁতগুলির একটি সিরিজ দেখার আশা করছেন। 0-2 = 0-2। 2-4 = 0-2। 4-6 = 0-2।
রাসেল ম্যাকমাহন

আমি রকেটটি পুনরুদ্ধার করার পরে আমি একটি শট দেব। আমাদের কাছে থাকা ডেটা অপ্রতুল, যেহেতু আমরা এটি মেঘের আড়ালে হারিয়েছি ..
ডাং খোয়া

উত্তর:


7

"0x31 — ডেটা_ফর্ম্যাট" নিবন্ধিত করতে আপনি আসলে কী মান সঞ্চয় করেছিলেন?

আমি ধরে নিচ্ছি যে আপনি এই রেজিস্টারে কোনও কিছু সঞ্চয় করেন নি, তাই এটি এখনও তার রিসেট মানটি 00 এর মধ্যে রয়েছে other অন্য কথায়, আপনি ডেটা সংগ্রহ করার সময় (টেবিল 16 এবং ADXL345 ডেটাশিটের পৃষ্ঠা 17 থেকে ):

  • 0x31 Reg DATA_FORMAT == 00 নিবন্ধন করুন।
  • FULL_RES == ০. সুতরাং ডিভাইসটি 10-বিট মোডে রয়েছে এবং ব্যাপ্তি বিটগুলি সর্বাধিক g পরিসর এবং স্কেল ফ্যাক্টর নির্ধারণ করে।
  • সামঞ্জস্য বিট == ০. তাই সাইন এক্সটেনশান সহ ডান ন্যায়সঙ্গত মোড।
  • ব্যাপ্তি বিট == 00. সুতরাং + - 2 জি ব্যাপ্তি।

আমি প্রথমে যা করব তা হল অ্যাক্সিলোমিটার থেকে পড়া 16 টি মূল বিট মানগুলি পুনরুদ্ধার করা। (উদাহরণস্বরূপ, যদি আমি অযত্নে মূল ডেটা ফেলে দিয়েছি, এবং সমস্ত কিছু আমি "জি" ইউনিটগুলিতে রেখেছি যা কিছু অফসেট বিয়োগ করে এবং কোনও ভুল স্কেল ফ্যাক্টর দ্বারা গুণিত করে গণনা করা হত, তবে আমি সংগৃহীত ডেটা একটিতে অনুলিপি করব সেই একই (ভুল) স্কেল ফ্যাক্টর দ্বারা স্প্রেডশিট এবং বিভাজন এবং তারপরে মূল মানগুলির কাছাকাছি কিছু পুনরুদ্ধারের চেষ্টা করার জন্য সেই অফসেট যুক্ত করুন)।

তারপরে আমি ডেটা গ্রাফ করে দেখতাম এটি আরও "স্যাচুরেশন", "লিনিয়ার", বা "রোল ওভার" (নীচে বর্ণিত হিসাবে) এর মতো দেখাচ্ছে looks

যখন সেন্সরটি 2 জি-এর চেয়ে বেশি ত্বরণ অনুভব করে তখন কী ঘটে যায় তা নিয়ে ডেটাশিটটি অত্যন্ত অস্পষ্ট।

স্পর্শকাতর

প্রযুক্তিগত লেখকরা প্যাসিভ ভয়েসে লেখার জন্য জোর দিলে আমি কীভাবে আমাকে বিরক্ত করি তা আমি আপনাকে বলেছিলাম? যখন আপনি উদ্ধৃত বাক্যটিতে লেখক প্যাসিভ ভয়েস ব্যবহার করেন,

"রোলওভার এড়ানোর জন্য data 16 গ্রাম পরিসীমা ব্যতীত সমস্ত ডেটা অবশ্যই ক্লিপ করা উচিত।" (পৃষ্ঠা 17)

এই ক্লিপিংটি করার জন্য কার কথা ছিল তা আমি বলতে পারি না।

সক্রিয় ভয়েস ব্যবহার করার পরামর্শ দেয় অনেকে । আমি যখন এই প্রস্তাবগুলি অনুসরণ করি, তখন আমার পাঠ্যটি সাধারণত আরও স্পষ্ট হয় যে কে কী করবে। আমি যখন এমন স্টাইল ব্যবহার করি যা লোকেদের "আরও পেশাদার" বা "আরও বিদ্বান" ভাবনা ভাবতে প্ররোচিত করা হয়েছে এমন স্টাইল ব্যবহার করার চেয়ে বোঝা সহজ হয় না?

স্বয়ংক্রিয় ক্লিপিং

আমার সর্বোত্তম অনুমান যে অ্যাক্সিলোমিটার স্বয়ংক্রিয়ভাবে এই ক্লিপিং করে।

স্যাচুরেশন : আপনি যদি তাত্পর্য র‌্যামকে প্রশ্রয়যোগ্য মানগুলির মধ্যে দিয়ে দেখেন তবে রহস্যজনকভাবে একটি মালভূমিতে আটকে যান, + 2 জি বা তার কাছাকাছি স্যাচুরেটিংয়ের পরে অ্যাক্সিলেরোমিটার আপনার জন্য ডেটা "সহায়কভাবে" কেটে গেছে। ক্লিপিংয়ের পরে, "শীর্ষ" মানটি আর "2g এর খুব কাছাকাছি" একটি ত্বরণ নির্দেশ করে না, তবে এখন "একটি ত্বরণ কমপক্ষে 2 জি, এবং সম্ভবত আরও অনেক কিছু - এটি বলার উপায় নেই" indicates

কারণ এটি 10-বিট ডান-জায়েজ মোডে ছিল, যখন আমি সেই 16 বিট মানগুলিকে সাধারণ 16 বিট স্বাক্ষরিত পূর্ণসংখ্যার হিসাবে ব্যাখ্যা করি, তখন আমি প্রত্যাশা করি যেগুলি থেকে প্রাপ্ত মানগুলি দেখবে

  • 0x01FF = +511, 1.992 জি-র বেশি ইঙ্গিত করে। সম্ভবত আরও অনেক কিছু।
  • 0x01FE = +510, 510/256 g ~ = 1.992 g নির্দেশ করে
  • 0x01FD = +509, 510/256 g ~ = 1.988 গ্রাম নির্দেশ করে
  • ...
  • 0x0001 = +1, 1/256 গ্রাম = 0.0039 গ্রাম নির্দেশ করে
  • 0x0000 = 0, 0 গ্রাম নির্দেশ করে
  • 0xFFFF = -1, -1/256 g = 0.0039 নির্দেশ করে
  • ...
  • 0xFE02 = -510, ইঙ্গিত করে -510/256 = -1.992 জি
  • 0xFE01 = -511, ইঙ্গিত করে -511/256 = -1.996 জি
  • 0xFE00 = -512, আরও কিছু নেতিবাচক ইঙ্গিত করে -1.996 জি। সম্ভবতঃ অনেক বেশি নেতিবাচক।

(হ্যাঁ, আমি জানি যে 4 সেকেন্ডের যথাযথ স্থানগুলি এই সেন্সরের জন্য অযৌক্তিক নয়)। (আমি কিছু ডিভাইসকে অন্য কোনও স্থানে পরিপূর্ণ দেখেছি, যেমন -511 বা -510 I আমি সাধারণত ডেটা দেখতে পারি এবং প্রকৃত স্যাচুরেশন পয়েন্টটি বের করতে পারি)।

আপনি এই ক্লিপড ডেটা সেট থেকে কিছু দরকারী ডেটা পুনরুদ্ধার করতে পারেন । আপনি এটি পরিমাপ করতে ব্যবহার করতে পারেন, উদাহরণস্বরূপ, ত্বরণটি কমপক্ষে ১.৫ গ্রাম ছিল কত মিলিসেকেন্ড। হায়রে, আপনি যখন এই ধরণের ডেটা সেটে মালভূমি দেখেন তখন সর্বাধিক ত্বরণ বা মোট অনুভূতিটি পরিমাপ করা অসম্ভব - আপনি সবচেয়ে ভাল বলতে পারেন, "ভাল, আমরা জানি যে সর্বোচ্চ ত্বরণ কমপক্ষে 2 জি এবং সম্ভবত আরও বেশি ", এবং গণনা করুন" ভাল, আমরা গণনা করি যে মোট আবেগ কমপক্ষে (কিছু) নিউটন * সেকেন্ড "।

বিকল্প

অ্যাক্সিলোমিটার ডেটা থেকে ক্লিপিং করে কিনা তা নির্ধারণ করা উচিত। (আমি "স্যাচুরেশন", "রৈখিক" এবং "রোল-ওভার" র‌্যাম্প আপের শর্তে বর্ণনা করেছি - কিছু সেট ডেটার সাথে, এর পরিবর্তে র‌্যাম্পটি দেখলে আরও স্পষ্ট হতে পারে)।

রৈখিক : আপনি যদি তাত্পর্যপূর্ণ র‌্যামকে প্রশ্রয়যোগ্য মানগুলির মধ্য দিয়ে দেখেন তবে উচ্চতর মানের (512-র উপরে মান বা -512 এর চেয়ে বেশি নেতিবাচক) অবধি চালিয়ে যান, তবে আপনি আউট পেয়ে যাবেন - অ্যাক্সিরোমিটার আসলে কোনও ক্লিপিং করেনি, এবং পুরো ব্যাপ্তির মধ্যে আপনার বৈধ ডেটা রয়েছে।

রোল-ওভার : আপনি যদি তীক্ষ্ণ র‌্যামকে প্রশ্রয়যোগ্য মানগুলির মধ্য দিয়ে দেখেন এবং এটি +2 গ্রামে পৌঁছানোর ঠিক আগে, এটি তাত্ক্ষণিকভাবে -2 জি-র কাছাকাছি একটি শারীরিক-বাস্তবসম্মত মানের দিকে ঝাঁপ দেয় এবং তারপরে র‌্যাম্প অবিরত রাখে - সম্ভবত চলছে শূন্যের মধ্য দিয়ে, তারপরে আবার + 2 জি পৌঁছনো করে এবং আবার -2 জি-র কাছাকাছি ফিরে এসে পড়ুন - তারপরে আপনার কাছে রোল-ওভার র‌্যাপের চারপাশে রয়েছে। আপনি যদি ভাগ্যবান হন তবে মানগুলি খুব সহজেই পরিবর্তিত হয়, যার ফলে প্রতিটি রোলওভার সনাক্ত করা সম্ভব হয় এবং সত্য জি শক্তিটি পুনরুদ্ধার করতে এই মানগুলিকে "আনারপেট" করা সম্ভব হয় ।

PS: ওপেন সার্কিটগুলি সম্পাদনা করতে নির্দ্বিধায় : রকেট কম্পিউটার


মহান! রকেটটি উদ্ধার করার সাথে সাথে আমি এটি চেষ্টা করে দেখব। এটি খুঁজে পেতে এখনই আমাদের একটি সেসনা চার্টার করতে হয়েছিল .. তবে আশা করি আমরা ভাগ্যবান হব।
ডাং খোয়া

দেখে মনে হচ্ছে আমরা আমাদের রকেটটি পুনরুদ্ধার করতে পারব না, সুতরাং এই আলোচনাটি কিছুটা মোটা (আমার কাছে গ্রাউন্ড স্টেশন থেকে কয়েকটি তথ্য পয়েন্ট রয়েছে)। কিন্তু ধন্যবাদ!
ডাং খোয়া

@ ডেভিডকারি, ওপেন সার্কিট: রকেট কম্পিউটারের লিঙ্কটি নষ্ট হয়েছে
মহেন্দ্র গুণাওয়ারডেনা

@ মহেন্দ্রগুনাওয়ারদা: আমাকে বলার জন্য আপনাকে ধন্যবাদ। এটা কি এখন কাজ করছে?
ডেভিডকারি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.