Про DragonFly 5 (с инженерным уклоном)

Vad64

Товарищ купил себе DF5. Летать было практически невозможно. Сервоприводы работали рывками, жуткие мертвые зоны. Кроме того, батареи хватало на 20-30 секунд, после чего все просто отрубалось. Товарищ расстроился и попросил меня посмотреть, в чем дело.

Разобрал, посмотрел как устроено. Один процессор Atmel ATtiny26L управляет всем: берет сигналы с приемника, гироскопа и потенциометров ОС машинок и выдает сигналы на моторы и сервомоторы. Проверил по отдельности все блоки - все ОК. Однозначно проблема в китайски-бесталанном программном обеспечении процессора. Выдрал процессор, впаял такой же чистый, прицепил разъем ISP. За два дня написал с нуля свой софт, залил в процессор, отладил. Сервомашинки стали работать ИДЕАЛЬНО. Откликаются на каждый щелчок триммера, все быстро, плавно и точно. Теперь вертолет летает и управляется отлично. Могу висеть, летать в комнате 2х3м, садиться на стол и т.д. (вообще-то, я новичок в этом деле).

Но проблема с батареей осталась. Во-первых, в каждый LiPo элемент вставлена электроника и срабатывает защита при падении напряжения до 2,7В. Отключил защиту - отрубаться перестало, но время не сильно увеличилось, до 2 минут макс. Измерил ток - до 6-7А, что явно много для такой батареи. При этом сильно греются моторы (60-70С). Думаю, что они не в режиме и работают с низким кпд. Отсюда вопрос - что можно изменить, чтобы улучшить режим моторов? Если есть в этом вопросе спецы, давайте обсудим!?

Вад

vovic
Vad64:

За два дня написал с нуля свой софт, залил в процессор, отладил. Сервомашинки стали работать ИДЕАЛЬНО. Откликаются на каждый щелчок триммера, все быстро, плавно и точно. Теперь вертолет летает и управляется отлично. Могу висеть, летать в комнате 2х3м, садиться на стол и т.д. (вообще-то, я новичок в этом деле).

Очень круто!
А поделится софтом? Или это - коммерческий проект?
Возможно, частота ШИМ в софте низковата? Потому и моторы - греются. 😕

Wasia

А исходником не поделишся?
Я сейчас делаю практически тоже самое, но так чтобы приемник работал с обычным PPM передатчиком.
В данный момент пишу кусок встроенного спид контроллера.

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

Я думаю с моторами ничего не сделать, только радиаторы на него клеить.

P.S.
А какая частота шима оптимальна для этих движков ?
Родная продолжительность периода 0,5ms.
Двигатель какой то 400.

А, извиняюсь я ковыряю приемник от ДФ 35. Он только спид контроллер содержит в себе. 😃

Vad64
vovic:

А поделится софтом? Или это - коммерческий проект?
Возможно, частота ШИМ в софте низковата? Потому и моторы - греются. 😕

Я пока не принял окончательного решения о публикации исходников. Не хочется кормить инженеров Walkera. Подумаю. Могу ответить на все вопросы по алгоритмам. И/или прошить микросхему.

Частоту ШИМ я выбрал, как была - 500 Гц. Увеличить ее в несколько раз - не проблема, но я не понимаю, как она может влиять на ток потребления? Какова тогда оптимальная частота? Тип двигателей FK-180SH. Нашел на него даташит, но там есть разные исполнения (09450 и 17140) и ни одно не похоже по электромеханическим характеристикам на реальный мотор. Может, у кого-то есть правильный даташит?

По всем расчетам, должен потреблять ампера 3-4, не больше. Тогда и полетное время будет приемлемым - 10 мин и больше. Нет ли у кого-нибудь возможности измерить потребляемый ток на другом экземпляре DF5?

PavelSu

Скорее всего проблема связана с рабочим напряжением используемого двигателя. У вертолетов обычной схемы (Walkera 4) это выражается в быстром отказе двигателя хвостового ротора. Это предположение подтверждает проведенная модернизация шмелей производства Piccolo и GWS, когда в хвосте устанавливается двигатель без редуктора. По GWS: в ранних версиях стоит двигатель B2C с рабочим напряжением 4.5 V , в последней CN12-R-XC на 7.2 V

Wasia

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

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

А в каком режиме он 6-7 А кушает ?

Померяю на своем.

Vitaly
Vad64:

Я пока не принял окончательного решения о публикации исходников. Не хочется кормить инженеров Walkera. Подумаю. Могу ответить на все вопросы по алгоритмам. И/или прошить микросхему.

Частоту ШИМ я выбрал, как была - 500 Гц. Увеличить ее в несколько раз - не проблема, но я не понимаю, как она может влиять на ток потребления? Какова тогда оптимальная частота? Тип двигателей FK-180SH. Нашел на него даташит, но там есть разные исполнения (09450 и 17140) и ни одно не похоже по электромеханическим характеристикам на реальный мотор. Может, у кого-то есть правильный даташит?

По всем расчетам, должен потреблять ампера 3-4, не больше. Тогда и полетное время будет приемлемым - 10 мин и больше. Нет ли у кого-нибудь возможности измерить потребляемый ток на другом экземпляре DF5?

Круто!

Насчет ШИМ-а возможно лучше поставить 3 килогерца частоту хотя бы. Этого с запасом должно хватить. У китайцев свои проблемы: им надо чтоб продавалось хорошо. А значит, чтобы ломалось чаще 😃 . Так что 500 герц в оригинале - не обязательно повод чтобы на них равняться.

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

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

Насчет защит не совсем понял. Банки что ли нестандартные? Совсем без защиты нельзя. Достаточно 1 переразрядки, чтобы банки угрохать насмерть. Для верта идеальный вариант - когда регулятор при просадке напряжения начинает обороты сбрасывать плавно. Резко отсечку как на самолете делать естественно не стоит.

Vad64
Wasia:

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

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

А в каком режиме он 6-7 А кушает ?

Померяю на своем.

6-7 А - при полном газе.

1000 мА-ч NiMh.

Сигнал приемника заведен на вход внешнего прерывания. Прерывание настроено на задний фронт импульса. Бежит таймер (8 бит аппаратный и еще 8 - программно). По внешнему прерыванию считывается таймер и из этого значения вычитается предыдущее значение. Разность, следовательно, - время между фронтами в тиках таймера. Оно сравнивается с макс и мин допустимым значением для синхроимпульса и для канального импульса. Если приходит корректный синхроимпульс и потом 9 корректных канальных, выставляется флаг готовности и длительности 4х первых каналов копируются в рабочие ячейки для сервоприводов. Если хотя бы один импульс не уложился в допустимые границы, сбрасываем флаг синхронизации и снова ждем синхроимпульс. Из каждого канального значения вычитаем минимум (760 мкс) и по таблице приводим к диапазону 0…255. Все вычисления проводятся в единицах тика таймера (у меня - 7.8 мкс), при этом длина таблицы получается 180 байт. Заметьте, все делается в фоновом режиме, по прерыванию.

Если есть 16битный аппаратный таймер с input capture, то все проще - используется прерываание input capture. Я так делаю в своей USB примочке к передатчику.

Добавлено

PavelSu:

Это предположение подтверждает  проведенная модернизация шмелей производства Piccolo и GWS, когда в хвосте устанавливается двигатель без редуктора.

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

Добавлено

[quote=Vitaly,Jun 2 2005, 17:38;147880]

Насчет защит не совсем понял. Банки что ли нестандартные? Совсем без защиты нельзя. Достаточно 1 переразрядки, чтобы банки угрохать насмерть.

/quote]

Я не знаю, там на каждой банке маленькая PCB. Я ее выкинул. А зярядное у-во у меня самодельное с процессором. Ведет ток, напряжение и температуру.

Vitaly
Vad64:

Я не знаю, там на каждой банке маленькая PCB. Я ее выкинул. А зярядное у-во у меня самодельное с процессором. Ведет ток, напряжение и температуру.

Может это балансеры были? Вещь очень нужная. Последовательно подключены или параллельно каждой банке?

Может просто банки стухли уже во время экспериментов? У вас все-таки LoPo или NiMH ? А то в разных сообщениях разное написано. Если LiPo то штатные от вертолета или выдранные откуда-то? “модельные” банки даже самые хреновые 6С отдают. А нормальные - до 16-20С. Гляньте на этом сайте статью про литий-полимеры, она с “модельным” уклоном, многое сразу прояснится.

Vad64
Vitaly:

Может это балансеры были? Вещь очень нужная. Последовательно подключены или параллельно каждой банке?

Может просто банки стухли уже во время экспериментов? У вас все-таки LoPo или NiMH ? А то в разных сообщениях разное написано. Если LiPo то штатные от вертолета или выдранные откуда-то? “модельные” банки даже самые хреновые 6С отдают. А нормальные - до 16-20С. Гляньте на этом сайте статью про литий-полимеры, она с “модельным” уклоном, многое сразу прояснится.

Параллельно.

Объясню. В комплекте с DF5 моего товарища была родная LiPo. Кажется, 800мАч. Летать с ней было невозможно - через 20-30 секунд срабатывала встроенная в банку защита и все отрубалось. Я снял разрядно-зарядные характеристики. Емкость примерно соответствовала заявленной, но внутреннее сопротивление - слишком большое для разряда с 8-9С. Напряжение сразу просаживолось на 1.5-2В и через полминуты - защита. Возможно, в магазине (на Кожуховской) подсунули плохую батарею.

Дальше все эксперименты проводил с NiMH.

Собственно, батарейный вопрос меня пока не волнует. Проблема-то другая: разогрев моторов и слишком высокий, на мой взгляд, ток потребления. Я полагаю, что общий ток вертолета должен быть 3-4А, при этом кпд в районе 50%, значит, в тепло уйдет 10-15Вт. А это для моторов такого размера будет вполне нормально. На практике все почему-то гораздо хуже - потребление 40-50 Вт, а значит в тепло уходит 30-40 Вт. Вот и хочется разобраться.

Уж очень мне понравилась, как эта штука летает после переделки. Идеальный вариант для квартиры - можно летать из комнаты в комнату, садиться на мебель и т.д. На моем DF4 в комнате так не полетаешь.

Vitaly

Если платки были подключены параллельно, то это вроде как балансеры. Их лучше обратно приткнуть.

Насчет нагрева - фик знает. Все коллекторные моторы греются как черти, это нормально. 800 ма/ч при токе 6 ампер минут на 8 хватает, если калькулятор не врет. По-моему зря вы тут мудрите. Поставьте ШИМ 3-5 килогерц, чтобы душенька была спокойна, а дальше банками займитесь, и как сделать чтобы защита плавно обороты сбрасывала, чтобы LiPо не угрохать случайно.

Ежели совсем “конфету” делать - это только движок на бесколлекторный менять. У обычного все равно щетки будут относительно быстро садиться при активной эксплуатации.

Wasia
Vad64

6-7 А - при полном газе.

1000 мА-ч NiMh.

У меня при висении примерно 5, при максимальной мощности и максимально возможном положительном угле лопастей 10.

Мотор тоже грееться безбожно.

Но это ДФ 35.

PavelSu
Vad64

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

Комплект двигатель-винт можно купить Здесь код двигателя GW/EDP-50/H код винта с переходником GW/H001-FD5002-030B
Но сразу предупреждаю - есть проблемы:

  1. Двигатель не встанет на стандартное место DF4 - поскольку круглый. Можно приобресть стабилизатор от GWS код GW/HAS-002, но тогда со стандартной балкой придется летать на пределе триммера (надо сделать длиннее). Лучше всего изготовить самодельное крепление по аналогии с Piccolo v2 там грамотно решен вопрос балансировки по крену.
    2.Двигатель тяжелее и стандартное крепление аккумуляторов работает на пределе. Мне пришлось поставить узел поддержки от того же GWS. Теперь они мирно висят перед передней стойкой шасси, правда для этого переднюю поперечную балку пришлось сделать ручками из алюминия (не выдержала очередного креша)

Если сообщите мне на мыло почтовый адрес могу выслать комплект, тем более я заинтересован в решении проблемы управление DF4 от стандартного PPM передатчика. Уж очень хочется пульт от Walkera об стену ё…

IvanG

Скажу как пользователь Walkera Dragonfly 5C. На штатных (LiPO 7.4v / 720 mAh) аккумуляторах верт летает минут 15 точно. Отсечка по питанию есть, причём хитрая - в режиме отсечки обороты медленно понижаются до нуля - где то в течение 30 секунд, видимо такая “мягкая” посадка. Моторы даже после 15 минут эксплуатации не настолько горячие чтобы плавить пластик - но горячие ессно. Сервы дрожат - но далеко не фатально, вполне терпимо.

