Проект "Безколлекторная Лама4"

WFrag
Volante24:

Почему все-таки никто из энтузиастов не написал простенькую программку для простейшего AVRа или PICа, которая бы делала все, что нужно и без всякой калибровки, предполагая, что входные сигналы имеют стандартный интервал длительностей? Такой контроллер сам будет держать моторы выключенными (независимо от раддера и гиро) при отсутствии газа, не давать газ меньше минимума на каждом моторе при включенном газе независимо от раддера и гиро, ограничивать сигнал от гиро, да еще и вдобавок осуществлять FailSafe по обоим моторам по потере сигнала.

Так сделали уже. В каком-то из топиков (кажется, про безколлекторный комманч) и схема была, и прошивка для PIC-а (этот миксер и продаётся в Форсаже).

Алгоритм там прост. Всё отличие от v-mixer-а в двух пунктах:

  1. Есть настройка proportional-а. Т.е микширование осуществляется вот так:

A = thr - (gyro - prop)/4
B = thr + (gyro - prop)/4

где prop настраивается в районе 1.5мс.

  1. Если A < min, то делается так:

B -= (min - A)
A = min

Т.е на A добавляем (min - A) оборотов (и получаем минимум – 1мс), а на B – отнимаем. Насколько я понял, модификация B нужна для того, чтобы при резком развороте вертолет не просаживался по высоте (когда A уходит за минимум).

  1. Для B > max тоже похожий код, но почему-то там оброты от A отнимаются (а не добавляются), типа так:

A -= (B - max)
B = max

Т.е получается, что как-бы и от B и от A отнимается (B - max). Почему так – я не знаю, может просто не так понял код.

Вот и всё.

У меня была идея какой-нибудь готовый V-Tail (например, от Turnigy) перепрограммировать, но я пока не дошёл до реализации этого замысла, коплю деньги. Не факт, что получится, конечно.

Volante24
WFrag:

Так сделали уже.
этот миксер и продаётся в Форсаже.

Вот это по мне и имеет смысл. Только тогда я не понимаю, откуда у людей все эти проблемы с калибровками, вращениями на земле, и пр. Может, я не вник в описание алгоритма, но если все, о чем упоминалось, сделать, то вроде система должна работать Plug&Play…

HikeR
WFrag:

В каком-то из топиков (кажется, про безколлекторный комманч) и схема была, и прошивка для PIC-а

схема самая обычная, прошивка закрытая, автора пытали, но он так ничего и не сказал (в том топике, по крайней мере), все выводы основываются на догадках.

Volante24:

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

давным давно имеется открытая и свободная схема с исходниками - www.gadgetparadise.com/121901/index.htm
разрешение - 1200 точек (а не 200-300 как в продающихся вариантах), fail-safe програмируется, калибровки не требует.

НО. у меня было 2 ламовских пульта, и ни один из них не выдавал стандартный интервал 1.0-2.0мкс на канале газа. в других пультах есть настройка конечных точек, но там какие-то мифические 120%, 150% и тд, сколько это в микросекундах мало кто указывает.

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

WFrag:

A = thr - (gyro - prop)/4
B = thr + (gyro - prop)/4

где prop настраивается в районе 1.5мс.

а вот этот prop меня до сих пор в непонимание вводит. зачем настраивать пропорциональность на микшере дублируя триммер на передатчике? фича, конечно, но безполезная.

Volante24:

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

все это встречается и в указанном микшере, почитайте топик.

Volante24
WFrag:

У меня была идея какой-нибудь готовый V-Tail (например, от Turnigy) перепрограммировать, но я пока не дошёл до реализации этого замысла

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

В любом случае, чего там recycle ить? Только разъемы? Новый сварганить, наверное, проще.

HikeR:

НО. у меня было 2 ламовских пульта, и ни один из них не выдавал стандартный интервал 1.0-2.0мкс на канале газа.

То есть проблема только в этом? Действительно, в моей Валкере, по-моему, импульс что-то вроде от 0.8мс (или 0.9? – уже не помню) до 2мс.

Так тогда, по-хорошему, нужно бы калибровать микшер, а не ESC…

HikeR
Volante24:

Так тогда, по-хорошему, нужно бы калибровать микшер, а не ESC…

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

Volante24
HikeR:

разрешение - 1200 точек (а не 200-300 как в продающихся вариантах), fail-safe програмируется, калибровки не требует.

