- Модулација ширине импулса:
- Потребан материјал
- Кружни дијаграм
- Код и објашњење
- Контрола брзине једносмерног мотора помоћу Ардуина
Једносмерни мотор је мотор који се најчешће користи у пројектима роботике и електронике. За контролу брзине једносмерног мотора имамо разне методе, попут брзине која се може аутоматски контролисати на основу температуре, али у овом пројекту ће се користити ПВМ метода за контролу брзине једносмерног мотора. Овде у овом пројекту управљања брзином мотора Ардуино, брзином се може управљати окретањем дугмета потенциометра.
Модулација ширине импулса:
Шта је ПВМ? ПВМ је техника помоћу које можемо да контролишемо напон или снагу. Да бисмо то једноставније разумели, ако примените 5 волти за погон мотора, тада ће се мотор кретати са одређеном брзином, сада ако смањимо примењени напон за 2 средства, примењујемо 3 волта на мотор, тада се смањује и брзина мотора. Овај концепт се користи у пројекту за контролу напона помоћу ПВМ-а. У овом чланку смо детаљно објаснили ПВМ. Такође проверите ово коло где се ПВМ користи за контролу осветљености ЛЕД: 1 Ватт ЛЕД диммер.
% Радни циклус = (ТОН / (ТОН + ТОФФ)) * 100 Где је Т ОН = ВИСОКО време квадратног таласа Т ОФФ = НИСКО време квадратног таласа
Ако је прекидач на слици непрекидно затворен током одређеног временског периода, тада ће се мотор непрекидно УКЉУЧАВАТИ током тог времена. Ако је прекидач затворен на 8 мс и отворен на 2 мс током циклуса од 10 мс, тада ће мотор бити укључен само у времену од 8 мс. Сада је просечни терминал преко 10мс = Време УКЉУЧЕЊА / (Време УКЉУЧЕЊА + Време ИСКЉУЧЕЊА), то се назива радни циклус и износи 80% (8 / (8 + 2)), па је просек излазни напон ће бити 80% напона батерије. Сада људско око не може да види да је мотор укључен 8 мс, а искључен 2 мс, па ће изгледати као да се једносмерни мотор ротира са 80% брзине.
У другом случају, прекидач је затворен на 5мс и отворен на 5мс током 10мс, тако да ће просечни напон на излазу бити 50% од напона акумулатора. Рецимо да ли је напон акумулатора 5В, а радни циклус 50%, па ће просјечни напон на прикључку бити 2.5В.
У трећем случају радни циклус је 20%, а средњи напон на прикључку је 20% напона батерије.
У многим нашим пројектима користили смо ПВМ са Ардуином:
- Ардуино заснован ЛЕД затамњивач који користи ПВМ
- Вентилатор са контролом температуре помоћу Ардуина
- Управљање једносмерним мотором помоћу Ардуина
- Контрола брзине вентилатора наизменичном струјом користећи Ардуино и ТРИАЦ
Можете сазнати више о ПВМ-у пролазећи кроз разне пројекте засноване на ПВМ-у.
Потребан материјал
- Ардуино УНО
- Једносмерни мотор
- Транзистор 2Н2222
- Потенциометар 100к охм
- Кондензатор 0.1уФ
- Бреадбоард
- Жице за скакање
Кружни дијаграм
Дијаграм кола за Ардуино једносмерну контролу брзине мотора помоћу ПВМ- а дат је у наставку:
Код и објашњење
На крају је дат комплетни код за Ардуино једносмерну контролу мотора помоћу потенциометра.
У наставку кода смо иницијализован променљиве Ц1 и Ц2 и додељени аналогни пин А0 за потенциометар излаз и 12 -ог ПИН "ПВМ".
инт пвмПин = 12; инт пот = А0; инт ц1 = 0; инт ц2 = 0;
Сада, у доњем коду, поставите пин А0 као улаз и 12 (који је ПВМ пин) као излаз.
воид сетуп () { пинМоде (пвмПин, ОУТПУТ); // проглашава пин 12 као излазни пинМоде (пот, ИНПУТ); // проглашава пин А0 као улаз }
Сада, у воид лооп (), читамо аналогну вредност (из А0) помоћу аналогРеад (пот) и чувамо је у променљивој ц2. Затим одузмите вредност ц2 од 1024 и сачувајте резултат у ц1. Затим направити ПВМ пин 12 -ог у Ардуино висок и онда након кашњења од вредности Ц1 направити ту Пин Лов. Опет, након кашњења вредности ц2, петља се наставља.
Разлог за одузимање аналогне вредности од 1024 је тај што је Ардуино Уно АДЦ 10-битне резолуције (па су целобројне вредности од 0 - 2 ^ 10 = 1024 вредности). То значи да ће мапирати улазни напон између 0 и 5 волти у целобројне вредности између 0 и 1024. Дакле, ако помножимо улазни анлогВалуе са (5/1024), тада добијамо дигиталну вредност улазног напона. Овде научите како да користите АДЦ улаз у Ардуину.
воид лооп () { ц2 = аналогРеад (пот); ц1 = 1024-ц2; дигиталВрите (пвмПин, ХИГХ); // поставља пин 12 ХИГХ делаиМицросецондс (ц1); // чека ц1 уС (дуго време) дигиталВрите (пвмПин, ЛОВ); // поставља пин 12 ЛОВ делаиМицросецондс (ц2); // чека ц2 уС (кратко време) }
Контрола брзине једносмерног мотора помоћу Ардуина
У овом колу за контролу брзине једносмерног мотора користимо потенциометар од 100К охма за промену радног циклуса ПВМ сигнала. 100К охм потенциометар повезан на аналогни улаз пин А0 на Ардуино УНО и мотора ДЦ је повезан са 12 -ог пин од Ардуино (што је ПВМ пин). Рад програма Ардуино је врло једноставан, јер очитава напон са аналогног пина А0. Напон на аналогном пину варира помоћу потенциометра. Након неког потребног прорачуна, радни циклус се прилагођава према њему.
На пример, ако напајамо 256 вредности на аналогни улаз, тада ће ВИСОКО време бити 768мс (1024-256), а ЛОВ време ће бити 256мс. Према томе, то једноставно значи да је радни циклус 75%. Наше очи не могу да виде тако високофреквентне осцилације и изгледа да је мотор непрекидно УКЉУЧЕН са 75% брзине. Дакле, тако можемо извршити контролу брзине мотора користећи Ардуино.