MultiWii
Это степень 😃 460 * 10 в 6 степени
Эту 460 и меняем на 450, 670, 320 и пр… Сразу шагом в 20-30
Только надо учесть: если у вас включено #define ITG3200, менять нужно ту часть, где изначально стоит множитель 670е6, а не 460е6
Переделал, теперь параметры не дурят. Т.к. эта штука считает еще и угол рыскания, вывел его вместо азимута MAG. ftp://syberian.dyndns.org/arduino/Mu…7_MARGv1.1.zip Алил, попробуешь еще раз?
Попробую!! спасибо!
но, только вечером, дома ))
Апдейт 😃
Настроил рыскание (в нашем случае - азимут). Показывает с точностью до градуса, повторяемость идеальная, дрейфа за пару минут не заметил. Можно использовать ардуину, как транспортир 😁 Причем, независимо, каким ребром ставить на стол.
ftp://syberian.dyndns.org/arduino/MultiWii1_prebis7_MARGv1.2.zip
Не представляю, что за инструмент получится, если туда еще и магнетометр прикрутить 😃
Я просто должен показать это миру! (и заставить работать у кого-нибудь еще)
В дальнейших планах - отключить ПИДы на гиры вообще, чтобы управление микшировалось только с выходов MARG и пульта (пропорционально-угловое). Задумок много. Может, стоит портировать на 1.7preter?
до GPS еще руки не дошли? по идее надо развернуться только и лететь (конечно с компасом получше), если на плоскости, удержание высоты вроде тоже уже есть
удержание высоты вроде тоже уже есть
“Вроде”, но до ума еще не довели. Делали на основе баро датчика, а там точность …
Не представляю, что за инструмент получится, если туда еще и магнетометр прикрутить Я просто должен показать это миру! (и заставить работать у кого-нибудь еще)
Надо пробоватЬ!
Кстати, не очень понял, мне для квадрика что-нибудь в коде менять надо кроме подстройки дельтаТайм?
а там точность …
GPS тоже не сильно точно измерит высоту… надо как то комбинировать + дальномеры есть ультразвуковые, там точность ±1 см даже у самых дешевых, но дальность метра 2-3
Чтобы по GPS была более-менее точная высота, необходимо иметь карту с обозначеностью рельефа, но с ней надо как-то оперировать. А тут идет чистая работа с координатами, или я не прав?
Те, что я видел, до 6.5 м.
Апдейт
А у меня не открывается ((
Олег, походу с архивом ты чет напутал MultiWii1_prebis7_MARGv1.1 и MultiWii1_prebis7_MARGv1.2 идентичны… внутри архивов даж время файлов совпадает…
Мужчины помогайте!
Чет с недавнего времени очень плохо иницируется мозг коптера…
Что означает мигание светодиода, тот который показывает состояние коптера?
мигает три через три короткими…
при подключении питания моторы не пищат, а светодиод мигает, иногда начинает работать…
НО самое интересное, что если через юсб подсоединить, а потом батарейку подключить, то все работает.
Питание пускаю с регулятора на контакт регулятора напряжения, пробовал и на прямую подключать в обход регуля, ноль эмоций.
платка te-mini328
Чтобы по GPS была более-менее точная высота, необходимо иметь карту с обозначеностью рельефа, но с ней надо как-то оперировать. А тут идет чистая работа с координатами, или я не прав?
В основном - неправ. В большинстве своем для полета нужно держать определенную высоту - рельеф же отслеживать нет необходимости, а часто и вредно ( нам же не нужен прыгающий козлик).
GPS координаты обычно отображает с точностью 2-3 м, высота 3-5 м. Но такие прыжки в полете - недопустимы.
Потому - баро необходим.
Мужчины помогайте!
Что-то с питанием. Или датчики накрылись. У меня было похожее. От ЮСБ работало идеально, от батареи на один поворот в ГУИ крутился раз 15. Поменял датчики (хорошо купил пару) все заработао.
баро необходим.
Самая высокая точность, будет при использовании нескольких устройств. Да и прыгающий шарик - собственно ничего плохого, вдруг будет цель пролететь пониже, единственным врагом будут провода лэп. Я вот сижу думаю этот вопрос. Мысли пока крутятся вокруг стереозрения, для определения высоты.
ты чет напутал
Ардуино злая, я думал, она при компиляции сохраняет 😃 Исправил, перекачайте
Не загружается в программу.
Вон, что выдает…
Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 0
at processing.app.Sketch.setCurrentCode(Sketch.java:1106)
at processing.app.Sketch.load(Sketch.java:218)
at processing.app.Sketch.<init>(Sketch.java:140)
at processing.app.Editor.handleOpenInternal(Editor.java:2114)
at processing.app.Editor.<init>(Editor.java:308)
at processing.app.Base.handleOpen(Base.java:699)
at processing.app.Base.handleOpen(Base.java:664)
at processing.app.Base.handleOpenPrompt(Base.java:653)
И еще в этом роде.
Что-то с питанием. Или датчики накрылись. У меня было похожее. От ЮСБ работало идеально, от батареи на один поворот в ГУИ крутился раз 15. Поменял датчики (хорошо купил пару) все заработао.
Думал на диод шотки, регуль напряжения, все проверил ноль эмоций… плюс ко всему, на улицу мозг вытаскиваю и трындец не конектица
Настроил рыскание (в нашем случае - азимут). Показывает с точностью до градуса, повторяемость идеальная,
- Cорри за вопрос… что такое “рыскание”? В каких режимах и как это отразится на полете коптера… если не трудно объясни на пальцах…
- Кстать у тебя же вроде стандартное подключение WMP+NK. По идее INTERNAL_I2C_PULLUPS не должны быть задизэйблены?
- Раздизэйблен параметр SERVO_TILT. для квадриков это нужно?
Из описания:
/* The following lines apply only for a pitch/roll tilt stabilization system */
/* It is not compatible with Y6 or HEX6 or HEX6X */
что такое “рыскание”?
Самолетное название “курса” оно же YAW.
Cорри за вопрос… что такое “рыскание”? В каких режимах и как это отразится на полете коптера… если не трудно объясни на пальцах… 2. Кстать у тебя же вроде стандартное подключение WMP+NK. По идее INTERNAL_I2C_PULLUPS не должны быть задизэйблены? 3. Раздизэйблен параметр SERVO_TILT. для квадриков это нужно? Из описания:
- Это поворот вокруг оси, по-буржуйски YAW
- у меня на чаке и вмп подвески к питанию есть, а питаю их от 3.3в (есть выход на ардуино мега). Работает одинаково хорошо с обоими вариантами.
- тилт применяется для вывода авиагоризонта на ОСД, необязателен
не очень понял, мне для квадрика что-нибудь в коде менять надо кроме подстройки дельтаТайм?
В шапке нужно выставить тип твоего аппарата и тип гир с акселями, если используются не чака с вмп. Ты это уже делал, я думаю, все как обычно.
А потом - тюнить коэфф-т.
Олег, с Вашей прошивкой на квадрике запускаются только 2 двигателя.
Что-бы это значило?
Не загружается в программу. Вон, что выдает…
то же самое, не загружается в ардуино ИДЕ
то же самое, не загружается в ардуино ИДЕ
видимо ограничения ардуино ГУИ-оболочки… просто переименуй в MultiWii1_prebis7_MARGv1_2 (т.е. точку на подчеркивание заменить) + положи в одноименный каталог…
либо просто возьми в атаче 😃
ждем результатов тестов с нетерпением! 😃
то же самое, все сенсоры работают, а вот графики моторов и изогбражение квадрика не двигаются.
Вот мой скеч
/* Set the minimum throttle command sent to the ESC (Electronic Speed Controller) */
/* This is the minimum value that allow motors to run at a idle speed */
#define MINTHROTTLE 1300 // for Turnigy Plush ESCs 10A
//#define MINTHROTTLE 1120 // for Super Simple ESCs 10A
//#define MINTHROTTLE 1190
/* The type of multicopter */
//#define GIMBAL
//#define BI
//#define TRI
//#define QUADP
#define QUADX
//#define Y4
//#define Y6
//#define HEX6
//#define HEX6X
//#define FLYING_WING //experimental
#define YAW_DIRECTION 1 // if you want to reverse the yaw correction direction
//#define YAW_DIRECTION -1
//#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
#define I2C_SPEED 400000L //400kHz fast mode, it works only with some WMP clones
//#define PROMINI //Arduino type
#define MEGA
//enable internal I2C pull ups
//#define INTERNAL_I2C_PULLUPS
//****** advanced users settings *************
/* The following lines apply only for a pitch/roll tilt stabilization system */
/* It is not compatible with Y6 or HEX6 or HEX6X */
/* Uncomment the first line to activate it */
#define SERVO_TILT
#define TILT_PITCH_MIN 1020 //servo travel min, don't set it below 1020
#define TILT_PITCH_MAX 2000 //servo travel max, max value=2000
#define TILT_PITCH_MIDDLE 1500 //servo neutral value
#define TILT_PITCH_PROP 10 //servo proportional (tied to angle) ; can be negative to invert movement
#define TILT_ROLL_MIN 1020
#define TILT_ROLL_MAX 2000
#define TILT_ROLL_MIDDLE 1500
#define TILT_ROLL_PROP 10
/* I2C gyroscope */
#define ITG3200
/* I2C accelerometer */
//#define ADXL345
//#define BMA020
#define BMA180
/* I2C barometer */
//#define BMP085
/* I2C magnetometer */
//#define HMC5843
//#define HMC5883