Оглавление:
- Шаг 1. Запустите модуль ШИМ
- Шаг 2: Настройте дизайн блока
- Шаг 3: откалибруйте IMU
- Шаг 4: Интегрируйте беспроводной трансивер
- Шаг 5: Программируйте Zybo FPGA
Видео: Квадрокоптер с платой Zybo Zynq-7000: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Перед тем, как мы начнем, вот некоторые вещи, которые вы хотите для этого проекта: Список запчастей 1x плата Digilent Zybo Zynq-7000 1x рама для квадрокоптера с возможностью установки Zybo (прилагается файл Adobe Illustrator для лазерной резки) 4x Turnigy D3530 / 14 Бесщеточные двигатели 1100KV 4x Turnigy ESC Basic -18A Контроллер скорости 4 пропеллера (они должны быть достаточно большими, чтобы поднять квадрокоптер) 2x nRF24L01 + приемопередатчик 1x IMU BNO055 Требования к программному обеспечению Xilinx Vivado 2016.2 ПРИМЕЧАНИЕ: Вышеуказанные двигатели - не единственные двигатели, которые можно использовать. Это как раз те, которые используются в этом проекте. То же самое касается остальных частей и требований к программному обеспечению. Надеюсь, это невысказанное понимание при чтении данного Руководства.
Шаг 1. Запустите модуль ШИМ
Запрограммируйте простую SystemVerilog (или другую программу HDL) для регистрации газа HI и LO с помощью входных переключателей. Подключите ШИМ с помощью одного ESC и бесщеточного двигателя Turnigy. Проверьте следующие файлы, чтобы узнать, как откалибровать ESC. Окончательный код прилагается к шагу 5 для модуля PWM. Пускатель PWM прилагается к этому шагу. Техническое описание ESC: Turnigy ESC Datasheet PDF (на что следует обратить внимание, так это на различные режимы, которые вы можете выбрать с помощью дроссельной заслонки HI и LO)
Шаг 2: Настройте дизайн блока
Create Block Design Дважды щелкните созданный блок. Импортируйте настройки XPS, загруженные здесь: https://github.com/ucb-bar/fpga-zynq/tree/master/z…. Изменение настроек Конфигурация PS-PL M Интерфейс AXI GP0 Peripheral I / O Контакты Ethernet 0 USB 0 SD 0 SPI 1 UART 1 I2C 0 TTC0 SWDT GPI Конфигурация таймера MIOMIO 0 Конфигурация WatchdogClock FCLK_CLK0 и установка частоты на 100 МГц Сделайте внешний интерфейс I2C и SPI Подключите FCLK_CLK0 к M_AXI_GP0_ACLK Запустите автоматизацию блока Создайте порт и назовите его «gnd»
Шаг 3: откалибруйте IMU
Трансивер 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
Обзор Эти модули являются последними модулями, используемыми для управления ШИМ квадрокоптера. motor_ctl_wrapper.sv Цель: Обертка принимает углы Эйлера и процент дросселирования. Он выводит скомпенсированный ШИМ, который позволит квадрокоптеру стабилизироваться. Этот блок существует, потому что квадрокоптеры склонны к возмущениям в воздухе и требуют какой-то стабилизации. Мы используем углы Эйлера, так как мы не планируем перевороты или большие углы, которые могут вызвать блокировку кардана. Вход: 25-битная шина данных CTL_IN = {[24] GO, [23:16] Euler X, [15: 8] Euler Y, [7: 0] Throttle Percentage}, Clock (clk), Synchronous CLR (sclr) Выход: Motor 1 PWM, Motor 2 PWM, Motor 3 PWM, Motor 4 PWM, Throttle Percentage PWM. используется для инициализации ESC, для которого потребуется чистый диапазон ШИМ от 30% до 70%, а не диапазон значений ШИМ двигателя 1-4. Расширенный - IP-блоки Vivado Zynq: 8 сложений (LUT) 3 вычитания (LUT) 5 Множители (блочная память (BRAM)) clock_div.sv (AKA pwm_fsm.sv) Цель: управление оборудованием, включая MUX, выход PWM и sclr для motor_ctl_wrapper. Любой конечный автомат (FSM) используется для одной цели: управления другим оборудованием. Любое большое отклонение от этой цели может привести к тому, что предполагаемый конечный автомат примет форму модуля другого типа (счетчик, сумматор и т. Д.). Pwm_fsm имеет 3 состояния: INIT, CLR и FLYINIT: позволяет пользователю программировать ESC как желанный. Посылает сигнал выбора на mux_pwm, который выводит прямой ШИМ на все двигатели. Зацикливается на себе, пока GO == '1'. CLR: очистить данные в motor_ctl_wrapper и модуле pwm out. FLY: Зацикливаться навсегда для стабилизации квадрокоптера (если мы не сбросили). Посылает скомпенсированный ШИМ через mux_pwm. Вход: GO, RESET, clkOutput: RST для сброса другого модуля, FullFlight для сигнала режима FLY, Период для запуска atmux_pwm.sv Цель: Вход: Выход: ШИМ для всех 4 двигателей. Sv Цель: Вход: Выход:
Рекомендуемые:
Усилитель для наушников с индивидуальной печатной платой: 8 шагов (с изображениями)
Усилитель для наушников с специальной печатной платой: Я уже некоторое время конструирую (и пытаюсь усовершенствовать) усилитель для наушников. Некоторые из вас видели мои предыдущие сборки. Для тех, кто еще не сделал этого, я связал их ниже. В своих старых сборках я всегда использовал прототип платы для сборки
Руководство по работе с печатной платой кондиционера и ремонту: 6 шагов
Учебное пособие по работе и ремонту печатной платы кондиционера: Эй, как дела, ребята! Акарш из CETech. Вы когда-нибудь задумывались, что происходит внутри ваших кондиционеров? Если да, то вам следует прочитать эту статью, так как сегодня я собираюсь рассказать о связях и комп
Схема Макея Макея с макетной платой: 11 шагов (с изображениями)
Схема Макея Макея с макетной платой: это простой проект по ознакомлению группы студентов с электроникой. Шаги 1-7 - Представьте простую схему с помощью Makey Makey. Шаги 8 - Расширьте схему до последовательной. Шаги 9 - Расширьте до схемы параллельно. Начнем с сбора рек
Светодиод WS2812-B с платой ATMEGA328 UNO V3.0 R3: 11 шагов
Светодиод WS2812-B с платой ATMEGA328 UNO V3.0 R3: Описание Этот проект объединяет программируемую красочную светодиодную плату ICStation WS2812-B с платой ATMEGA328 UNO V3.0 R3, совместимой с платой Arduino UNO R3, для создания визуального впечатления. Более того, если у вас "Дискотека" тематическая вечеринка, я тебе понравлюсь
WIDI - беспроводной HDMI с использованием Zybo (Zynq Development Board): 9 шагов (с изображениями)
WIDI - беспроводной HDMI с использованием Zybo (Zynq Development Board): вы когда-нибудь хотели, чтобы вы могли подключить свой телевизор к ПК или ноутбуку в качестве внешнего монитора, но не хотели, чтобы все эти надоедливые шнуры мешали? Если да, то это руководство как раз для вас! Хотя есть некоторые продукты, которые позволяют достичь этой цели