"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: ওপেন সার্কিটগুলি সম্পাদনা করতে নির্দ্বিধায় : রকেট কম্পিউটার ।