Paano Ikonekta Ang Isang Brushing Motor Sa Arduino

Talaan ng mga Nilalaman:

Paano Ikonekta Ang Isang Brushing Motor Sa Arduino
Paano Ikonekta Ang Isang Brushing Motor Sa Arduino

Video: Paano Ikonekta Ang Isang Brushing Motor Sa Arduino

Video: Paano Ikonekta Ang Isang Brushing Motor Sa Arduino
Video: Control brushed DC motor using Flysky and Arduino | Convert Arduino into Brushed ESC | Tech at Home 2024, Abril
Anonim

Tulad ng alam mo, ang mga de-kuryenteng motor ay may tatlong pangunahing uri: mga kolektor, stepper at servo drive. Sa artikulong ito, titingnan namin ang pagkonekta ng isang motor ng kolektor sa isang Arduino gamit ang isang driver ng motor batay sa chip na L9110S o katulad.

Driver ng motor batay sa L9110S chip
Driver ng motor batay sa L9110S chip

Kailangan

  • - Arduino;
  • - isang personal na computer na may Arduino IDE development environment;
  • - driver ng motor na L9110S o katulad;
  • - collector electric motor;
  • - pagkonekta ng mga wire.

Panuto

Hakbang 1

Hindi mo maaaring direktang ikonekta ang isang de-kuryenteng motor sa mga pin ng Arduino: may panganib na sunugin ang pin kung saan nakakonekta ang motor. Upang ligtas na ikonekta ang iba't ibang mga uri ng mga de-kuryenteng motor sa Arduino, kinakailangan ng isang gawang bahay o driver na ginawa ng komersyal na motor. Maraming iba't ibang mga driver ng motor. Ang pinakakaraniwang uri ay ang HG788, L9110S, L293D, L298N at iba pa. Ang mga driver ng motor ay may mga power lead, motor lead, at control lead. Sa artikulong ito, gagamit kami ng isang driver ng motor batay sa L9110S microcircuit. Karaniwang ginawa ang mga board na sumusuporta sa koneksyon ng maraming mga motor. Ngunit para sa demonstrasyon, makukuha namin ang isa.

Iba't ibang mga driver ng motor
Iba't ibang mga driver ng motor

Hakbang 2

Ang pinakasimpleng mga motor ay brushing motor. Ang mga motor na ito ay may dalawang contact contact lamang. Nakasalalay sa polarity ng boltahe na inilapat sa kanila, ang direksyon ng pag-ikot ng motor shaft ay nagbabago, at ang lakas ng inilapat na boltahe ay binabago ang bilis ng pag-ikot.

Ikonekta natin ang motor alinsunod sa nakalakip na diagram. Ang suplay ng kuryente ng driver ng motor ay 5 V mula sa Arduino, upang makontrol ang bilis ng motor rotor, ang mga contact sa pagkontrol ay konektado sa mga pin ng Arduino na sumusuporta sa PWM (modulate ng lapad ng pulso).

Diagram ng koneksyon ng motor ng Arduino
Diagram ng koneksyon ng motor ng Arduino

Hakbang 3

Sumulat tayo ng isang sketch upang makontrol ang isang motor ng maniningil. Ipahayag natin ang dalawang mga pare-pareho para sa mga binti na kumokontrol sa motor, at isang variable para sa pagtatago ng halaga ng bilis. Ililipat namin ang mga halaga ng variable na Bilis sa serial port at sa gayon ay babaguhin ang bilis at direksyon ng pag-ikot ng motor.

Pinakamataas na bilis ng pag-ikot - sa pinakamataas na halaga ng boltahe na maibibigay ng driver ng motor. Maaari naming makontrol ang bilis ng pag-ikot sa pamamagitan ng pagbibigay ng mga voltages sa saklaw na 0 hanggang 5 volts. Dahil gumagamit kami ng mga digital na pin na may PWM, ang boltahe sa mga ito ay kinokontrol ng utos ng analogWtirte (pin, halaga), kung saan ang pin ay ang bilang ng pin kung saan nais naming itakda ang boltahe, at ang argumento ng halaga ay isang koepisyent na proporsyonal sa ang halaga ng boltahe, pagkuha ng mga halaga sa saklaw mula sa 0 (ang boltahe ng pin ay zero) hanggang 255 (ang boltahe ng pin ay 5 V).

Brush motor control sketch
Brush motor control sketch

Hakbang 4

I-load ang sketch sa memorya ng Arduino. Ilunsad natin ito. Ang engine ay hindi paikutin. Upang maitakda ang bilis ng pag-ikot, ang isang halaga sa pagitan ng 0 at 255 ay dapat na ipadala sa serial port. Ang direksyon ng pag-ikot ay natutukoy ng pag-sign ng numero.

Kumonekta gamit ang anumang terminal sa port, ipadala ang bilang na "100" - magsisimulang umikot ang engine sa isang average na bilis. Kung bibigyan namin ng "minus 100", pagkatapos ay magsisimulang umiikot sa parehong bilis sa kabaligtaran na direksyon.

Inirerekumendang: