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

ZusuL

Для эксперементов не рекоминдуют юзать XP_3A_1S_0.7g.
Пишет что юзает turnigy 6A 2Khz pwm Quax) mod (по видемому изначально управляется шимом 2кГц). на тиньке собрал шим конвертор 8кГц в 2кГц (видемо вертолет выдает шим 8кГц). Дальше о моторах…
Из приведенных рисунков понятно что они дабавляют схему для усиления/ослабления сигнала гироскопа. И похоже они рекомендуют ослабить его, тогда диопазон допустимых оборотов хвостового винта увиличится…
Еще что то говорят про какую то кривую эффективности (двигателя или шим контроллера) .
Также рекомендуют облекчить хвостовой винт, для снижения его массы/инерции/времени набора скорости вращения.

sashok17

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

Блин я смотрю они поменяли просмотр фото, теперь можно просмотреть только фотки из одного сообщения, а не из всей темы как раньше=(

Хмм… а я думал что там два гироскопа, один по крену и тангажу, а второй по хвосту. Или я что-то не так понял?

ZusuL
sashok17:

Надо нарыть теперь там прошивку

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

sashok17:

два гироскопа

Хз сколько там осей гироскопа (маркировка потерта), но одним операционником они только один канал регулируют (даже смысла нет все 2-3 оси разом регулировать, разобьетесь тут же). В целом может в этой микросхеме одно или 2-х или 3-х осевой гироскоп быть. Если найдете выходы остальных осей берете уже 2-3 усилителя и делаете тоже самое для каждого канала (ор284 -2 усилителя в одном корпусе).

Также подчеркну что turnigy 6A 2Khz pwm (Quax) mod и что то от валькиры он юзает скорее всего не просто так.
Если регули имеют хоть сколько то вменяемую прошивку они должны подходить на порядки лучше чем обычные регули:
1 Обычный регулятор обязан реагировать на поступающие команды как минимум 50раз в сек (может но далеко не обязан делать этого чаще)
turnigy 6A 2Khz pwm (Quax) mod скорее всего отрабатывает 2000 команд в сек (лучший случай). Как результат реакция мотора на изменение положения вертолета будет значительно плавнее и практически мгновенна, а виляние хвостом сведется к минимуму.
2 Конвертор 8кГц в 2кГц будет иметь задержку в десятки микро секунд против 2-10милисек. Переходить на тини особо нет смысла, единственное преимущество это то что можно попробовать готовую прошивку попросить…

sashok17

А что они за операционник использовали? То что написано я ничего не нашел…

ZusuL

На картинке написано… www.analog.com/static/…/OP184_284_484.pdf
В принципе данный тюнинг должен работать и со стоковым мотором.

Могу еще добавить что гироскоп скорее всего www.sparkfun.com/…/Datasheet_IDG500.pdf. Корпус похож и по выводам вродебы совподает. Итого - двухосевой гироскоп + op284 + 2переменника… получаете регулировку обеих осей, по массе добавится дополнительно только 1 переменник (284 и 184 оба в соп8). Одно но - ХЗ зачем это может быть нужно…
Выход 2 оси подрисовал, резисторы видемо надо искать на обратной стороне…
Повторюсь на op184 свет клином не сошолся, можно найти чтото современное миниатюрное и мало потребляющее

sashok17

И я добавлю. Такой гироскоп вроде стоит в китайских больших вертолетах 3.5 канала. По крайней мере мне такой попался:)

cylllka

Рома, выложи пожалуйста исходник на самую быструю прошивку под ПИК202й. Хочу с Валкеровским регулем запустить. Оказывается для него нужно PPM выходной инвертировать в конвертере, иначе не правильно работает

cylllka
RXL:

Последнее тут: rcopen.com/forum/f87/topic219994/299
С тех пор ничего не менялось.

Ром, перерыл исходник и не нашел где инверсия ППМ и ПВМ задается. Мне нужно и то и другое вывернуть

RXL

Файл user_settings.inc - там CFG_PWM1_INVERSE и CFG_PWM1_INVERSE.

Инверсию PPM не предусмотрел. В прошлой прошивке была, но оказалась невостребованной.
Чтобы сделать ее в файле ppm_loop.asm найди вот это:


CLR_PPM macro p_ch

    bcf IO_PORT, PPM#v(p_ch)_BIT

    endm

SET_PPM macro p_ch

    bsf IO_PORT, PPM#v(p_ch)_BIT

    endm

Сделай так:


CLR_PPM macro p_ch

    bsf IO_PORT, PPM#v(p_ch)_BIT

    endm

SET_PPM macro p_ch

    bcf IO_PORT, PPM#v(p_ch)_BIT

    endm

Это повлияет на оба канала!

Или так, чтобы инверсия была индивидуальной:

Для ppm_loop.asm:


CLR_PPM macro p_ch
    if CFG_PPM#v(p_ch)_INVERSE == 0
        bcf IO_PORT, PPM#v(p_ch)_BIT
    else
        bsf IO_PORT, PPM#v(p_ch)_BIT
    endif
    endm

SET_PPM macro p_ch
    if CFG_PPM#v(p_ch)_INVERSE == 0
        bsf IO_PORT, PPM#v(p_ch)_BIT
    else
        bcf IO_PORT, PPM#v(p_ch)_BIT
    endif
    endm

Для user_settings.inc:


; Output PPM inversion.
; Инверсия PPM: 0 | 1
    constant CFG_PPM1_INVERSE = 0
    constant CFG_PPM2_INVERSE = 0

cylllka

Спасибо Рома! У меня хвост стал на порядок стабильнее с Валкеровским регулем. Теперь подбираю лопасти нужные. Т.к. их масса влияет на инерцию. Ну и прошивку попробую 6мс, сейчас какая то старая используется, сам не запомнил какая

RXL

С новой прошивкой должно быть стабильнее. Но частота ШИМ обязательно должна быть 4 или 8 кГц и быть достаточно точной (отклонение не более 1-2%).

cylllka
RXL:

С новой прошивкой должно быть стабильнее. Но частота ШИМ обязательно должна быть 4 или 8 кГц и быть достаточно точной (отклонение не более 1-2%).

Рома, заглянь в тему МСПИкса, я там прошивку поковырял, не знаю то или не то, по вот после изменения некоторых значений хвост стал на порядок стабильным rcopen.com/forum/f59/topic239683/161
Частота ШИМ 8кГц (как и у МСПИкса).
Когда убрал задержки (поставил точку с запятой, что бы исключить строку) то стало стабильнее, потом поставил время 1мс вместо 2х, стало еще стабильней

RXL
cylllka:

Смотри, я вот чего сделал

PPM_IMPULSE 1 ; 1 ms
PPM_IMPULSE 2 ; 1 ms
;PPM_DELAY ; 1 ms
;PPM_DELAY ; 1 ms
goto ppm_loop

PPM_IMPULSE выполняется за 2 мс, а PPM_DELAY - за 1. Т.е. у тебя осталось в цикле только два PPM_IMPULSE? Значит цикл 4 мс.
После точки с запятой записан комментарий - он никак на программу не влияет.

cylllka
RXL:

PPM_IMPULSE выполняется за 2 мс, а PPM_DELAY - за 1. Т.е. у тебя осталось в цикле только два PPM_IMPULSE? Значит цикл 4 мс.
После точки с запятой записан комментарий - он никак на программу не влияет.

Ну я так и подумал 😃 И главное, что это подтвердилось на практике.
Попробую понизить цикл до 2 мс, исключив PM_IMPULSE 2, как ты и говорил. Думаю Валкеровский регуль поймет это

RXL

Удивительно, но факт: цикл в 2 мс (но только один канал) работает!
Я так понял, что Саша использовал регуль с хвоста БК-Валкеры (модель D100 или D120 - не помню) .
Как он закончит эксперименты, выложу измененную прошивку.

cylllka

Да, работает! 😃 Регулятор хвостовой от CB100. Сейчас отлавливаем неприятный баг. Иногда при сбросе газа хвостовой мотор продолжает крутится и помогает лишь отключение. После небольших изменений предложенных Ромой глюк вроде пропал. Пока продожаю эксперименты. Некогда выйти выгулять зверя на улице 😦

13 days later
SurgeonY

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

cylllka

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

RXL

Конвертер ШИМ 8 кГц в 2 кГц для подключения регуля от Валкеры.
Прошивки тут: files.shelek.su/limited/…/pwm8_to_pwm2/
Крутить там нечего и потому исходников не выкладываю.

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

На вход можно подать не только 8 кГц, но и 4 кГц.
Точность определения скважности ШИМ порядка 4-5%.