3) Загрузка и настройка - MultiWii_FAQ

Перейти к контенту

Главное меню:

3) Загрузка и настройка

(1-4) И вот посылка приехала

Ну вот мы и дошли до самой главной части до загрузки кода в плату управления.
Далее я опишу способ и основные моменты и особенности, все дополнительные возможности прошивки будут освещены в других разделах.
Итак начнем.

Загружаем последнюю прошивку и распаковываем ее на рабочий стол. Сейчас не нужно городить огород и качать сборки прошивок от разных умных людей. Они все рабочиии, но пока вы не понимаете азов и не знаете как что настраивается лучше не лезть, иначе получите ненужные баги. Итак распаковываем папку с прошивкой на рабочий стол (переименовывать ничего нельзя). Заходим в папку и открываем файл MultiWii_2_1 c помощью ардуино. появится окно компилятора с основными вкладками проекта.

Нам нужно перейти на вкладку config.h и мы начнем шаг за шагом настраивать свою плату.
Первое что нам нужно сделать это выбрать тип аппарата на котором мы будем летать и под который будем настраивать прошивку.



Делается это путем раскоментирования строк:



Далее нам нужно выбрать какой сигнал будет подаваться на регуляторы при активации платы, это нужно чтобы задать минимальные обороты для двигателей при включении нашего аппарата. Ставить 0 и меньше 1000 нельзя. Для каждого типа регуляторов подбирается свои значения. (подбираются практическим путем) моторы должны стартовать и крутиться с такой скоростью чтобы получились холостые обороты и коптер не взлетал.




Скорость I2C шины (в ней подключены датчики) - #define I2C_SPEED, обычно достаточно оставить стандартное значение.

Если вы используете 3.3 сенсоры - закоментируйте (добавив/оставив // перед строкой) строку #define INTERNAL_I2C_PULLUPS, если 5в, то раскоментируйте.

Ниже, в разделах I2C gyroscope, I2C accelerometer, I2C barometer, I2C magnetometer, ADC accelerometer расскоментируйте используемые вами датчики. Если вы испольуете готовую плату с датчиками, например AllInOne или FFIMU, то выберите соответствующую плату из списка выше (при этом обязательно оставить закоментированными строки про отдельные датчики).

К сожалению не все платыдобавлены в прошивку, тк братья китайчи делают их быстрее чем авторы прошивки успевают добавлять их. Так что если не нашли свою платку, просто раскоментируйте все находящиеся на ней датчики (посмотреть в описании платы).

Ориентация датчиков

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




/* individual sensor orientation */
     //#define ACC_ORIENTATION(X, Y, Z)  accADC[ROLL]  =  Y; accADC[PITCH]  = -X; 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;


Если плата которую вы сделали (купили) построена на датчиках
ITG3200 или MPU6050 нужно подобрать фильтры для уменьшения влияния вибраций от двигателей на гироскоп. В случае с MPU6050 еще и на акселерометр т.к. это датчик 2 в 1.
Фильтр подбирается експерементальным путем, но при первом запуске совершенно не важно но рекомендуется от 20 до 98 Гц.

/**************************************************************************************/
 /********                              Gyro filters                ********************/
 /**************************************************************************************/

   /*********************    Lowpass filter for some gyros    ****************************/
     /* ITG3200 & ITG3205 Low pass filter setting. In case you cannot eliminate all vibrations to the Gyro, you can try
        to decrease the LPF frequency, only one step per try. As soon as twitching gone, stick with that setting.
        It will not help on feedback wobbles, so change only when copter is randomly twiching and all dampening and
        balancing options ran out. Uncomment only one option!
        IMPORTANT! Change low pass filter setting changes PID behaviour, so retune your PID's after changing LPF.*/
     //#define ITG3200_LPF_256HZ     // This is the default setting, no need to uncomment, just for reference
     //#define ITG3200_LPF_188HZ
     //#define ITG3200_LPF_98HZ
     #define ITG3200_LPF_42HZ
     //#define ITG3200_LPF_20HZ
     //#define ITG3200_LPF_10HZ      // Use this only in extreme cases, rather change motors and/or props

     /* MPU6050 Low pass filter setting. In case you cannot eliminate all vibrations to the Gyro, you can try
        to decrease the LPF frequency, only one step per try. As soon as twitching gone, stick with that setting.
        It will not help on feedback wobbles, so change only when copter is randomly twiching and all dampening and
        balancing options ran out. Uncomment only one option!
        IMPORTANT! Change low pass filter setting changes PID behaviour, so retune your PID's after changing LPF.*/
     //#define MPU6050_LPF_256HZ     // This is the default setting, no need to uncomment, just for reference
     //#define MPU6050_LPF_188HZ
     //#define MPU6050_LPF_98HZ
     #define MPU6050_LPF_42HZ
     //#define MPU6050_LPF_20HZ
     //#define MPU6050_LPF_10HZ
     //#define MPU6050_LPF_5HZ       // Use this only in extreme cases, rather change motors and/or props


Все основные функции для платы мы настроили можно компилировать прошивку и записывать ее в плату для этого сначала сохраняемся Файл > сохранить потом нажимаем на кнопку выделенную красным сначала 1 (для проверки ошибок и компиляции) потом 2 (для записи прошивки в микросхему).




При записи плата должна мигать одной или несколькими лампочками (смотря какую плату используете). Есть маленькая хитрость, для тех кто использует переходник FTDI. Некоторые переходники не делают авто ресет платы перед прошивкой, а без этого прошивка не запишется и компилятор выдаст ошибку.
Хитрость: После того как нажали кнопку под номером (2), начинаем нажимать кнопку ресет на плате пару раз в секунду (надо наловчиться). Нажимаем до тех пор, пока
FTDI не мигнет огонечками один раз. После этого сразу перестаем нажимать и ждем, если все получилось и запись пошла ликуем))), если нет не расстраиваемся, пробуем снова.

 
Назад к содержимому | Назад к главному меню