دقیق ترین انکودر خازنی
موجود در بازار

حذف خطای کوپلینگ و بلبرینگ با ساختار دو تکه 

راهنمای کاربری ارتباط BISS-C

نویسنده محمد اکبرنیا ی تهرانی14 اردیبهشت 1401

واسط

واسط BISS-C بستر ارتباط بین یک دستگاه Master (که معمولاً مسئول کنترل موتور است) و و دستگاه Slave (که اینجا همان انکودر می باشد) را فراهم می کند. دو دستگاه در یک شبکه ی Point-to-Point به هم متصلند، که فقط به دو خط یک‌طرفه دیفرانسیلی RS-485 یا RS-422 برای Clock و Data نیاز دارد. دستگاه Master به وسیله ی سیگنال Clock زمان نمونه برداری را کنترل می کند. دستگاه Slave با دریافت سیگنال کلاک، سیگنال خروجی را روی خط Data قرار می دهد.

لایه ی فیزیکی اتصال BISS
لایه ی فیزیکی اتصال BISS

پروتوکل

پروتوکل BISS-C یک ارتباط سریال تناوبی را توصیف می کند. در هر سیکل یک فریم کامل SCD (Single Cycle Data) و یک بیت از فریم CD (Control Data) انتقال داده می شوند.

فریم SCD حاوی اطلاعات موقعیت فعلی سنسور، از Slave به Master فرستاده می شود. فریم CD یک ارتباط دو‌طرفه بین Master و Slave ایجاد می‌کند که به Master اجازه ی دسترسی خواندن و نوشتن روی رجیستر های Slave را می دهد.

ساختار فریم SCD

هر فریم SCD با دریافت اولین لبه ی پایین رونده ی کلاک روی خط MA شروع می شود. در این لحظه Slave یا انکودر مقدار زاویه را نمونه برداری، و برای ارسال آماده می‌کند. با دریافت دومین لبه ی بالا رونده ی کلاک، Slave خط SL را 0 می‌کند تا به Master نشان دهد در حال آماده کردن نمونه است. پس از اینکه نمونه برای ارسال آماده شد، بیت Start (یک بیت 1) به Master فرستاده می شود. پس از Start، یک بیت CDS (Control Data Slave) که مختص کانال کنترل است به Master ارسال می شود.

ساختار فریم SCD در پروتوکل BISS
ساختار فریم SCD در پروتوکل BISS

از این مرحله ارسال اطلاعات Slave ها شروع می شود. هر Slave داده‌های خود را در یک کانال به Master ارسال می کند. اطلاعات هر کانال به وسیله ی CRC حفاظت می شود.

پس از اینکه Master اطلاعات همه ی Slave ها را دریافت کرد، سیگنال کلاک را به مدت 12.5 میکرو ثانیه ثابت نگه می دارد. مقدار سیگنال کلاک در این مدت، CDM (Control Data Master) می باشد. ارتباط کانال کنترل از Master به Slave از این طریق برقرار می شود. پس از اینکه Slave ثابت بودن خط کلاک به مدت 12.5 میکرو ثانیه را تشخیص داد، CDM را دریافت کرده و خط SL را یک می‌کند تا به Master نشان دهد این فریم SCD پایان یافته.

ساختار فریم CD

کانال کنترل اجازه ی دسترسی به رجیستر ها ی Slave را به Master می دهد. کانال کنترل از طریق بیت‌های CDS و CDM در SCD این ارتباط را برقرار می کند. بررسی ساختار فریم CD خارج از افق این مقاله است. لطفاً برای اطلاعات کامل‌تر در این زمینه به راهنمای BISS C Protocol Description مراجعه کنید.

هر رجیستر در پروتوکل BISS یک بایت است و آدرس دهی رجیستر ها هفت بیتی میباشد. این فضای آدرس به دو قسمت 64 رجیستری تقسیم شده است. قسمت اول از آدرس 0x00 تا 0x3F به نام Banked Registers و قسمت دوم از آدرس 0x40 تا 0x7F به نام Direct Registers شناخته میشوند. محتوای Direct Registers همواره قابل دسترس است، ولی محتوای Banked Registers بسته به اینکه کدام بانک انتخاب شده باشد تغییر می کند. در جدول زیر نقشه ی رجیستر ها در پروتوکل BISS را مشاهده می کنید.

Access Size Name Register Address
64 Banked Registers 0x00..0x3F
R/W 1 Bank Select 0x40
R 1 EDS-Bank 0x41
R 2 Profile ID 0x42..0x43
R 4 Serial Number 0x44..0x47
48 Slave Registers 0x48..0x77
R 6 Device ID 0x78..0x7D
R 2 Manufacturer ID 0x7E..0x7F
نقشه ی رجیستر ها در پروتوکل BISS

