Обсуждение и перепрошивка регуляторов (ESC) прошивками SimonK/BLHeli

kedrikov

Multiwii 2.1 от Mahowik

ziss_dm:

Там поддержку EXT_MOTOR_RANGE меняли когда-то

Ничего подобного не трогал пока летал на прошивках симонка.Изначально в скетче вот так:

/
/**************************************************************************************/
/******** special ESC with extended range [0-2000] microseconds ********************/
/**************************************************************************************/
//#define EXT_MOTOR_RANGE

Заменил на это

/**************************************************************************************/
/******** special ESC with extended range [0-2000] microseconds ********************/
/**************************************************************************************/
#define EXT_MOTOR_RANGE
#define MINCOMMAND 1008
#define MAXTHROTTLE 2008
#define MINTHROTTLE 1088 // adjust to your desired Idle power.

mataor

у меня заработало когда пересобрал проект с default значениями для еепрома :
мин 1000
макс 2000
запуск 1150
макс обороты 1900

после этого стало возможно калибровать моторы как от аппы, так и от мультивия, минкомманд при этом 1140, моторы запускаются примерно на 1160

ziss_dm

калибровать? 😉

mataor:

у меня заработало когда пересобрал проект с default значениями для еепрома :
мин 1000
макс 2000
запуск 1150
макс обороты 1900

Ну только в MultiWii это 90 точек разрешения. (не знаю как на xmega)

kedrikov
ziss_dm:

Эта rcopen.com/blogs/83206/15204 ?

Тогда:


#define EXT_MOTOR_RANGE
#define MINCOMMAND  1000
#define MAXTHROTTLE 2000
#define MINTHROTTLE 1080 // adjust to your desired Idle power.

да

Прошил eeprom . Моторы говорят о готовности,но как только аминг начинают вращатся.Что подстроить multiwii?

mataor
ziss_dm:

Ну только в MultiWii это 90 точек разрешения. (не знаю как на xmega)

по шиму сейчас это 375 точек разрешения… т.к. таймер шима работает на частоте 500кГц - делитель 64. если поставить делитель 8 то будет 3000

ziss_dm
mataor:

по шиму сейчас это 375 точек разрешения… т.к. таймер шима работает на частоте 500кГц - делитель 64. если поставить делитель 8 то будет 3000

Это о xmega? 😉

В обычном (promini):

     #ifndef EXT_MOTOR_RANGE
        OCR1A = motor[0]>>3; //  pin 9
      #else

1160 / 8 = 145
1900 / 8 = 237

237 - 145 = 92

kedrikov:

Моторы говорят о готовности,но как только аминг начинают вращатся.Что подстроить multiwii?

хм… а что не так? 😃

kedrikov
ziss_dm:

хм… а что не так?

Почему вращаются после арминга при ручке газа в нуле? Оборотов 200-300…

mataor
ziss_dm:

Это о xmega?

угу… макс возможное тут разрешение при делителе 1 получается вообще 24000 (хмега сейчас на 32 МГц работает, только какой смысл если сам вий оперирует с целыми микросекундами иметь разрешение выше 1000?

kedrikov:

Почему вращаются после арминга при ручке газа в нуле? Оборотов 200-300…

а вийконфиг ккие значения по моторам при арминге показывает?

kedrikov
mataor:

а вийконфиг ккие значения по моторам при арминге показывает?

1050
Дисарминг 1000

Как понизить дизарминг в конфигураторе до 950

ziss_dm
kedrikov:

Почему вращаются после арминга при ручке газа в нуле? Оборотов 200-300…

Ну так обычно MultiWii работает. Когда контроллер armed двигатели вращаються на холостом… Или я чего-то не понимаю? 😉

leprud
kedrikov:

Моторы говорят о готовности,но как только аминг начинают вращатся.Что подстроить multiwii?

Исключительно в виде оффтопика - регуляторы отрабатывают правильно, ибо #define MOTOR_STOP

kedrikov
ziss_dm:

Ну так обычно MultiWii работает. Когда контроллер armed двигатели вращаються на холостом… Или я чего-то не понимаю? 😉

Да какбы я привык без холостых тоесть после арминга моторы стоят пока газ чуток не сдвинеш

mataor
ziss_dm:

Ну так обычно MultiWii работает. Когда контроллер armed двигатели вращаються на холостом…

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

ziss_dm
kedrikov:

Да какбы я привык без холостых тоесть после арминга моторы стоят пока газ чуток не сдвинеш

ну так нельзя… 😉) Это сделано для того, чтобы в воздухе моторы не остановились.

