Варьируйте скорость двигателя

Я пытаюсь контролировать скорость двигателя с помощью частотно-регулируемого привода, используя сигнал 4-20 мА.

Я генерирую сигнал 4–20 мА с помощью Arduino. Я использую фильтр нижних частот для получения напряжения от контактов ШИМ Arduino, как показано на схеме.

На выходе постоянное отклонение. Но отклонение очень маленькое.

Пример: когда на входе 1 В (от 20% ШИМ в коде Arduino) --> затем выходной сигнал непрерывен, чтобы варьироваться от 3 мА до 4 мА.

когда на входе 5 В (от 100 % ШИМ в коде Arduino) --> тогда выходной сигнал будет варьироваться от 19 мА до 20 мА

Могу ли я практически реализовать эту схему с ЧРП?

Не создаст ли это отклонение проблему для управления скоростью ЧРП?

Будет ли это очень быстрое непрерывное отклонение опасно для

, 👍-1


1 ответ


Лучший ответ:

1

Пилообразный узор, который вы показываете, выглядит так, как я ожидал от неполной фильтрации ШИМ-сигнала от Arduino.

Я не знаю, повлияет ли изменение на ваш контроллер мотора или нет.

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

(Хорошая новость заключается в том, что вы хотите полностью отфильтровать свой сигнал ШИМ. Вы хотите, чтобы он проходил только с частотой 10 Гц или около того. Использование очень низкой частоты среза для вашего фильтра избавит вас от этой пилообразной формы. Результатом этого будет выходное напряжение, которое будет реагировать медленнее, но это должно быть нормально. Если вашему двигателю требуется 1/10 секунды для регулировки скорости, это проблема в вашем приложении?)

,

ЦАП, а не АЦП (цифро-аналоговый преобразователь, а не аналого-цифровой преобразователь), вероятно, даст лучшие результаты, но тогда вам потребуется либо 8 цифровых контактов, либо ЦАП, использующий последовательный интерфейс, такой как I2C. Быстрый поиск по «I2C DAC» показывает несколько вариантов. Похоже, что есть даже готовый прорыв Adafruit для использования в проектах Arduino., @Duncan C

Дело в том, что низкоскоростной ШИМ от Arduino чертовски шумный и требует большой фильтрации. Это то, с чем вы столкнулись. Понизив частоту среза вашего фильтра, вы должны быть в порядке. Вы не пытаетесь создать сложную форму волны. Вам просто нужно изменить скорость двигателя, поэтому довольно медленно меняющийся сигнал, который вы получаете от сильно отфильтрованного выхода ШИМ, должен подойти для этого приложения., @Duncan C