Мазмуну:
- 1 -кадам: PWM модулун иштетип алыңыз
- 2 -кадам: Блоктун дизайнын орнотуңуз
- 3 -кадам: ӨИКти калибрлөө
- 4 -кадам: Зымсыз өткөргүчтү интеграциялоо
- 5 -кадам: Zybo FPGA программасы
Video: Quadcopter Zybo Zynq-7000 Board колдонуу: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Баштоодон мурун, бул жерде сиз долбоорго керектүү нерселер бар: Бөлүктөр тизмеси1x Digilent Zybo Zynq-7000 1x Quadcopter Frame Zybo (lasercutting үчүн Adobe Illustrator файлы тиркелет) 4x Turnigy D3530/14 1100KV Brushless Motors 4x Turnigy ESC Basic -18A Speed Controller 4x пропеллерлери (булар сиздин квадрокоптериңизди көтөрүү үчүн жетишерлик чоң болушу керек) 2x nRF24L01+ transceiver 1x IMU BNO055 программалык камсыздоого талаптар Алар бул долбоордо колдонулган адамдар. Калган бөлүктөргө жана программалык камсыздоого карата талаптар да ошондой. Бул Нускаманы окуп жатканда, бул айтылбаган түшүнүк деп үмүттөнөбүз.
1 -кадам: PWM модулун иштетип алыңыз
Программа жөнөкөй SystemVerilog (же башка HDL программасы) HI дроссель жана LO дроссель киргизүү өчүргүчтөрдү колдонуу үчүн. PWMди бир ESC жана Turnigy Brushless мотору менен илиниз. ESCти калибрлөөнү билүү үчүн төмөнкү файлдарды текшериңиз. Акыркы код PWM модулунун 5 -кадамында тиркелет. PWM стартери бул кадамга тиркелет
2 -кадам: Блоктун дизайнын орнотуңуз
Блок дизайнын түзүү Бул жерден жүктөлгөн жаңы түзүлгөн блокту эки жолу чыкылдатыңыз XPS орнотууларын импорттоңуз: https://github.com/ucb-bar/fpga-zynq/tree/master/z… Орнотууларды өзгөртүү PS-PL конфигурациясы M AXI GP0 интерфейси Перифериялык I/ O Pins Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI MIOMIO Configuration Timer 0 WatchdogClock Configuration FCLK_CLK0 жана жыштыкту 100 МГцке коюңуз
3 -кадам: ӨИКти калибрлөө
BNO055 трансивер I2C байланышын колдонот. (Башталгычтын Сунушталган окуусу: https://learn.sparkfun.com/tutorials/i2c) IMUну иштетүү үчүн драйвер бул жерде жайгашкан: https://github.com/BoschSensortec/BNO055_driver Квадрокоптер магнитометрди колдонууну талап кылбайт BNO055. Ушундан улам, иштөө режими IMU режими болуп саналат. Бул xxxx1000 экилик санын OPR_MODE реестрине жазуу менен өзгөртүлөт, мында 'x' - 'баары бир'. Бул биттерди 0 деп коюңуз.
4 -кадам: Зымсыз өткөргүчтү интеграциялоо
Зымсыз өткөргүч SPI байланышын колдонот. NRF24L01+ үчүн спецификациялык барак тиркелет, nrf24l01+ боюнча жакшы үйрөткүч, бирок arduino менен:
5 -кадам: Zybo FPGA программасы
Бул модулдар quadcopter анын PWM башкаруу үчүн колдонулган акыркы модулдар болуп саналат. motor_ctl_wrapper.svМаксаты: ороочу Эйлер бурчтарын жана дроссель пайызын алат. Бул квадрокоптердин турукташуусуна мүмкүндүк бере турган компенсацияланган PWM чыгарат. Бул блок бар, анткени квадрокоптерлер абанын бузулушуна жакын жана кандайдыр бир турукташтырууну талап кылат. Биз Эйлер бурчтарын колдонуп жатабыз, анткени биз Gimbal Lockке алып келиши мүмкүн болгон оодаруу же оор бурчтарды пландаштырбайбыз. Киргизүү: 25 биттик маалымат CTL_IN = {[24] GO, [23:16] Эйлер X, [15: 8] Euler Y, [7: 0] Throttle Пайыз}, Саат (clk), Синхрондуу CLR (sclr) Чыгуу: Мотор 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Throttle Пайыздык PWM Throttle Пайыздык PWM Мотор 1-4 PWM баалуулуктарынан эмес, 30% - 70% PWM диапазонуна ээ болууну каалаган ESCти инициализациялоо үчүн колдонулат. Мультипликаторлор (Block Memory (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Максаты: MUX, PWM чыгаруу жана sclr менен кошо motor_ctl_wrapper үчүн жабдууну көзөмөлдөө. Ар кандай чектүү мамлекеттик машина (FSM) бир нерсе үчүн колдонулат: башка жабдууларды көзөмөлдөө. Бул максаттан ар кандай чоң четтөө болжолдонгон FSMдин башка типтеги модулдун (эсептегич, сумма ж. Б.) Түрүн пайда болушуна алып келиши мүмкүн. каалаган. Бардык моторлорго түз PWM чыгаруучу mux_pwmге тандалган сигнал жөнөтөт. GO == '1'. CLR: motor_ctl_wrapper жана pwm out модулундагы маалыматтарды тазалоо. Mux_pwm аркылуу киргизилген PWM жөнөтөт:
Сунушталууда:
F450 Quadcopter KK 2.1.5 Easy колдонуу: 6 кадам
F450 Quadcopter KK 2.1.5ди колдонууда Easy: Саламатсызбы! Бул жерде Teerth Warang бар Бүгүн биз KK 2.1.5 Учуу Контроллерин колдонуп F450 Frame квадрокопторун жасайбыз KK 2.1.5 Учуу Контроллери жана FlySky Негизги CT6B Бергичи жана Алуучусу учуу контролери KK 2.1.5 дисплейге ээ
DS1307ди кантип колдонуу керек Arduino колдонуу: 7 кадам
DS1307ди кантип колдонуу керек Arduino колдонуу: DS1307 - бул чыныгы убакыт сааты IC (RTC). Бул IC убакыт маалыматтарды берүү үчүн колдонулат. Белгиленген убакыт секундадан, мүнөттөн, сааттардан, күндөрдөн, датадан, айдан жана жылдан башталат. Бул IC Crystal жана 3.6V батареялары сыяктуу кошумча тышкы компоненттерди талап кылат. Кристалл
Neopixel Ws2812 Rainbow LED жарыгы M5stick-C - менен Rainbowту Neopixel Ws2812де иштетүү M5stack M5stick Cди колдонуу Arduino IDEди колдонуу: 5 кадам
Neopixel Ws2812 Rainbow LED Glow with M5stick-C | Rainbow боюнча Neopixel Ws2812де чуркоо M5stack M5stick Cди колдонуу Arduino IDEди колдонуу: Салам балдар бул көрсөтмөлөрдө биз неопиксел ws2812 светодиоддорун же LED тилкесин же LED матрицасын же LED шакегин m5stack m5stick-C өнүктүрүү тактасы менен Arduino IDE менен колдонууну үйрөнөбүз жана биз жасайбыз. аны менен асан -үсөн үлгүсү
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
WIDI - Zybo (Zynq Development Board) аркылуу зымсыз HDMI: 9 кадам (сүрөттөр менен)
WIDI - Zybo (Zynq Development Board) аркылуу зымсыз HDMI: Сиз сыналгыңызды компьютерге же ноутбукка тышкы монитор катары туташтырууну кааладыңыз беле? Андай болсо, бул окуу куралы сиз үчүн гана! Бул максатка жетүү үчүн кээ бир продуктылар бар болсо да