MultiWii

RicLab

Где то уже писал что хорошо подходит для защиты плат лак PLASTIK 71. Сам пользуюсь, один раз помогло когда загнал коптер в сугроб. Электроника была вся открытая и естественно забилась мокрым снегом, стряхнул что стряхивалось и дальше летал без проблем.

krant
RicLab:

Где то уже писал что хорошо подходит для защиты плат лак PLASTIK 71. Сам пользуюсь, один раз помогло когда загнал коптер в сугроб. Электроника была вся открытая и естественно забилась мокрым снегом, стряхнул что стряхивалось и дальше летал без проблем.

А ещё можно по военной практике, залить сверху всё лаком и вообще плевать на всё, хоть под воду.

Я к чему спросил на счёт помехозащищенности, существенны ли будут помехи для вносимые gps на работу мк. Как я видел в мануале, делали там медную проставку толщиной милиметра четыре, но и модуль крепили прям над самой платой.
Выносить на лучи нельзя, там регуляторы, и 100кГц силового тока, самому ГПС станет тоже не сахар, выносить ближе к мотору смысла нет, шумит он похлеще ESC. Остатёся 2 варианта, выносить на самый верх на проставке, либо же монтировать над полётным контроллером, но остаётся вопрос с экранировкой.

omegapraim

Это не медная пластина а кусок Фольгированного стеклотекстолита, Если не экранировать то у вас компас сойдет с ума.

moscow
omegapraim:

Это не медная пластина а кусок Фольгированного стеклотекстолита, Если не экранировать то у вас компас сойдет с ума.

Вы ошиблись.
Слой меди толщиной 0.1 … 0.3 мм не экранирует от магнитных полей.

ctakah

Странно,у меня компас не хочет калиброваться,если плата стоит прямо на раме а рядом регули,стоит поставить плату на фольгированный стеклотекстолит и компас сразу калибруется и коптер летает не дергается.Вчера собрал треху и реги поставил прямо в начало луча,около рамы-коптер не держит яв и не калибруется компас…Буду поднимать на ножках и фольгу под низ платы. Кстати признак не откалиброванного компаса у меня следующие-коптер как бы сам медленно поворачивается.потом резко брык на место по яву,опять плыть начинает в сторону,может в другую,ручками его пытаешься оставить на месте,а он противится-все время плавает.Это без джипиэс,плата криус в 2. Из электротехники-постоянное магнитное поле конечно фольга(медь) не экранирует,а вот переменное-пожалуйста.При чем тут переменное маг поле-оно вроде не должно влиять на компас-так оно наводит эдс на элементах платы и проводах ее окружающих,эдс не маленькое-токи очень большие.Кто поправит ,тот не астрофизик 😃

soliada
moscow:

Слой меди толщиной 0.1 … 0.3 мм не экранирует от магнитных полей.

ХЗ как оно должно быть в теории,но факт остается фактом.Кусок фольгированного 2Х стороннего текстолита творит чудеса и непостижимым образом защищает от помех.Единственное,каждый слой необходимо соединить с минусом питания.От такого действия эффект защиты можно сказать усиливается.

krant
soliada:

ХЗ как оно должно быть в теории,но факт остается фактом.Кусок фольгированного 2Х стороннего текстолита творит чудеса и непостижимым образом защищает от помех.Единственное,каждый слой необходимо соединить с минусом питания.От такого действия эффект защиты можно сказать усиливается.

Достаточно и однослойного, постоянное магнитное поля экранировать можно только бетоном, а вот переменеу легко.

dROb
UserM:

У нас рекламируют вот такую шнягу: “Nano Protech ELECTRONIC” , но сам не пробовал.

www.youtube.com/watch?feature=player_embedded&v=aq…

Мне искренне непонятно как такая система, как обычный, коллекторный электродвигатель может работать в обычной воде, даже покрытая чудо-составом 😃
Предполагаю, что в рекламе применяется какая-то другая жидкость. В крайнем случае - дистиллированная вода.

omegapraim

Да дистилировка по любому, если она все так защищает то кз по любому бы в розетке случилось бы или просто не было бы контакта с дрелью и дрель бы не крутилась… в общем ерунда все это.

mataor

про PLASTIC я уже писал несколько раз в разных темах - про регули и про хубсан… отличная защита от воды при купании в лужах

Probelzaelo
omegapraim:

Да дистилировка по любому, если она все так защищает то кз по любому бы в розетке случилось бы или просто не было бы контакта с дрелью и дрель бы не крутилась… в общем ерунда все это.

Обычная вода, просто ни кто не показал что будет бЕз этой обработки. Я так понимаю разницы ни какой. воза не настолько хороший проводник чтобы произошло КЗ. или перестали работать электроприборы типа дрели… Ни каких чудес, я вам скажу. Кстати, ни кто не задумывался откуда в воде появилось облако белесой мути? так это всем известные газы водород+кислород, выделяющиеся при расщеплении воды под действием электричества. Опыт нужно сказать ни разу не безопасен. потому и в диэлектрических перчатках проводится, кто не заметил. А коллектроные моторы в воде работают вполне не плохо, в том числе с большим превышением напряжения, благодатя хорошему теплоотводу. Главное их просушивать после использования, иначе ржавеют и досвиданья…

Для желающих, на Ютрубе очень много роликов с погружением коллекторников…

RA4ASN

Извиняюсь, что не совсем по теме вопрос, но был ли у кого-нибудь успешный опыт применения multiwii как fbl системы на вертолете? В разделе вертолетной электроники сходу найти не удалось.

