Новые дискретные настройки Fessel Flug контроллера и регулятора Castle для электро пилотажек

Маркс
Русинов_Сергей:

Модель с колёсами?! Нисколько не держу.

и вы хотите сказать, что пяти секунд не хватит на взлет с колес ?
мало пяти секунд, поставьте 10.
Сергей, давайте так, если есть конструктивные мысли - пишите, нет - не пишите.

VitalikV:

Можно определить по сигналу акселерометра

во когда он прикрутится, тогда можно будет, а пока по времени

примерно как сделать кнопку

int key = 7; // кнопка/перемычка/тумблер на ногу номер 7
void setup()
{

pinMode(key, INPUT); // устанавливает режим работы - вход

}

void loop() {
unsigned long currentMillis = millis();
if (!digitalRead(key) {
if (currentMillis - previousMillis >= currentInterval) {
if (currentState == 0) {
// we are ready to fly, throttle max!
for (curThrottle = 0; curThrottle <= maxThrottle; curThrottle += 1) {
esc.write(curThrottle);
delay(20); // Throlle up delay
}
if (curThrottle < maxThrottle) {
curThrottle = maxThrottle;
}
esc.write(curThrottle);
currentInterval = flyingTime;
previousMillis = millis();
currentState = 1;
} else if (currentState == 1) {
// flying time is gone, time to landing
for (curThrottle = maxThrottle; curThrottle > 0; curThrottle -= 1) {
esc.write(curThrottle);
delay(100);// Throlle down delay
}
if (curThrottle < 0) {
curThrottle = 0;
}
esc.write(curThrottle);
currentState = 2;
} else {
// done
}
}
}
}

что бы было понятно, прописана кнопка
это самый простой вариант, кнопка на выключение.
т.е. выключили, и пока она выключена, все работает так как у Вас было )
написано конечно криво, но постарался прикрутить к не самому оптимальному коду.

VitalikV

Ок попробую , отпишусь, кнопка на днях должна приехать как раз. Спасибо.
Хочется чтоб было все просто из готовых компонентов в продаже…

Маркс

Виталий, кнопка в моем варианте не прокатит, если кнопка без фиксации, нужен другой код
это вариант с перемычкой или выключателем, на разрыв цепи ноги 7

VitalikV

Ок , попробую с перемычкой.
Мне просто надо въехать в логику работы контроллера, которую я пока не понимаю, как правильно составить скетч…
Алгоритм того что хочется видеть в итоге , пока рисую на бумаге)))
Для меня спаять прошить , не проблема, а вот с программирование раньше даже близко дело не имел.

Маркс

Виталий, если есть скайп, могу попробовать на двух пальцах объяснить ))

у меня под аватаркой значок скайпа.

VitalikV

Скинул в личку, сейчас убегаю, часов в 9 вечера напишу вам. А там уже договоримся. Спасибо.

Маркс

и совсем забыл добавить, акселерометр с гироскопом вряд ли в чем то помогут.
они измеряют изменение линейной/угловой скорости.
я не знаю как реализовано в устройстве в первом посте темы.
но решение дифференциальных уравнений в масштабах атмеги, труд совсем не благодарный )
если товарищу с помощью гироскопа+акселерометр удалось решить задачу вычисления фактического положения модели в пространстве в конкретный момент, без серьезного накопления ошибки,
с учетом угловых и линейных скоростей, тогда ему большой респект.
любопытно было бы посмотреть, а что там вообще под термоусадкой.

VitalikV

Там такой же контроллер, врятли там чтот считает, скорее просто по сигналу, + или - или его отсутствие.
При движении вверх, ускорение падает, при движении вниз - растет, по горизонту примерно одинаково, не меняется.
Конечно посмотреть, что там под пленкой было бы интересно.

Маркс

Виталий, может и так, но тогда это не совсем то же самое о чем думал я ))
А как он работает при старте модели с земли ?
Модель набирает скорость, значит имеем положительное ускорение,
модуль должен считать, что модель снижается мордой вниз и будет уменьшать обороты.

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

что то все таки не совсем так )

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

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

VitalikV

Я сам еще не совсем понял.
Там при подъеме вверх по оси Х образуется некая составляющая направленная против движения, вот по ней как то все это определяется.
Там от притяжения земли как то считается и поэтому используется акселерометр, а не гироскоп.

Маркс
VitalikV:

Там от притяжения земли как то считается и поэтому используется акселерометр, а не гироскоп.

“не правильный бутерброд”(с)
аксель ни какого отношения к притяжению не имеет.
он измеряет изменение линейной скорости по трем осям
если тело будет двигаться прямолинейно и равномерно и неважно в какую сторону,
тогда по всем осям будет 0.
именно поэтому аксели как и гирики требуют инициализации в состоянии покоя.
у разных моделей, время инициализации от долей секунд до нескольких секунд.
именно поэтому, модели с гироскопами, в том числе и вертолеты после подключения питания надо поставить
“на ровную, горизонтальную поверхность” и дождаться “взмаха элеронами” или еще какого сигнала о готовности гироскопа