Wasia
Vad64

6-7 А - при полном газе.

1000 мА-ч NiMh.

Сигнал приемника заведен на вход внешнего прерывания. Прерывание настроено на задний фронт импульса. Бежит таймер (8 бит аппаратный и еще 8 - программно). По внешнему прерыванию считывается таймер и из этого значения вычитается предыдущее значение. Разность, следовательно, - время между фронтами в тиках таймера. Оно сравнивается с макс и мин допустимым значением для синхроимпульса и для канального импульса. Если приходит корректный синхроимпульс и потом 9 корректных канальных, выставляется флаг готовности и длительности 4х первых каналов копируются в рабочие ячейки для сервоприводов. Если хотя бы один импульс не уложился в допустимые границы, сбрасываем флаг синхронизации и снова ждем синхроимпульс. Из каждого канального значения вычитаем минимум (760 мкс) и по таблице приводим к диапазону 0…255. Все вычисления проводятся в единицах тика таймера (у меня - 7.8 мкс), при этом длина таблицы получается 180 байт. Заметьте, все делается в фоновом режиме, по прерыванию.

Если есть 16битный аппаратный таймер с input capture, то все проще - используется прерываание input capture. Я так делаю в своей USB примочке к передатчику.

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

А на какой частоте проц и какой делитель для этого таймера счетчика ?

И еще, когда вы выдаете импульсы на машинки это прерываниние не мешает ?

Vad64
Wasia:

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

А на какой частоте проц и какой делитель для этого таймера счетчика ?

И еще, когда вы выдаете импульсы на машинки это прерываниние не мешает ?

Проц - 8Мгц, делитель - 64. Т.е. один тик - 8 мкс (я ошибся в прошлом посте, указав цифру 7.8). Это дает (2284-760)/8 = 190 дискретов положения стика. Реально с передатчиком Walkera несколько меньше (160-170).

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

Учтите, я выдаю импульс не на рулевую машинку, а управляю серводвигателем, отслеживая положение по потенциометру ОС (в DF5 нет рулевых машинок), что существенно усложняет задачу.

Wasia

А вот не совсем понял - если меряем по задним фронтам импульсов то за паузу просто берем какую то константу ? То есть меряем импульс вместе с меж импульсной паузой ?

А она примерно одинакова в разных передатчиках ?

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

Denis-G
Vad64:

Товарищ купил себе DF5. Летать было практически невозможно. Сервоприводы работали рывками, жуткие мертвые зоны. Кроме того, батареи хватало на 20-30 секунд, после чего все просто отрубалось. Товарищ расстроился и попросил меня посмотреть, в чем дело.

По описанию есть проблема с питанием. 😃 Но Вы настоящий хирург…“резать к чертовой матери”… и кажется это первый хак Walkera который мне попался на русском интернете. Непременно, опишите это подробней.

Где товарищ купил себе DF5?

Подобная проблема возникает и на любой другой rc моделе, если есть проблема со стабильным питанием и потреблением. И возможно это единственная болезнь вашего вертолета. Кто-то слишком много ест 😅

  1. Очень много на китайском рынке дешевых батареек Lipo, составленных из 6С-7С банок.
  2. Моторы стоят явно не родные. Если не трудно скиньте пару фоток вашего железа.

Если взять Walkera приемник подключенный к стационарному блоку питания, без моторчиков. Поменяйте серво, для чистоты эксперемента, на заведомо беспроблемные. Как сейчас ведет себя родная электроника?

Vad64
Wasia:

А вот не совсем понял - если меряем по задним фронтам импульсов то за паузу просто берем какую то константу ? То есть меряем импульс вместе с меж импульсной паузой ?

А она примерно одинакова в разных передатчиках ?

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

Насколько я понял из документации к FMS, информационным является время между задними фронтами: 760 мкс мин и 2248 -макс. 1528 - среднее значение. Поэтому я вычитаю код, соответствующий 760.