omegapraim

и не найдете, код есть, но никто не тестил, я уже давно хочу но все никак руки не доходят.

puh21

повторю вопрос. как инвертировать YAW в прошивке… при внешнем воздействии контроллер выдаёт сигналл который по вектору совпадает с воздействием и докручивает коптер в ту же сторону. в прошивке нащёл инверт только по PITCH…

moscow
puh21:

повторю вопрос. как инвертировать YAW в прошивке… при внешнем воздействии контроллер выдаёт сигналл который по вектору совпадает с воздействием и докручивает коптер в ту же сторону. в прошивке нащёл инверт только по PITCH…

Кирилл, на Ваш вопрос ответить не могу, но хотел заметить, что если моторы подключены верно, направление их вращения совпадает с нарисованным на картинке в мультиковском GUI, то с высокой вероятностью Вам не понадобится инвертировать YAW.

omegapraim

puh21 вы бы хотя бы схему написали чтоль (три, квадро, гексо), даже если писали уточните, искать ваш вопрос никто не будет, если не ответили дублировать не надо. Вам не серву надо инвертировать, а ось датчика гироскопа по YAW это все делается в прошивке config.h. Все написано уже 1000 раз.

/* 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;}

SovGVD
puh21:

как инвертировать YAW в прошивке…

вообще этого делать не надо, скорее всего винты не так установлены или еще какая пакость, но в config.h есть вот такая штука
//#define YAW_DIRECTION -1 // if you want to reverse the yaw correction direction
использовал её давно для гексы, в какой то из прошивок коптер крутило по кругу при взлете

krant

Как показали лётные испытания, летать мы пока не можем 😁

Сабж, на полном газу квадр качает из стороны в сторону, но взлетать он упорно не желает, при том винты вращаются с разными скоростями, таскать по полу в право в лево вперёд назад - могу без каких-либо проблем, но взлетать не желает. В руках вертел, сопротивление отклонениям есть, но лететь мы не хотим. Куда копать ?
PID стандратные , если дело в них, то какие реомендованные ?

// #define ESC_CALIB_CANNOT_FLY // uncomment to activate
С этой строчкой тоже игрался.

p.s. та же база на ХК контроллере летатала на ура…

DVE

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

На стандартных пидах multiwii летит без проблем, дело точно не в них.

krant
DVE:

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

На стандартных пидах multiwii летит без проблем, дело точно не в них.

откалибровал датчики в конфигураторе а не в ГУИ, стало вроде бы получше, сейчас инвертирую YAW, а то его закручивает и попробую снова
меня вот больше разный шим больше волнует который посылается на ESC
p.s. Мне инверсия не помогла, закручивать стало нааамного сильнее 😃 , мне надо просто пиды подкрутить, чем займусь сейчас, но после калибровки мы полетели, волчком правда 😃

Тем кому надо инверсию сделать по одной из осей.

запускаем компилятор, октрываем скетч с мультивиеем.

Лезем в def.h

затем в дефайнах ищем вашу плату:

  #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;}
  #undef INTERNAL_I2C_PULLUPS
#endif

#if defined(CRIUS_AIO_PRO_V1) 
  #define MPU6050
  #define HMC5883
  #define MS561101BA
  #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;}

  #define MPU6050_I2C_AUX_MASTER // MAG connected to the AUX I2C bus of MPU6050
  #undef INTERNAL_I2C_PULLUPS
  #define I2C_SPEED 400000L         //400kHz fast mode
  //servo pins on AIO board is at pins 44,45,46, then release pins 33,34,35 for other usage
  //eg. pin 33 on AIO can be used for LEDFLASHER output
  #define SERVO_1_PINMODE            pinMode(44,OUTPUT);        // TILT_PITCH
  #define SERVO_1_PIN_HIGH           PORTL |= 1<<5;
  #define SERVO_1_PIN_LOW            PORTL &= ~(1<<5);
  #define SERVO_2_PINMODE            pinMode(45,OUTPUT);        // TILT_ROLL
  #define SERVO_2_PIN_HIGH           PORTL |= 1<<4;
  #define SERVO_2_PIN_LOW            PORTL &= ~(1<<4);
  #define SERVO_3_PINMODE            pinMode(46,OUTPUT);        // CAM TRIG
  #define SERVO_3_PIN_HIGH           PORTL |= 1<<3;
  #define SERVO_3_PIN_LOW            PORTL &= ~(1<<3);
  #define SERVO_4_PINMODE            pinMode(11,OUTPUT);        // SERVO4 , use hardware PWM
  #define SERVO_5_PINMODE            pinMode(12,OUTPUT);        // SERVO5 , use hardware PWM
#endif

#if defined(LADYBIRD)
  #define MPU6050
  #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;}

в моём случае это #if defined(CRIUS_AIO_PRO_V1)
находим блок кода внутри это дефа:

  #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;}

и собственно по отклонениям делаем инврсию ставив перед X (или Y, Z) минус, или убирая его.
Для того чтобы сделать инверсию компенсационной силы по оси YAW (рысканье), сделать надо следующим образом:

  #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;}

Инверсию знака делать надо по всем датчикам, по скольку компенсация происходит по данным со всёх трёх датчиков.

После компилировани и загрузки кода, необходимо откалибровать датчики в MultiWIIConf. в ГУИ не советую, лично у меня джигурда после ГУИ одна.