Resource Remapping یکی از ویژگی های بسیار کاربردی در فریمور بتا فلایت است که به شما اجازه می دهد تا کاربرد پین های روی فلایت کنترل را تغییر دهید. به عنوان مثال با استفاده از Resource Remapping شما می توانید جای پین موتور و در برد های آسیب دیده با پین های دیگر که آسیب ندیده اند، عوض کنید.
چه زمان نیاز به تغییر کاربرد پین ها داریم؟
- پورت UART TX/RX کافی نداریم.
- برد ها و پد های آسیب دیده.
- خروجی موتور بیشتر برای اکتاکوپتر و هگزاکوپتر
- عدم وجود پین خروجی LED
- افزودن خروجی سروو
- تغییر خروجی موتور
چگونه در فریمور بتا فلایت Resource Remapping را اجرا کنیم؟
پین های زیادی در یک برد فلایت کنترل وجود دارد و به هر پین عملکرد خاص خود را دارد اما RESOURCE REMAPPING به ما این اجازه را می دهد که کاربرد های این پین ها را تغییر دهیم و کاربرد جدیدی را به هر یک از این پین ها اختصاص دهیم.
این ویژگی در ورژن ها 3.1 به بعد فریمور بتا فلایت وجود دارد.
در بتا فلایت CLI عبارت resource را تایپ کنید. پین هایی را که می توانید تغییر دهید را نمایش می دهد مانند زیر:
# resource
resource BEEPER 1 C15
resource MOTOR 1 B07
resource MOTOR 2 B06
resource MOTOR 3 B05
resource MOTOR 4 B04
resource PPM 1 B03
resource PWM 1 B00
resource PWM 2 B01
resource SONAR_TRIGGER 1 B00
resource SONAR_ECHO 1 B01
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A14
resource SERIAL_TX 3 B10
resource SERIAL_TX 11 B01
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A15
resource SERIAL_RX 3 B11
resource SERIAL_RX 11 B00
resource LED_STRIP 1 A08
به شکل زیر عمل کنید:
[resource [Function] [Index] [Port
برای تغییر کاربرد پین ها کافی است که از کد بالا استفاده کنید و در پایان دستور جدید را ذخیره کنید.
یک نکته ی مهم برخی از پین های پردازنده ممکن است به هیچ کدام از پایه های فلایت کنترل متصل نشده باشد و ممکن است شما مجبور باشید تا یک سیم را به طور مستقیم به پای پردازنده ی فلایت کنترل لحیم کنید.
در ادامه برخی از استفاده های معمول بتا فلایت RESOURCE REMAPPING را معرفی می کنیم.
چگونه می توانیم پین LED Strip را تغییر دهیم؟
اگر می خواهید LED Strip را به پین A09 تغییر دهید دستور زیر را در فریمور بتا فلایت CLI تایپ کنید:
resource LED_STRIP 1 A09
save
نحوه تغییر کاربرد پین خروجی موتور ها در فلایت کنترل
اگر که در کوادکوپتر خود اتصالات را به درستی لحیم نکرده اید، شما می توانید به راحتی این ایراد را با استفاده از RESOURCE REMAPPING در نرم افزار رفع کنید.
اولین کاری که شما باید انجام دهید این است که پینی را که خروجی موتور را به آن لحیم کرده اید بیابید. شما می توانید این پین را با کلیک روی موتور در فریمور بتا فلایت بیابید.
!!ملخ ها را باز کنید!!
از صفحه ی motor، یکی یکی شروع به حرکت دادن موتور ها کنید و موتور ها را از 1 تا 4 شماره گذاری کنید و بر روی برگه ای به صورتی که قرار گرفته اند یادداشت کنید؛ مانند زیر:
سپس عبارت resource را در CLI تایپ کنید و هر پین را برای هر 4 موتور مشخص کنید.
resource MOTOR 1 B07
resource MOTOR 2 B06
resource MOTOR 3 B05
resource MOTOR 4 B04
یک کپی از این کد ها در یک فایل text داشته باشید که اگر کد ها پاک شد یک بک آپ از آنها داشته باشید.
حالا می توانید شماره پین را در کنار موتور قرار دهید.
در همان برگه شماره موتور را با موارد صحیح جایگزین کنید.
- موتور راست عقب باید موتور شماره 1 باشد.
- موتور راست جلو باید موتور شماره 2 باشد.
- موتور عقب سمت چپ باید موتور شماره 3 باشد.
- موتور چپ جلو باید موتور شماره 4 باشد.
حالا باید مشخص شود که کدام موتور باید به کدام پین وصل شود.
در این مثال:
- B06 باید به موتور شماره ی 1 باشد.
- B04 باید به موتور شماره ی 2 باشد.
- B07 باید به موتور شماره ی 3 باشد.
- B05 باید به موتور شماره ی 4 باشد.
برای تغییر پین موتور ها باید کد دستور زیر را در CLI وارد کنید.
resource MOTOR 1 B06
resource MOTOR 2 B04
resource MOTOR 3 B07
resource MOTOR 4 B05
save
چگونه پین buzzer (زنگ) را تغییر دهیم؟
شما نمی توانید هر پینی را که دوست داشتید به پین buzzer (زنگ) تغییر دهید.
این به این دلیل است که زنگ می تواند مقدار نسبتا زیادی از جریان استفاده کند (بیش از پردازنده STM32)، بنابراین معمولا یک ترانزیستور باید در این مسیر قرار داد. ترانزیستور جریان را برای پردازنده پردازش می کند و توسط یک سیگنال از پردازنده کنترل می شود. اگر زنگ را مستقیما به پردازنده STM32 وصل کنید، می توانید پردازنده را به شدت داغ کند و به پردازنده آسیب برساند.
اگر تصمیم بگیریدپین زنگ را به پین دیگری تغییر دهید، باید یک سیستم جریان خارجی مانند تصویر زیر ایجاد کنید. تصویر زیر یک مثال برای فلایت کنترل CC3D است.
اشتراک یک پین بر روی چند قطعه
گاهی اوقات می توانید یک پین را با چند قطعه دیگر به وسیله ی فریمور بتا فلایت به اشتراک بگذارید. اگر چنین هدفی ندارید بهتر است پین مورد نظر را از قطعه ای که مورد نیازتان نیست آزاد کنید.
برای بررسی resource را در CLI وارد کنید. در این مثال پین C08 توسط دو عملگر LED_STRIP و CAMERA_CONTROL به اشتراک گذاشته شده است.
اگر از LED استفاده نمی کنید و از کنترل دوربین استفاده می کنید، شما می توانید پین C08 از LED_STRIP را با تایپ کردن دستور زیر در CLI آزاد کنید:
resource LED_STRIP 1 none