там даже комментарий есть… 😉

 /****************************    Motor minthrottle    *******************************/
    /* 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  */
kedrikov
mataor:

кстати при арминге на мин газа наверно лучше не вращать - если было падение в ту же траву и не успел сделать дизарм может и дымок пойти))))

Вот и я про тоже

[
quote=ziss_dm;3631799]#define EXT_MOTOR_RANGE

#define MINCOMMAND 1000
#define MAXTHROTTLE 2000
#define MINTHROTTLE 1080 // adjust to your desired Idle power.[/quote]

Вобщем так нехочет тоеть после арминга сразу вращаются,а вот так

#define EXT_MOTOR_RANGE
#define MINCOMMAND 950
#define MAXTHROTTLE 2000
#define MINTHROTTLE 1000 // adjust to your desired Idle power.

Все работает но после арминга в конфигураторе газ на моторах как стоял на 1000 так и стоит.Раньше было так: Включил питание ,газ на моторах 1000, арминг -газ 1050 моторы стоят,поднимаш газ моторы заводятся после 1100… как-то так

mataor
leprud:

Исключительно в виде оффтопика - регуляторы отрабатывают правильно, ибо #define MOTOR_STOP

угу… код:
if ((rcData[THROTTLE]) < MINCHECK)
#ifndef MOTOR_STOP
motor[i] = MINTHROTTLE;
#else
motor[i] = MINCOMMAND;
#endif
пояснение: если троттл меньше минчек (мультивий.ино) - стик внизу то:
если раскомментирован MOTOR_STOP то на моторы идет значение минтроттл иначе минкомманд из config.h
минчек по умолчанию 1100 - вот птому на 1100 и заводятся

ziss_dm
mataor:

меня начинают вращаться когда чуть-чуть газа даеш…

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

mataor:

кстати при арминге на мин газа наверно лучше не вращать - если было падение в ту же траву и не успел сделать дизарм может и дымок пойти))))

Для этого есть “Safe Stall Detection” 😉

Короче, MINTHROTTLE - моторы должны крутьться на холостых. 😉 Как настраивать “Kill Switch” в MultiWii это отдельная тема… 😉

kedrikov:

Все работает но после арминга в конфигураторе газ на моторах как стоял на 1000 так и стоит.Раньше было так: Включил питание ,газ на моторах 1000, арминг -газ 1050 моторы стоят,поднимаш газ моторы заводятся после 1100… как-то так

Раньше было не правильно. 😉

Идея в том, что запуск Brushless Motor это очень не быстрая процедура и пока от стабилизируеться после запуска проходит еще пара сотен милисекунд. Поэтому контроллер после арма, всегда лимитирует PWM снизу (никогда не опускает ниже MINTHROTTLE) в надежде, что моторы не остановяться и не прийдеться их запускать.

Shuricus
ziss_dm:

ну так нельзя… ) Это сделано для того, чтобы в воздухе моторы не остановились.

А в чем проблема? На Фрифлае я не заметил с этим никаких нюансов. Я даже специально движки вырубал что бы насладится свободным падением. Потом отлично подхватывается все.

А вот когда в траву падаешь с включенными моторами это пипец.

ziss_dm

Ну наверное обороты до предела не успевали упасть. Если подождать подольше - результат не предсказуем. 😉
Но мы о разных вещах говорим, наверное. На ff, на самом малом газу, когда еще есть управление и ты дашь полный roll в право правые движки останавливаються?