امیر شاهرخی
2 یادداشت منتشر شدهطراحی و پیاده سازی سامانه پروگرام، خواندن و قفل گذاری سنسور هال HAL۸۸۸ مبتنی بر آردوینو
چکیده
سنسور HAL888 از خانواده سنسورهای هال اثر قابل پیکربندی شرکت Micronas بوده و قابلیت برنامه ریزی کامل از طریق پایه تغذیه (VDD) را داراست. این قابلیت به وسیله پروتکل تک سیمی Single-Wire Programming فراهم شده است. در این پژوهش، یک سامانه کامل مبتنی بر آردوینو طراحی و پیاده سازی شده است که از طریق تولید توالی زمانی دقیق روی پایه VDD، امکان خواندن رجیسترها، نوشتن پارامترهای جدید و قفل گذاری دائمی سنسور را فراهم می کند. طراحی مدار واسط، استخراج و تحلیل پروتکل، پیاده سازی کدهای نرم افزاری و بررسی عملکرد نهایی سنسور در حالت نرمال در این تحقیق ارائه شده است. نتایج نشان می دهد که آردوینو یک بستر کم هزینه و کارآمد برای پروگرام سنسورهای سری HAL800 بوده و می تواند جایگزین مناسبی برای پروگرامرهای تجاری این سنسورها باشد.
۱. مقدمه
سنسورهای اثر هال در صنایع مختلف از جمله خودرو، رباتیک، ابزار دقیق و سیستم های کنترل موقعیت کاربرد گسترده ای دارند. خانواده HAL800 به دلیل برخورداری از رجیسترهای قابل پیکربندی، دقت بالا و امکان اعمال تنظیمات آنالوگ و دیجیتال، یکی از مهم ترین خانواده های سنسورهای صنعتی محسوب می شود.
سنسور HAL888 علاوه بر قابلیت اندازه گیری دقیق میدان مغناطیسی، امکان تنظیم حساسیت، آفست، فیلتر و حالت خروجی را در اختیار طراح قرار می دهد. از آنجا که پروگرامر تجاری این سنسورها قیمت بسیار بالایی دارد، نیاز به یک روش کم هزینه و قابل اعتماد برای پروگرام این سنسور احساس می شود.
در این مقاله، یک سامانه کامل مبتنی بر آردوینو برای پروگرام کردن، خواندن رجیسترها و قفل گذاری دائم سنسور HAL888 ارائه شده است.
۲. روش تحقیق
روش تحقیق شامل مراحل زیر است:
۲–۱. مطالعه کامل دیتاشیت HAL888
2–۲. استخراج پروتکل Single-Wire Programming
۳–۲. طراحی مدار کنترل VDD
۴–۲. پیاده سازی الگوریتم ارسال و دریافت بیت
۵–۲. توسعه کدهای آردوینو برای عملیات:
ورود به حالت پروگرام
خواندن تمامی رجیسترها
نوشتن مقدار در رجیسترها
قفل کردن نهایی سنسور
۶–۲. آزمایش و ارزیابی عملکرد سنسور در حالت نرمال
۳. تحلیل فنی سنسور HAL888
HAL888 دارای ۱۵ رجیستر داخلی است که شامل پارامترهای زیر می شود:
حساسیت آناالوگ
آفست داخلی
فیلتر دیجیتال
محدوده خطی سازی
مد خروجی
مقادیر کالیبراسیون
فرآیند پروگرام از طریق پایه VDD و با توالی های زمانی بسیار دقیق انجام می شود. بر اساس دیتاشیت، بیت ها با روش Pulse Width Coding ارسال می شوند و پاسخ سنسور نیز با تغییر سطح ولتاژ VDD قابل خواندن است.
۴. طراحی مدار واسط
برای پروگرام سنسور، لازم است پایه VDD توسط آردوینو قابل کنترل باشد. مدار طراحی شده شامل اجزای زیر است:
MOSFET نوع N برای کنترل قطع/وصل VDD
مقاومت Pull-Up برای امکان خواندن سطح ولتاژ روی VDD
دیود جهت محافظت از برگشت جریان
اتصال خروجی آنالوگ سنسور (VOUT) به ورودی A0 آردوینو
این مدار امکان تولید پالس های دقیقی را فراهم می کند که برای فعال سازی حالت پروگرام سنسور لازم است.
۵. پیاده سازی نرم افزار
۵–۱. ورود به حالت پروگرام
توسط چند پالس متوالی روی پایه VDD که مطابق دیتاشیت زمان بندی شده اند.
۵–۲. نوشتن بیت ها
ارسال صفر و یک با استفاده از اختلاف در زمان High و Low پالس.
۵–۳. خواندن بیت ها
در این مرحله آردوینو پایه VDD را به ورودی تبدیل کرده و سطح آن را برای دریافت بیت نمونه برداری می کند.
۵–۴. خواندن و نوشتن رجیسترها
آدرس رجیسترها ارسال شده و داده ۱۶ بیتی متناسب دریافت یا نوشته می شود.
۵–۵. قفل گذاری
در نهایت، با ارسال کد مخصوص Lock، سنسور به صورت دائمی محافظت می شود و امکان تغییرات بعدی لغو می شود.
۶. نتایج آزمایش
آزمایش ها نشان داد:
آردوینو توانست سنسور را بدون خطا وارد حالت پروگرام کند.
تمامی ۱۵ رجیستر با دقت خوانده شدند.
مقادیر جدید با موفقیت در سنسور ذخیره شدند.
پس از قفل گذاری، رجیسترها دیگر قابل تغییر نبودند.
در حالت نرمال، خروجی سنسور مطابق پیکربندی جدید رفتار کرد.
این نتایج نشان دهنده کارایی بالای روش طراحی شده است.
۷. نتیجه گیری
در این تحقیق یک روش کم هزینه، دقیق و قابل اعتماد برای پروگرام کردن سنسور HAL888 معرفی شد.
این روش می تواند:
جایگزینی برای پروگرامرهای صنعتی گران قیمت باشد
در پروژه های تحقیقاتی و کاربردی استفاده شود
امکان کالیبراسیون دقیق سنسورها را فراهم کند
همچنین این سامانه می تواند برای سایر مدل های خانواده HAL800 نیز توسعه یابد.
۸. پیشنهادهای آینده
طراحی نرم افزار رابط کاربری (GUI)
نسخه صنعتی مبتنی بر ARM
افزودن قابلیت پروگرام انبوه (Batch Programming)
تحلیل خودکار CRC و خطاها
منابع
1. Micronas, HAL888 Datasheet, 2020.
2. Micronas, Hall Sensor Family Programming Manual.
3. Arduino.cc, Microcontroller Timing Reference.
4. Application Notes on Hall-Effect Sensor Calibration.