MultiWii
Подсоединял всё в коптере
почистил eeprom
откалибровал регули прошивкой
залил учебную прошивку махови
в итоге АРМ движков могу сделать, а дизарм нет…
в чем косяк может быть?
в итоге АРМ движков могу сделать, а дизарм нет…
в чем косяк может быть?
расходы на аппе кривые. надо править
Только мне не понятно как мультивии управляет коллекторниками
Должны быть правки кода. Там по выходу вместо синхроимпульса надо просто шим выводить. На плате транзистор распаян в ключевом режиме для коллекторников.
В прошивке, есть строчка для активизации управления (движками) с помощью ШИМ, а на выходы контроллера ставятся транзисторные ключи…
извините, а чем оно тогда крутит ESC? всегда думал что ШИМом …
жаль нет осциллографа глянуть
извините, а чем оно тогда крутит ESC? всегда думал что ШИМом …
жаль нет осциллографа глянуть
Наверное PPM-ом.
а чем оно тогда крутит ESC?
Зачем же ESC крутить. ))) Вроде Aleksey Gorelikov все написал, что ещё не понятно?
Подскажите, кто подключал сонар.
Вы делали конвертер Echo to I2C или подключали напрямую к плате? Я так полагаю, чтобы подключится напрямую нужно как минимум одно внешнее прерывание чтобы поймать фронт?
кстати, пока субъективно, но коптер полетел лучше когда я настроил аксель следующим образом:
i2c_writeReg(ADXL345_ADDRESS,0x31,0x0A); // register: DATA_FORMAT -- value: Set bits 3(full range) and (+/- 8g-range)
i2c_writeReg(ADXL345_ADDRESS,0x2C,0x0C); // register: BW_RATE -- value: rate=400hz, bw=200hz
Пока я в этом не очень разобрался, поэтому вопрос. Почему по дефолту аксель настроен на 50гц? и почему выбирается диапазон ±16g разве это не ведет к уменьшению точности? (откуда там такие перегрузки)
ещё вопрос, как посчитали
acc_1G = 265;
потому что даташите написано что при ±16g на full range разрешение 13бит
подскажите в какой порт его подулючать?
Вам без паяльника не обойтись, его цепляют на i2c, а на Вашей плате разъемчик отсутствует.
У меня тоже очередные вопросы имеются - перестраиваю плату на летающее крыло, 500гц на ESC для него явный перебор, это:
#define USE_THROTTLESERVO // For use of standard 50Hz servo on throttle.
не помогает.
Что нужно поменять, чтобы было 50 гц?
И второй затык с армом - не нужен он на самолете, тем более планирующем. Совсем не хотелось бы, чтобы после очередного отключения двигатель не включился.
И третий - чего только не комментировал и не менял - минимальная длина импульса на мотор 1150
#define MINTHROTTLE 1000
не помогает.
eeprom почистите и будет вам счастье, а то оно на новые дефайны не смотрит, а смотрит, что у него в еепром прописано, а там старые значения…
eeprom почистите и будет вам счастье, а то оно на новые дефайны не смотрит, а смотрит, что у него в еепром прописано, а там старые значения…
К сожалению, полное счастье не наступило. Минимальная длина пульса установилась, а вот что делать с частотой и армом - по-прежнему вопрос. Тупое решение - сделать арм при любом положении AUX1 не работает.
Что-то со счастьем сегодня напряженка.
Даже пытаюсь переназначить выводы - и то не работает
#define PRI_SERVO_FROM 5 // use servo from 1 to 2
#define PRI_SERVO_TO 6
С мотором тоже - вроде как надо подменить мотор сервой здесь
#if defined(FLYING_WING)
motor[0] = rcCommand[THROTTLE];
if (f.PASSTHRU_MODE) {// do not use sensors for correction, simple 2 channel mixing
servo[0] = PITCH_DIRECTION_L * (rcData[PITCH]-MIDRC) + ROLL_DIRECTION_L * (rcData[ROLL]-MIDRC);
servo[1] = PITCH_DIRECTION_R * (rcData[PITCH]-MIDRC) + ROLL_DIRECTION_R * (rcData[ROLL]-MIDRC);
} else { // use sensors to correct (gyro only or gyro+acc according to aux1/aux2 configuration
servo[0] = PITCH_DIRECTION_L * axisPID[PITCH] + ROLL_DIRECTION_L * axisPID[ROLL];
servo[1] = PITCH_DIRECTION_R * axisPID[PITCH] + ROLL_DIRECTION_R * axisPID[ROLL];
}
servo[0] = constrain(servo[0] + conf.wing_left_mid , WING_LEFT_MIN, WING_LEFT_MAX );
servo[1] = constrain(servo[1] + conf.wing_right_mid, WING_RIGHT_MIN, WING_RIGHT_MAX);
#endif
пытаюсь отключить массив моторов и подменить дополнительной сервой
// #define NUMBER_MOTOR 1
#define NUMBER_MOTOR 0
и все равно не выходит каменный цветок, даже GUI перестает все отображать 😦
Убил полностью исходники, начал править по новой
#elif defined(FLYING_WING)
#define NUMBER_MOTOR 0
#define PRI_SERVO_FROM 1 // use servo from 1 to 2
#define PRI_SERVO_TO 3
и так
#if defined(FLYING_WING)
//motor[0] = rcCommand[THROTTLE];
if (!f.ARMED){
servo[2] = MINCOMMAND; // Kill throttle when disarmed
} else {
servo[2] = rcData[THROTTLE];
}
if (f.PASSTHRU_MODE) {// do not use sensors for correction, simple 2 channel mixing
servo[0] = PITCH_DIRECTION_L * (rcData[PITCH]-MIDRC) + ROLL_DIRECTION_L * (rcData[ROLL]-MIDRC);
servo[1] = PITCH_DIRECTION_R * (rcData[PITCH]-MIDRC) + ROLL_DIRECTION_R * (rcData[ROLL]-MIDRC);
} else { // use sensors to correct (gyro only or gyro+acc according to aux1/aux2 configuration
servo[0] = PITCH_DIRECTION_L * axisPID[PITCH] + ROLL_DIRECTION_L * axisPID[ROLL];
servo[1] = PITCH_DIRECTION_R * axisPID[PITCH] + ROLL_DIRECTION_R * axisPID[ROLL];
}
servo[0] = constrain(servo[0] + conf.wing_left_mid , WING_LEFT_MIN, WING_LEFT_MAX );
servo[1] = constrain(servo[1] + conf.wing_right_mid, WING_RIGHT_MIN, WING_RIGHT_MAX);
#endif
теперь почему-то заработало.
Но при дизарме мотор включается на максимум. Хоть на приемник напрямую мотор вешай, но хотелось бы обойтись приемником с SPPM только.
Ну и в GUI mot больше не отображается.
Подскажите пожалуйста.
ведь можно одновременно подключить бортовой аккумулятор и usb кабель, чтобы в GUI наблюдать обороты двигателей?
В связи с проблемами с доменным именем сайт переехал по адресу multiwiifaq.ts9.ru
можно одновременно подключить бортовой аккумулятор и usb кабель
Да, можно. Только не обороты, а уровень сигнала на каждом двигателе.
В прошивке, есть строчка для активизации управления (движками) с помощью ШИМ, а на выходы контроллера ставятся транзисторные ключи…
Где про это прочитать ? также по какой схеме ключи запаивать ?
Мосфеты нужны N канальные или P канальные ?
Ключи уже есть
Это фотка из инета как выглядит готовое .
У меня обычная мультивий плата криус. Там нет ключей !
очередной вопрос:разёмы допоял экранчик ожил,и на этом все закончилось,на экране горит только версия прошивки и тип коптера
Вопрос: как зайти в меню настройки,может чтото снова надо чтото расскоментировать?
Это фотка из инета как выглядит готовое .
У меня обычная мультивий плата криус. Там нет ключей !
Может эту строчку надо расскомментировать?
/********************************** PWM Setup **********************************/
//#define HWPWM6
А ключи-выходной каскад как в коллекторном регуле без реверса?
и
N-канальные ключи
,на экране горит только версия прошивки и тип коптера
Должна загореться и тухнуть
Паяли кондёр и резистор на резет дисплея?
как зайти в меню настройки
Посибки получилось.
вот ешё проблемка зачастую снег на экране,как лечить?
Паяли кондёр и резистор на резет дисплея?
Наверное PPM-ом.
В заблуждение ввела вот эта фотка с www.multiwii.com/faq#Be_sure_your_ESC_can_support_…
😵
да еще и эта тема Прошивка ESC Mystery 20A 400Hz PWM
😃