اینکه مقادیر کدام بانک در آدرس 0x00 تا 0x3F قابل دسترسی باشد با توجه به مقدار فعلی Bank Select Register تعیین می شود. کاربری Banked Registers و همچنین Slave Registers در دستگاه توسط تولید کننده ی دستگاه تعریف می شوند. نوع دستگاه با توجه به مقادیر Manufacturer ID و Device ID برای دستگاه Master قابل تشخیص است.

یکی از بانک ها حاوی EDS (Electronic Datasheet) می باشد. شماره ی این بانک در آدرس 0x41 قابل دسترس است. دستگاه Master با خواندن این بانک مشخصات کانال‌های ارتباطی Slave ها، در دستگاه متصل به شبکه را تشخیص داده و مطابق آن سیگنال کلاک را برای خواندن این کانال‌ها تنظیم می کند. برای بررسی ساختار EDS یه راهنمای BiSS EDS common part مراجعه کنید.

رجیستر Profile ID نوع دستگاه متصل به شبکه و نوع Slave های آن را مشخص می کند. در بانک EDS برای هر کانال یک صفحه ی Content Description معرفی شده. محتویات این صفحه با توجه به Profile ID ترجمه می شود. این به دستگاه Master اجازه می‌دهد که مشخصات توصیفی دستگاه‌های متصل به شبکه را تشخیص دهد.

انکودرهای ابزاردقیق زاویه

در هر فریم SCD انکودر اطلاعات موقعیت را در یک کانال به Master انتقال می دهد. ساختار این کانال به شکل زیر میباشد.

CRC Warning Flag
Error Flag
Single Turn Multi Turn
0..5 6 7 8..27 28..37 Bit No
ساختار بیتی کانال خروجی انکودر های ابزاردقیق زاویه

در این کانال 10 بیت با‌ارزش دور شمار هستند. پس از آن زاویه ی انکودر به صورت یک عدد 20 بیتی فرستاده میشود. دو بیت بعدی سیگنال های خطا و اختار هستند. شش بیت آخر CRC است که برای محاسبه ی آن در هر سیکل از چندجمله ای 0x43 استفاده می شود. برای کسب اطلاعات بیشتر در رابطه با رجیستر های کنترلی انکودر به راهنمای کاربری دستگاه مراجعه کنید.

رجیستر های وضعیت

رجیستر های وضعیت دستگاه در آدرس 0x48 تا 0x77 به شکل زیر تعریف می شوند.

Access Size Name
Register Address
R/W 2 Special Command Code 0x48..0x49
R/W 2 Parameter 1 0x4A..0x4B
R/W 2 Parameter 2 0x4C..0x4D
R/W 2 Parameter 3 0x4E..0x4F
R/W 2 Parameter 4 0x50..0x51
R 4 Result 0x52..0x55
R 2 Signal Amplitude 0x56..0x57
R 2 Temperature 0x58..0x59
R 2 Input Voltage 0x5A..0x5B
R 4 Run Time 0x5C..0x5F
-- 24 Reserved 0x60..0x77
جدول رجیستر های وضعیت انکودر های خازنی ابزاردقیق زاویه

دستور های اختصاصی

دستور های اختصاصی (Special Commands) برای تنظیم پارامتر های دستگاه استفاده می شوند. کد دستور در آدرس 0x48 و 0x49 نوشته می‌شود و پارامتر های آن در 8 رجیستر بعدی. پس از اینکه Master آخرین رجیستر پارامتر ها در آدرس 0x51 را نوشت، دستور به صورت خودکار اجرا می شود.

Description Name
Command Code
Device configuration command can modify Output Filter stage, Output Resolution, Positive Direction, and Operation Mode. Configure 0x3F41
Receives the desired position on P2:P1 and modifies the offset so that the current position of the encoder is represented by P2:P1. Returns the actual offset value on the Result. Offset 0x92C9
Saves the current parameters on the non-volatile memory. Save 0x2C17
Resets the encoder. Angle estimation module is restarted with the new parameters. Reset 0x4DB8
لیست دستور های اختصاصی انکودر های خازنی ابزاردقیق زاویه

 در مدت زمان اجرای دستور، دستگاه خط SL را پایین نگه می‌دارد و امکان ارتباط SCD وجود ندارد. در صورتی که دستور اجرا شده خروجی داشته باشد، این خروجی روی رجیستر های Result در آدرس 0x52 تا 0x55 قرار می گیرند.

دستور Configure