VitalikV:

Там при подъеме вверх по оси Х образуется некая составляющая направленная против движения

а вот насчет этого надо покумекать, графики порисовать, сили действующие на тело опять же ))
есть повод голову напрячь, а то усыхает уже на старости лет )

GeeBee
VitalikV:

Там от притяжения земли как то считается и поэтому используется акселерометр

В FFC используется акселерометр типа ADXL20xxx. При повороте кристалла относительно вектора земного притяжения на выходе пропорционально меняется напряжение.

Маркс:

аксель ни какого отношения к притяжению не имеет

заблуждение

Я повторял FFC с акселерометром ADXL202, Все работает. Работает. В сети есть исходник.
Описание акселерометра www.analog.com/en/products/mems/…/adxl202.html

Creolka
GeeBee:

При повороте кристалла относительно вектора земного притяжения…

Апсолютно верно… .
Если мне память не изменяет, последние FFC уже с 3-х координатной “чиповиной”.

Маркс:

аксель ни какого отношения к притяжению не имеет.

Имеет, так-как меряет изменение положения относительно магнитного поля, а ускорение за время этого изменения.

У него “трубки пито” нет.

Маркс
Creolka:

Имеет, так-как меряет изменение положения относительно магнитного поля, а ускорение за время этого изменения.

все правильно, посыпаю голову пеплом, метод измерения совсем другой, а значит MPU-6050 или GY-85 вполне можно использовать.

просто для них есть библиотеки под ардуинку и ценник гуманный

VitalikV

Есть сенсор , работающий по I2C, просто акселерометр, и на 10 степеней свободы, по цифре можно брать как все так и что-то в отдельности.
Вот например amperka.ru/product/troyka-accelerometer

Aeroplex
Маркс:

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

Цель регулирования - поддержание более менее постоянной скорости на любом этапе полета, как и настройка режима 4-2-4 в ДВС. Потому и желателен говернер, как минимум, чтобы держать обороты при изменении нагрузки на винт. Он не даст провалиться оборотам на улах и раскрутиться винту в пикировании, обеспечит торможение винтом.

И еще. Думаю не нужно заморачиваться с регулированием оборотов пропорционально положению носа модели, как это задумано изначально в FFC. Даже супер быстродействие системы не позволит точно откликаться такому инертному устройству как воздушный винт и создаваемой им тяге. Изменение скорости все равно будет запаздывать. Это может и работало бы на затяжных, долгих фигурах в радио, но только не на шустрых кордовых. Вполне достаточно скачкообразного - на упреждение изменения режима, оно само сгладится.

Маркс
Aeroplex:

поддержание более менее постоянной скорости на любом этапе полета

это понятно, я собственно говоря о чем.
как я понял, стоит задача сделать устройство доступное и простое, в том числе и для начинающих.
просто вертолетный рег с гувернером это уже совсем другие деньги.
есть у меня пара мыслей,
вечером отпишусь, заодно подумаем вместе.

Lerik
Маркс:

просто вертолетный рег с гувернером это уже совсем другие деньги.

Любой с поддержкой прошивки BLheli, по полету допиливается и старт и гувернёр и тормоз и отсечка по питанию. 3 типа прошивки: основной ротор, хвостовой винт, мультиротор.

Aeroplex
Lerik:

Любой с поддержкой прошивки BLheli, по полету допиливается и старт и гувернёр и тормоз и отсечка по питанию.

Castle Phoenix… и YEP - “работают из коробки”. Может еще кто какие знает, главная проблема - активировать и говернер и тормоз вместе.

Castle вообще уникальный для кордовых, потому что имеет режим CL и возможность установить обороты в цифрах.

Маркс
Aeroplex:

Castle вообще уникальный для кордовых

CC 50A с башни со всеми скидками выйдет около 80 баксов, так что это совсем не бюджетный рег.
40А YEP + карта программирования (без нее никак) с РУ склада получится около 30-35 баксов, это уже намного лучше.

Но моя идея немного примитивнее.
Ардуина умеет измерять напряжение, с достаточной точностью.
Если заложить в логику программы увеличение ШИМ на регулятор по мере снижения напряжения на батарее,
тем самым появляется возможность реализовать программный гувернер.

т.е. обороты будут меняться вместе с изменение нагрузки на батарею.

VitalikV

Вообще идиальным вариантом было бы, прошивка для регуля под кордовые модели, с уже встроенным таймером. Снял перемычку с сигнального контакта, пошел таймер.
По сути мы просто Ардуиной дублируем то, что может делать сам регулятор… там такой же микроконтроллер стоит.
И как раз это намного увеличило бы скорость отклика регуля на нагрузку на винте.
Собственно сам гувернер отслеживает не только изменения напряжения на батарее, но и нагрузку (падение\подьем оборотов) на моторе.
Собственно у Кастл все уже прописано, надо просто кнопку и таймер (программный) к нему…