Полетный контроллер AfroFlight32 / Naze 32
Ага, всем здравия. Летал, я летал на ней и вдруг правый мотор у квадро начал кашлять, потом ваще отключаться стал. Погрешил на окисление посмотрел под увеличением х30, почистил контакты, дороги не рваные - прогрел. Кашляет - отключается. Поменял местами из выхода платы на регули, кашляет другой мотор. А если возможность запрогить первый мотор на пятый, шестой выход? Смотрел, смотрел мнуал - не нашел. Может мысль у кого? Заранее поклон.
Ага, всем здравия. Летал, я летал на ней и вдруг правый мотор у квадро начал кашлять, потом ваще отключаться стал. Погрешил на окисление посмотрел под увеличением х30, почистил контакты, дороги не рваные - прогрел. Кашляет - отключается. Поменял местами из выхода платы на регули, кашляет другой мотор. А если возможность запрогить первый мотор на пятый, шестой выход? Смотрел, смотрел мнуал - не нашел. Может мысль у кого? Заранее поклон.
Можно попробовать изменить motor_pwm_rate, м.б. просто срыв синхронизации
Поможет правка вот этого исходника - code.google.com/p/afrodevices/source/…/drv_pwm.c.
Вот здесь нужно будет поменять местами каналы
static pwmHardware_t timerHardware[] = {
{ TIM2, GPIOA, GPIO_Pin_0, TIM_Channel_1, TIM2_IRQn, 0, }, // PWM1
{ TIM2, GPIOA, GPIO_Pin_1, TIM_Channel_2, TIM2_IRQn, 0, }, // PWM2
{ TIM2, GPIOA, GPIO_Pin_2, TIM_Channel_3, TIM2_IRQn, 0, }, // PWM3
{ TIM2, GPIOA, GPIO_Pin_3, TIM_Channel_4, TIM2_IRQn, 0, }, // PWM4
{ TIM3, GPIOA, GPIO_Pin_6, TIM_Channel_1, TIM3_IRQn, 0, }, // PWM5
{ TIM3, GPIOA, GPIO_Pin_7, TIM_Channel_2, TIM3_IRQn, 0, }, // PWM6
{ TIM3, GPIOB, GPIO_Pin_0, TIM_Channel_3, TIM3_IRQn, 0, }, // PWM7
{ TIM3, GPIOB, GPIO_Pin_1, TIM_Channel_4, TIM3_IRQn, 0, }, // PWM8
{ TIM1, GPIOA, GPIO_Pin_8, TIM_Channel_1, TIM1_CC_IRQn, 1, }, // PWM9
{ TIM1, GPIOA, GPIO_Pin_11, TIM_Channel_4, TIM1_CC_IRQn, 1, }, // PWM10
{ TIM4, GPIOB, GPIO_Pin_6, TIM_Channel_1, TIM4_IRQn, 0, }, // PWM11
{ TIM4, GPIOB, GPIO_Pin_7, TIM_Channel_2, TIM4_IRQn, 0, }, // PWM12
{ TIM4, GPIOB, GPIO_Pin_8, TIM_Channel_3, TIM4_IRQn, 0, }, // PWM13
{ TIM4, GPIOB, GPIO_Pin_9, TIM_Channel_4, TIM4_IRQn, 0, }, // PWM14
};
И еще, наверное, можно mixer через консоль попробовать настроить, но там черт голову сломит
Примеры миксов здесь: code.google.com/p/afrodevices/source/…/mixer.c
спасибо, а не могли бы вы пошагово, чё открывать, как редактировать. Я на Назе недавно, врубиться не могу, для меня сложно. Перепрошил с трудом, вроде ничего трудного, а вот так как то.
А если возможность запрогить первый мотор на пятый, шестой выход?
Без пересборки кода вроде нет, но можно включить camera stab командой ‘feature servo_tilt’ и потом ‘save’, это назначит на каналы PWM9, PWM10 (что на плате выходы 1, 2) управление камерой, при этом все двигатели сместятся с 1,2,3,4 на 3,4,5,6.
у Таймкоа сделан ручной микшер, но в cli заблудится можно, хотя есть baseflightGUI там в cli только галочки ставить надо а не писать в терминале, может и поможет, по немецки но вроде понятно всё…
у Таймкоа сделан ручной микшер
cmix не сместит моторы, он для другого, т.е. нужно будет делать такой cmix (5-6 моторов), в котором первый 1-2 мотора будут фейк, типа они есть, но ничего ими делать не нужно. И возможный результат нужно очень сильно проверять на предмет побочных эффектов ;)
p.s. Код рассчитан на то, что hardware работает исправно. Если есть возможность пересобирать исходники, то лучше всего править timerHardware сместив PWM9 строчку в конец массива.
Типа такого:
Это на основе quadx где первый мотор почти ничего не делает (но значения не могут быть нулевыми для Thr) при этом моторы смещены на один. Т.е. включать нужно будет к 2 3 4 5 выходам.
# cmix
Custom mixer:
Motor Thr Roll Pitch Yaw
#1: 0.001 0.000 0.000 0.000
#2: 1.000 -1.000 1.000 -1.000
#3: 1.000 -1.000 -1.000 1.000
#4: 1.000 1.000 1.000 1.000
#5: 1.000 1.000 -1.000 -1.000
делается командами:
cmix reset
cmix 1 0.001 0 0 0 0
cmix 2 1.000 -1.000 1.000 -1.000
cmix 3 1.000 -1.000 -1.000 1.000
cmix 4 1.000 1.000 1.000 1.000
cmix 5 1.000 1.000 -1.000 -1.000
cmix 6 0 0 0 0
cmix 7 0 0 0 0
cmix 8 0 0 0 0
save
Если есть возможность пересобирать исходники, то лучше всего править timerHardware сместив PWM9 строчку в конец массива.
это при условии что у человека есть кеил, иначе получается - купи кеил (по моему в бесплатную версию уже не лезет), научится с ним работать, ну т.д.
Блин, парни чё делать то? Он вроде летает, всё норм, а потом херак - кашель и останов одного движка.
понятно что это второй коптер и он сделан миниквадром - для гоняния по квартире с фпв для тренировок. Первый немец.
Блин, парни чё делать то?
Описания трех разных способов решения этой проблемы не достаточно?
- если есть keil и знание С - правим исходники
- feature servo_tilt
- cmix
Ни первого, ни второго, ни третьего
купил полетать и пошло и поехало
Есть - Mw-WinGUI-2.1, AfroFlashFC, Flash_Loader, hercules_3-2-5
Парни спасибо всем отозвавшимся. Особенно Дмитрию ‘enots’. Вроде его совет помог. set мotor_pwm_rate=200 Немножко частоту снизили, на 300 вроде номано, щас попробую 350. На 400 срывы были.
Поклон до земли, еще раз спасибо!
на 350 тож срывов нет, завтра полетаю доложу, спасиб!
Можно попробовать изменить motor_pwm_rate, м.б. просто срыв синхронизации
Совет был от kolaa.
Но зато мы выяснили, что это никак не связано с PWM9.
Срыв всегда на первом канале. Возможно что что-то в коде для первого канала дает задержку или что-то подобное.
Походу вся проблема вылезла из не перепрошитых ESC или сочетание ESC + мотор + нагрузка.
3 пака отлетал, на 350 было 2 срыва, один с полным остановом движка, на 300 срывов пока не было. Попробую перепрошить регули.
Никак не могу калибрануть регули.
С приёмником регули калибруются а при подключении к назе 32 не стартуют когда перевожу в режим арм. и на калибровку не реагируют.
Никак не могу калибрануть регули.
С приёмником регули калибруются а при подключении к назе 32 не стартуют когда перевожу в режим арм. и на калибровку не реагируют.
Через cli установите minthrotle
Я правильно понимаю что шина I2C на платке 3.3 вольта?
Только питание нужно организовать для датчиков и все?
там всё 3.3 и проц тоже…
Хочу отдельно MPU-6050 вынести.
Старый с платы просто выпаять и все? новый как я понимаю сам определится?
а зачем гироаксель выносить с платы? определится то да автоматически…
Хочу попробовать сделать как на назе.
Датчики тонкими проводочками и с развязкой на аккум.
Вибраций должно на порядок меньше быть.
У меня на самодельной плате датчик mpu6050 вынесен - по ощущениям намного лучше, чем когда он был на плате.