Что-то я не понял насчет fail-safe: там же ATTINY13, все, конечно, можно запрограммировать – но выключил питание, и все сотрется! Или как?

А насчет разрешения – так можно хоть миллион точек сделать без проблем, только это все лажа, ни серво этого все равно не понимают, ни приемник с передатчиком (аналоговые) такого разрешения не дают. Да и хотелось бы посмотреть на пальцы того пианиста, который может стик подвинуть на 1/1000 хода.

HikeR:

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

Так потому, что это делается для НЕБОЛЬШИХ разбросов. А в ваших примерах там такие длительности фигурировали, что… Я не уверен, что стал бы полагаться в дорогой модели на то, что ESC будет всегда правильно вести себя при запредельных параметрах импульсов. Я ж их кода не видел, и рассчитывать, что они все на свете нештатные использования предусмотрели, не стал бы. Только в этом причина. Но, действительно, дело вкуса – может, ESC и на такой abuse раcсчитаны…

WFrag
HikeR:

схема самая обычная, прошивка закрытая, автора пытали, но он так ничего и не сказал (в том топике, по крайней мере), все выводы основываются на догадках.

Ну почему на догадках :] Я дизассемблировал и смотрел — там всё понятно.

HikeR:

а вот этот prop меня до сих пор в непонимание вводит. зачем настраивать пропорциональность на микшере дублируя триммер на передатчике? фича, конечно, но безполезная.

Я точно не знаю, как работает гироскоп, но триммер на руддере – это модификация входного значения гироскопа, а prop – это как бы сдвиг выходного значения гироскопа (~= предкомпенсации на классике). Думаю, разница всё-таки есть.

Если проводить параллель с предкомпенсацией, то в режиме HH он, возможно, и не нужен.

Volante24:

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

Да, есть большой риск, что вообще никак не получится.

Volante24:

В любом случае, чего там recycle ить? Только разъемы? Новый сварганить, наверное, проще.

В принципе, да. Просто там уже и плата, и спаяно всё и стоит копейки.

Volante24
WFrag:

Просто там уже и плата, и спаяно всё и стоит копейки.

Ну, если копейки, тогда имеет полный смысл. Но тогда чего копить?

WFrag
Volante24:

Ну, если копейки, тогда имеет полный смысл. Но тогда чего копить?

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

HikeR
Volante24:

но выключил питание, и все сотрется! Или как?

как-то сделано. в инструкции четко прописано, куда надо надеть джампер для переключения режимов.

Volante24:

А насчет разрешения – так можно хоть миллион точек сделать без проблем, только это все лажа, ни серво этого все равно не понимают, ни приемник с передатчиком (аналоговые) такого разрешения не дают

200 точек на турниджи, gws и blue nano очень легко заметны на серве с качалкой хотя бы в сантиметр. медленное перемещение стика вызывает сугубо дискретное перемещение качалки. при подключении регуля становится еще хуже, ибо 200 точек - это в расчете на нормальный диапазон, а большинство аппаратур его сужают, поэтому запустить безколлекторники на очень малых оборотах вобще нереально, а выставить ровно 15000 об/мин по тахометру на роторе мне никак не удавалось, все время +/- 300 было. зато без микшера легко выставлял +/- 40-50 об/мин, и это на стоковой искаевской аппе.

у меня разрешение больше 1000 тоже вызывает мысли “а надо ли оно на самом деле”, но 200 - это очень мало. к тому же открытый исходники позволяют сделать 512 точек, например.

Volante24:

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

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

WFrag:

триммер на руддере – это модификация входного значения гироскопа, а prop – это как бы сдвиг выходного значения гироскопа (~= предкомпенсации на классике). Думаю, разница всё-таки есть.

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

WFrag:

Как минимум, двигатели, регуляторы и гироскоп ещё нужны.

начните с гироскопа :) имеется тут один на примете, который довольно быстро инициализируется, что позволяет подключить его к блоку 4в1 вместе со штатной гирой (ессно, отключив штатную).

WFrag
HikeR:

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

Дело может быть не только в самом гироскопе, но и в разном реактивном моменте роторов при одинаковых оборотах. Ну т.е гироскоп неподижен и выдаёт центр (1.5мс?), при prop = 1.5мс получаем одинаковые обороты на роторах. При таких оборотах вертолёт наверняка будет крутить (так как у верхнего ротора момент должен быть больше из-за гироскопа).

Возможно это компенсируется триммером. Ну т.е с моей ламерской точки зрения простейший алгоритм гироскопа будет примерно такой out = in + f(w,gain), где w – скорость поворота хвоста от датчика, f – какая-то функция от датчика и чувствительности. В таком случае действительно разницы не должно быть, что сдвигать in или out.

Но с другой стороны, судя по статье www.rcdesign.ru/articles/radio/gyro_stady f может зависеть и от in (вернее, гироскоп может модифицировать gain в зависимости от in) и тогда сдвиг триммера будет означать не то же самое, что и сдвиг выхода.

SIBIRIADA

Почитал ваши тексты HikeR и Volante24 - сильно и углублённо!
К вам и вопрос. 😃
У меня складывается следующая ситуация, раз на раз не инициализируется правильно один из ESC (Pentium 10A), но стоит подергать ручку руддера, пропискивает как надо и после этого вроде как нормально всё работает.
Так же присутствует подергивание двигателей после посадки в режиме полного отключения газа. (спасаюсь только кнопкой на пульте “THR. Cut”)
Из выше вами сказанного могу слелать вывод что это не лечится подручными средствами т.е. без программаторов, написания программ и т.д. ?
Или всё таки стоит вернутся к пункту “калибровка ESC” описанная выше HikeRом? 😃

HikeR
SIBIRIADA:

не инициализируется правильно один из ESC (Pentium 10A)

подергивание двигателей после посадки в режиме полного отключения газа

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

SIBIRIADA

Увеличил endpoint-ы для канала газа на 10% - помогло!!! Ура!!!
HikeRу - респект! 😃

Volante24
HikeR:

то есть вы не уверены, что дорогие регули будут правильно работать при выходе сигнала за пределы?

Да не дорогие регули, а дорогие модели (вертолетов, самолетов и пр.)! Мы ж на каком форуме находимся? И не модели будут работать или нет, а что с ними может случиться из-за того, что какой-нибудь гаджет на них откажет, в полете.

Genosse
WFrag:

A-73 — это что такое?

Это микшер сделанный Андреем Таволжанским (Андрей-73) 😃 Сократил, потому как думал все уже знают и поймут 😃

WFrag
Genosse:

Это микшер сделанный Андреем Таволжанским (Андрей-73) 😃 Сократил, потому как думал все уже знают и поймут 😃

А, точно.

Я думаю, с ним не получается отрегулировать т.к он сам входит в режим программирования при максимуме газа. А V-Tail миксеры просто выдают максимум газа дальше, на регуляторы.

HikeR

дошли таки руки, чтобы потестить собственноручно перемотанные turndigy d1811-3800 (подробности здесь)
до перемотки на холостом ходу моторы выдавали почти 31000 об/мин, соединение обмоток треугольником, полученный kV - 3780.
после перемотки получилось 27000 об/мин, обмотки соединил звездой, kV - 3290.

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

Volante24
HikeR:

на стоковых лопастях отвисел почти 13 минут, для меня это рекорд, на этих же моторах первоначально не больше 10 получалось

Ну правильно, я поэтому всегда хотел иметь kV без особого избытка. Чем выше kV, тем, при той же нагрузке, меньше duty cycle PWM импульсов в моторе, соответственно, растут потери в моторе.

31000 об/мин, соединение обмоток треугольником, полученный kV - 3780.
после перемотки получилось 27000 об/мин, обмотки соединил звездой, kV - 3290.

Тут у Вас несоответствие по числам. kV меняется сильнее при изменении со звезды на треугольник (падает в Sqrt[3] раз, примерно 1.7). Так, как Вы его измеряете, это очень неточно. Просто при таких оборотах скорость коммутации огромная и мотор просто не развивает ожидаемых оборотов kV*V из-за побочных эффектов (регулятор и т.д.). Когда я переключил таким образом обмотки в хорошем менее оборотистом моторе и измерил kV на низком напряжении, у меня получилось падение в kV ровно как нужно. А на большем напряжении kV занижалось.

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

HikeR
Volante24:

Тут у Вас несоответствие по числам.

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

а вот сейчас попробовал на холостом ходу погонять со звездой этот же мотор - 44000-45000 об/мин. неточно так как все на весу делал. вот и ожидаемое увеличение kV, правда мотор стало можно остановить касаясь спичкой боковой части, до этого он еще как-то сопротивлялся 😉