با این دستور پارامتر های خروجی انکودر قابل تنظیم هستند. پارامتر P1 مشخص کننده ی رزولوشن و طبقه ی فیلتر خروجی است. پارامتر P2 مشخص کننده ی جهت مثبت چرخش است. پارامتر P3 مشخص کننده ی حالت عمل‌کرد دستگاه است.

Description Parameter (bits)
Output resolution in bits. P1 (0..4)
Output digital filter order. Note that output sample rate decreases with increasing filter order.
  • 0: 32.00KSPS (Digital filter off)
  • 1: 10.66KSPS
  • 2: 4.57KSPS
  • 3: 2.13KSPS
  • 4: 1.03KSPS
  • 5: 0.51KSPS
P1 (5..7)
Rotation direction.
  • 0: Clockwise
  • 1: Co-Clockwise
P1 (8)
Operation mode defines output channel contents of the device.
  • 0: Normal mode. CH1 contains position value.
  • 1: Calibration mode. CH1 contains Fine, and CH2 contains coarse values.
  • 2: Sinusoidal mode. CH1 and CH2 contain Sin and Cos values of the fine electrical angle.
P1 (9..10)
لیست پارامتر های دستور های اختصاصی Configure

این دستور خروجی ندارد و مقدار Result پس از اجرای آن بی‌اهمیت خواهد بود. پس از اجرای این دستور برای اعمال تغییرات باید فرمان Reset اجرا شود.

دستور Offset

با اجرای این دستور زاویه آفست به گونه‌ای محاسبه می‌شود که زاویه ی فعلی دستگاه به زاویه ای که روی پارامتر های P2:P1 دریافت شده تغییر کند. این دستور مقدار حقیقی آفست را روی رجیستر های Result قرار می دهد.

توجه شود که پس از اجرای این دستور دستگاه به صورت خودکار Reset می‌شود و ارتباط SCD به مدت 0.5 ثانیه قطع خواهد بود.

دستور Save

با اجرای این دستور محتویات همه ی بانک ها روی حافظه ی نا میرا ثبت می شوند. تا زمانی که این دستور اجرا نشود، تغییراتی که روی تنظیمات دستگاه اعمال شده اند، با خاموش شدن دستگاه از بین خواهند رفت.

توجه شود که پس از اجرای این دستور دستگاه به صورت خودکار Reset می‌شود و ارتباط SCD به مدت 0.5 ثانیه قطع خواهد بود.

دستور Reset

با اجرای این دستور ماژول نمونه بردار زاویه متوقف شده و مجدداً شروع به کار می کند. در زمان شروع مجدد این ماژول با پارامتر های فعلی دستگاه تنظیم می شود. تا شروع مجدد ماژول حدود 0.5 ثانیه ارتباط SCD قطع خواهد بود.

دامنه ی سیگنال

این رجیستر دامنه ی سیگنال های دریافت شده را نشان می دهد. دامنه ی این سیگنال با فاصله ی بخش متحرک و بخش ثابت دستگاه رابطه ی معکوس دارد. در صورت کم بودن دامنه ی سیگنال باید فاصله ی این دو بخش مطابق دیتاشیت دستگاه تنظیم شود.

حرارت دستگاه

این رجیستر حرارت لحظه‌ای دستگاه را نمایش می دهد.

ولتاژ ورودی

این رجیستر ولتاژ ورودی دستگاه را بر حسب میلی ولت نمایش می دهد.

زمان کارکرد

این رجیستر نشان می‌دهد که چه مدت دستگاه بدون وقفه روشن بوده است. این مدت زمان با واحد صدم ثانیه در این رجیستر ذخیره می شود.

رجیستر های بانک ها

تعداد 95 بانک حافظه به عنوان Banked Registers در دستگاه وجود دارد.

Name Bank No
Device Configuration Bank 0x00
Reserved 0x01..0x03
EDS Bank 0x04
Profile EDS for CH1 0x05
Profile EDS for CH2 0x06
Reserved 0x07..0x1E
Motor Data 0x1F..0x3E
OEM Data 0x3F..0x5E
نقشه ی صفحات بانک های رجیستری در انکودر های خازنی ابزاردقیق زاویه

در صورتی که انکودر در یک دستگاه دیگر (مانند روتاری استیج یا …) تجمیع شود، تولید کننده می‌تواند از حافظه ی انکودر برای ذخیره ی اطلاعات دستگاه استفاده کند. به این منظور بانک های 0x1F..0x3E برای ذخیره ی مشخصات موتور، و بانکهای 0x3F..0x5E برای ذخیره ی مشخصات دستگاه در نظر گرفته شده اند.