সুচিপত্র:

Zybo Zynq-7000 বোর্ড ব্যবহার করে Quadcopter: 5 টি ধাপ
Zybo Zynq-7000 বোর্ড ব্যবহার করে Quadcopter: 5 টি ধাপ

ভিডিও: Zybo Zynq-7000 বোর্ড ব্যবহার করে Quadcopter: 5 টি ধাপ

ভিডিও: Zybo Zynq-7000 বোর্ড ব্যবহার করে Quadcopter: 5 টি ধাপ
ভিডিও: Simple tip to finding a Short on a Circuit board 2024, জুলাই
Anonim
Zybo Zynq-7000 বোর্ড ব্যবহার করে কোয়াডকপ্টার
Zybo Zynq-7000 বোর্ড ব্যবহার করে কোয়াডকপ্টার

আমরা শুরু করার আগে, প্রকল্পের জন্য আপনি কিছু জিনিস চান: পার্টস লিস্ট 1x ডিজিলেন্ট জাইবো জাইঙ্ক -7000 বোর্ড 1x কোয়াডকপ্টার ফ্রেম জাইবো মাউন্ট করতে সক্ষম (লেজারকাটিং সংযুক্ত করার জন্য অ্যাডোব ইলাস্ট্রেটর ফাইল) 4x টারনিজি ডি 3530/14 1100 কেভি ব্রাশলেস মোটর 4x টারনিজি ইএসসি বেসিক -18 এ স্পিড কন্ট্রোলার 4x প্রোপেলার (আপনার কোয়াডকপ্টার উত্তোলনের জন্য এগুলো যথেষ্ট বড় হতে হবে) এগুলি কেবল এই প্রকল্পে ব্যবহৃত হয়। বাকি যন্ত্রাংশ এবং সফ্টওয়্যার প্রয়োজনীয়তার ক্ষেত্রেও একই। আশা করি, এই নির্দেশযোগ্য পড়ার সময় এটি একটি অব্যক্ত বোঝা।

ধাপ 1: PWM মডিউল চালু করুন

ইনপুট সুইচ ব্যবহার করে HI থ্রোটল এবং LO থ্রটল রেজিস্টার করার জন্য একটি সহজ SystemVerilog (বা অন্যান্য HDL প্রোগ্রাম) প্রোগ্রাম করুন। একটি একক ESC এবং টারনিজি ব্রাশলেস মোটর দিয়ে PWM হুক করুন। কিভাবে ESC কে ক্যালিব্রেট করবেন তা জানতে নিচের ফাইলগুলো দেখুন। PWM মডিউলের জন্য ধাপ 5 এ চূড়ান্ত কোড সংযুক্ত করা হয়েছে। এই ধাপে একটি PWM স্টার্টার সংযুক্ত করা হয়েছে।

ধাপ 2: ব্লক ডিজাইন সেট আপ করুন

ব্লক ডিজাইন তৈরি করুন এখানে নতুন ডাউনলোড করা ব্লক আমদানি XPS সেটিংস ডাবল ক্লিক করুন: https://github.com/ucb-bar/fpga-zynq/tree/master/z… সেটিংস পরিবর্তন করুন PS-PL কনফিগারেশন M AXI GP0 ইন্টারফেস পেরিফেরাল I/ O Pins ইথারনেট 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO কনফিগারেশন টাইমার 0 ওয়াচডগকলক কনফিগারেশন FCLK_CLK0 এবং ফ্রিকোয়েন্সি সেট করুন 100 MHzMake I2C এবং SPI এক্সটার্নাল কানেক্ট FCLK_CLK0 থেকে M_AXI_GP0_ACLK চালান

ধাপ 3: IMU কে ক্যালিব্রেট করুন

IMU কে ক্যালিব্রেট করুন
IMU কে ক্যালিব্রেট করুন

