- Mga Kinakailangan na Bahagi:
- Circuit Diagram at Mga Paliwanag:
- Kasalukuyang Mga Pagkalkula:
- Paggawa ng Arduino Controlled Bi-directional Motor:
Sa proyektong ito kinokontrol namin ang direksyon at bilis ng isang 24v mataas na kasalukuyang motor gamit ang Arduino at dalawang relay. Walang mga switch ng kuryente na kinakailangan para sa circuit na ito, dalawang push button lamang at sa Potentiometer upang makontrol ang direksyon at bilis ng DC Motor. Ang isang pindutan ng itulak ay paikutin ang motor na pakaliwa at ang iba pa ay paikutin ito pabalik nang pakaliwa. Kinakailangan ang isang n-channel MOSFET upang makontrol ang bilis ng motor. Ginagamit ang mga relay upang ilipat ang mga direksyon ng Motor. Ito ay kahawig ng H-Bridge circuit.
Mga Kinakailangan na Bahagi:
- Arduino Uno
- Dalawang 12v relay (maaari ring magamit ang 5v relay)
- Dalawang transistors; BC547
- Dalawang pushbutton
- IRF540N
- 10k risistor
- 24 volt na mapagkukunan
- 10K potensyomiter
- Tatlong diode 1N4007
- Mga kumokonekta na mga wire
Circuit Diagram at Mga Paliwanag:
Ang Circuit Diagram ng Bidirectional Motor Control Project na ito ay ipinapakita sa imahe sa ibaba. Gawin ang mga koneksyon alinsunod dito:
- Ikonekta ang karaniwang saradong terminal ng parehong mga relay sa positibong terminal ng baterya.
- Ikonekta ang normal na bukas na terminal ng parehong relay upang maubos ang terminal ng MOSFET.
- Ikonekta ang mapagkukunan ng MOSFET sa negatibong terminal ng baterya at sa Ground pin ng Arduino UNO.
- Gate terminal patungong PWM pin 6 ng Arduino.
- Ikonekta ang 10k risistor mula sa gate patungo sa mapagkukunan at 1N4007 diode mula sa mapagkukunan hanggang sa maubos.
- Ikonekta ang motor sa pagitan ng gitnang terminal ng mga relay.
- Sa dalawang natitirang mga terminal, ang isa ay pupunta sa Vin pin ng Arduino Uno at iba pa sa terminal ng kolektor ng transistor (para sa bawat relay).
- Ikonekta ang emitter terminal ng parehong transistor sa GND pin ng Arduino.
- Ang digital pin 2 at 3 ng Arduino, bawat isa sa serye na may pushbutton, ay napupunta sa base ng transistors.
- Ikonekta ang diode sa kabuuan ng relay nang eksakto tulad ng ipinakita sa figure.
- Ikonekta ang huling terminal ng Potentiometer's sa 5v pin at Gnd pin ng Arduino ayon sa pagkakabanggit. At wiper terminal sa A0 pin.
- ** kung mayroon kang dalawang magkakahiwalay na 12 v na baterya pagkatapos ay ikonekta ang positibong terminal ng isang baterya sa negatibong terminal ng isa pang baterya at gamitin ang natitirang dalawang mga terminal bilang positibo at negatibo.
Layunin ng Transistors: Ang mga
digital na pin ng Arduino ay hindi maaaring magbigay ng dami ng kasalukuyang kinakailangan upang buksan ang isang normal na 5v relay. Bukod sa gumagamit kami ng 12v relay sa proyektong ito. Ang Vin pin ng Arduino ay hindi madaling maipasok ang kasalukuyang kasalukuyang para sa parehong relay. Samakatuwid transistors ay ginagamit upang magsagawa ng kasalukuyang mula sa Vin pin ng Arduino upang relay na kinokontrol gamit ang isang push-button na konektado mula sa digital pin sa base terminal ng transistor.
Layunin ng Arduino:
- Upang maibigay ang dami ng kasalukuyang kinakailangan upang i-on ang relay.
- Upang i-on ang transistor.
- Upang makontrol ang Bilis ng DC Motors na may Potentiometer gamit ang Programming. Suriin ang kumpletong Arduino Code sa dulo.
Layunin ng MOSFET:
Kinakailangan ang MOSFET upang makontrol ang bilis ng motor. Ang MOSFET ay nakabukas at naka-off sa mataas na dalas ng boltahe at dahil ang motor ay konektado sa serye na may alisan ng MOSFET, tinutukoy ng halaga ng boltahe ng PWM ang bilis ng motor.
Kasalukuyang Mga Pagkalkula:
Ang paglaban ng coil ng relay ay sinusukat gamit ang isang multimeter na magiging = 400 ohms
Ang Vin pin ng Arduino ay nagbibigay = 12v
Kaya't kasalukuyang kailangang i-on ang relay = 12/400 Amps = 30 mA
Kung ang parehong mga relay ay pinalakas, kasalukuyang = 30 * 2 = 60 mA
** Ang Vin pin ng Arduino ay maaaring magbigay ng maximum na kasalukuyang = 200mA.
Sa gayon walang labis na kasalukuyang problema sa Arduino.
Paggawa ng Arduino Controlled Bi-directional Motor:
Ang pagpapatakbo ng 2-way Motor Control circuit na ito ay simple. Ang parehong mga pin (2, 3) ng Arduino ay mananatiling laging mataas.
Kapag walang pinindot na pushbutton:
Sa kasong ito walang kasalukuyang dumadaloy sa base ng transistor, samakatuwid ang transistor ay mananatiling off (kumikilos tulad ng isang bukas na switch) dahil kung saan walang kasalukuyang dumadaloy upang relay coil mula sa Vin pin ng Arduino.
Kapag pinindot ang isang push button:
Sa kasong ito ang ilang mga kasalukuyang dumadaloy sa base ng transistor sa pamamagitan ng pinindot na pindutan ng push na kung saan ito on. Ngayon ay kasalukuyang madaling dumaloy sa relay coil mula sa Vin pin sa pamamagitan ng transistor na ito na binubuksan ang relay na ito (RELAY A) at ang switch ng relay na ito ay itinapon sa WALANG posisyon. Habang ang ibang relay (RELAY B) ay nasa posisyon pa rin ng NC. Kaya't ang kasalukuyang daloy mula sa positibong terminal ng baterya patungo sa negatibong terminal sa pamamagitan ng motor ie, kasalukuyang daloy mula sa relay A hanggang sa relay B. Nagdudulot ito ng paikot na ikot ng motor.
Kapag pinindot ang iba pang push button:
Sa oras na ito ay may ibang relay na nakabukas. Ngayon ay kasalukuyang madaling dumaloy sa relay coil mula sa Vin pin sa pamamagitan ng transistor kung saan buksan ang relay na ito (RELAY B) at ang switch ng relay na ito ay itinapon sa WALANG posisyon. Habang ang iba pang relay (RELAY A) ay nananatili sa posisyon ng NC. Kaya't ang kasalukuyang daloy mula sa positibong terminal ng baterya patungo sa negatibong terminal ng baterya sa pamamagitan ng motor. Ngunit sa oras na ito kasalukuyang dumadaloy mula sa relay B hanggang sa relay A. Nagiging sanhi ito ng pag- ikot ng motor na anticlock
Kapag ang parehong mga pindutan ng push ay pinindot:
Sa kasong ito kasalukuyang dumadaloy sa base ng parehong mga transistor dahil sa kung saan ang parehong transistor ay nakabukas (kumikilos tulad ng isang closed switch). At sa gayon ang parehong relay ay wala sa posisyon. Kaya't ang kasalukuyang hindi dumadaloy mula sa positibong terminal ng baterya patungo sa negatibong terminal sa pamamagitan ng motor at sa gayon hindi ito paikutin.
Pagkontrol sa Bilis ng DC Motor:
Ang Gate of MOSFET ay konektado sa PWM pin 6 ng Arduino UNO. Ang Mosfet ay nakabukas at naka-on sa mataas na boltahe ng dalas ng PWM at dahil ang motor ay konektado sa serye na may alisan ng mosfet, tinutukoy ng halaga ng boltahe ng PWM ang bilis ng motor. Ngayon ang boltahe sa pagitan ng wiper terminal ng potentiometer at Gnd ay tumutukoy sa PWM boltahe sa pin no 6 at habang ang terminal ng wiper ay pinaikot, ang boltahe sa analog pin A0 ay nagbabago na nagdudulot ng pagbabago sa bilis ng motor.
Ang kumpletong pagtatrabaho ng Arduino Batay sa Bi-directional na kontrol ng Bilis at Direksyon ng Motor na ito ay ipinapakita sa Video sa ibaba gamit ang Arduino Code.