Самодельный конвертер сингала PWM в PPM для регуляторов БК двигателей

RXL

Есть новые прошивки. Может кто-нибудь потестить их?
files.shelek.su/…/pwm-to-ppm-RXL-2.0.2-hex/
Пока собрал только для pic10f200. Если нужны другие - скажите. Прошивки пока в стадии доработки. В отладчике работает.

Babay

Готов потестить хоть прямо сейчас, можно даже сырцы, соберу под 202-й, ну и могу покрутить там параметры, какие будут.

gershpion

Кстати, Babay, тебе удалось прошить AVR-ский контроллер? Я о конвертере, что на рс-груп.

Babay

Завтра приедут ATtiny13, буду пробовать прошивать их через PicKit2, потому что больше нечем. Если что получиться, то обязательно расскажу. Можно прошить или так pickit2.isgreat.org (не реклама) или попробую с патчем для поддержки PicKit2 к avrdude под линукс.

RXL

Исходники пока не выкладываю - сперва порядок там наведу 😃

Нового там, если с точки зрения программы, 90%, а если с утилитарной точки зрения, то меньший цикл PPM (6 мс и 4 мс), меньшая задержка между входным и выходным сигналами и по прежнему это для двух каналов. Сейчас работаю над фильтром для дальнейшего сокращения запаздывания. В перспективе еще - раздельная длительность цикла для каналов.

В тестах мне интересно:

  1. Заработает ли вообще на железе.
  2. Как отнесутся регули к 6 мс циклу, а тем более к 4 мс.
  3. Будет ли отличие от предыдущей версии (1.5.1).
Babay

Тогда жду и под 202-е, потому что 200-х нету.

gershpion

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

Babay опередил меня

Babay

Попробовал. Регуль TGY 5A. С 4мс не завелось. С 6мс заводится через раз и на среднем газе. Хвост с 6мс вроде держит, но из-за большой мощности движка проворачивает вокруг. Лопнул флайбар. Сейчас наколхожу и продолжу.

RXL

Попробую тоже добраться до железа. У меня регуль HK 3A и движок AP-03. На прошивку 1.5.1-7 реагировал нормально.

Babay

На 7мс у меня тоже нормально реагирует. А с 6мс как то странно, то заведется, то нет.

Полетал еще. Хвост на 6мс не дрожит. Но не все прекрасно. Из за нестабильного хавания сигнала на 6мс регулятор иногда дурит и останавливает двигатель на некоторое время. Из за этого хвост прокручивает против часовой стрелки почти полный оборот. Периодичность примерно раз в секунду. Если по этому новому алгоритму еще на 7мс попробовать сделать, то думаю получится хвост сделать. Разломал очередной хвостовой ротор в труху. Ничего, у меня еще 5 есть:)

Babay

Попробовал еще и с TGY 3A с 6мс. То же заводится через раз. При увеличении газа просто переинициализируется.

RXL

Ага. Спасибо. Значит наш предел - 7 мс. Расширю - это легко. Вечером будут прошивки для 202.

Babay

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

RXL

Да, там была задержка в среднем на пол длины цикла, а тут обработка идет в начале импульса. Что характерно, качество определения скважности ШИМ от этого не пострадало - так же точность порядка 2-4%.

У меня там несколько экспериментальных нововведений - надо разобраться, какие не нужны, а какие полезны.
Дописал фильтр, который ускоряет реакцию на изменение входного сигнала.
Формула примерно такая: Y(n) = X(n) + f(X(n) - X(n-1))
Смысл фильтра: я считаю, что регуль тоже вносит задержку, т.к. ему нужно сперва замерить PPM, наверняка у него и фильтр сигнала есть, а потом инерция движка - (думаю, что у коллекторника она меньше, т.к. диаметр ротора меньше).

gershpion
RXL:

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

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

Babay

У коллекторника приемистость на порядок выше. Не зря же такого рода движки стали делать coreless, чтобы ротор сделать максимально легким, чтобы инерция ротора была как можно меньше. Так что тут спорный момент, кто резче ротор провернет. Ну да эксперименты покажут, будет толк от фильтра или нет.

cylllka

ЕПТЬ!!! Не заглядывал я сюда О_о А тут во всю тестится прошивка!
Вечером присоединюсь!

Вот поставили БК на МСПИкс


Хвостовой пропеллер от Блейд120sr

Вот как он летает:

www.nanoheli.net/…/mcpx-full-brushless-19-05-11/
www.nanoheli.net/…/mcpx-full-brushless-06-06-11/
nanoheli.net/…/mcpx-full-brushless-tdr-14000-bl-11…
nanoheli.net/…/mcpx-full-brushless-tdr-14000-bl-10…

Автор пишет что хвост мега стабильный. А моменты от ОР у “Чертенка” намного выше чем у прохи, при резком перекладывании шага.
Я ему написал письмо с парой вопросов, жду ответа.
Во всяком случае нужно пробовать на хвост лопасти от 120ки.

RXL

Новая прошивка на 7 мс.
files.shelek.su/…/pwm_to_ppm-RXL-2.0.3-hex/

Исходник.
files.shelek.su/…/pwm_to_ppm-RXL-2.0.3.zip
Процентов на 95 готово. Если есть желающие экспериментировать - попробуйте включать там фильтры (на каждый канал индивидуально).

Есть еще одна возможность для оптимизации - варьировать положение импульсов каналов относительно друг друга. В выложенных прошивках и исходнике - вариант 1.

Вариант 1.

Вариант 2.

Вариант 3.

Babay

Что-то не могу собрать. Вот ошибка:

ppm_loop.asm:32:Error [115] Duplicate label or redefining symbol that cannot be redefined. (ppm_loop)

Собираю с помощью gputils. И еще пара варнингов вышла:

chip_select.inc:11:Warning [215] Processor superseded by command line.
chip_select.inc:13:Warning [231] found lower case match for include filename

Первый-то варнинг понятно, а второй - непонятно откуда, ну да ладно.

Попробую пока скомпиленную прошивку…