آموزش, فلایت کنترل و سیستم های مرتبط

آموزش استفاده از ویژگی SOFTSERIAL در فریمور بتافلایت

SOFTSERIAL مخفف SOFTWARE SERIAL  است و به منظور ایجاد پورت های ( UART ) اضافی برای اتصال قطعات جانبی بیشتر به فلایت کنترلر نظیر SMARTPORT  و تلمتری اسپید کنترل در فریمور بتافلایت استفاده می شود.

از SOFTSERIAL  برای چه کارهایی می شود استفاده کرد؟

هرقطعه جانبی که نیازمند پورت UART  باشد را میتوان از طریق SOFTSERIAL به فلایت کنترلر متصل کرد نظیر SMARTPORT , SmartAudio , GPS , ESC telemetry

یکی از مشکلات اساسی بر روی فلایت کنترلر ، قرار داده نشدن پورت  UART کافی برای اتصال قطعات جانبی اضافی بر روی فلایت است به گونه که لازم است تا بین چند قطعه موجود تنها آن هایی که واجب تر هستند را برای نصب انتخاب کنید.برای مثال فلایت کنترل های با پردازنده F3 و F4 تنها دارای 3 پورت UART می باشند.

اما با استفاده از SoftSerial  می توانید پین های بلااستفاده در فلایت کنترل نظیر پین های LED و یا PPM را تبدیل به پورت UART کنید و یا از هر پورت UART برای اتصال دو قطعه جانبی در بتافلایت استفاده کنید.برای مثال اگر از پورت  UART1 RX برای  تلمتری استفاده می کنید می توانید این پین را برای SmartAudio  و یا  SmartPort  نیز به اشتراک بگذارید اما به شرطی که سیگنال های ورودی از قطعه دوم را به SoftSerial ارسال کنید.

تذکر:

لازم به ذکر است که با استفاده از SoftSerial می توانید بدون نیاز به Inverter داخلی SmartPort را مستقیما به فلایت کنترلر وصل کنید و این خبر بسیار خوبی برای فلایت کنترلر هایی با پردازنده های F1 و F4 است چرا که این فلایت کنترلر ها Inverter  داخلی ندارند و بدون SoftSerial مشکلاتی را برای شما به وجود خواهند آورد.

مشکلات استفاده از SoftSerial

با وجود مزایایی که SoftSerial دارد اما استفاده از این سریال معایب و مشکلاتی را نیز به همراه خواهد داشت از قبیل:

  • به دلیل داشتن دوره پردازش محدود امکان استفاده از این سریال در بتافلایت برای کارهایی که دوره پردازش سنگینی را نیاز دارند مناسب نیست مانند  OSD و Serial RX
  • استفاده از این سریال بار پردازشی CPU را زیاد کرده و باعث کند شدن پردازش می شود. و به همین دلیل فلایت کنترلر ها با پردازنده F1 امکان استفاده از این سریال را به دلیل قدرت پردازشی پایین ندارند و در فلایت کنترل هایی با پردازنده های F3 نیز برای داشتن سرعت پردازش بالا و کمی توان اضافی برای سایر پردازش ها استفاده از SoftSerial  توصیه نمی شود.
  • یکی دیگه از معایب این سریال محدود بودن کاربر در ایجاد SoftSerial است و در فریمور کنونی بتافلایت تنها اجازه ساخت 2 پورت سریال به کابر داده می شود.

چگونگی پیکربندی و استفاده ازSoftSerial  

برای استفاده از SoftSerial در این ورژن از فریمور بتافلایت ابتدا باید این سریال را در تب پیکربندی ( configuration ) فعال کنیم و سپس پین متصل شده به سریال و فرستنده و یا گیرنده بودن پین را مشخص می کنیم.

این تمام مراحل استفاده از SoftSerial   به صورت خلاصه است اما در ادامه تمام این مراحل را به صورت دقیق تر و با استفاده از مثال عینی توصیح خواهیم داد.

برای استفاده از SoftSerial  از چه پین هایی می توانیم استفاده کنیم؟

به صورت عمومی تعدادی پین خاص در تمام فلایت کنترل ها وجود دارد که میتوانید به عنوان پین اتصالی UART در SoftSerial استفاده کرد.این پورت ها عبارتند از:

  • UART TX/RX
  • ورودی PPM
  • پین های قابل برنامه ریزی LED
  • پین های موتور 5 و 6 و 7 در صورت وجود.