BNO055 ট্রান্সসিভার I2C যোগাযোগ ব্যবহার করে। (শিক্ষকের প্রস্তাবিত পড়া: https://learn.sparkfun.com/tutorials/i2c) IMU চালানোর জন্য ড্রাইভার এখানে অবস্থিত: https://github.com/BoschSensortec/BNO055_driver BNO055। এই কারণে, অপারেশন মোড প্রয়োজনীয় IMU মোড। OPR_MODE রেজিস্টারে একটি বাইনারি সংখ্যা xxxx1000 লিখে এটি পরিবর্তন করা হয়েছে, যেখানে 'x' হল 'ডোন কেয়ার'। এই বিটগুলিকে 0 এ সেট করুন।

ধাপ 4: ওয়্যারলেস ট্রান্সসিভার সংহত করুন

ওয়্যারলেস ট্রান্সসিভার সংহত করুন
ওয়্যারলেস ট্রান্সসিভার সংহত করুন
ওয়্যারলেস ট্রান্সসিভার সংহত করুন
ওয়্যারলেস ট্রান্সসিভার সংহত করুন

বেতার ট্রান্সসিভার SPI যোগাযোগ ব্যবহার করে। NRF24L01+ এর জন্য স্পেসিফিকেশন শীট সংযুক্ত করা হয়েছে nrf24l01+ তে একটি ভাল টিউটোরিয়াল কিন্তু arduino- এর সাথে:

ধাপ 5: Zybo FPGA প্রোগ্রাম করুন

এই মডিউলগুলি চূড়ান্ত মডিউল যা চতুর্ভুজের PWM নিয়ন্ত্রণের জন্য ব্যবহৃত হয়। motor_ctl_wrapper.sv উদ্দেশ্য: মোড়ক ইউলার কোণ এবং একটি থ্রোটল শতাংশ নেয়। এটি একটি ক্ষতিপূরণপ্রাপ্ত PWM আউটপুট দেয় যা কোয়াডকপ্টারকে স্থিতিশীল করতে দেবে। এই ব্লকটি বিদ্যমান, কারণ কোয়াডকপ্টারগুলি বাতাসে ঝামেলার জন্য প্রবণ এবং কিছু ধরণের স্থিতিশীলতার প্রয়োজন। আমরা ইউলার কোণ ব্যবহার করছি, যেহেতু আমরা ফ্লিপ বা ভারী কোণের পরিকল্পনা করি না যা গিম্বল লক হতে পারে। 8] অয়লার ওয়াই, [7: 0] থ্রটল পার্সেন্টেজ}, ক্লক (clk), সিঙ্ক্রোনাস CLR (sclr) আউটপুট: মোটর 1 PWM, মোটর 2 PWM, মোটর 3 PWM, মোটর 4 PWM, থ্রোটল পার্সেন্টেজ PWM হল থ্রোটল পার্সেন্টেজ PWM ESC আরম্ভ করার জন্য ব্যবহার করা হয়, যা PWM এর বিশুদ্ধ 30% - 70% পরিসীমা চাইবে, মোটর 1-4 PWM মান থেকে নয়। উন্নত - Vivado Zynq IP Blocks: 8 যোগ (LUTs) 3 বিয়োগ (LUTs) 5 গুণক (ব্লক মেমোরি (BRAM)) clock_div.sv (AKA pwm_fsm.sv) উদ্দেশ্য: MUX, PWM আউটপুট, এবং motor_ctl_wrapper এর জন্য sclr সহ হার্ডওয়্যার নিয়ন্ত্রণ করুন। যেকোনো ফিনাইট স্টেট মেশিন (FSM) একটি জিনিসের জন্য ব্যবহৃত হয়: অন্য হার্ডওয়্যার নিয়ন্ত্রণ করুন। এই উদ্দেশ্য থেকে কোন বড় বিচ্যুতি অনুমিত FSM কে একটি ভিন্ন ধরনের মডিউল (কাউন্টার, অ্যাডার, ইত্যাদি) রূপ নিতে পারে। আকাঙ্ক্ষিত. Mux_pwm- এ একটি সিগন্যাল সিগন্যাল পাঠায় যা সমস্ত মোটরে সোজা PWM আউটপুট করে। GO == '1' পর্যন্ত লুপ নিজেই ফিরে আসে। CLR: motor_ctl_wrapper এবং pwm আউট মডিউলে ডেটা সাফ করুন। FLY: চিরতরে লুপ করুন চতুর্ভুজকে স্থিতিশীল করতে (যদি আমরা রিসেট না করি)। Mux_pwm- এর মাধ্যমে ক্ষতিপূরণপ্রাপ্ত PWM পাঠায়।:

প্রস্তাবিত: