Регулято Fly-25 и Микроконтроллер

AndyBig

Прошу прощения, запутался в ms и us 😃
Длительность импульса - от 1 до 2 миллисекунд, период повторения - 50-80 Гц, то есть каждые 12-20 милисекунд.

V_Alex:

Импульсы должны следовать с периодом 20-25 мс.

Да-да, точно.

Roman_irk:

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

Заводите таймер на каждые 20 милисекунд, по таймеру включаете ШИМ, по прерыванию от ШИМа выключаете его.
Полярность импульсов, по-моему, как правило положительная.

Roman_irk:

управляющий сигнал длительностью от 1мс до 2мс а потом необходимо опустить ногу МК в низкий уровень подождать 18мс и снова повторить первую часть???

Ага.

Roman_irk

ну все теперь все понятно большое спасибо!

AndyBig

В принципе, можно завести 16-битный ШИМ и так, что бы его полный период составлял примерно 20 миллисекунд, из которых длительность активного импульса от 1 до 2 миллисекунд, то есть пределы регулировки - 1 миллисекунда. Тогда у Вас дискретность шага составит 65536 / 20 = 3276 шагов в обе стороны, по 1638 шагов в каждом направлении. Если этой дискретности хватает, то это самый простой вариант. Нужно изменить обороты - закинули в ШИМ новое значение и на этом все.

Roman_irk

да я буду делать программный ШИМ, пока для микроконтроллера нету других задач, пусть крутит двигателем, а если буду другие задачи то можно и перейти на аппаратный, хотя учитывая длительность 18мс за это время можно успеть много сделать даже на 8Mhz)

AndyBig
Roman_irk:

да я буду делать программный ШИМ

Аппаратный намного проще 😃

Roman_irk

Все запустил двигатель, оказывается не имеет большой разница какой длины импульс подавать на контроллер двигателя, принцип следующий получается в момент включения контроллер ловит импульс и считает эту длину импульса за нулевую скорость при изменении длины в большую сторону двигатель набирает обороты, в меньшую сторону контроллер двигателя ни как не реагирует. Поэтому длительность в 1,5мс это используется в РРМ сигнале что бы за один раз можно было передать 8 управляющий импульсов на 8 регуляторов. А так регулятор не плохо работает в диапазоне управляющих импульсов начина от 1мс(скорость вращения равна 0) и с увеличение увеличивает скорость вращения, или это го же можно добится послав первый управляющий импульс длинно 3мс(скорость вращения равна нулю) ну это будет работать только при условии что с контроллера двигателя будет снято питание а импульсы будут поступать и во время включения контроллер двигателя посчитает что длительность импульса равная 3мс это нулевая скорость вращения. Во только еще не до конца разобрался до какого предела изменения длины импульса контроллер двигателя реагирует на него. Если допустим 1мс-скорость двигателя равна 0, то при каком значении длины импульса она будет максимально. завтра проведу эксперимент надеюсь не спалю контроллер двигателя)

AndyBig
Roman_irk:

большую сторону двигатель набирает обороты, в меньшую сторону контроллер двигателя ни как не реагирует

А реверс?

Roman_irk:

Во только еще не до конца разобрался до какого предела изменения длины импульса контроллер двигателя реагирует на него

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

Roman_irk

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

AndyBig

А… Я думал, у Вас регуль с реверсом.
Кстати, многие регули импульсы больше 1 мс при включении могут воспринять как калибровку газа. И запомнят эту длительность именно как максимальный газ.

Roman_irk

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

AndyBig

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

Rula
Roman_irk:

первый импульс воспринимает как минимальный газ

А он с пульта не программируется?

Roman_irk
Rula:

А он с пульта не программируется?

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

Rula
Roman_irk:

е которое хотите что бы было минимальным газом

То есть всякие тормоза/частоты шим/софт старты/количество липолей не програмируются?

Roman_irk
Rula:

То есть всякие тормоза/частоты шим/софт старты/количество липолей не програмируются?

Все это програмируется, прочтите мануал там все тайминги расписаны и на что какой звуковой сигнал выдает.

Rula
Roman_irk:

прочтите мануал

Вы не так поняли, мне его не надо програмировать 😃 Просто в свете того, что он программируется с регулятора ваше утверждение, что ему пофигу какой импульс кажется странным, ведь именно так (газ в максимум, то есть импульс около 2мс) он входит в режим програмирования