CRIUS ALL IN ONE PRO Flight Controller
Есть счастливые обладатели с удачно подключенным внешним компасом по I2C?
Разжуйте, как правильно подключить внешний компас?
В def.h за комментировал, но компас по прежнему работает на плате контроллера.
Перемычки какие надо резать, если надо?
Поиском по форуму поискал, но кроме оговорок как это все просто сделать и невнятных вырезок кодов ничего полезного не нашел.
Кто то советует перемычки резать, кто то код менять, каша в голове уже.
ЗЫ пытаюсь подключить эту плату
www.goodluckbuy.com/index.php?target=products&prod…
Кто-нибудь подключал к плате этот сонар? www.hobbyking.com/hobbyking/…/uh_viewItem.asp?idPr…
да, я подключал, очень хорошо работает с прошивкой МахоВия
собаку выведу и могу проконсультировать по асе или тимспику
Кто-нибудь подключал к плате этот сонар?
Да, работает.
Неужели никто не знает как поменять направление на подвесе по роллу? В прошивке в конфиге?
Разжуйте, как правильно подключить внешний компас?
В def.h за комментировал, но компас по прежнему работает на плате контроллера.
Сам не пробовал - но в закладки добавил. Если получится - расскажите, ок?
rcopen.com/forum/f123/topic283798/2137
Неужели никто не знает как поменять направление на подвесе по роллу? В прошивке в конфиге?
Всё связанное с подвесом - и расходы, и реверсы - в config.h (если про мультивий)
#define TILT_PITCH_PROP -28 //servo proportional (tied to angle) ; can be negative to invert movement
По-моему - вполне прозрачно.
Неужели никто не знает как поменять направление на подвесе по роллу? В прошивке в конфиге?
#define TILT_PITCH_PROP 10 //servo proportional (tied to angle) ; can be negative to invert movement
#define TILT_ROLL_PROP 10
для инверсии наверное поставить минус?
О, опередили 😃
Есть счастливые обладатели с удачно подключенным внешним компасом по I2C?
Попробуйте вот это rcopen.com/forum/f123/topic283798/2141
Попробуйте вот это rcopen.com/forum/f123/topic283798/2141
В def.h за комментировал, но компас по прежнему работает на плате контроллера.
делал именно это, компас на АИОП по прежнему работает
Дефайн MPU6050_I2C_AUX_MASTER нужно отключать в CRIUS_AIO_PRO_V1 секции файла def.h… После перезаливки скетча, передерните питание rcopen.com/forum/f123/topic283798/2145, но сдается мне это не поможет…
upd: Залез в даташит посмотреть… На сколько понимаю, если дефайн отключен, то компас вешается на основную i2c шину через mpu6050, отсюда и конфликты при подключении внешнего компаса, т.к. оба уже сидят на общей i2c шине… т.е. внешний компас прямым подключением к i2c, а AIO компас через mpu6050… потому скорее всего только “отрезать” компас от mpu6050…
могу и ошибаться конечно…
делал именно это, компас на АИОП по прежнему работает
Мне отключение в def.h не помогло. Помог скальпель - отрезал дорожку AUX DA под компасом. Плата с хоббей.
на собственной шкуре опробовано, чуть трехой не размолотил мебель в доме,
по идее в ГУИ ошибки по и2с (I2C error: ) должны были зашкаливать, если конфликты на шине…
по идее в ГУИ ошибки по и2с (I2C error: ) должны были зашкаливать, если конфликты на шине…
не было вроде никаких ошибок и нету желания опять проверять, хотите проверит, просто заремите деф и подлетните, когда начнет коптер крушить все вокруг, не забудьте посмотреть в гуи, возможно тогда и найдутся ошибки 😃
я ведь выше описал ситуацию, что и как подключается, если перемычки не трогать, внешний разъем не работает, компас работал соответственно один, тот, что установлен на плате контроллера
upd: Залез в даташит посмотреть… На сколько понимаю, если дефайн отключен, то компас вешается на основную i2c шину через mpu6050, отсюда и конфликты при подключении внешнего компаса, т.к. оба уже сидят на общей i2c шине… т.е. внешний компас прямым подключением к i2c, а AIO компас через mpu6050… потому скорее всего только “отрезать” компас от mpu6050…
Не знаю что там в def.h, но я точно знаю что достаточно отключить Bypass mode у MP6050, что бы отключить компас. Это я все уже прошел в Пирате и специально даже дейфайн сделал для отключения компаса. А разработчик AIOP по моей просьбе, сделал перемычки для компаса. Перемычки подключают компас к MPU6050 или напрямую к процессору. А вот если не запаять вообще, то компас будет отключен и можно подключить внешний.
Я ленивый не то что вы))))) Я сделал два экрана из двустороннего текстолита, один экран под платой второй над, и заземлил оба экрана на минус, Хедфри после калибровки заработал как надо. Если текстолит не заземлять то эффекта от экранов не будет. Компас не спаивал.
Не знаю что там в def.h, но я точно знаю что достаточно отключить Bypass mode у MP6050, что бы отключить компас. Это я все уже прошел в Пирате и специально даже дейфайн сделал для отключения компаса. А разработчик AIOP по моей просьбе, сделал перемычки для компаса. Перемычки подключают компас к MPU6050 или напрямую к процессору. А вот если не запаять вообще, то компас будет отключен и можно подключить внешний.
Труднее всего в жизни признавать свои ошибки.
Для подключения внешнего компаса в частности к AIOP v2.0 приобретенного на RCTimer требуется:
- перерезать обе перемычки на плате контроллера (SJ2 и SJ3)
- в скетче def.h найти условие “#if defined(CRIUS_AIO_PRO_V1)” и в его теле строку “#define MPU6050_I2C_AUX_MASTER // MAG connected to the AUX I2C bus of MPU6050” заремить
вот так:
#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);
#endif
если есть возможность, прошу затереть пост 2287, да бы не вводить народ в заблуждение
надеюсь данная инструкция теперь верная?
Вот до чего доводят тонны постов на форуме и бессонные ночи.
Пойду протестирую на улицу.
2 sulaex было бы очень замечательно если б вы все сделали с картинками, тогда бы можно было бы добавить ваш пост в FAQ. А так не многие поймут где чего резать.
2 sulaex было бы очень замечательно если б вы все сделали с картинками, тогда бы можно было бы добавить ваш пост в FAQ. А так не многие поймут где чего резать.
Если собираетесь переносить картинки, пере сохраните их, иначе с этого ресурса они со временем удалятся. Картинка кликабельна с большим разрешением.
- в скетче def.h найти условие “#if defined(CRIUS_AIO_PRO_V1)” и в его теле строку “#define MPU6050_I2C_AUX_MASTER // MAG connected to the AUX I2C bus of MPU6050” заремить
Это лишнее, достаточно обрезать перемычки 😃
А разработчик AIOP по моей просьбе, сделал перемычки для компаса.
ну я то про свой огород писал, т.е. про первую версию платы 😃 а это значит что в первой АИОП резать всеж придется…
Это лишнее, достаточно обрезать перемычки
В вие, для работы компаса по основной i2c шине этот дефайн надо комментить обязательно…
Алексей, не путай народ В вие, для работы компаса по основной i2c шине этот дефайн надо комментить обязательно…
Да, был не прав. Посмотрел исходники, оказывается Вий зачем то работает с компасом через регистры самого MPU6050, а не напрямую с компасом… Непонятно тока зачем это делать…
Отлетал пару акков. НР работает предсказуемо, завтра до настраиваю его еще чутка, что бы на полном газу при бросании стиков не так сильно по дуге восстанавливал позицию, не работает АН, конфликт с бародатчиком на дополнительной плате, надо бы сдуть его нафик. Телеметрия понравилась на аппе, приятное дополнение, огромное спасибо за это 😃
оказывается Вий зачем то работает с компасом через регистры самого MPU6050, а не напрямую с компасом… Непонятно тока зачем это делать…
Через этот дейфайн, как раз переключается работа с компасом через mpu6050, либо с основной шины, т.е. поддержка двух вариантов подключения… а сделано это скорее всего для поддержки различных платок/бордов… к примеру есть куча плат с mpu6050 на борту, но без компаса… соот-но подключение внешнего компаса вешается на общую шину…