Фильтр ШИМ

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем RoSh_11, 8 май 2012.

  1. RoSh_11

    RoSh_11 Нуб

    Доброго времени суток, Коллеги.

    Пытаюсь собрать схему, для управления скоростью вентилятора и попмпы (оба на 12В DC, потребеление вентилятор - 0,2А, попмпа - 1,5А) на базе Ардуино и MSOFETов.
    В общем тестоый образец на лампочках(брал галогенку на 20W) работатет, а вот уверенный старт вентиляторов не получается (вентилятор стоит дергается, жужит и стартует только на крайних значениях ШИМ, при этом если запитать вентилятор от батарейки, то хватает и 5-6В причем писков и т.п. в этом случае нет).

    Как показало исследование нужно ша канале ШИМ-а между Ардуиной и ключом MOSFE(IRFZ44N)а нужно ставить RC-фильтр (резистор и емкость). Примера под АРДУИНУ не нашел. Попомгите пожалуйста, кто знает какой номинал резистора и кондера нужен ? Фильтр в правильном месте пердполагаю ставить, или может его надо ставить на канале питания вентилятора.
     

    Вложения:

    • Pic_1.png
      Pic_1.png
      Размер файла:
      85,6 КБ
      Просмотров:
      1.643
    • Pic_2.png
      Pic_2.png
      Размер файла:
      69 КБ
      Просмотров:
      2.315
  2. Unixon

    Unixon Оракул

    Как вариант, можно сначала (программно) полностью открывать ключ на небольшое время, чтобы пропустить стартовый ток, а только потом переключаться на ШИМ.
     
  3. ПФФФ УАХАХАХА ГГЫГЫГЫ ржал минуты 2 ))))))))))

    ё-мае ,а зачем тогда уже и ШИМ ему ? он то все равно не работает даже как вариант )))))

    пропустил пусковой ток - выжрал всю батарейку - обмотка офигела - и наслаждайся тишиной и темнотой =\ не дела =\ :) (пожалуйста не обижайтесь,но честно я аж негодую).

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

    и следовательно нет момента на валу....

    2. попробуйте крутануть двигатель рукой .... по ощущениям задумайтесь о следующем :

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

    Что бы не было писков нужно увеличить частоту модуляции шима. сколько у вас ?

    RC -цепь о которой вы говорите является времязадающей для мертвого времени транзистора (вот тут исправил) управляющее воздействие подается и на параллельную RC- цепь после чего объединяются в логике "И" (можно заделать через еще один вход ардуинки что бы не впаивать логику) и следовательно транзистор у вас откроется не скачком 0 - 1 в момент tвозд, а через какое- то время(мертвое время), при заданном R зависит только от С впаяйте сначала переменный кондер и априорно установите емкость после чего впаяйте уже заданный номинал (если уж совсем лень посчитать ). а так R и C считают по частоте среза.

    и поставте полевик лучше какой нибудь buz11

    А на выходе (после транзистора) поставьте дополнительно LC фильтр который сгладит вам как ток так и напряжение.
     
  4. (прошу воспринимать не как рекламу сайта а как вспомогательный ресурс ) Сылка посмотрите видео и почитайте теоретическую часть (видео внизу страницы) касательно RC цепочки
     
  5. Unixon

    Unixon Оракул

    Интересно, что вам показалось таким смешным...

    У автора двигатель не стартует при управляющем ШИМ сигнале с большой скважностью. Оно и понятно, что двигателю в таком режиме не отдается достаточная мощность для раскручивания вала.

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

    Другое решение состоит в том, чтобы использовать транзистор в ключевом режиме - т.е. либо полностью открыт, либо полностью закрыт - и при запуске двигателя сначала на очень короткое время - только чтобы сдвинуть вал с места - дать стартовый импульс и тут же возвращаться к сигналу с заданной скважностью. Это, по крайней мере, гарантирует запуск двигателя. А сглаживать сигнал можно, тогда но лучше это делать после транзистора, чтобы ключу жилось полегче.
     

  6. Вы абсолютно правы - можно просто начинать разгон программно для частоты скажем с 3 -5 герц(начало линейного участка при u/f = const) а не с 0,1 герца скажем .... и если вы имели ввиду именно это в своем первом ответе ..... то я вас совершенно не так понял ...извините пожалуйста, я никак не хочу обидеть доброго и отзывчивого человека.


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

    в остальном я наверно как то не так выразился раз вы меня не поняли.... исправлю в первом ответе
     
  7. RoSh_11

    RoSh_11 Нуб

    Спасибо за ответы, буду разбираться дальше. Есть пара вопросов:

    Несклько не понял вопроса. Если не ошибаюсь то в Arduino частота около 490Гц и поменять/задать ее нельзя... или все-же можно ? если да то как (или где почитать) ?
    (Для инфо: использую Arduino UNO R2, управление ногой ШИМ через стандартную инструкцию: analogWrite(PWMpin, Value);).

    Кстати коллеги, если хочу считать обороты кулера то обязательно ли использовать прерывания, или можно как-то проще (может ссылочку подскажите)?
     
  8. по первому вопросу я думаю ответ вы найдете тут и тут2
    по 2 ому вопросу чем мерите частоту вращения (энкодером или программно?)
     
  9. Вопрос не по теме: А в чем вы эти схемы рисовали?
     
  10. Unixon

    Unixon Оракул

    Ответ не от автора: судя по картинкам, это Fritzing. :)
     
  11. RoSh_11

    RoSh_11 Нуб

    Не по теме: Все верно именно Fritzing.

    Коллеги может ли решить проблему использование драйверов вместо MOSFETов, например L293D. Если да, то подскажите есть ли что-либо лучше L293D?
     
  12. Вашу проблему с шимом она не решит:(

    Уважаемый Rosh_11 вы не можете настроить и проверить ваш ШИМ ? соберите схему в PROTEUS.

    схема драйвера, как и многие варианты подобных необходимы , условно назовем, для согласования управляющих воздействий с ключами т. е. у вас с Ардуинки выходит однополярное напряжение +5V и в пределах малых мощностей управляющего воздействия с заданными параметрами достаточно для того что бы управлять ключом, однако , если вы обратите ваше внимание на более высокие мощности ,то там для управления ключами нужно уже двухполярное питание т.к. транзистор гарантированно закрывается отрицательным напряжением, а при 0 он находится в приоткрытом состоянии. Теперь давайте поговорим о самом ШИМ зачем он нужен:
    1. Регулируете величину пускового тока - очень страшная голодная зверюга которая отбирает всю еду у двигателя. ШИМ её укрощает.
    2. Регулируется величина момента на валу двигателя.
    Есть еще куча других "+" у ШИМ, но тут самые очевидные.

    А если ввести в ШИМ еще и частотную составляющую то вы сможете:

    3. Реализация плавного пуска и остановки двигателя в заданном интервале времени согласно выбранному вами закону управления: u/f^n = const

    4. Изменение с заданным шагом по частоте и автоподстройка частоты. Регулировка скорости реакции системы (Ардуино - двигатель) при изменении нагрузки на валу двигателя.


    ваша проблема в том что вы очень редко посылаете импульсы и двигателю не хватает (сила ампера сила лоренца вспомните из физики) что бы сорваться с места. он пытается... свистит... дрожит... даже дергается, но ему не хватает. Если частоту импульсов вы не можете изменить, ну или просто не хотите, тогда попробуйте поменять коэффициент заполнения обычно он 0,4 для того что бы величина намагничивания оставалась в пределах нормы и ротор не находился в состоянии насыщения иначе он просто дальше не начнет раскручиваться(при условии сохранения момента на валу если же момент будет понижаться согласно закону1/w^k (1,2... ) , то двигатель будет вращаться со скоростью большей номинальной при заданной величине питающего напряжения) увеличьте но не больше, чем 0,866(0,917) дальше вы начнете превращать вашу синусоиду в квадраты...