- Необходими компоненти:
- Електрическа схема и обяснения:
- Текущи изчисления:
- Работа на двупосочен мотор с контролирано управление от Arduino:
В този проект ние контролираме посоката и скоростта на 24v мотор с голям ток, използвайки Arduino и две релета. Не са необходими превключватели на захранването за тази схема, само два бутона и в потенциометър за управление на посоката и скоростта на DC мотора. Един бутон ще завърти двигателя по посока на часовниковата стрелка, а другият ще го завърти обратно на часовниковата стрелка. За управление на скоростта на двигателя е необходим един n-канален MOSFET. Релетата се използват за превключване на посоките на двигателя. Прилича на верига H-Bridge.
Необходими компоненти:
- Arduino Uno
- Две 12v реле (може да се използва и 5v реле)
- Два транзистора; BC547
- Две бутони
- IRF540N
- 10k резистор
- 24 волта източник
- 10K потенциометър
- Три диода 1N4007
- Свързващи проводници
Електрическа схема и обяснения:
Схемата на този двупосочен проект за управление на двигателя е показана на изображението по-долу. Направете връзките според него:
- Свържете нормално затворения терминал на двете релета към положителния терминал на батерията.
- Свържете нормално отворения терминал на двете релета към клема за източване на MOSFET.
- Свържете източника на MOSFET към отрицателния извод на батерията и към заземяващия щифт на Arduino UNO.
- Портален терминал към ШИМ пин 6 на Arduino.
- Свържете 10k резистор от порта към източника и 1N4007 диод от източника към източване.
- Свържете двигателя между средния извод на релетата.
- От два останали терминала, един отива към щифта Vin на Arduino Uno, а другият към колекторния терминал на транзистора (за всяко реле).
- Свържете излъчвателния извод на двата транзистора към GND щифт на Arduino.
- Цифрови щифтове 2 и 3 на Arduino, всеки от тях последователно с бутон, отива към основата на транзисторите.
- Свържете диода през релето точно както е показано на фигурата.
- Свържете крайния терминал на потенциометъра съответно към 5v и Gnd щифт на Arduino. И клема за чистачки към щифт A0.
- ** ако имате две отделни 12 v батерии, свържете положителния терминал на една батерия към отрицателния терминал на друга батерия и използвайте останалите два терминала като положителен и отрицателен.
Предназначение на транзисторите:
Цифровите щифтове на Arduino не могат да доставят количеството ток, необходимо за включване на нормално 5v реле. Освен това ние използваме 12v реле в този проект. Vin pin на Arduino не може лесно да достави толкова много ток и за двете релета. Следователно транзисторите се използват за провеждане на ток от Vin pin на Arduino към реле, което се управлява с помощта на бутон, свързан от цифров щифт към базовия терминал на транзистора.
Предназначение на Arduino:
- За осигуряване на необходимото количество ток за включване на релето.
- За да включите транзистора.
- За да контролирате скоростта на постояннотокови двигатели с потенциометър, използвайки програмиране. Проверете пълния код на Arduino в края.
Предназначение на MOSFET:
MOSFET се изисква за управление на скоростта на двигателя. MOSFET се включва и изключва при високочестотно напрежение и тъй като двигателят е свързан последователно с изтичането на MOSFET, PWM стойността на напрежението определя скоростта на двигателя.
Текущи изчисления:
Съпротивлението на намотката на релето се измерва с помощта на мултицет, който се оказва = 400 ома
Vin pin на Arduino дава = 12v
Така че токът трябва да включи релето = 12/400 ампера = 30 mA
Ако и двете релета са под напрежение, токът = 30 * 2 = 60 mA
** Vin щифтът на Arduino може да осигури максимален ток = 200mA.
По този начин в Arduino няма прекомерен проблем.
Работа на двупосочен мотор с контролирано управление от Arduino:
Работата с тази двупосочна верига за управление на двигателя е проста. И двата щифта (2, 3) на Arduino ще останат винаги високи.
Когато не е натиснат бутон:
В този случай към основата на транзистора не тече ток, поради което транзисторът остава изключен (действа като отворен превключвател), поради което ток не тече към релейната намотка от Vin pin на Arduino.
Когато се натисне един бутон:
В този случай някакъв ток тече към основата на транзистора чрез натиснат бутон, който го включва. Сега токът лесно преминава към намотката на релето от щифта Vin през този транзистор, който включва това реле (РЕЛЕ А) и превключването на това реле се хвърля в позиция НЕ. Докато другото реле (РЕЛЕ B) все още е в NC позиция. Така че токът преминава от положителния извод на акумулатора към отрицателния извод през двигателя, т.е. токът преминава от реле А към реле Б. Това води до въртене на двигателя по посока на часовниковата стрелка.
Когато се натисне друг бутон:
Този път се включва друго реле. Сега токът лесно преминава към бобината на релето от щифта Vin през транзистор, който включва това реле (РЕЛЕ B) и превключвателят на това реле се хвърля в НЕ положение. Докато другото реле (РЕЛЕ А) остава в NC позиция. Така че токът преминава от положителния извод на акумулатора към отрицателния извод на акумулатора през двигателя. Но този път токът преминава от реле B към реле A. Това води до въртене на двигателя в посока, обратна на часовниковата стрелка
Когато и двата бутона са натиснати:
В този случай токът тече към основата на двата транзистора, поради което и двата транзистора се включват (действа като затворен ключ). И по този начин и двете релета вече не са в позиция НЯМА. Така че токът не тече от положителния извод на акумулатора към отрицателния извод през двигателя и по този начин той не се върти.
Контролиране на скоростта на DC мотора:
Портата на MOSFET е свързана с ШИМ пин 6 на Arduino UNO. Mosfet се включва и изключва при високо напрежение на PWM честота и тъй като двигателят е свързан последователно с изтичането на mosfet, PWM стойността на напрежението определя скоростта на двигателя. Сега напрежението между клемата на чистачката на потенциометъра и Gnd определя напрежението на ШИМ на щифт № 6 и тъй като терминалът на чистачките се завърта, напрежението на аналоговия щифт A0 се променя, причинявайки промяна в скоростта на двигателя.
Пълната работа на този двупосочен двупосочен контрол на скоростта и посоката на двигателя е показан във видеото по-долу с Arduino Code.