Обнулять счетчик нельзя по двум причинам: он используется в ШИМ для главных моторов и точность будет хуже, т.к. задержка входа в прерывание (точнее, время между фронтом и обнулением счетчика) будет влиять на текущий и все последующие отсчеты. Если таймер не обнулять, а использовать разность, то таймер можно использовать для ШИМ, а задержка не влияет на накопление ошибки.

Добавлено

Denis-G:

Где товарищ купил себе DF5?

Подобная проблема возникает и на любой другой rc моделе, если есть проблема со стабильным питанием и потреблением. И возможно это единственная болезнь вашего вертолета. Кто-то слишком много ест  😅

  1. Очень много на китайском рынке дешевых батареек Lipo, составленных из 6С-7С банок.
  2. Моторы стоят явно не родные. Если не трудно скиньте пару фоток вашего железа.

Если взять Walkera приемник подключенный к стационарному блоку питания, без моторчиков. Поменяйте серво, для чистоты эксперемента, на заведомо беспроблемные.  Как сейчас ведет себя родная электроника?

Аппарат куплен в марте в Москве, в магазине на Кожуховской (hobbyforyou?).
Питание и машинки - это две разные проблемы. Сервомашинки не работали нормально и при отключенных моторах.
Не знаю, отличается ли DF5C от DF5, но в нашем конкретном случае машинки работали так: при медленном отклонении стика до крайнего положения, рычаг машинки делал 2-4 рывка, оставаясь неподвижным между рывками, т.е. небольшие перемещения стика не отрабатывались вообще. При быстром возврате стика наблюдались колебания рычага вокруг центрального положения.

Моторы на вид приличные. Приклеена бумажка с типографским текстом FK-180SH BD44 4403 Made in China. Сфоткать не могу - отдал аппарат товарищу.

Про замену серво не понял - в DF5 встроенные серво, их нельзя поменять. Повторяю, после замены firmware на самодельное, все работает идеально. Только неэффективно работают моторы. Конечно, можно поставить мощные LiPo и прямо повышать энтропию Вселенной, но хочется разобраться и использовать энергию бОльшей пользой.

Creator

Vad64, купил себе Dragonfly 5 и точно такая же песня, как ты и описал.
Вырубается через 15-30 секунд, жутко греются моторы.
А однажды вообще выдал - при взлете начал раскручиваться безбожно (слава богу поймал). Один из роторов УЖЕ не управлялся с пульта и даже выключение тумблером ничего не дало. Только отключением АКБ.
Отдал в ремонт (2 дня как купил). Поменяли ВСЮ электронику. Но как вырубался, так и вырубается, НО на Ni-Cd - работает и летает великолепно.
Кстати сервы тоже периодически глючат (рывками).
В Итоге меняю с доплатой на другой - менее проблемный.

Vad64
IvanG:

Скажу как пользователь Walkera Dragonfly 5C. На штатных (LiPO 7.4v / 720 mAh) аккумуляторах верт летает минут 15 точно. Отсечка по питанию есть, причём хитрая - в режиме отсечки обороты медленно понижаются до нуля - где то в течение 30 секунд, видимо такая “мягкая” посадка.

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

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

Wasia
Vad64:

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

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

Вот и в RX-602 который стоит в ДФ 35 тоже самое, кто летает на литии будьте осторожнее.

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

IvanG
Vad64:

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

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

Я ещё так понял что в Вашем Драгонфлае сервы составляют единый блок с контроллером? В моём 5С сервы - обычные 9 граммовые (лоу профайл) NARO подключаемые 3-мя проводами. Защита срабатывает именно при снижении напряждения питания, специально сейчас проверил. И при пропадаении сигнала кстати тоже.

Vad64
IvanG:

Я ещё так понял что в Вашем Драгонфлае сервы составляют единый блок с контроллером?

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

С отдельными рулевыми машинками - это DF5 V2. С ними, говорят, проблем с серво нет. Где-то на rcgroups были фотки обоих блоков - V1 и V2, сейчас что-то не могу отыскать.

Вад

IvanG
Vad64:

С отдельными рулевыми машинками - это DF5 V2. С ними, говорят, проблем с серво нет. Где-то на rcgroups были фотки обоих блоков - V1 и V2, сейчас что-то не могу отыскать.
Вад

У меня не V.2 а именно DF-5C, на коробке и в мануале так написано.