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

ziss_dm
kedrikov:

2 В поле Configuration , если я правильно понял из инфо для мультивия нужно выбрать Extended . Также в конфиге Multiwii выставить min max как в инфо проги Flash tool 0.3 . Поправте если я неправ.

Для мультиви лучше Extended и в

Multiwii: config.h

#define EXT_MOTOR_RANGE
#define MINCOMMAND  1008
#define MAXTHROTTLE 2008
#define MINTHROTTLE 1088 // adjust to your desired Idle power.
kedrikov

Прошил регули.Прошил контролер добавив строчки
#define EXT_MOTOR_RANGE
#define MINCOMMAND 1008
#define MAXTHROTTLE 2008
#define MINTHROTTLE 1088 // adjust to your desired Idle power.
Подключаю питание моторы пропели но сигнала готовности нет.Армин-реакции моторов нуль.В аппе расходы максимальные,в конфигураторе multiwii минимальный газ 935 , максимальный 2100.Где грабли?

Такая особенность, один из моторов пиликает “готовность” и может стартовать когда газ по конфигуратору multiwii =1500 и только на прошивке комплиментари

А после добовления тсрочек в config.h ничего коментить ненужно?

ziss_dm
kedrikov:

Такая особенность, один из моторов пиликает “готовность” и может стартовать когда газ по конфигуратору multiwii =1500 и только на прошивке комплиментари

Судя по этому, не прошита “Extended” конфигурация.

BTW: При прошивке флеша, стираться EEPROM(обычно).

А какая версия MultiWii ? Там поддержку EXT_MOTOR_RANGE меняли когда-то… Можешь свой Output.ino приаттачить?

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 и заводятся