اما اگر نیاز دارید تا به طور دقیق پورت هایی که قابلیت استفاده در SoftSerial  را دارند بشناسید و نقشه شماتیک آن ها بر روی فلایت را ببینید بهتر است تا اطلاعات دقیق فلایت کنترلر خود را از سایت مرجع دانلود کنید.

مراحل فعال سازی SoftSerial

در ادامه با چند مثال متداول ازنحوه فعال سازی این سریال آشنا خواهیم شد.

متصل کردن مستقیم  SmartPort به فلایت کنترل هایی با پردازنده F4

با استفاده از SoftSerial  می توان به راحتی SmartPort را به صورت مستقیم بدون نیاز به Inverter داخلی در فریمور بتافلایت متصل کنید.

در این آموزش قصد داریم تا فلایت کنترل F4 را به پورت UART1 TX متصل کنیم.1

ابتدا در قسمت CLI کلمه resource را تایپ کنید.و در صفحه ای مانند شکل زیر پین TX1 را خواهید دید که در این فلایت کنترل A09  است.

سپس برای اتصال این پین به SoftSerial 1 در CLI مینویسیم:

resource SERIAL_TX 11 A09

save

در مرحله بعد باید SoftSerial  را در تب configuration فعال کنید.سپس در تب ports گزینه Softserial را  خواهید دید و در قسمت Telemetry output گزینه smartport را انتخاب کنید.

softserial-smartport-port-tab-آدلان-پایا

بعد از انجام این تنظیمات ابتدا فلایت کنترل خود را خاموش کنید ودوباره آن را راه اندازی کنید  در این شرایط سیستم شما باید به درستی کار کند ولی در صورتی که با عمل کرد سیستم به مشکل خوردید تنظیمات tlm_halfduplex را چک کنید که برای سیگنال های اینورت شده خاموش و برای سیگنال های خام روشن باشد.

set tlm_halfduplex = on
set tlm_inverted = off

اشتراک گذاری یک پین در Softserial برای دو قطعه SmartAudio  و تلمتری اسپید کنترل

با استفاده از این ترفند شما می توانید دو قطعه جانبی را به یک پین وصل کنید و پین دیگر را برای سایرقطعات آزاد بگذارید.

در این مثال قصد داریم تا  تلمتری اسپید کنترل را به پین UART1 RX  متصل کرده و SoftSerial1 TX  را هم برای SmartAudio تنظیم کنیم.

دوباره مانند قسمت قبل در CLI کد resource را تایپ کرده و پین مربوط به TX1 را که همان A09 است پیدا می کنیم.

و باز هم مانند قسمت قبل پایه A09 را برای SoftSerial1 مقرر می کنیم.

resource SERIAL_TX 11 A09
save

سپس SoftSerial  را فعال کرده و برای پورت UART1 در تب ports اسپید کنترل را انتخاب کنید و برای SoftSerial1 گزینه SmartPort  را انتخاب کنید.

در نهایت فلایت کنترل را خاموش و روشن کنید و از عملکرد سیستم اطمینان حاصل کنید.

استفاده از پین  LED_Strip برای SmartPort

اگر فلایت کنترلر شما دارای پین LED_strip است و شما از LED در فلایت کنترلر خود استفاده نمی کنید می توانید این پین را برای استفاده جهت اتصال  SmartPort استفاده کنید.

مانند قبل در CLI پین مربوط به LED_Strip  را پیدا کنید که برای این فلایت کنترل B06 است.

و سپس این پین را برای استفاده SoftSerial1  تعیین کنید.

resource LED_STRIP 1 none
resource SERIAL_TX 11 B06
save

 و در آخر نیز با فعال کردن SoftSerial و تنظیم آن در تب ports کار شما به اتمام رسیده است و با راه اندازی مجدد فلایت کنترل می توانید از این سیستم استفاده کنید.

مشکلات احتمالی

همیشه برای استفاده از SoftSerial از روشن بودن این ویژگی در فلایت کنترل خود اطمینان حاصل کنید چراکه این ویژگی در تمام فلایت کنترل ها به صورت پیش فرض خاموش است تا از درگیر کردن حجم بیشتری از CPU فلایت کنترل جلوگیری شود.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *