Talaan ng mga Nilalaman:

Arduino L293D Motor Driver Shield Tutorial: 8 Mga Hakbang
Arduino L293D Motor Driver Shield Tutorial: 8 Mga Hakbang

Video: Arduino L293D Motor Driver Shield Tutorial: 8 Mga Hakbang

Video: Arduino L293D Motor Driver Shield Tutorial: 8 Mga Hakbang
Video: ESP32 Tutorial 15 - DC Motor Speed Control with ESP32 L293D | SunFounder's ESP32 IoT Learnig kit 2024, Hunyo
Anonim
Arduino L293D Motor Driver Shield Tutorial
Arduino L293D Motor Driver Shield Tutorial

Maaari mong basahin ito at maraming iba pang mga kamangha-manghang mga tutorial sa opisyal na website ng ElectroPeak

Pangkalahatang-ideya

Sa tutorial na ito, malalaman mo kung paano magmaneho ng DC, stepper at servo motor gamit ang isang Arduino L293D motor driver Shield.

Ano ang Malalaman Mo:

  • Pangkalahatang impormasyon tungkol sa DC motors
  • Panimula sa L293D motor na panangga
  • Pagmamaneho ng DC, Servo at Stepper na mga motor

Hakbang 1: Mga Motors at Driver

Mga Motors at Driver
Mga Motors at Driver

Ang mga motor ay hindi mapaghihiwalay na bahagi ng maraming mga robot at proyekto sa electronics at may iba't ibang uri na maaari mong gamitin depende sa kanilang aplikasyon. Narito ang ilang impormasyon tungkol sa iba't ibang uri ng mga motor:

DC Motors: Ang DC motor ay ang pinaka-karaniwang uri ng engine na maaaring magamit para sa maraming mga application. Makikita natin ito sa mga remote control car, robot, atbp. Ang motor na ito ay may isang simpleng istraktura. Magsisimula itong lumiligid sa pamamagitan ng paglalapat ng wastong boltahe sa mga dulo nito at baguhin ang direksyon nito sa pamamagitan ng paglipat ng boltahe polarity. Ang bilis ng DC Motors ay direktang kinokontrol ng inilapat na boltahe. Kapag ang antas ng boltahe ay mas mababa kaysa sa maximum na matatagalan na boltahe, ang bilis ay bababa.

Mga Stepper Motors: Sa ilang mga proyekto tulad ng mga 3D printer, scanner at CNC machine kailangan nating malaman nang wasto ang mga hakbang sa pag-ikot ng motor. Sa mga kasong ito, gumagamit kami ng mga motor na Stepper. Ang stepper motor ay isang de-kuryenteng motor na naghahati sa isang buong pag-ikot sa isang bilang ng mga pantay na hakbang. Ang halaga ng pag-ikot bawat hakbang ay natutukoy ng istraktura ng motor. Ang mga motor na ito ay may napakataas na kawastuhan.

Servo Motors: Ang Servo motor ay isang simpleng DC motor na may serbisyo sa pagkontrol sa posisyon. Sa pamamagitan ng paggamit ng isang servo magagawa mong makontrol ang dami ng pag-ikot ng shafts at ilipat ito sa isang tukoy na posisyon. Karaniwan silang may isang maliit na sukat at ang pinakamahusay na pagpipilian para sa mga robotic arm.

Ngunit hindi namin makakonekta ang mga motor na ito sa mga microcontroller o board control tulad ng Arduino nang direkta upang makontrol ang mga ito dahil maaaring kailanganin nila ng mas kasalukuyang kaysa sa isang microcontroller ay maaaring magmaneho kaya kailangan namin ng mga driver. Ang driver ay isang circuit ng interface sa pagitan ng motor at unit ng pagkontrol upang mapadali ang pagmamaneho. Ang mga drive ay may iba't ibang uri. Sa tagubiling ito, natututo kang magtrabaho sa L293D motor na panangga.

Ang L293D kalasag ay isang board ng driver batay sa L293 IC, na maaaring magmaneho ng 4 DC motor at 2 stepper o Servo motor nang sabay.

Ang bawat channel ng modyul na ito ay may maximum na kasalukuyang 1.2A at hindi gagana kung ang boltahe ay higit sa 25v o mas mababa sa 4.5v. Kaya't mag-ingat sa pagpili ng tamang motor alinsunod sa nominal boltahe at kasalukuyang nito. Para sa higit pang mga tampok ng kalasag na ito ay banggitin natin ang pagiging tugma sa Arduini UNO at MEGA, electromagnetic at thermal protection ng motor at pagdiskonekta ng circuit kung sakaling hindi maunasan ang pagtaas ng boltahe.

Hakbang 2: Paano Gumamit ng Arduino L293D Motor Driver Shield?

Paano Gumamit ng Arduino L293D Motor Driver Shield?
Paano Gumamit ng Arduino L293D Motor Driver Shield?

Habang ginagamit ang kalasag na ito ng 6 analog Pins (na maaaring magamit bilang mga digital pin din), ang pin 2 at pin 13 ng arduino ay libre.

Sa kaso ng paggamit ng Servo motor, ginagamit ang mga pin 9, 10, 2.

Sa kaso ng paggamit ng DC motor, ang pin11 para sa # 1, pin3 para sa # 2, pin5 para sa # 3, pin6 para sa # 4 at mga pin 4, 7, 8 at 12 para sa kanilang lahat ay ginagamit.

Sa kaso ng paggamit ng Stepper motor, ang mga pin 11 at 3 para sa # 1, ang mga pin 5 at 6 para sa # 2 at ang mga pin 4, 7, 8 at 12 para sa kanilang lahat ay ginagamit.

Maaari kang gumamit ng mga libreng pin sa pamamagitan ng mga wired na koneksyon.

Kung naglalagay ka ng magkakahiwalay na suplay ng kuryente sa Arduino at kalasag, siguraduhing naalis mo ang pagkakakonekta ng jumper sa kalasag.

Hakbang 3: Pagmamaneho ng DC Motor

Pagmamaneho ng DC Motor
Pagmamaneho ng DC Motor

# isama

Ang Library na kailangan mo upang makontrol ang motor:

AF_DCMotor motor (1, MOTOR12_64KHZ)

Pagtukoy sa DC motor na iyong ginagamit.

Ang unang argumento ay nangangahulugang bilang ng mga motor sa kalasag at ang pangalawa ay nangangahulugang dalas ng dalas ng kontrol sa bilis ng motor. Ang pangalawang argumento ay maaaring maging MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ, at MOTOR12_8KHZ para sa motor number 1 at 2, at maaari itong maging MOTOR12_8KHZ, MOTOR12_8KHZ, at MOTOR12_8KHZ para sa mga motor number 3 at 4. At kung ito ay umalis na walang check, ito ay magiging 1KHZ bilang default.

motor.setSpeed (200);

Pagtukoy sa bilis ng motor. Maaari itong itakda mula 0 hanggang 255.

void loop () {

motor.run (FORWARD);

pagkaantala (1000);

motor.run (BACKWARD);

pagkaantala (1000);

motor.run (RELEASE);

pagkaantala (1000);

}

Ang pagpapaandar ng motor.run () ay tumutukoy sa katayuan ng paggalaw ng motor. Ang status ay maaaring FORWARD, BACKWARD, at RELEASE. Ang RELEASE ay kapareho ng preno ngunit maaaring tumagal ng ilang oras hanggang sa tumigil ang motor.

Inirerekumenda na maghinang ng isang 100nF capacitor sa bawat motor pin upang mabawasan ang ingay.

Hakbang 4: Pagmamaneho ng Servo Motor

Pagmamaneho ng Servo Motor
Pagmamaneho ng Servo Motor

Ang library ng Arduino IDE at mga halimbawa ay angkop para sa pagmamaneho ng isang Servo motor.

# isama

Ang silid-aklatan na kailangan mo para sa pagmamaneho ng Servo motor

Servo MyServo;

Pagtukoy sa isang bagay ng motor na Servo.

walang bisa ang pag-setup () {

myservo.attach (9);

}

Tukuyin ang pin na kumokonekta sa Servo. (Pin 9 para sa sevo # 1 at pin 10 para sa servo # 2)

void loop () {

myservo.write (val);

pagkaantala (15);

}

Tukuyin ang dami ng pag-ikot ng motor. Sa pagitan ng 0 hanggang 360 o 0 hanggang 180 ayon sa uri ng motor.

Hakbang 5: Pagmamaneho ng Stepper Motor

Pagmamaneho ng Stepper Motor
Pagmamaneho ng Stepper Motor

# isama ang <AFMotor.h>

Tukuyin ang silid-aklatan na kailangan mo

AF_Stepper motor (48, 2);

Pagtukoy sa isang bagay na Stepper motor. Ang unang argumento ay ang resolusyon ng hakbang sa motor. (halimbawa, kung ang iyong motor ay may katumpakan ng 7.5 deg / hakbang, nangangahulugan ito na ang resolusyon ng hakbang sa motor ay. Ang pangalawang argumento ay ang bilang ng Stepper motor na konektado sa kalasag.

void setup () {motor.setSpeed (10);

motor.onestep (FORWARD, SINGLE);

motor.release ();

pagkaantala (1000);

}

void loop () {motor.step (100, FORWARD, SINGLE);

motor.step (100, BACKWARD, SINGLE);

motor.step (100, FORWARD, DOUBLE); motor.step (100, BACKWARD, DOUBLE);

motor.step (100, FORWARD, INTERLEAVE); motor.step (100, BACKWARD, INTERLEAVE);

motor.step (100, FORWARD, MICROSTEP); motor.step (100, BACKWARD, MICROSTEP);

}

Tukuyin ang bilis ng motor sa rpm.

Ang unang argumento ay ang dami ng hakbang na kinakailangan upang ilipat, ang pangalawa ay upang matukoy ang direksyon (FORWARD o BACKWARD), at tinutukoy ng pangatlong argument ang uri ng mga hakbang: SINGLE (Paganahin ang isang coil), DOUBLE (Paganahin ang dalawang coil para sa mas maraming metalikang kuwintas), INTERLEAVED (Patuloy na pagbabago sa bilang ng mga coil mula isa hanggang dalawa at kabaliktaran sa dobleng katumpakan, subalit, sa kasong ito, ang bilis ay halved), at MICROSTEP (Ang pagbabago ng mga hakbang ay ginagawa nang dahan-dahan para sa mas tumpak. Sa kasong ito, mas mababa ang metalikang kuwintas). Bilang default, kapag tumigil ang paggalaw ng motor, pinapanatili nito ang katayuan.

Dapat mong gamitin ang pagpapaandar ng motor.release () upang palabasin ang motor.

Hakbang 6: Bumili ng Arduino L293D Motor Driver Shield

Bumili ng Arduino L293D Shield mula sa ElectroPeak

Hakbang 7: Mga Kaugnay na Proyekto:

  • L293D: Teorya, Diagram, Simulation at Pinout
  • Ang Gabay ng Baguhan upang Makontrol ang Mga Motors ni Arduino & L293D

Hakbang 8: Tulad sa Amin sa FaceBook

Kung nakita mong kapaki-pakinabang at kawili-wili ang tutorial na ito, mangyaring kagaya namin sa facebook.

Inirerekumendang: