Hobbylord UltraPWM Brushless ESC 20A Частота 500 Гц
Теоретически юзать вроде можно, но требует допиливания кода.
Пробовал сркестить реги от Xaircraft с MultiWii.
Подробности тут
Моторы нормально стартовали и обороты регулировались, но на полный газ не выходили 😦 (по ощущениям процентов 50 где-то было 😦 ). В общем, нужно еще в коде рыться…
и по этому мы гнобим кетайских конкурентов!!!
а то нет? рамы делаете ? делаете - почему на китайских не летаете ?
это антикитайский заговор 😃
а жаль - я очень надеялся
Купи ты уже Авиониксы Pilot 12A и не морочь людям голову 😃
Рамы делаю потому что проще сделать самому под свои нужды чем за косорукими переделывать 😃
Теоретически юзать вроде можно, но требует допиливания кода.
не нужно юзать. Давно проверено. На обычных мозгах сразу войтет в средний газ при положении газа на пульте в минимум 😉 И не дай бог кто с пропами это попробует. Нужен преобразователь сигнала для него смещающий диаппазон на понижение в 900-1000. И им все равно в каком канале работать. Вот тогда будет все Ок . А так регули конкретно шустрые. Но ХА политику идеотскую ведет. Если бы сделали их как как все делают 1100-2000. То на одних таких регулях наварились бы по полной. На ура бы пошли;)
Нужен преобразователь сигнала для него смещающий диаппазон на понижение в 900-1000. И им все равно в каком канале работать. Вот тогда будет все Ок
Именно это я и пытался сделать в коде мультивия - (понизить управляющие импульсы с 1100-2000 до 200-1200 мс.
Пока правдо безуспешно. 😦
Ура! 😃
Вроде что-то получилось! 😃
Сегодня удалось поднять квадр в воздух 😃
Времени было мало, так что как следует все еще не отладил… Но, тем не менее, после небольшой правки кода UltraPWM регули с мультивием у меня заработали 😃
В вс буду тестить по полной 😃
Если кто-нибудь рискнет и проверит на своем квадре раньше, буду оч благодарен 😃
Код:
В config.h
добавить дефайн:
#define ULTRAPWMOFFSET 900
поменять следущие значения:
#define MINTHROTTLE 1150
#define MINCOMMAND 1050
#define MAXTHROTTLE 1990
в фалйе Output
функцию writeMotors заменить на следующее:
void writeMotors() { // [1000;2000] => [125;250]
#if defined(MEGA)
for(uint8_t i=0;i<NUMBER_MOTOR;i++)
analogWrite(PWM_PIN[i], ((motor[i]-ULTRAPWMOFFSET)>>3));
#else
for(uint8_t i=0;i<min(NUMBER_MOTOR,4);i++)
analogWrite(PWM_PIN[i], (motor[i]-ULTRAPWMOFFSET)>>3);
#if (NUMBER_MOTOR == 6)
atomicPWM_PIN5_highState = (motor[5]-ULTRAPWMOFFSET)/8;
atomicPWM_PIN5_lowState = 255-atomicPWM_PIN5_highState;
atomicPWM_PIN6_highState = (motor[4]-ULTRAPWMOFFSET)/8;
atomicPWM_PIN6_lowState = 255-atomicPWM_PIN6_highState;
#endif
#endif
}
В общем еще нужно поиграть со значениями MINTHROTTLE и MAXTHROTTLE, а то сейчас теряются последние 100 мс из диапозона 200-1200 мс…
Мне это не сильно критично (летать на макс газу приходится не так уж и часто 😃 ) Но всеж непорядок… Так что будем эксперементировать дальше 😃
И еще обязательно заменить в output
строку
writeAllMotors(1000);
заменить на
writeAllMotors(MINCOMMAND);
Все получилось! 😃
Все замечательно летает! 😃
Видео в зале:
Видео с борта на улице:
Настройки поменял на такие:
#define ULTRAPWMOFFSET 800
#define MINTHROTTLE 1050
#define MINCOMMAND 950
#define MAXTHROTTLE 1990