بخش های سایت
انتخاب سردبیر:
- پوسته های استفاده نشده با نام مستعار برای ماین کرافت
- چرا بازی ها در ویندوز راه اندازی نمی شوند چرا بازی ها کار نمی کنند
- دانلود minecraft برای اندروید: همه نسخه ها
- دانلود مود برای ماین کرافت 1
- پوست پسر با 10 حرف انگلیسی
- ModPack Zeus002 در اینجا بسته مود World Of Tanks را دانلود کنید
- چرا ماین کرافت برای من کار نمی کند؟
- بهترین سرورهای ماین کرافت با مودها
- بهترین حالتها برای حالتهای Minecraft View برای نسخه 1
- بهترین حالتها برای Minecraft مدهای مکانیکی برای Minecraft 1
تبلیغات
آموزش ساخت کوادکوپتر با استفاده از آردوینو چگونه کوادکوپتر خود را طراحی کنیم برنامه ریزی کوادکوپتر در آردوینو قسمت 2 habrahabr |
برای مونتاژ یک کوادکوپتر با دستان خود در خانه، ابتدا باید اجزای اصلی کوادکوپتر را بشناسید. قطعات مونتاژ کوادکوپتر
در مجموع، مجموعه ای از تجهیزات برای مونتاژ 20018 روبل هزینه خواهد داشت. ویژگی های هنگام انتخاب اجزاویژگی های اصلی فرستنده:
دستورالعمل های گام به گام برای مونتاژ کوادکوپتر با دستان خود
این عملیات فرآیند مونتاژ کوادکوپتر را تکمیل می کند. برپایی
این کوادکوپتر دارای منبع تغذیه مستقل نیز می باشد. هزینه کل چنین محصول خانگی حدود 60 دلار است. اگر مقدار قابل توجهی دارید، بهتر است محصول خانگی خود را به موتورهای بدون برس با کنترلرهای مناسب مجهز کنید. برای تثبیت پرواز از ژیروسکوپ و شتاب سنج استفاده می شود. برای تعیین زاویه شیب کوادکوپتر نسبت به گرانش زمین به ژیروسکوپ نیاز است. برای محاسبه شتاب به یک شتاب سنج نیاز است. مواد و ابزار: گام یک. ساخت بدنه کوادکوپتر پس از پرینت فریم کوادکوپتر، می توانید موتورها و سیم های لحیم کاری را روی آن ها نصب کنید. مرحله دو. اتصال آردوینو نحوه اتصال برد MPU6050 در نمودار زیر قابل مشاهده است. درک این نکته مهم است که کتابخانه آردوینو به معنای اتصال از طریق این پین ها است. اگر مداری از سازنده دیگری استفاده می شود، مهم است که اطمینان حاصل شود که کنتاکت ها به یک ترتیب مرتب شده اند. برای تغذیه برد فقط از 3.3 ولت استفاده می شود که اگر آن را با ولتاژ 5 ولت تغذیه کنید آسیب می بیند. برخی از بردهای MPU6050 دارای فیوز هستند که از سیستم در برابر آن محافظت می کند ولتاژ بالا، اما بهتر است ریسک نکنید. اگر برد دارای پین AD0 باشد، باید به زمین (GND) متصل شود. در این حالت VIO مستقیماً روی برد به پایه AD0 متصل می شود بنابراین نیازی به اتصال پایه AD0 نیست. برای اینکه آردوینو بتواند موتورها را کنترل کند، به ترانزیستورهایی نیاز است که به لطف آنها می توان ولتاژ بالا را به موتورها رساند. شما می توانید با جزئیات بیشتر نحوه اتصال همه عناصر را در نمودار مشاهده کنید. مرحله سوم. طرحی برای آردوینو بر مرحله نهاییشما باید مقادیر ژیروسکوپ و شتاب سنج را کالیبره کنید. برای این کار باید یک سطح صاف پیدا کنید و MPU6050 را روی آن قرار دهید. سپس، طرح کالیبراسیون راه اندازی می شود، داده های انحراف حاصل ثبت می شود و سپس در طرح MPU6050_DMP6 استفاده می شود. مرحله چهارم برنامه برای آردوینو برای تثبیت کوادکوپتر از دو کنترلر PID استفاده شده است. یکی برای زمین مورد نیاز است، و دوم برای رول. کنترلر سرعت چرخش پروانه ها را اندازه گیری می کند و بر این اساس کوادکوپتر کنترل می شود. مرحله پنجم اصلاح کوادکوپتر مشکل اصلی یک کوادکوپتر کوچک و ارزان وزن آن است. برای حل این مشکل، باید موتورهای قدرتمندتر و سبک تری نصب کنید؛ موتورهای براشلس بهترین گزینه هستند که به آنها موتور سوپاپ نیز می گویند. آنها بسیار بهتر از انواع قلم مو هستند، اما شما همچنین باید برای آنها کنترل کننده های سرعت بخرید، بنابراین هزینه محصولات خانگی به شدت افزایش می یابد. سلام خوانندگان! پیش رو داریم:
مطالب حجیم است، اما من سعی خواهم کرد آن را در 2-3 مقاله قرار دهم. این همه برای چیست؟علاقه تحصیلی، که به هر حال، نه تنها من را دنبال می کند (،). و البته برای روح. در حین کار بسیار لذت بردم و وقتی "IT" با برنامه من پرواز کرد، احساس خوشحالی واقعی و غیرقابل توصیف کردم :-) برای چه کسی؟این مواد همچنین ممکن است برای افرادی که دور هستند یا فقط قصد دارند در سیستم های چند روتوری درگیر شوند، جالب باشد. حالا بیایید در مورد هدف اجزای اصلی کوادکوپتر، نحوه تعامل آنها با یکدیگر، در مورد مفاهیم اولیه و اصول پرواز صحبت کنیم. البته، تمام دانشی که نیاز داریم را میتوان در اینترنت پیدا کرد، اما نمیتوان مجبور شد آن را در اینترنت گسترده جستجو کنیم. بدون به خطر انداختن درک خود از مفاهیم اساسی، از هر چیزی که می دانید تا ترم ناآشنا بعدی بگذرید. برجسته شده است، یا به یک تصویر غیرقابل درک. نه شماره 1!تا زمانی که آن را امتحان نکرده اید، برنامه کنترل پرواز خود را ننویسید. راه حل های آماده، که اکنون تعداد زیادی از آنها وجود دارد (Ardupilot، MegapirateNG، MiltiWii، AeroQuad، و غیره). اول از همه، خطرناک است! کنترل یک کوادکوپتر بدون GPS و فشارسنج، و حتی بیشتر از آن زمانی که دچار مشکل می شود، واژگون می شود یا دقیقاً در جایی که باید پرواز نمی کند، به تمرین نیاز دارد - و این تقریباً در اولین آزمایش ها اجتناب ناپذیر است. ثانیا، با درک اینکه چه چیزی باید برنامه ریزی شود و در نهایت چگونه باید کار کند، برنامه نویسی برای شما چندین برابر آسان تر خواهد بود. باور کن: ریاضیات پرواز تنها بخش کوچکی از کد برنامه است. نه شماره 2!اگر به دنبال علایق آکادمیک نیستید و فقط به کارهایی نیاز دارید که راه حل های آماده برای مدت طولانی انجام داده اند (پرواز کنید، عکس بگیرید، فیلم بگیرید، پرواز کنید) تعهد نکنید که برنامه خود را برای کنترلر پرواز بنویسید. تکلیف و غیره) در حالی که همه چیز را خودتان می نویسید، زمان زیادی طول می کشد، حتی اگر تنها نباشید. مفاهیم اساسیکوادکوپترها انواع مختلفی دارند، اما همه آنها توسط چهار روتور اصلی متحد می شوند: با وجود تقارن ظاهری، تشخیص قسمت جلویی کوادکوپتر برای خلبان بسیار مهم است (با فلش نشان داده شده است). اینجا، مانند مدل های رادیویی کنترل شدهماشینها: هنگامی که فرمان "به جلو" داده میشود، کوادکوپتر نه در جایی که خلبان به آن نگاه میکند، بلکه در جایی که دماغه خیالی کوادکوپتر اشاره میکند پرواز میکند. این مملو از خطر است: برای مبتدیان ممکن است دشوار باشد که دستگاهی را که توسط باد گرفتار شده است، به نحوی به سمت خود برگردانده شده است (البته ما در مورد پرواز با دوربین اول شخص و در مورد "هوشمند" صحبت نمی کنیم. حالت های پرواز با استفاده از قطب نما و GPS.) راه حل این مشکل را می توان تا حدی با پیچ های جلو یا پرتوهای رنگ متفاوت، نوعی توپ در جلو یا LED های رنگی متفاوت برطرف کرد. اما همه اینها وقتی که pepelats به سرعت به یک نقطه در بالای افق تبدیل می شود بی فایده است. ما روی یک قاب کوادکوپتر به شکل "X" پرواز خواهیم کرد زیرا ظاهر آن را بیشتر دوست دارم. هر طرحی مزایا و هدف خاص خود را دارد. علاوه بر کوادکوپتر، مولتی کوپترهای دیگری نیز وجود دارد. حتی اگر گزینه های عجیب و غریب را در نظر نگیرید، هنوز یک دسته کامل از آنها وجود دارد! بیایید بفهمیم که کوادکوپتر ما در داخل چگونه ساختار دارد و کنترلر پروازی که قصد داریم برنامه ریزی کنیم باید چه کار کند. زاویه زمین، رول و انحراف (پیچ، رول، انحراف)- زوایایی که مرسوم است جهت کوادکوپتر را در فضا تعیین و تنظیم کنید. گاه از کلمه «زاویه» حذف می شود و به سادگی می گویند: قیر، رول، انحراف. اما طبق ویکی پدیا این کاملاً دقیق نیست. پرواز کوادکوپتر در جهت مورد نیاز با تغییر این سه زاویه حاصل می شود. به عنوان مثال، برای پرواز به جلو، به دلیل اینکه موتورهای عقب کمی قوی تر از موتورهای جلو می چرخند، کوادکوپتر باید کج شود: دریچه گاز، پیچ، رول، انحراف - اگر بتوانید این چهار پارامتر را کنترل کنید، می توانید کوادکوپتر را کنترل کنید. گاهی اوقات به آنها کانال های کنترل نیز می گویند. اگر ریموت کنترل دو کاناله خریداری کرده باشید، قادر به کنترل کوادکوپتر نخواهید بود. سه کانال برای هلیکوپترهای کوچک مناسب تر است: شما می توانید بدون کنترل رول پرواز کنید، اما در یک کوادکوپتر راحت نیست. اگر می خواهید حالت پرواز را تغییر دهید، باید برای یک کنترل از راه دور پنج کانال هزینه کنید. اگر میخواهید شیب و حرکت دوربین روی برد را کنترل کنید، دو کانال دیگر وجود دارد، اگرچه متخصصان از یک کنترل از راه دور جداگانه برای این کار استفاده میکنند. حالت های پرواز زیادی وجود دارد. GPS، فشارسنج و مسافت یاب استفاده می شود. اما ما می خواهیم یک پایه را پیاده سازی کنیم - حالت تثبیت ( خنجر زدن، تثبیت کردن، در یک "خرد") پرواز کنید)، که در آن کوادکوپتر بدون توجه به عوامل خارجی، زوایایی را که از طریق کنترل از راه دور به آن داده می شود، حفظ می کند. در این حالت در صورت عدم وجود باد، کوادکوپتر می تواند تقریبا در جای خود آویزان شود. خلبان باید باد را جبران کند. جهت چرخش پیچ ها به طور تصادفی انتخاب نمی شود. اگر همه موتورها در یک جهت می چرخیدند، کوادکوپتر به دلیل گشتاورهای ایجاد شده در جهت مخالف می چرخید. بنابراین، یک جفت موتور مخالف همیشه در یک جهت و جفت دیگر در جهت دیگر می چرخند. از اثر وقوع گشتاورهای چرخشی برای تغییر زاویه انحراف استفاده می شود: یک جفت موتور کمی سریعتر از دیگری شروع به چرخش می کند و اکنون کوادکوپتر به آرامی به سمت ما می چرخد (چه وحشتناک):
سرعت چرخش موتورها را کنترل می کند کنترلر پرواز (کنترل کننده، مغزها). معمولاً این یک برد یا جعبه کوچک با ورودی و خروجی های زیاد است. تعداد زیادی کنترلر مختلف با مجموعه ای از قابلیت های مختلف، سیستم عامل های مختلف، وظایف مختلف. در اینجا فقط چند مورد است: وظیفه کلی کنترلر پرواز انجام چرخه کنترل چندین ده بار در ثانیه است که شامل: خواندن قرائت سنسور، خواندن کانال های کنترل، پردازش اطلاعات و صدور سیگنال های کنترلی به موتورها به منظور اجرای دستورات خلبان است. این چیزی است که ما قصد داریم برنامه ریزی کنیم. انواع مختلفی از سنسورها وجود دارد که می توان از آنها استفاده کرد. ما از آنهایی که قبلاً تقریباً اجباری شده اند در همه کوادکوپترها استفاده خواهیم کرد ژیروسکوپ سه محوره و شتاب سنج سه محوره. شتاب سنج شتاب را اندازه گیری می کند و ژیروسکوپ سرعت زاویه ای را اندازه گیری می کند. با تشکر از آنها، کنترلر پرواز زوایای زمین فعلی، رول و انحراف را می داند. این سنسورها را می توان در کنترلر پرواز یا خارجی تعبیه کرد. فرآیند محاسبه سه زاویه بر اساس خوانش سنسور موضوعی برای مقاله جداگانه است. اما ما نیازی به دانستن این موضوع در اینجا نداریم: MPU-6050 همه چیز را برای ما انجام خواهد داد. این یک برد کوچک است که محاسبات و فیلترهای لازم را در داخل انجام می دهد و با استفاده از پروتکل i2c زوایای تقریباً آماده تولید می کند. تنها کاری که باید انجام دهیم این است که آنها را بشماریم، آنها را با بقیه داده ها پردازش کنیم و سیگنال های کنترلی را به موتورها صادر کنیم. موتورهای مولتی کوپتر جریان های زیادی را مصرف می کنند، بنابراین کنترلر پرواز آنها را نه به طور مستقیم، بلکه از طریق درایورهای سخت افزاری خاص به نام کنترل می کند. کنترل کننده های سرعت (ESC، رگولاتور، eska). این رگولاتورها توسط باتری اصلی روی برد تغذیه می شوند، سیگنال کنترل از کنترلر دریافت می شود و در خروجی دارای سه سیم (A, B, C) هستند که مستقیماً به موتورها می روند (هر موتور رگولاتور مخصوص به خود را دارد. !) "پروتکل" ارتباط بین رگولاتور و موتور برای ما به اندازه "پروتکل" ارتباط بین کنترلر پرواز و رگولاتور برای ما مهم نیست، زیرا باید رگولاتور را از طریق کنترلر به صورت برنامه ای کنترل کنیم. رگولاتورهایی وجود دارند که از طریق i2c کنترل می شوند، اما رایج ترین آنها توسط یک سیگنال موج مربعی با حداقل 0 ولت و حداکثر 3-5 ولت کنترل می شوند. PWMیا PWMو برخی استدلال می کنند که صحیح تر است - PPM. جزئیات بیشتر، برای مثال). "پروتکل" یک کلمه قوی است: برای فرمان دادن به موتور برای چرخش با حداکثر سرعت، کنترل کننده باید پالس هایی به مدت 2 میلی ثانیه ارسال کند که با یک صفر منطقی 10 تا 20 میلی ثانیه طول می کشد. مدت زمان پالس 1 میلی ثانیه مربوط به توقف موتور، 1.1 ms - 10٪ از حداکثر سرعت، بیشینه سرعت، 1.2 ms - 20٪ و غیره در عمل، مدت زمان صفر هیچ نقشی ندارد، فقط مدت زمان خود پالس مهم است. با وجود تمام سادگی ظاهری، در اینجا کمین وجود دارد: کنترلرهای پرواز متفاوت هستند تنظیمات مختلف، تنظیم کننده ها متفاوت هستند و حداقل (1 میلی ثانیه) و حداکثر (2 میلی ثانیه) جهانی نیستند. بسته به عوامل بسیاری، محدوده 1-2 ms ممکن است در واقع 1.1 - 1.9 ms باشد. برای اینکه تنظیم کننده و کنترل کننده کاملاً به یک زبان صحبت کنند، رویه ای وجود دارد کالیبراسیون تنظیم کننده. در طی این روش، محدوده کنترل ها تغییر می کند و با محدوده کنترل کننده برابر می شود. این رویه به برنامه هر کنترلر متصل شده و شامل چندین است مراحل ساده(مراحل بسته به سازنده ممکن است متفاوت باشد - دستورالعمل ها را بخوانید!):
پس از این، مرزهای بازه مربوطه به کنترلر وارد می شود. هنگام تلاش برای بلند شدن با رگولاتورهای کالیبره نشده، عواقب آن ممکن است غیرمنتظره باشد: از تکان ناگهانی کوادکوپتر به نزدیکترین درخت تا بی حرکتی کامل موتورها در هر مقدار دریچه گاز. PWM دقیقاً از همین اصل استفاده می کند گیرنده آنبورد. این دستگاه کوچک، دریافت سیگنال های رادیو کنترل از زمین و انتقال آنها به کنترلر پرواز. اغلب، کنترلر پرواز برای هر کانال کنترل (دریچه گاز، زمین، رول، و غیره) ورودی خاص خود را دارد که PWM به آن عرضه می شود. منطق تعامل ساده است: یک فرمان، به عنوان مثال، "70% دریچه گاز"، به طور مداوم از زمین به گیرنده می رود، جایی که به PWM تبدیل می شود و از طریق یک سیم جداگانه به کنترل کننده پرواز ارسال می شود. همینطور با زمین، رول، انحراف. از آنجایی که گیرنده و کنترلر رابطه PWM دوستانه خود را دارند، باید کالیبره شوند: کنترلهای از راه دور با گیرندهها با محدوده عملکرد خود متفاوت هستند. کنترل کننده باید بتواند خود را تطبیق دهد. روش کالیبراسیون رادیوییبرخلاف کالیبراسیون رگولاتورها، باید خودمان آن را به عنوان بخشی از برنامه پرواز ایجاد کنیم. طرح کلی کالیبراسیون به شرح زیر است:
بنابراین: در طول کالیبراسیون رادیویی، کنترلر پرواز محدوده گیرنده را برای همه کانال های کنترل به خاطر می آورد. در طول کالیبراسیون ESC، محدوده کنترلر پرواز در تمام ESC ها وارد می شود. علاوه بر برنامه کنترلر پرواز، یک برنامه دیگر مورد نیاز است: رابط راه اندازی کنترلر پرواز. اغلب، این یک برنامه رایانه شخصی است که از طریق USB به کنترلر پرواز متصل می شود و به کاربر اجازه می دهد برنامه پرواز را پیکربندی و بررسی کند، به عنوان مثال: اجرای کالیبراسیون رادیویی، پیکربندی پارامترهای تثبیت، بررسی عملکرد سنسورها، تنظیم مسیر پرواز در نقشه، تعیین رفتار مولتی کوپتر در هنگام از دست رفتن سیگنال و موارد دیگر. رابط پیکربندی خود را در C++ و Qt در قالب یک ابزار کنسول می نویسیم. اگر به آینده نگاه کنید اینجاست: هیچکس از حوادث مصون نیست. حتی پروانههای پلاستیکی ده اینچی روی موتورهای کوچک میتوانند کبودیهای خونی روی پوست باقی بگذارند که برای یک هفته دیگر آسیب خواهد دید (تست شخصی). اگر در حالی که کوادکوپتر را روشن حمل می کنید، چوب گاز روی ریموت کنترل را درگیر کنید، می توانید آرایش و مدل موی جدیدی به خود بدهید. بنابراین، کنترلر پرواز باید حداقل ایمنی را فراهم کند: مکانیسم مسلح / خلع سلاح. حالت "خلع سلاح" کوادکوپتر به این معنی است که موتورها خاموش هستند و حتی یک فرمان کامل دریچه گاز از ریموت کنترل هیچ تاثیری ندارد، اگرچه برق تامین می شود. حالت "مسلح" کوادکوپتر به این معنی است که دستورات از راه دور توسط کنترلر پرواز انجام می شود. در این حالت کوادکوپترها بلند می شوند، پرواز می کنند و فرود می آیند. کوادکوپتر روشن می شود و باید فوراً به حالت خلع سلاح شود در صورتی که خلبان بی توجه آن را روشن کند زمانی که میله دریچه گاز روی کنترل از راه دور صفر نیست. برای قرار دادن هلی کوپتر در حالت "مسلح"، خلبان باید برخی از ژست های از پیش توافق شده را با چوب های کنترل از راه دور انجام دهد. اغلب این حرکت به این صورت است که چوب چپ را در گوشه پایین سمت راست نگه دارید (دریچه گاز = 0٪، انحراف = 100٪) برای چند ثانیه. پس از این، کنترلر پرواز حداقل یک خودآزمایی حداقلی انجام می دهد و در صورت موفقیت آمیز بودن، خود را مسلح می کند"(آماده برای پرواز!) با یک حرکت دیگر (دریچه گاز = 0٪، یاو = 0٪) کوادکوپتر" خلع سلاح می شودیکی دیگر از اقدامات امنیتی خوب این است خلع سلاح خودکار، اگر گاز برای 2-3 ثانیه صفر بود. در مورد موتور، باتری، رگولاتور، پروانه انتخاب اجزای یک مولتیکوپتر موضوعی برای یک سری مقالات است. اگر قصد دارید اولین کوادکوپتر خود را بسازید، آنچه را که به آن نیاز دارید را فرموله کنید و از مشاوره افراد با تجربه استفاده کنید یا لیستی از قطعاتی که شخص دیگری گردآوری کرده و با موفقیت روی آن پرواز کرده است را تهیه کنید. با این حال، برای درک کلی، دانستن نکات اصلی مفید است. باتری هادر میان آماتورها و متخصصان سیستمهای چند روتوری، باتریهای لیتیوم پلیمری رایجترین منبع تغذیه برای الکترونیک و موتورهای روی برد هستند. آنها با ظرفیت، ولتاژ و حداکثر جریان خروجی متمایز می شوند. ظرفیت، طبق معمول، با آمپر ساعت یا میلی آمپر ساعت اندازه گیری می شود. ولتاژ با تعداد "سلول" باتری اندازه گیری می شود. یک "قوطی" به طور متوسط 3.7 ولت است. یک "قوطی" با شارژ کامل 4.2 ولت است. رایج ترین باتری ها آنهایی هستند که سه تا شش سلول دارند. حداکثر جریان خروجی بر حسب آمپر اندازه گیری می شود و به عنوان مثال به صورت زیر مشخص می شود: 25 درجه سانتیگراد. C ظرفیت باتری است، 25 ضریب است. اگر ظرفیت 5 آمپر باشد، چنین باتری می تواند 25 * 5 = 125 آمپر را ارائه دهد. البته، بهتر است پارامتر خروجی فعلی را با ذخیره بگیرید، اما، اساسا، هر چه بزرگتر باشد، باتری گران تر است. مثال برچسب زدن: 25C 3S 4500mah. هر بانک یک باتری جداگانه است. همه آنها به صورت سری لحیم شده اند. به منظور شارژ یکنواخت تمامی بانک ها، یک کانکتور بالانس با دسترسی به هر بانک به صورت جداگانه و ویژه ارائه شده است. دستگاه شارژ. موتورها، پروانه ها، رگلاتورهاپارامتر اصلی موتور براشلس kv آن است. این تعداد دور در دقیقه برای هر ولت ولتاژ اعمال شده است. رایج ترین موتورها با kv از 300 تا 1100 هستند. Kv نزدیک به 1000 معمولاً برای کوادکوپترهای کوچک (1-2 کیلوگرم به اضافه 500 گرم بار) انتخاب می شود و آنها به پروانه های پلاستیکی تا قطر 12 اینچ مجهز هستند. مولتی کوپترهای بزرگ (برای بلند کردن تجهیزات خوب و سنگین عکس-فیلم) یا هواپیماهای بلند پرواز (برای ثبت زمان پرواز) معمولاً دارای موتورهایی با kv پایین (300-500) و پروانه های کربنی عظیم (قطر 15 تا 20 اینچ) هستند. Kv تنها نیست پارامتر مهمموتور: اغلب می توانید جداول کامل وابستگی قدرت و رانش موتور به ولتاژ عرضه شده و نوع پروانه نصب شده را پیدا کنید. علاوه بر این، هر موتور برای محدوده ولتاژ خود (تعداد سلول های باتری) و حداکثر جریان خود طراحی شده است. اگر سازنده 3-4S نوشته است، نباید آن را با باتری های 5S استفاده کنید. همین امر در مورد رگولاتورها نیز صدق می کند. اگر موتور برای جریان حداکثر 30 آمپر طراحی شده باشد، رگولاتور باید برای جریان حداکثر 30 + 10 آمپر طراحی شود تا از گرمای بیش از حد جلوگیری شود. گاورنرهای بی کیفیت یا نامناسب می توانند باعث به اصطلاح "لغزش های همگام سازی" شوند و موتور را در حین پرواز متوقف کنند و شما یک اصطلاح مولتی روتور دیگر را تشخیص دهید: " سیاره را گرفت." یکی دیگر نکته مهم- ضخامت و کیفیت سیم ها. یک سیم با اندازه نادرست یا یک اتصال دهنده بد می تواند منجر به آتش سوزی در هوا شود. همانطور که می بینید، تفاوت های ظریف زیادی وجود دارد. من حتی نیمی از آنها را لیست نکرده ام، بنابراین انتخاب اجزای اولین مولتی کوپتر خود بسیار دشوار است. ریاضیات تثبیت، کنترل کننده های PID (PID)اگر تصمیم دارید وارد مولتی کوپتر شوید، دیر یا زود باید با تنظیم کنترلر PID دست و پنجه نرم کنید، زیرا این دستگاه ریاضی تقریباً در تمام کارهای تثبیت کننده استفاده می شود: تثبیت زوایای یک کوادکوپتر در هوا، پرواز و نگه داشتن موقعیت. با استفاده از GPS، نگه داشتن ارتفاع با استفاده از فشارسنج، مکانیسم های بدون براش تثبیت دوربین فیلمبرداری در پرواز (گیمبال دوربین). شما یک گیمبال دوربین دو محوره میخرید، مثلاً یک گوپرو را آنجا میگذارید، آن را روشن میکنید و به جای تثبیت، تشنج، لرزش و انقباض میگیرید، البته همه سنسورها کالیبره شدهاند و مشکلات مکانیکی برطرف میشود. دلیل آن پارامترهای نادرست کنترلرهای PID است. شما یک مولتیکوپتر جمع می کنید، سنسورها، رگولاتورها، رادیو را کالیبره می کنید، همه چیز را چک می کنید، سعی می کنید بلند شوید و آنقدر در هوا کسل کننده است که حتی یک نسیم ملایم آن را برمی گرداند. یا برعکس: او آنقدر تیز است که ناگهان بلند می شود و بدون اجازه یک سالتو سه گانه انجام می دهد. دلیل هنوز یکسان است: پارامترهای کنترل کننده های PID. برای بسیاری از دستگاههایی که از کنترلکنندههای PID استفاده میکنند، دستورالعملهایی برای راهاندازی، و حتی چندین دستورالعمل علاوه بر دستورالعملهای ویدیویی متعدد از خود کاربران وجود دارد. اما برای سهولت در پیمایش این تنوع، درک نحوه عملکرد این تنظیم کننده ها در داخل مفید است. در ضمن قراره سیستم تثبیت کوادکوپتر خودمون رو بنویسیم! من پیشنهاد می کنم "دوباره اختراع" و "روی انگشتان" برای درکفرمول کنترل کننده PID برای کسانی که زبان ریاضی خشک را ترجیح می دهند، ویکی پدیا را توصیه می کنم، زیرا... به زبان روسی این مطالب هنوز با جزئیات ارائه نشده است. ما یک کوادکوپتر را در فضای دو بعدی در نظر خواهیم گرفت، جایی که فقط یک زاویه دارد - زاویه رول، و دو موتور: چپ و راست. کنترلر پرواز به طور مداوم دستورات را از زمین دریافت می کند: "30 درجه بغلتید" ، "10 درجه بچرخید" ، "0 درجه بچرخید (افق را نگه دارید)"؛ وظیفه آن این است که با در نظر گرفتن باد، توزیع ناهموار وزن کوادکوپتر، سایش ناهموار موتورها، اینرسی کوادکوپتر و غیره، آنها را با حداکثر سرعت و دقت با استفاده از موتورها انجام دهد. بنابراین، فلایت کنترل باید به طور مداوم مشکل سرعت چرخش را برای هر موتور با در نظر گرفتن مقدار فعلی زاویه بانک و مقدار مورد نیاز حل کند. به طور مستمر، البته، یک کلمه قوی است. همه چیز به توانایی های محاسباتی سخت افزار خاص بستگی دارد. در Adruino، می توان یک تکرار از چرخه پردازش و کنترل را در 10 میلی ثانیه جا داد. یعنی هر 10 میلی ثانیه یک بار زوایای کوادکوپتر خوانده می شود و بر اساس آنها سیگنال های کنترلی به موتورها ارسال می شود. این 10 میلی ثانیه نامیده می شود دوره تنظیم. واضح است که هرچه کوچکتر باشد، تنظیم بیشتر و دقیقتر اتفاق می افتد. سطح گاز از گیرنده به کنترل کننده جریان دارد. بیایید آن را نشان دهیم. یادآوری می کنم که این میانگین حسابی بین سرعت چرخش همه موتورها است که به صورت درصدی از حداکثر سرعت چرخش بیان می شود. اگر و سرعت چرخش موتورهای چپ و راست هستند، پس: پاسخ کوادکوپتر (نیروی) کجاست که به دلیل اینکه موتور سمت چپ سریعتر از گاز می چرخد و موتور سمت راست به همان اندازه کندتر می چرخد، گشتاور ایجاد می کند. همچنین می تواند مقادیر منفی بگیرد، سپس موتور مناسب سریعتر می چرخد. اگر یاد بگیریم که این مقدار را در هر تکرار چرخه پردازش محاسبه کنیم، آنگاه قادر خواهیم بود کوادکوپتر را کنترل کنیم. واضح است که حداقل باید به زاویه رول فعلی () و زاویه رول مورد نظر () که از صفحه کنترل می آید بستگی داشته باشد. بیایید یک موقعیت را تصور کنیم: دستور "keep the horizon" (= 0) دریافت می شود و کوادکوپتر یک رول در سمت چپ دارد: تفاوت (خطا) بین و که کنترل کننده به دنبال به حداقل رساندن آن است. هر چه تفاوت بین زاویه رول مورد نظر و زاویه فعلی بیشتر باشد، واکنش باید قوی تر باشد، موتور سمت چپ باید سریعتر نسبت به سمت راست بچرخد. اگر این را با استفاده از نماد خود بنویسیم: در اینجا P ضریب تناسب است. هر چه بزرگتر باشد، واکنش قوی تر خواهد بود، کوادکوپتر به انحراف از زاویه رول مورد نیاز واکنش تیزتری نشان می دهد. این فرمول بصری و ساده کار را توصیف می کند کنترل کننده تناسبی. نکته ساده است: هر چه کوادکوپتر بیشتر از موقعیت مورد نیاز منحرف شود، باید تلاش بیشتری برای بازگرداندن آن انجام دهید. متأسفانه، این فرمول باید پیچیده باشد. دلیل اصلی بیش از حد است. در چند ده میلی ثانیه (چندین تکرار از چرخه پردازش)، تحت تأثیر کنترل کننده تناسبی، کوادکوپتر به موقعیت مورد نیاز (در این مورد افقی) باز می گردد. در تمام این مدت، خطا و تلاش همان علامت را خواهد داشت، اگرچه از نظر بزرگی کمتر و کمتر می شود. با به دست آوردن سرعت چرخش معین (سرعت زاویه ای)، کوادکوپتر به سادگی به سمت دیگر غلت می خورد، زیرا هیچ کس آن را در موقعیت مورد نیاز متوقف نمی کند. مانند فنری است که همیشه می خواهد به حالت اولیه خود بازگردد، اما اگر آن را به عقب بکشید و رها کنید، نوسان می کند تا زمانی که اصطکاک تمام شود. البته کوادکوپتر نیز تحت تاثیر اصطکاک قرار خواهد گرفت، اما تمرین نشان می دهد که کافی نیست. به همین دلیل، باید یک عبارت دیگر به کنترلر پروپشنال اضافه شود، که باعث کند شدن چرخش کوادکوپتر و جلوگیری از بیش از حد (غلتش در جهت مخالف) می شود - نوعی تقلید از اصطکاک در یک محیط چسبناک: هر چه سریعتر کوادکوپتر می چرخد، باید سخت تر تلاش کنید تا آن را متوقف کنید، البته در محدوده معقول. سرعت چرخش (نرخ تغییر خطا) را به صورت زیر نشان می دهیم، سپس: که در آن D یک ضریب قابل تنظیم است: هر چه بزرگتر باشد، نیروی توقف قوی تر است. از یک درس فیزیک مدرسه، خاطرات مبهمی ظاهر می شود که نرخ تغییر هر کمیت مشتق این کمیت نسبت به زمان است: . و اکنون کنترل کننده تناسبی به یک تناسبی-دیفرانسیل تبدیل می شود (ترم متناسب و دیفرانسیل): محاسبه خطا آسان است، زیرا در هر تکرار می دانیم و ; P و D پارامترهایی هستند که می توانند قبل از راه اندازی پیکربندی شوند. برای محاسبه مشتق (نرخ تغییر)، باید مقدار قبلی را ذخیره کرد، مقدار فعلی را دانست و زمان بین اندازهگیریها را دانست (دوره کنترل). و اینجاست - فیزیک کلاس ششم مدرسه (سرعت = مسافت / زمان): دوره نظارتی؛ - مقدار خطا از تکرار قبلی چرخه تنظیم. به هر حال، این فرمول است ساده ترین راهتمایز عددی، و در اینجا برای ما کاملا مناسب است. اکنون ما یک کنترلر دیفرانسیل تناسبی در یک دوکوپتر تخت داریم، اما هنوز یک مشکل دیگر وجود دارد. اجازه دهید لبه سمت چپ کمی بیشتر از سمت راست وزن داشته باشد، یا همان چیزی است که موتور سمت چپ کمی بدتر از سمت راست کار می کند. کوادکوپتر کمی به سمت چپ متمایل است و به عقب برنمیگردد: عدد دیفرانسیل صفر است و جمله تناسبی، اگرچه مقدار مثبت میگیرد، برای بازگشت کوادکوپتر به حالت افقی کافی نیست، زیرا لبه سمت چپ وزن کمی دارد. بیشتر از حق در نتیجه کوادکوپتر همیشه به سمت چپ کشیده می شود. مکانیزمی برای نظارت بر این گونه انحرافات و اصلاح آنها لازم است. ویژگی بارز چنین خطاهایی این است که در طول زمان خود را اصلاح می کنند. اصطلاح انتگرال به کمک می آید. مجموع تمام خطاها را در تمام تکرارهای حلقه پردازش ذخیره می کند. این چگونه کمک خواهد کرد؟ اگر ترم تناسبی برای تصحیح یک خطای کوچک کافی نباشد، اما همچنان وجود داشته باشد، به تدریج، با گذشت زمان، عبارت انتگرال قدرت می گیرد و پاسخ را افزایش می دهد و کوادکوپتر زاویه رول مورد نیاز را می گیرد. در اینجا یک نکته ظریف وجود دارد. فرض کنید 1 درجه است، چرخه کنترل 0.1 ثانیه است. سپس در یک ثانیه مجموع خطاها مقدار 10 درجه را می گیرد. و اگر چرخه پردازش 0.01 ثانیه باشد، مقدار آن تا 100 درجه افزایش می یابد. به طوری که در همان زمان، عبارت انتگرال برای دوره های مختلف تنظیم مقدار یکسانی به دست آورد، مقدار حاصل را در خود دوره تنظیم ضرب می کنیم. به راحتی می توان محاسبه کرد که در هر دو مورد مجموع 1 درجه از مثال به دست می آید. در اینجا آن است - عبارت انتگرال (در حال حاضر بدون ضریب قابل تنظیم): کجا یکی از پارامترهای قابل تنظیم است که اکنون سه مورد از آن وجود دارد: . استفاده از این فرمول آسان است کد برنامهو فرمولی که در کتاب های درسی آمده است: انواع مختلفی از آن وجود دارد، به عنوان مثال، می توانید مدول عبارت انتگرال را محدود کنید تا از آستانه مجاز خاصی تجاوز نکند (ما این کار را انجام خواهیم داد). تمرینخوب، اکنون زمان تمرین در انتخاب ضرایب است. به خوانندگان یک صفحه جاوا اسکریپت با یک کوادکوپتر مجازی ارائه می شود که قبلاً در تصاویر دیده اند: انتخاب پارامترهای کنترل کننده PID برای کوادکوپتر(JSFiddle). در اولین شروع، بیش از حد قابل مشاهده است - نوسانات در اطراف موقعیت مورد نیاز. هنگامی که نوسانات متوقف می شوند، می توانید این اثر را مشاهده کنید که ضریب تناسبی به دلیل کوادکوپتر "نامتقارن" (تنظیم شده توسط چک باکس "Asymmetry") نمی تواند با خطا مقابله کند. پارامترهای موجود برای پیکربندی عبارتند از P، I، D. اکنون میدانید که با آنها چه کار کنید. "اسکرول" زیر کوادکوپتر را می توان با مقدار رول مورد نیاز کنترل کرد. "فاصله (ms):" - فاصله تنظیم. کاهش آن تقلب است، اما دیدن اینکه چگونه بر کیفیت تثبیت تاثیر می گذارد بسیار مفید است. برای دوستداران ریاضیات "خالص"، ما می توانیم ارائه دهیم کنترل کننده PID انتزاعی را پیکربندی کنید پارامترهای وارد شده به طور خودکار اعمال نمی شوند: باید روی "اعمال" کلیک کنید. چند نکته کوچک: اگر به نظرتان می رسد که کوادکوپتر خیلی کند است و نمی تواند به کنترل پاسخ دهد، می توانید P را افزایش دهید، اما مقدار P خیلی بزرگ ممکن است منجر به overshoot شود. پارامتر D به مقابله با بیش از حد کمک می کند، اما مقادیر بیش از حد بزرگ منجر به نوسانات مکرر یا دوباره به بیش از حد می شود. پارامتر I معمولاً 10 تا 100 برابر کمتر از پارامتر P است زیرا قدرت آن در تجمع در طول زمان نهفته است، نه در واکنش سریع. تنظیم دستی پارامترهای PID نیاز به تمرین دارد. روش های تحلیلی برای محاسبه آنها وجود دارد، اما نیاز به آماده سازی خوب و دانش دقیق بسیاری از پارامترهای سیستم خاص در حال سفارشی سازی دارد. به عنوان حد وسط بین انتخاب دستی و محاسبه تحلیلی، طیف گسترده ای از روش های تجربی توسط محققان مختلف پیشنهاد شده است. در کوادکوپتر دو بعدی ما، تنها یک زاویه تغییر می کند - زاویه رول. در تنظیم یک کوادکوپتر سه بعدی، سه کنترلر PID مستقل برای هر یک از زوایا مورد نیاز است و کنترل یک موتور خاص، مجموع تلاشهای تمام کنترلکنندهها خواهد بود. نتیجه گیری قسمت اولدر این مقاله با مفاهیم اولیه کوادکوپتر و اصل پرواز، پیچ، رول، انحراف، دریچه گاز، شناور دریچه گاز، حالت پرواز پایدار، کنترلر پرواز، ژیروسکوپ، شتاب سنج، کنترل کننده سرعت، PWM، کالیبراسیون کنترلر، کالیبراسیون رادیویی، گیرنده داخلی، رابط برای راه اندازی کنترلر پرواز، حالت های مسلح/خلع سلاح، خلع سلاح خودکار. پس از آن فرمول را دوباره اختراع کردیم کنترل کننده PIDکمی لمس کردن تمایز و ادغام عددی، و روش سخت پیکربندی پارامترها را تجربه کرد پ، من، دیبر کوادکوپتر مجازی . اکنون، اگر در برنامه نویسی شمشیر نوری مهارت دارید، می توانید برنامه تثبیت کننده کوادکوپتر خود را شروع کنید یا بهتر است با ایده های تازه به پروژه های منبع باز موجود بپیوندید. خوب، یکی دو هفته دیگر داستان را ادامه خواهم داد که چگونه همه چیز برنامه ریزی شد، آزمایش شد، سقوط کرد، انگشتانم را بریدند و به طور کامل در جهت نامعلومی پرواز کردند. در خاتمه این قسمت، فقط باید به شخصی اشاره کنم که در انتخاب کامپوننت ها و راه اندازی پیچیده ترین (اول!) کوادکوپتر روی فریمور MegapirateNG به من کمک کرد و با حوصله به صدها سوال در مورد این موارد پاسخ داد. مفاهیم اساسی: SovGVD، متشکرم! :-) به عنوان پاداش برای کسانی که توانستند همه این ورق را هدر دهند، من ویدیوی کوچک وعده داده شده را از نحوه پرواز کوادکوپتر ما با کنترلرهای PID "اختراع شده" ما در برنامه ما برای آردوینو مگا 2560 ارسال می کنم: البته فاقد جی پی اس است، همانطور که در محصولات تجاری و تولید انبوه، کمی ثبات ندارد، اما OUR است و تا آخرین فاکتور ضریب انتگرال را از درون و بیرون می دانیم! و واقعاً جالب است که چنین فناوریهایی امروزه در دسترس ما هستند.
مطالب حجیم است، اما من سعی خواهم کرد آن را در 2-3 مقاله قرار دهم. امروز انتظار داریم: اسپویلر با ویدیویی از نحوه پرواز کوادکوپتر ما; مفاهیم اساسی؛ کنترل کننده های PID و تمرین انتخاب ضرایب آنها. این همه برای چیست؟علاقه تحصیلی، که به هر حال، نه تنها من را دنبال می کند (،). و البته برای روح. در حین کار بسیار لذت بردم و وقتی "IT" با برنامه من پرواز کرد، احساس خوشحالی واقعی و غیرقابل توصیف کردم :-)برای چه کسی؟این مواد همچنین ممکن است برای افرادی که دور هستند یا فقط قصد دارند در سیستم های چند روتوری درگیر شوند، جالب باشد. حالا بیایید در مورد هدف اجزای اصلی کوادکوپتر، نحوه تعامل آنها با یکدیگر، در مورد مفاهیم اولیه و اصول پرواز صحبت کنیم. البته، تمام دانشی که نیاز داریم را میتوان در اینترنت پیدا کرد، اما نمیتوان مجبور شد آن را در اینترنت گسترده جستجو کنیم.بدون به خطر انداختن درک خود از مفاهیم اساسی، از هر چیزی که می دانید تا ترم ناآشنا بعدی بگذرید. برجسته شده است، یا به یک تصویر غیرقابل درک. نه شماره 1!شروع به نوشتن برنامه خود برای کنترلر پرواز نکنید تا زمانی که راه حل های آماده ای را امتحان کنید، که اکنون تعداد زیادی از آنها وجود دارد (Ardupilot، MegapirateNG، MiltiWii، AeroQuad و غیره). اول از همه، خطرناک است! کنترل یک کوادکوپتر بدون GPS و فشارسنج، و حتی بیشتر از آن زمانی که دچار مشکل می شود، واژگون می شود یا دقیقاً در جایی که باید پرواز نمی کند، به تمرین نیاز دارد - و این تقریباً در اولین آزمایش ها اجتناب ناپذیر است. ثانیا، با درک اینکه چه چیزی باید برنامه ریزی شود و در نهایت چگونه باید کار کند، برنامه نویسی برای شما چندین برابر آسان تر خواهد بود. باور کن: ریاضیات پرواز تنها بخش کوچکی از کد برنامه است.نه شماره 2!اگر به دنبال علایق آکادمیک نیستید و فقط به کارهایی نیاز دارید که راه حل های آماده برای مدت طولانی انجام داده اند (پرواز کنید، عکس بگیرید، فیلم بگیرید، پرواز کنید) تعهد نکنید که برنامه خود را برای کنترلر پرواز بنویسید. تکلیف و غیره) در حالی که همه چیز را خودتان می نویسید، زمان زیادی طول می کشد، حتی اگر تنها نباشید.مفاهیم اساسیکوادکوپترها انواع مختلفی دارند، اما همه آنها توسط چهار روتور اصلی متحد می شوند: ما روی یک قاب کوادکوپتر به شکل "X" پرواز خواهیم کرد زیرا ظاهر آن را بیشتر دوست دارم. هر طرحی مزایا و هدف خاص خود را دارد. علاوه بر کوادکوپتر، مولتی کوپترهای دیگری نیز وجود دارد. حتی اگر گزینه های عجیب و غریب را در نظر نگیرید، هنوز یک دسته کامل از آنها وجود دارد! بیایید بفهمیم که کوادکوپتر ما در داخل چگونه ساختار دارد و کنترلر پروازی که قصد داریم برنامه ریزی کنیم باید چه کار کند. زاویه زمین، رول و انحراف (پیچ، رول، انحراف)- زوایایی که مرسوم است جهت کوادکوپتر را در فضا تعیین و تنظیم کنید. گاه از کلمه «زاویه» حذف می شود و به سادگی می گویند: قیر، رول، انحراف. اما طبق ویکی پدیا این کاملاً دقیق نیست. پرواز کوادکوپتر در جهت مورد نیاز با تغییر این سه زاویه حاصل می شود. به عنوان مثال، برای پرواز به جلو، به دلیل اینکه موتورهای عقب کمی قوی تر از موتورهای جلو می چرخند، کوادکوپتر باید کج شود: کوادکوپتر گازی- میانگین حسابی بین سرعت چرخش همه موتورها. هر چه گاز بیشتر باشد، تراست کل موتورها بیشتر می شود، کوادکوپتر را بیشتر می کشند. بالا(به جلو نروید!!! "دمپایی روی زمین" در اینجا به معنای سریعترین صعود است). معمولاً به صورت درصد اندازه گیری می شود: 0٪ - موتورها متوقف شده اند، 100٪ - چرخش با حداکثر سرعت. گاز معلق است- حداقل سطح گازی که لازم است تا کوادکوپتر ارتفاع را از دست ندهد. دریچه گاز، پیچ، رول، انحراف - اگر بتوانید این چهار پارامتر را کنترل کنید، می توانید کوادکوپتر را کنترل کنید. گاهی اوقات به آنها کانال های کنترل نیز می گویند. اگر ریموت کنترل دو کاناله خریداری کرده باشید، قادر به کنترل کوادکوپتر نخواهید بود. سه کانال برای هلیکوپترهای کوچک مناسب تر است: شما می توانید بدون کنترل رول پرواز کنید، اما در یک کوادکوپتر راحت نیست. اگر می خواهید حالت پرواز را تغییر دهید، باید برای یک کنترل از راه دور پنج کانال هزینه کنید. اگر میخواهید شیب و حرکت دوربین روی برد را کنترل کنید، دو کانال دیگر وجود دارد، اگرچه متخصصان از یک کنترل از راه دور جداگانه برای این کار استفاده میکنند. حالت های پرواز زیادی وجود دارد. GPS، فشارسنج و مسافت یاب استفاده می شود. اما ما می خواهیم یک پایه را پیاده سازی کنیم - حالت تثبیت ( خنجر زدن، تثبیت کردن، در یک "خرد") پرواز کنید)، که در آن کوادکوپتر بدون توجه به عوامل خارجی، زوایایی را که از طریق کنترل از راه دور به آن داده می شود، حفظ می کند. در این حالت در صورت عدم وجود باد، کوادکوپتر می تواند تقریبا در جای خود آویزان شود. خلبان باید باد را جبران کند. جهت چرخش پیچ ها به طور تصادفی انتخاب نمی شود. اگر همه موتورها در یک جهت می چرخیدند، کوادکوپتر به دلیل گشتاورهای ایجاد شده در جهت مخالف می چرخید. بنابراین، یک جفت موتور مخالف همیشه در یک جهت و جفت دیگر در جهت دیگر می چرخند. از اثر وقوع گشتاورهای چرخشی برای تغییر زاویه انحراف استفاده می شود: یک جفت موتور کمی سریعتر از دیگری شروع به چرخش می کند و اکنون کوادکوپتر به آرامی به سمت ما می چرخد (چه وحشتناک):
سرعت چرخش موتورها را کنترل می کند کنترلر پرواز (کنترل کننده، مغزها). معمولاً این یک برد یا جعبه کوچک با ورودی و خروجی های زیاد است. تعداد زیادی کنترلر مختلف با مجموعه ای از قابلیت های مختلف، سیستم عامل های مختلف و وظایف مختلف وجود دارد. در اینجا فقط چند مورد است: وظیفه کلی کنترلر پرواز انجام چرخه کنترل چندین ده بار در ثانیه است که شامل: خواندن قرائت سنسور، خواندن کانال های کنترل، پردازش اطلاعات و صدور سیگنال های کنترلی به موتورها به منظور اجرای دستورات خلبان است. این چیزی است که ما قصد داریم برنامه ریزی کنیم. انواع مختلفی از سنسورها وجود دارد که می توان از آنها استفاده کرد. ما از آنهایی که قبلاً تقریباً اجباری شده اند در همه کوادکوپترها استفاده خواهیم کرد ژیروسکوپ سه محوره و شتاب سنج سه محوره. شتاب سنج شتاب را اندازه گیری می کند و ژیروسکوپ سرعت زاویه ای را اندازه گیری می کند. با تشکر از آنها، کنترلر پرواز زوایای زمین فعلی، رول و انحراف را می داند. این سنسورها را می توان در کنترلر پرواز یا خارجی تعبیه کرد. فرآیند محاسبه سه زاویه بر اساس خوانش سنسور موضوعی برای مقاله جداگانه است. اما ما نیازی به دانستن این موضوع در اینجا نداریم: MPU-6050 همه چیز را برای ما انجام خواهد داد. این یک برد کوچک است که محاسبات و فیلترهای لازم را در داخل انجام می دهد و با استفاده از پروتکل i2c زوایای تقریباً آماده تولید می کند. تنها کاری که باید انجام دهیم این است که آنها را بشماریم، آنها را با بقیه داده ها پردازش کنیم و سیگنال های کنترلی را به موتورها صادر کنیم. موتورهای مولتی کوپتر جریان های زیادی را مصرف می کنند، بنابراین کنترلر پرواز آنها را نه به طور مستقیم، بلکه از طریق درایورهای سخت افزاری خاص به نام کنترل می کند. کنترل کننده های سرعت (ESC، رگولاتور، eska). این رگولاتورها توسط باتری اصلی روی برد تغذیه می شوند، سیگنال کنترل از کنترلر دریافت می شود و در خروجی دارای سه سیم (A, B, C) هستند که مستقیماً به موتورها می روند (هر موتور رگولاتور مخصوص به خود را دارد. !) "پروتکل" ارتباط بین رگولاتور و موتور برای ما به اندازه "پروتکل" ارتباط بین کنترلر پرواز و رگولاتور برای ما مهم نیست، زیرا باید رگولاتور را از طریق کنترلر به صورت برنامه ای کنترل کنیم. رگولاتورهایی وجود دارند که از طریق i2c کنترل می شوند، اما رایج ترین آنها توسط یک سیگنال موج مربعی با حداقل 0 ولت و حداکثر 3-5 ولت کنترل می شوند. PWMیا PWMو برخی استدلال می کنند که صحیح تر است - PPM. جزئیات بیشتر، برای مثال). "پروتکل" یک کلمه قوی است: برای فرمان دادن به موتور برای چرخش با حداکثر سرعت، کنترل کننده باید پالس هایی به مدت 2 میلی ثانیه ارسال کند که با یک صفر منطقی 10 تا 20 میلی ثانیه طول می کشد. مدت زمان پالس 1 میلی ثانیه مربوط به توقف موتور، 1.1 میلی ثانیه - 10 درصد حداکثر سرعت، 1.2 میلی ثانیه - 20 درصد و غیره است. در عمل، مدت زمان صفر هیچ نقشی ندارد، فقط مدت زمان خود پالس مهم است. با وجود تمام سادگی ظاهری، در اینجا کمین وجود دارد: کنترلرهای پرواز با تنظیمات مختلف متفاوت هستند، تنظیم کننده ها متفاوت هستند، و حداقل (1 میلی ثانیه) و حداکثر (2 میلی ثانیه) جهانی نیستند. بسته به عوامل بسیاری، محدوده 1-2 ms ممکن است در واقع 1.1 - 1.9 ms باشد. برای اینکه تنظیم کننده و کنترل کننده کاملاً به یک زبان صحبت کنند، رویه ای وجود دارد کالیبراسیون تنظیم کننده. در طی این روش، محدوده کنترل ها تغییر می کند و با محدوده کنترل کننده برابر می شود. این روش در برنامه هر تنظیم کننده تعبیه شده است و شامل چندین مرحله ساده است (مراحل ممکن است بسته به سازنده متفاوت باشد - دستورالعمل ها را بخوانید!):
پس از این، مرزهای بازه مربوطه به کنترلر وارد می شود. هنگام تلاش برای بلند شدن با رگولاتورهای کالیبره نشده، عواقب آن ممکن است غیرمنتظره باشد: از تکان ناگهانی کوادکوپتر به نزدیکترین درخت تا بی حرکتی کامل موتورها در هر مقدار دریچه گاز. PWM دقیقاً از همین اصل استفاده می کند گیرنده آنبورد. این دستگاه کوچکی است که سیگنال های رادیویی کنترل را از زمین دریافت کرده و به کنترلر پرواز ارسال می کند. اغلب، کنترلر پرواز برای هر کانال کنترل (دریچه گاز، زمین، رول، و غیره) ورودی خاص خود را دارد که PWM به آن عرضه می شود. منطق تعامل ساده است: یک فرمان، به عنوان مثال، "70% دریچه گاز"، به طور مداوم از زمین به گیرنده می رود، جایی که به PWM تبدیل می شود و از طریق یک سیم جداگانه به کنترل کننده پرواز ارسال می شود. همینطور با زمین، رول، انحراف. از آنجایی که گیرنده و کنترلر رابطه PWM دوستانه خود را دارند، باید کالیبره شوند: کنترلهای از راه دور با گیرندهها با محدوده عملکرد خود متفاوت هستند. کنترل کننده باید بتواند خود را تطبیق دهد. روش کالیبراسیون رادیوییبرخلاف کالیبراسیون رگولاتورها، باید خودمان آن را به عنوان بخشی از برنامه پرواز ایجاد کنیم. طرح کلی کالیبراسیون به شرح زیر است:
علاوه بر برنامه کنترلر پرواز، یک برنامه دیگر مورد نیاز است: رابط راه اندازی کنترلر پرواز. اغلب، این یک برنامه رایانه شخصی است که از طریق USB به کنترلر پرواز متصل می شود و به کاربر اجازه می دهد برنامه پرواز را پیکربندی و بررسی کند، به عنوان مثال: اجرای کالیبراسیون رادیویی، پیکربندی پارامترهای تثبیت، بررسی عملکرد سنسورها، تنظیم مسیر پرواز در نقشه، تعیین رفتار مولتی کوپتر در هنگام از دست رفتن سیگنال و موارد دیگر. رابط پیکربندی خود را در C++ و Qt در قالب یک ابزار کنسول می نویسیم. اگر به آینده نگاه کنید اینجاست: هیچکس از حوادث مصون نیست. حتی پروانههای پلاستیکی ده اینچی روی موتورهای کوچک میتوانند کبودیهای خونی روی پوست باقی بگذارند که برای یک هفته دیگر آسیب خواهد دید (تست شخصی). اگر در حالی که کوادکوپتر را روشن حمل می کنید، چوب گاز روی ریموت کنترل را درگیر کنید، می توانید آرایش و مدل موی جدیدی به خود بدهید. بنابراین، کنترلر پرواز باید حداقل ایمنی را فراهم کند: مکانیسم مسلح / خلع سلاح. حالت "خلع سلاح" کوادکوپتر به این معنی است که موتورها خاموش هستند و حتی یک فرمان کامل دریچه گاز از ریموت کنترل هیچ تاثیری ندارد، اگرچه برق تامین می شود. حالت "مسلح" کوادکوپتر به این معنی است که دستورات از راه دور توسط کنترلر پرواز انجام می شود. در این حالت کوادکوپترها بلند می شوند، پرواز می کنند و فرود می آیند. کوادکوپتر روشن می شود و باید فوراً به حالت خلع سلاح شود در صورتی که خلبان بی توجه آن را روشن کند زمانی که میله دریچه گاز روی کنترل از راه دور صفر نیست. برای قرار دادن هلی کوپتر در حالت "مسلح"، خلبان باید برخی از ژست های از پیش توافق شده را با چوب های کنترل از راه دور انجام دهد. اغلب این حرکت به این صورت است که چوب چپ را در گوشه پایین سمت راست نگه دارید (دریچه گاز = 0٪، انحراف = 100٪) برای چند ثانیه. پس از این، کنترلر پرواز حداقل یک خودآزمایی حداقلی انجام می دهد و در صورت موفقیت آمیز بودن، خود را مسلح می کند"(آماده برای پرواز!) با یک حرکت دیگر (دریچه گاز = 0٪، یاو = 0٪) کوادکوپتر" خلع سلاح می شودیکی دیگر از اقدامات امنیتی خوب این است خلع سلاح خودکار، اگر گاز برای 2-3 ثانیه صفر بود. در مورد موتور، باتری، رگولاتور، پروانه انتخاب اجزای یک مولتیکوپتر موضوعی برای یک سری مقالات است. اگر قصد دارید اولین کوادکوپتر خود را بسازید، آنچه را که به آن نیاز دارید را فرموله کنید و از مشاوره افراد با تجربه استفاده کنید یا لیستی از قطعاتی که شخص دیگری گردآوری کرده و با موفقیت روی آن پرواز کرده است را تهیه کنید. باتری هادر میان آماتورها و متخصصان سیستمهای چند روتوری، باتریهای لیتیوم پلیمری رایجترین منبع تغذیه برای الکترونیک و موتورهای روی برد هستند. آنها با ظرفیت، ولتاژ و حداکثر جریان خروجی متمایز می شوند. ظرفیت، طبق معمول، با آمپر ساعت یا میلی آمپر ساعت اندازه گیری می شود. ولتاژ با تعداد "سلول" باتری اندازه گیری می شود. یک "قوطی" به طور متوسط 3.7 ولت است. یک "قوطی" با شارژ کامل 4.2 ولت است. رایج ترین باتری ها آنهایی هستند که سه تا شش سلول دارند. حداکثر جریان خروجی بر حسب آمپر اندازه گیری می شود و به عنوان مثال به صورت زیر مشخص می شود: 25 درجه سانتیگراد. C ظرفیت باتری است، 25 ضریب است. اگر ظرفیت 5 آمپر باشد، چنین باتری می تواند 25 * 5 = 125 آمپر را ارائه دهد. البته، بهتر است پارامتر خروجی فعلی را با ذخیره بگیرید، اما، اساسا، هر چه بزرگتر باشد، باتری گران تر است. مثال برچسب زدن: 25C 3S 4500mah. هر بانک یک باتری جداگانه است. همه آنها به صورت سری لحیم شده اند. برای شارژ یکنواخت تمامی بانک ها یک کانکتور بالانس با دسترسی به هر بانک به صورت جداگانه در نظر گرفته شده است و از شارژرهای مخصوص استفاده می شود. موتورها، پروانه ها، رگلاتورهاپارامتر اصلی موتور براشلس kv آن است. این تعداد دور در دقیقه برای هر ولت ولتاژ اعمال شده است. رایج ترین موتورها با kv از 300 تا 1100 هستند. Kv نزدیک به 1000 معمولاً برای کوادکوپترهای کوچک (1-2 کیلوگرم به اضافه 500 گرم بار) انتخاب می شود و آنها به پروانه های پلاستیکی تا قطر 12 اینچ مجهز هستند. مولتی کوپترهای بزرگ (برای بلند کردن تجهیزات خوب و سنگین عکس-فیلم) یا هواپیماهای بلند پرواز (برای ثبت زمان پرواز) معمولاً دارای موتورهایی با kv پایین (300-500) و پروانه های کربنی عظیم (قطر 15 تا 20 اینچ) هستند. Kv تنها پارامتر مهم موتور نیست: شما اغلب می توانید جداول کامل وابستگی قدرت موتور و رانش به ولتاژ عرضه شده و نوع پروانه نصب شده را پیدا کنید. علاوه بر این، هر موتور برای محدوده ولتاژ خود (تعداد سلول های باتری) و حداکثر جریان خود طراحی شده است. اگر سازنده 3-4S نوشته است، نباید آن را با باتری های 5S استفاده کنید. همین امر در مورد رگولاتورها نیز صدق می کند. اگر موتور برای جریان حداکثر 30 آمپر طراحی شده باشد، رگولاتور باید برای جریان حداکثر 30 + 10 آمپر طراحی شود تا از گرمای بیش از حد جلوگیری شود. گاورنرهای بی کیفیت یا نامناسب می توانند باعث به اصطلاح "لغزش های همگام سازی" شوند و موتور را در حین پرواز متوقف کنند و شما یک اصطلاح مولتی روتور دیگر را تشخیص دهید: " سیاره را گرفتیکی دیگر از نکات مهم، ضخامت و کیفیت سیم ها است، محاسبه نادرست سطح مقطع سیم یا اتصال بد می تواند منجر به آتش سوزی در هوا شود. همانطور که می بینید، تفاوت های ظریف زیادی وجود دارد. من حتی نیمی از آنها را لیست نکرده ام، بنابراین انتخاب اجزای اولین مولتی کوپتر خود بسیار دشوار است. ریاضیات تثبیت، کنترل کننده های PID (PID)اگر تصمیم دارید وارد مولتی کوپتر شوید، دیر یا زود باید با تنظیم کنترلر PID دست و پنجه نرم کنید، زیرا این دستگاه ریاضی تقریباً در تمام کارهای تثبیت کننده استفاده می شود: تثبیت زوایای یک کوادکوپتر در هوا، پرواز و نگه داشتن موقعیت. با استفاده از GPS، نگه داشتن ارتفاع با استفاده از فشارسنج، مکانیسم های بدون براش تثبیت دوربین فیلمبرداری در پرواز (گیمبال دوربین). شما یک گیمبال دوربین دو محوره میخرید، مثلاً یک گوپرو را آنجا میگذارید، آن را روشن میکنید و به جای تثبیت، تشنج، لرزش و انقباض میگیرید، البته همه سنسورها کالیبره شدهاند و مشکلات مکانیکی برطرف میشود. دلیل آن پارامترهای نادرست کنترلرهای PID است. شما یک مولتیکوپتر جمع می کنید، سنسورها، رگولاتورها، رادیو را کالیبره می کنید، همه چیز را چک می کنید، سعی می کنید بلند شوید و آنقدر در هوا کسل کننده است که حتی یک نسیم ملایم آن را برمی گرداند. یا برعکس: او آنقدر تیز است که ناگهان بلند می شود و بدون اجازه یک سالتو سه گانه انجام می دهد. دلیل هنوز یکسان است: پارامترهای کنترل کننده های PID. برای بسیاری از دستگاههایی که از کنترلکنندههای PID استفاده میکنند، دستورالعملهایی برای راهاندازی، و حتی چندین دستورالعمل علاوه بر دستورالعملهای ویدیویی متعدد از خود کاربران وجود دارد. اما برای سهولت در پیمایش این تنوع، درک نحوه عملکرد این تنظیم کننده ها در داخل مفید است. در ضمن قراره سیستم تثبیت کوادکوپتر خودمون رو بنویسیم! من پیشنهاد می کنم "دوباره اختراع" و "روی انگشتان" برای درکفرمول کنترل کننده PID برای کسانی که زبان ریاضی خشک را ترجیح می دهند، ویکی پدیا را توصیه می کنم، زیرا... به زبان روسی این مطالب هنوز با جزئیات ارائه نشده است. ما یک کوادکوپتر را در فضای دو بعدی در نظر خواهیم گرفت، جایی که فقط یک زاویه دارد - زاویه رول، و دو موتور: چپ و راست. کنترلر پرواز به طور مداوم دستورات را از زمین دریافت می کند: "30 درجه بغلتید" ، "10 درجه بچرخید" ، "0 درجه بچرخید (افق را نگه دارید)"؛ وظیفه آن این است که با در نظر گرفتن باد، توزیع ناهموار وزن کوادکوپتر، سایش ناهموار موتورها، اینرسی کوادکوپتر و غیره، آنها را با حداکثر سرعت و دقت با استفاده از موتورها انجام دهد. بنابراین، فلایت کنترل باید به طور مداوم مشکل سرعت چرخش را برای هر موتور با در نظر گرفتن مقدار فعلی زاویه بانک و مقدار مورد نیاز حل کند. به طور مستمر، البته، یک کلمه قوی است. همه چیز به توانایی های محاسباتی سخت افزار خاص بستگی دارد. در Adruino، می توان یک تکرار از چرخه پردازش و کنترل را در 10 میلی ثانیه جا داد. یعنی هر 10 میلی ثانیه یک بار زوایای کوادکوپتر خوانده می شود و بر اساس آنها سیگنال های کنترلی به موتورها ارسال می شود. این 10 میلی ثانیه نامیده می شود دوره تنظیم. واضح است که هرچه کوچکتر باشد، تنظیم بیشتر و دقیقتر اتفاق می افتد. سطح گاز از گیرنده به کنترل کننده جریان دارد. بیایید آن را نشان دهیم. یادآوری می کنم که این میانگین حسابی بین سرعت چرخش همه موتورها است که به صورت درصدی از حداکثر سرعت چرخش بیان می شود. اگر و سرعت چرخش موتورهای چپ و راست هستند، پس: پاسخ کوادکوپتر (نیروی) کجاست که به دلیل اینکه موتور سمت چپ سریعتر از گاز می چرخد و موتور سمت راست به همان اندازه کندتر می چرخد، گشتاور ایجاد می کند. همچنین می تواند مقادیر منفی بگیرد، سپس موتور مناسب سریعتر می چرخد. اگر یاد بگیریم که این مقدار را در هر تکرار چرخه پردازش محاسبه کنیم، آنگاه قادر خواهیم بود کوادکوپتر را کنترل کنیم. واضح است که حداقل باید به زاویه رول فعلی () و زاویه رول مورد نظر () که از صفحه کنترل می آید بستگی داشته باشد. بیایید یک موقعیت را تصور کنیم: دستور "keep the horizon" (= 0) دریافت می شود و کوادکوپتر یک رول در سمت چپ دارد: - تفاوت (خطا) بین و که کنترل کننده به دنبال به حداقل رساندن آن است. هر چه تفاوت بین زاویه رول مورد نظر و زاویه فعلی بیشتر باشد، واکنش باید قوی تر باشد، موتور سمت چپ باید سریعتر نسبت به سمت راست بچرخد. اگر این را با استفاده از نماد خود بنویسیم: در اینجا P ضریب تناسب است. هر چه بزرگتر باشد، واکنش قوی تر خواهد بود، کوادکوپتر به انحراف از زاویه رول مورد نیاز واکنش تیزتری نشان می دهد. این فرمول بصری و ساده کار را توصیف می کند کنترل کننده تناسبی. نکته ساده است: هر چه کوادکوپتر بیشتر از موقعیت مورد نیاز منحرف شود، باید تلاش بیشتری برای بازگرداندن آن انجام دهید. متأسفانه، این فرمول باید پیچیده باشد. دلیل اصلی بیش از حد است. در چند ده میلی ثانیه (چندین تکرار از چرخه پردازش)، تحت تأثیر کنترل کننده تناسبی، کوادکوپتر به موقعیت مورد نیاز (در این مورد افقی) باز می گردد. در تمام این مدت، خطا و تلاش همان علامت را خواهد داشت، اگرچه از نظر بزرگی کمتر و کمتر می شود. با به دست آوردن سرعت چرخش معین (سرعت زاویه ای)، کوادکوپتر به سادگی به سمت دیگر غلت می خورد، زیرا هیچ کس آن را در موقعیت مورد نیاز متوقف نمی کند. مانند فنری است که همیشه می خواهد به حالت اولیه خود بازگردد، اما اگر آن را به عقب بکشید و رها کنید، نوسان می کند تا زمانی که اصطکاک تمام شود. البته کوادکوپتر نیز تحت تاثیر اصطکاک قرار خواهد گرفت، اما تمرین نشان می دهد که کافی نیست. به همین دلیل، باید یک عبارت دیگر به کنترلر پروپشنال اضافه شود، که باعث کند شدن چرخش کوادکوپتر و جلوگیری از بیش از حد (غلتش در جهت مخالف) می شود - نوعی تقلید از اصطکاک در یک محیط چسبناک: هر چه سریعتر کوادکوپتر می چرخد، باید سخت تر تلاش کنید تا آن را متوقف کنید، البته در محدوده معقول. سرعت چرخش (نرخ تغییر خطا) را به صورت زیر نشان می دهیم، سپس: که در آن D یک ضریب قابل تنظیم است: هر چه بزرگتر باشد، نیروی توقف قوی تر است. از یک درس فیزیک مدرسه، خاطرات مبهمی ظاهر می شود که نرخ تغییر هر کمیت مشتق این کمیت نسبت به زمان است: . و اکنون کنترل کننده تناسبی به یک تناسبی-دیفرانسیل تبدیل می شود (ترم متناسب و دیفرانسیل): . محاسبه خطا آسان است، زیرا در هر تکرار می دانیم و ; P و D پارامترهایی هستند که می توانند قبل از راه اندازی پیکربندی شوند. برای محاسبه مشتق (نرخ تغییر)، باید مقدار قبلی را ذخیره کرد، مقدار فعلی را دانست و زمان بین اندازهگیریها را دانست (دوره کنترل). و اینجاست - فیزیک کلاس ششم مدرسه (سرعت = مسافت / زمان): . - دوره تنظیم؛ - مقدار خطا از تکرار قبلی چرخه تنظیم. به هر حال، این فرمول ساده ترین روش تمایز عددی است و برای ما در اینجا کاملاً مناسب است. اکنون ما یک کنترلر دیفرانسیل تناسبی در یک دوکوپتر تخت داریم، اما هنوز یک مشکل دیگر وجود دارد. اجازه دهید لبه سمت چپ کمی بیشتر از سمت راست وزن داشته باشد، یا همان چیزی است که موتور سمت چپ کمی بدتر از سمت راست کار می کند. کوادکوپتر کمی به سمت چپ متمایل است و به عقب برنمیگردد: عدد دیفرانسیل صفر است و جمله تناسبی، اگرچه مقدار مثبت میگیرد، برای بازگشت کوادکوپتر به حالت افقی کافی نیست، زیرا لبه سمت چپ وزن کمی دارد. بیشتر از حق در نتیجه کوادکوپتر همیشه به سمت چپ کشیده می شود. مکانیزمی برای نظارت بر این گونه انحرافات و اصلاح آنها لازم است. ویژگی بارز چنین خطاهایی این است که در طول زمان خود را اصلاح می کنند. اصطلاح انتگرال به کمک می آید. مجموع تمام خطاها را در تمام تکرارهای حلقه پردازش ذخیره می کند. این چگونه کمک خواهد کرد؟ اگر ترم تناسبی برای تصحیح یک خطای کوچک کافی نباشد، اما همچنان وجود داشته باشد، به تدریج، با گذشت زمان، عبارت انتگرال قدرت می گیرد و پاسخ را افزایش می دهد و کوادکوپتر زاویه رول مورد نیاز را می گیرد. در اینجا یک نکته ظریف وجود دارد. فرض کنید 1 درجه است، چرخه کنترل 0.1 ثانیه است. سپس در یک ثانیه مجموع خطاها مقدار 10 درجه را می گیرد. و اگر چرخه پردازش 0.01 ثانیه باشد، مقدار آن تا 100 درجه افزایش می یابد. به طوری که در همان زمان، عبارت انتگرال برای دوره های مختلف تنظیم مقدار یکسانی به دست آورد، مقدار حاصل را در خود دوره تنظیم ضرب می کنیم. به راحتی می توان محاسبه کرد که در هر دو مورد مجموع 1 درجه از مثال به دست می آید. در اینجا آن است - عبارت انتگرال (در حال حاضر بدون ضریب قابل تنظیم): . این فرمول چیزی نیست جز یک انتگرال عددی در طول زمان یک تابع در بازه زمانی صفر تا لحظه فعلی. به همین دلیل است که این اصطلاح انتگرال نامیده می شود: , جایی که T لحظه جاری در زمان است. زمان آن فرا رسیده است که فرمول نهایی کنترل کننده انتگرال-متناسب را بنویسیم: , کجا یکی از پارامترهای قابل تنظیم است که اکنون سه مورد از آن وجود دارد: . این فرمول برای استفاده از کد برنامه راحت است، اما در اینجا فرمولی است که در کتاب های درسی آورده شده است: . انواع مختلفی از آن وجود دارد، به عنوان مثال، می توانید مدول عبارت انتگرال را محدود کنید تا از آستانه مجاز خاصی تجاوز نکند (ما این کار را انجام خواهیم داد). تمرینخوب، اکنون زمان تمرین در انتخاب ضرایب است. به خوانندگان یک صفحه جاوا اسکریپت با یک کوادکوپتر مجازی ارائه می شود که قبلاً در تصاویر دیده اند: انتخاب پارامترهای کنترل کننده PID برای کوادکوپتر(JSFiddle). در اولین شروع، بیش از حد قابل مشاهده است - نوسانات در اطراف موقعیت مورد نیاز. هنگامی که نوسانات متوقف می شوند، می توانید این اثر را مشاهده کنید که ضریب تناسبی به دلیل کوادکوپتر "نامتقارن" (تنظیم شده توسط چک باکس "Asymmetry") نمی تواند با خطا مقابله کند. پارامترهای موجود برای پیکربندی عبارتند از P، I، D. اکنون میدانید که با آنها چه کار کنید. "اسکرول" زیر کوادکوپتر را می توان با مقدار رول مورد نیاز کنترل کرد. "فاصله (ms):" - فاصله تنظیم. کاهش آن تقلب است، اما دیدن اینکه چگونه بر کیفیت تثبیت تاثیر می گذارد بسیار مفید است.برای دوستداران ریاضیات "خالص"، ما می توانیم ارائه دهیم کنترل کننده PID انتزاعی را پیکربندی کنید پارامترهای وارد شده به طور خودکار اعمال نمی شوند: باید روی "اعمال" کلیک کنید. چند نکته کوچک: اگر به نظرتان می رسد که کوادکوپتر خیلی کند است و نمی تواند به کنترل پاسخ دهد، می توانید P را افزایش دهید، اما مقدار P خیلی بزرگ ممکن است منجر به overshoot شود. پارامتر D به مقابله با بیش از حد کمک می کند، اما مقادیر بیش از حد بزرگ منجر به نوسانات مکرر یا دوباره به بیش از حد می شود. پارامتر I معمولاً 10 تا 100 برابر کمتر از پارامتر P است زیرا قدرت آن در تجمع در طول زمان نهفته است، نه در واکنش سریع. تنظیم دستی پارامترهای PID نیاز به تمرین دارد. روش های تحلیلی برای محاسبه آنها وجود دارد، اما نیاز به آماده سازی خوب و دانش دقیق بسیاری از پارامترهای سیستم خاص در حال سفارشی سازی دارد. به عنوان حد وسط بین انتخاب دستی و محاسبه تحلیلی، طیف گسترده ای از روش های تجربی توسط محققان مختلف پیشنهاد شده است. در کوادکوپتر دو بعدی ما، تنها یک زاویه تغییر می کند - زاویه رول. در تنظیم یک کوادکوپتر سه بعدی، سه کنترلر PID مستقل برای هر یک از زوایا مورد نیاز است و کنترل یک موتور خاص، مجموع تلاشهای تمام کنترلکنندهها خواهد بود. نتیجه گیری قسمت اولدر این مقاله با مفاهیم اولیه کوادکوپتر و اصل پرواز، پیچ، رول، انحراف، دریچه گاز، شناور دریچه گاز، حالت پرواز پایدار، کنترلر پرواز، ژیروسکوپ، شتاب سنج، کنترل کننده سرعت، PWM، کالیبراسیون کنترلر، کالیبراسیون رادیویی، گیرنده داخلی، رابط برای راه اندازی کنترلر پرواز، حالت های مسلح/خلع سلاح، خلع سلاح خودکار.پس از آن فرمول را دوباره اختراع کردیم کنترل کننده PIDکمی لمس کردن تمایز و ادغام عددی، و روش سخت پیکربندی پارامترها را تجربه کرد پ، من، دیبر کوادکوپتر مجازی . اکنون، اگر در برنامه نویسی شمشیر نوری مهارت دارید، می توانید برنامه تثبیت کننده کوادکوپتر خود را شروع کنید یا بهتر است با ایده های تازه به پروژه های منبع باز موجود بپیوندید. خوب، یکی دو هفته دیگر، زمانی که قدرت و زمان لازم برای مطابقت با کیفیت را داشته باشم، داستان را ادامه خواهم داد که چگونه همه چیز برنامه ریزی شده، آزمایش شده، سقوط کرده، انگشتانم را بریده و کاملاً در جهت نامعلومی پرواز کرده است. اگر واقعاً می خواهید ادامه دهید، می توانید در اینجا یا به عنوان مثال در Vkontakte با من تماس بگیرید: این انگیزه کمی می دهد. در خاتمه این قسمت، فقط باید به شخصی اشاره کنم که در انتخاب قطعات و راه اندازی پیچیده ترین (اولین!) کوادکوپتر روی فریمور MegapirateNG به من کمک کرد و با حوصله به صدها سوال در مورد این مفاهیم بسیار ابتدایی پاسخ داد: متشکرم! :-) به عنوان پاداش برای کسانی که توانستند همه این ورق را هدر دهند، من ویدیوی کوچک وعده داده شده را از نحوه پرواز کوادکوپتر ما با کنترلرهای PID "اختراع شده" ما در برنامه ما برای آردوینو مگا 2560 ارسال می کنم: البته فاقد جی پی اس است، همانطور که در محصولات تجاری و تولید انبوه، کمی ثبات ندارد، اما OUR است و تا آخرین فاکتور ضریب انتگرال را از درون و بیرون می دانیم! و واقعاً جالب است که چنین فناوریهایی امروزه در دسترس ما هستند. توجه، مقاله قدیمی است، اما همچنان می توان از آن برای مقاصد اطلاعاتی استفاده کرد نتیجهبرای اینکه شما را عذاب ندهد، %username%, اینطوری بدون تنظیمات خاص، کالیبراسیون و تعادل در دستان ناکارآمد پرواز می کند:حالا برای این چه نیازی داریم... ادامه |
خواندن: |
---|
محبوب:
جدید
- چرا بازی ها در ویندوز راه اندازی نمی شوند چرا بازی ها کار نمی کنند
- دانلود minecraft برای اندروید: همه نسخه ها
- دانلود مود برای ماین کرافت 1
- پوست پسر با 10 حرف انگلیسی
- ModPack Zeus002 در اینجا بسته مود World Of Tanks را دانلود کنید
- چرا ماین کرافت برای من کار نمی کند؟
- بهترین سرورهای ماین کرافت با مودها
- بهترین حالتها برای حالتهای Minecraft View برای نسخه 1
- بهترین حالتها برای Minecraft مدهای مکانیکی برای Minecraft 1
- بررسی سرعت اینترنت: مروری بر روشها چگونه سرعت واقعی اینترنت را از ارائهدهنده خود بفهمیم