Volante24:

и измеряя темтером напряжение на фазах отсоединенного мотора.

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

Volante24
HikeR:

скорее всего вы не прочитали мою ссылку .
изначально мотор имел 20 витков.

Прочитал внимательно, но этого не извлек (потому как в том посту этого нет – это где-то в предыдущих). При нормальном чтении создавалось впечатление, что главная модификация – это треугольник в звезду, плюс как муторно перематывать моторы. Теперь-то все стало на свои места.

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

Скорее всего, не будет, нет таких диодов в тестере, у которых граничная частота килогерц. Ну а если есть сомнения, можно на одном диоде сделать выпрямитель и откалибровать (в нижней части, при напряжении около вольта может подвирать).

HikeR
Volante24:

но этого не извлек

да, на пару постов выше про то что изначально было.

кстати, по поводу замера. предположим, получу я на одной фазе полвольта, как соотнести напряжение, обороты и сопротивление обмотки с реальным kV?

HikeR:

а вот сейчас попробовал на холостом ходу погонять со звездой этот же мотор - 44000-45000 об/мин.

блин, или у меня тахометр врет, или инструкция к регулятору, которая утверждает, что 12-ти полюсной мотор может вертеться максимум на 35000.
хотя цифры получились весьма правдивые.

Volante24
HikeR:

кстати, по поводу замера. предположим, получу я на одной фазе полвольта, как соотнести напряжение, обороты и сопротивление обмотки с реальным kV?

Так, грубо говоря, напряжение на фазе и есть kV на скорость вращения. Ну там есть вопрос, амплитудное значение или RMS и т.д., но грубо говоря, это оно и есть. Во всяком случае отношение kV для разных моторов так определяется однозначно.

Просто если скорость вращения такова, что это напряжение на фазе превысит напряжение питания, то что там ESC не коммутируй, ток в обмотки просто не потечет.

А сопротивление обмоток в kV не входит, оно просто определяет падение напряжения (то есть, грубо говоря, вместо напряжения батареи входит оно за вычетом R*I). Так же и трение в подшипниках на kV не влияет, можно ротор рукой затормозить и он вращаться перестанет, но kV от этого не меняется.

Другой вопрос, что производители понимают под kV, который они заявляют…

или инструкция к регулятору, которая утверждает, что 12-ти полюсной мотор может вертеться максимум на 35000.

Нет, инструкция к регулятору такого говорить не может. Она просто говорит, до каких оборотов регулятор будет правильно коммутировать ток (например, не пропускать импульсы). В зависимости от заложенного софта можно, наверное, раскрутить и выше – как ДВС может же работать без нагрузки, если смесь воспламенется, скажем, каждый второй раз.

HikeR
Volante24:

грубо говоря, напряжение на фазе и есть kV на скорость вращения.

ясно. остается добавить в коллекцию барахла еще и синхронный мотор 😉

Volante24:

что производители понимают под kV, который они заявляют…

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

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

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

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

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

теперь озадачился поиском подшипников 2х5х2.5, похоже все идет к тому, что дешевле купить пару новых моторов и наковырять оттуда 4 подшипника (в том же хоббисити).

Volante24
HikeR:

теперь озадачился поиском подшипников 2х5х2.5, похоже все идет к тому, что дешевле купить пару новых моторов и наковырять оттуда 4 подшипника (в том же хоббисити).

Могу дать доморощенный совет. Скорее не пройдет, то кто знает…

Как-то на заре знакомства с Валкерой и попыток ее заставить летать, я потерял – на улице – подшипник внутреннего вала. А дело было в Милане. Обидно до слез, что делать? Подшипник быстрее чем за месяц не получить. В общем, сделал я своими руками две втулки – одна из второпластового винта М3, а другая из латуни. И прекрасно работало – от родного подшипника работу было не отличить.

Не поверите – через три с половиной дня я-таки нашел этот подшипник в нескольких метрах от подъезда, на улице. Обрадовался страшно, но, кстати, менять не торопился, поскольку и самопал работал ничуть не хуже (а может и лучше – совсем без люфта 😛).

Буквально, ситуация здесь другая – обороты в 8 раз выше и трение может быть посущественней. Но может и пройдет, ну, смазывать маслом время от времени, бесколлекторникам это не повредит!

А если нет, то, может, можно поставить туда подшипник от внутреннего вала, а на его место такой самопал?