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);
Чтоб моргало, раскомментируйте следующее.
Код:
#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сек.).
Что нужно проверить/настроить?
-
регули откалиброванны на одинаковый диапазон газа!
-
Аппа по yaw ~1500. Проверять в GUI вия! Находим макс. погрешность. Отводим стик в мин. положение и потом медленно возвращаемего в центр, под действием пружины в аппе, т.е. просто замедляя действие пружины. Запоминаем мин. значение (к примеру 1492). Потом проделываем тоже самое для макс. значения. Далее отводим стик на мин/макс позицию и отпускаем/отстреливаем под действием пружины аппы и также находим мин/макс значения, но они как правило меньше чем с “плавным” возвратом стика… Желательно проделать тоже самое для ролл/питч сразу, чтобы найти оптимальное значение для DEADBAND (мертвая зона стиков для полетного контроллера)…
Теперь берем макс-е отклонение от центра, добавляем 3-4 единицы и вписываем в DEADBAND в config.h
например 1500-1492+4 = 12
Печатка и скетч в комплекте
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. Это не ограничивает наклоны коптера, контроллер будет поддерживать эту скорость по мере приближения к позиции.