Купил такой контроллер Multiwii Mini Flight Controller w/FTDI Interface для установки его на самолет... как и что получилось

вот собственно его фото.

Информация которую я здесь даю, была собрана из инета и на этом форуме , так же получена на мои вопросы (за что огромное спасибо, кто на них отвечал, тратя свое драгоценное время).
Пишу так как сам купил такой контроллер и с ним пришлось разбираться. Но если кто то желает дополнить - буду очень рад.
Все настройки и подключение которые я описываю для своего контроллера, должны как я думаю подойти и для других Multiwii контроллеров.

Для начала что куда подключать…
входы с приемника:
D2 - канал управления двигателем ( 3 канал приемника)
D4 - канал управления элеронами (1 канал приемника)
D5 - канал руля высоты (2 канал приемника)
D6 - канал руля поворота (4 канал приемника)
D7 - AUX1
D8 - AUX2
к чему подключаем сервы:
D3 - руль поворота
D9 - двигатель
D10 - руль высоты
D11 - первый или единственный элерон
D12 - управление вторым элероном, на моей плате разьем D12 - находится на 1 контакте разъема AVRISP, с него берем сигнал, а питание с любого свободного разъема.

A0 -
A1 - пока не разобрался. 😦

A2 -
A3 -

Далее настройка прошивки, какую прогу установить и что как сделать, хорошо написано здесь multiwii.p.ht/page-14.html за что автору спасибо.

Я напишу все вкратце, я думаю этого достаточно…

  1. Выбираем тип аппарата

/************************** The type of multicopter ****************************/
#define AIRPLANE

  1. Выбираем контроллер

/*************************** Combined IMU Boards ********************************/
/* if you use a specific sensor board:
please submit any correction to this list.
Note from Alex: I only own some boards, for other boards, I’m not sure, the info was gathered via rc forums, be cautious */
#define MINIWII // Jussi’s MiniWii Flight Controller <- confirmed by Alex

  1. если нужен AUX2

/********************************* Aux 2 Pin ***********************************/
/* possibility to use PIN8 or PIN12 as the AUX2 RC input (only one, not both)
it deactivates in this case the POWER PIN (pin 12) or the BUZZER PIN (pin 8) */
#define RCAUXPIN8
//#define RCAUXPIN12

  1. Как выбрать ориентацию датчиков

/* individual sensor orientation */
#define ACC_ORIENTATION(X, Y, Z) {accADC[ROLL] = -X; accADC[PITCH] = -Y; accADC[YAW] = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] = -X; gyroADC[YAW] = Z;}
//#define MAG_ORIENTATION(X, Y, Z) {magADC[ROLL] = X; magADC[PITCH] = Y; magADC[YAW] = Z;}

  1. каким стиком (вниз и вправо) запускается двигатель и выключается (вниз и влево)

/******************************** ARM/DISARM *********************************/
/* optionally disable stick combinations to arm/disarm the motors.
* In most cases one of the two options to arm/disarm via TX stick is sufficient */
//#define ALLOW_ARM_DISARM_VIA_TX_YAW ----- запуск левым стиком
//#define ALLOW_ARM_DISARM_VIA_TX_ROLL ----- запуск правым стиком

  1. НЧ фильтр для гироскопов

#define ITG3200_LPF_42HZ
оптимальный 42гц, а там можно играться…

  1. Регулировка** серв**

инверсия серв
#define SERVO_DIRECTION { 1, 1, 1, -1, 1, 1, 1, 1 } // Invert servos by setting -1
инверсия серв значение в процентах

ход сервы

#define SERVO_RATES {100, 100, 100, 100, 100, 100, 100, 100} // Rates in 0-100%

регулировка положения сервы (что обычно делаем тримерами) значения в единицах как в GUI

#define SERVO_OFFSET { 0, 0, 0, -20**, 40, 0, 20,** 0 } // MID Offset on servo

D12- wing1
D11 - wing2 элероны
D3 - поворота
D10 - высоты

после изменения этих параметров в GUI обязательно нажать кнопку RESET иначе изменений не увидите.

**8. **если надо поменять выхода на каналах контроллера **файл **Output COM2A1 и COM1B1 поменять местами (как было у меня на выходе поменяны элероны и руль высоты)
как получилось после редактирования у меня
TCCR1A |= _BV(COM1A1); // connect pin 9 to timer 1 channel A
#endif
#if (NUMBER_MOTOR > 1)
TCCR1A |= _BV(COM2A1); // connect pin 10 to timer 1 channel B
#endif
#if (NUMBER_MOTOR > 2)
TCCR2A |= _BV(COM1B1); // connect pin 11 to timer 2 channel A
#endif
#if (NUMBER_MOTOR > 3)
TCCR2A |= _BV(COM2B1); // connect pin 3 to timer 2 channel B
#endif

Пока все, на мой взгляд этого достаточно для полета самолета.
Но вопросы еще есть, как только получу на них ответы, обязательно опишу их здесь
На днях заказал себе барометр, компас и дисплей, как это все приедет, подключу настрою и также отпишусь…
Передатчик у меня Turnigy 9x с прошивкой er9x именно им и управляю самолетом, с контроллером пока полетать не получилось по причине погоды и здоровья (на лыжах катался - ногу поломал), но благодаря этому и занимаюсь контроллером 😃.

31.01.2013 получилось полетать…
вывод не утешительный, в полете при включение стабилизации, самолет сразу стремился к земле…
в поле менял разные настройки, но не помогло, скорее всего надо поиграться с пидами, этого не пробовал. Так же в полете (при включенной стабилизации) были кратковременно самопроизвольно увеличены обороты двигателя.
причин вышеизложенному пока не нашел, на земле все работает исправно…
Поиски продолжаются, если у кого есть наработки помогайте.
Продолжение следует…

  • 2651
Comments
Sana

Спасибо за обзор и рассказ! Выздоравливайте!!

masonx

спасибо за обзор!!!

Raptor_SK

после изменения этих параметров в GUI обязательно нажать кнопку RESET иначе изменений не увидите

RESET-обнуление настроек до заводских, сохранение настроек-WRITE…

diman55555
Raptor.SK;bt90826

RESET-обнуление настроек до заводских, сохранение настроек-WRITE…

именно ресет