Activity

Изменение имени блютуз девайса с помощью Arduino

void setup()
{
delay(2000); // на всякий случай
Serial.begin(115200); // для первого запуска, для последуюших запусков будет другая, т.к. “AT+BAUD8” меняет скорость на 115200, “AT+BAUD7” 57600
delay(2000);
Serial.print(“AT”);
delay(2000);
Serial.print(“AT+VERSION”);
delay(2000);
Serial.print(“AT+NAMESystem”); // вместо “Wii” можешь придумать свое имя модуля
delay(2000);
Serial.print(“AT+PIN0000”); // вместо “0000” можешь придумать свой пин-код
delay(2000);
Serial.print(“AT+BAUD8”);
}

void loop()
{
// здесь можно вставить код победного моргания светодиодиком
}

Подключение LED к плате "CIRUS MultiWii Light".

Чтоб моргало, раскомментируйте следующее.

Код:

#define LED_FLASHER // разрешить подсветку

// Назначает порт, для платы CIRUS MultiWii Light контакт D12, для //остальных прозвонить, уточнить.
#define LED_FLASHER_DDR DDRB
#define LED_FLASHER_PORT PORTB
#define LED_FLASHER_BIT PORTB4

//#define LED_FLASHER_INVERT // Инверсия

//#define LED_FLASHER_SEQUENCE 0b00000000 // leds OFF “Патерн” , для режима “disarmed”,
//например если установить “0b01010101”,то в режиме “disarmed” будет мигать 125ms горит 125ms пауза.

#define LED_FLASHER_SEQUENCE_ARMED 0b00000101 // Как моргать, в режиме “armed” каждый бит 125mS.
//Т.е.при дефолтной установке две вспышки по 125мс , с паузой между вспышками 125мс,
//повторяются раз в 1секунду (3*125+ 5*125= 1сек.).

Следующие “дефайны” можно использовать, для включения/выключения LED, назначив канал на AUX.
//#define LED_FLASHER_SEQUENCE_MAX 0b11111111 // full illumination
//#define LED_FLASHER_SEQUENCE_LOW 0b00000000 // no illumination

В AIOP, 33 контакт подключен к порту “С4” . Тогда в конфиге должно быть так:

Код:

#define LED_FLASHER
#define LED_FLASHER_DDR DDRC
#define LED_FLASHER_PORT PORTC
#define LED_FLASHER_BIT PORTC4

//#define LED_FLASHER_INVERT // Инверсия

#define LED_FLASHER_SEQUENCE 0b00000000 // Если сделать так 0b00000001, то будет одна вспышка в секунду.
#define LED_FLASHER_SEQUENCE_ARMED 0b00000101 // Как моргать, две вспышки, каждую секунду.

#define LED_FLASHER_SEQUENCE_MAX 0b11111111 // Включить LED командой
#define LED_FLASHER_SEQUENCE_LOW 0b00000000 // Выключть командой

Коптер крутит по YAW.

Что нужно проверить/настроить?

  1. регули откалиброванны на одинаковый диапазон газа!

  2. Аппа по yaw ~1500. Проверять в GUI вия! Находим макс. погрешность. Отводим стик в мин. положение и потом медленно возвращаемего в центр, под действием пружины в аппе, т.е. просто замедляя действие пружины. Запоминаем мин. значение (к примеру 1492). Потом проделываем тоже самое для макс. значения. Далее отводим стик на мин/макс позицию и отпускаем/отстреливаем под действием пружины аппы и также находим мин/макс значения, но они как правило меньше чем с “плавным” возвратом стика… Желательно проделать тоже самое для ролл/питч сразу, чтобы найти оптимальное значение для DEADBAND (мертвая зона стиков для полетного контроллера)…
    Теперь берем макс-е отклонение от центра, добавляем 3-4 единицы и вписываем в DEADBAND в config.h
    например 1500-1492+4 = 12

Настройка PID для GPS на Multiwii (перевод)

OESBandi написал это хороший документ … он может дать некоторое представление о различных параметрах. …googlecode.com/…/r33-documentation.pdf

Сегодня я тестировал и пытался настроить PH при ветре 30kmph … скажу, что мне приходилось вмешаться несколько раз, и замечал, что дрейфует много перед блужданием назад с некоторыми отклонениями.

Основные понятия:
PID управление
Как и многие режимы полета, Position hold и RTH управляются с помощью PID параметов

Position Hold
Ошибка позиционирования рассчитывается в сантиметрах для X (долготы) и Y (Широты), которая подается на ПИ-регулятор. На первом этапе контроллер принимает ошибку XY позиции и решает, насколько быстро Коптер должен идти, чтобы достичь правильного расположения.

PI Controler - Poshold
Параметр: POSHOL_P по умолчанию .4 или 30 cm/s на 1 метр ошибки. Рекомендуемая скорость до 150cm/s. Это не ограничивает наклоны коптера, контроллер будет поддерживать эту скорость по мере приближения к позиции.

Параметр: POSHOLD_I используется для преодоления ветра, которые может толкать нас от нашей цель. Чем выше число, тем быстрее коптер будет компенсировать. Если число слишком велико это вызовет колебания и перерегулирование.

PID Poshold Rate Control
Теперь у нас есть желаемая скорость, мы должны изменить (наклонить по) pitch и roll коптер, чтобы дать скорость движения.

Parameter: POSHOLD_RATE_P является пропорциональным ответом. Ваша оптимальная настройка на коптере будет зависеть от веса и тяги вашей системы. Если ваш коптер уходит дальше цели, уменьшите это значение.

Параметр: POSHOLD_RATE_I установлен в 0 по умолчанию. Используйте это значение для поддержания жесткого контроля Скорости коптера. Если коптер не достигает заданной скорости, этот термин будет составлять
разницу, наклоняя коптер более или менее.

Параметр: POSHOLD_RATE_D является диференциальной частью. Если значение слишком высоко вы увидите
малые колебания по pitch или roll. Как только значение POSHOLD_RATE_P подобрано, начиная с 0, медленно
увеличивайте D . Вы должны увидеть как колебания затухают.

источник www.multiwii.com/forum/viewtopic.php?f=17&t=3269