Talaan ng mga Nilalaman:

PID Line Follower Atmega328P: 4 Hakbang
PID Line Follower Atmega328P: 4 Hakbang

Video: PID Line Follower Atmega328P: 4 Hakbang

Video: PID Line Follower Atmega328P: 4 Hakbang
Video: DIY Fast PID line follower with code **PART 2** 2024, Nobyembre
Anonim
Image
Image

PANIMULA

Ang itinuturo na ito ay tungkol sa paggawa ng isang mahusay at maaasahang Line Follower na may PID (proportional-integral-derivative) Control (Matematika) na tumatakbo sa loob ng utak nito (Atmega328P).

Ang tagasunod sa linya ay isang autonomous robot na sumusunod sa alinman sa itim na linya sa puti ay o puting linya sa itim na lugar. Ang robot ay dapat na makakita ng isang partikular na linya at panatilihin ang pagsunod dito.

Kaya magkakaroon ng ilang mga bahagi / hakbang upang makagawa ng isang LINE FOLLOWER Tatalakayin ko silang lahat nang sunud-sunod.

  1. Sensor (Mata upang makita ang linya)
  2. Microcontroller (Utak na gumawa ng ilang mga kalkulasyon)
  3. Mga Motors (Lakas ng kalamnan)
  4. Driver ng Motor
  5. Chassis
  6. Baterya (Pinagmulan ng Enerhiya)
  7. Gulong
  8. Misc

Narito ang VIDEO NG LINE FOLLOWER

SA SUSUNOD NA MGA HAKBANG GUSTO KO ANG PAGTATALAKAY SA MGA DETALYE TUNGKOL SA LAHAT NG mga Komponente

Hakbang 1: Sensor (Mata) QTR 8RC

Sensor (Mata) QTR 8RC
Sensor (Mata) QTR 8RC
Sensor (Mata) QTR 8RC
Sensor (Mata) QTR 8RC
Sensor (Mata) QTR 8RC
Sensor (Mata) QTR 8RC

Salamat saPololufor manufacturing ito kahanga-hangang sensor.

Ang module ay isang maginhawang carrier para sa walong IR emitter at receiver (phototransistor) na pares na pantay-pantay sa mga agwat ng 0.375 (9.525 mm). Upang magamit ang isang sensor, kailangan mo munang singilin ang output node (Pagsingil sa capacitor) sa pamamagitan ng paglalapat ng boltahe sa ang OUT pin nito. Maaari mong basahin ang pagsasalamin sa pamamagitan ng pag-atras ng boltahe ng panlabas na ibinigay at kung gaano katagal ang pagkabulok ng boltahe ng output dahil sa pinagsamang phototransistor. Ang mas maikling oras ng pagkabulok ay isang pahiwatig ng higit na pagsasalamin. Ang diskarte sa pagsukat na ito ay may maraming mga pakinabang, lalo na kapag isinama sa kakayahan ng module na QTR-8RC upang patayin ang LED power:

  • Walang kinakailangang analog-to-digital converter (ADC).
  • Pinabuting pagkasensitibo sa paglabas ng voltre-divider analog output.
  • Ang parallel na pagbabasa ng maraming mga sensor ay posible sa karamihan ng mga microcontroller.
  • Pinapayagan ng kahanay na pagbabasa ang na-optimize na paggamit ng pagpipilian na pinapagana ng LED power

Mga pagtutukoy

  • Mga Dimensyon: 2.95 "x 0.5" x 0.125 "(walang naka-install na mga header pin)
  • Operating boltahe: 3.3-5.0 V
  • Kasalukuyang supply: 100 mA
  • Format ng output: 8 digital na signal ng I / O na katugma na mababasa bilang isang nag-time na mataas na pulso
  • Optimal sensing distansya: 0.125 "(3 mm) Maximum na inirekumendang distansya ng sensing: 0.375" (9.5 mm)
  • Timbang na walang mga header pin: 0.11 oz (3.09 g)

Ang interfacing ng QTR-8RC Output sa Digital I / O Lines

Ang module ng QTR-8RC ay mayroong walong magkaparehong mga output ng sensor na, tulad ng Parallax QTI, nangangailangan ng isang digital na linya ng I / O na may kakayahang pagmamaneho ng mataas na linya ng output at pagkatapos ay pagsukat ng oras para mabulok ang boltahe ng output. Ang tipikal na pagkakasunud-sunod para sa pagbabasa ng isang sensor ay:

  1. I-on ang mga IR LED (opsyonal).
  2. Itakda ang linya ng I / O sa isang output at itaboy ito nang mataas.
  3. Payagan ang hindi bababa sa 10 μs para sa output ng sensor upang tumaas.
  4. Gawin ang linya ng I / O ng isang input (mataas na impedance).
  5. Sukatin ang oras para sa boltahe na mabulok sa pamamagitan ng paghihintay para sa linya ng I / O na bumaba.
  6. Patayin ang mga IR LED (opsyonal).

Ang mga hakbang na ito ay maaaring isagawa nang kahanay sa maraming mga linya ng I / O.

Sa isang malakas na pagsasalamin, ang oras ng pagkabulok ay maaaring maging mas mababa sa ilang dosenang microseconds; na walang pagsasalamin, ang oras ng pagkabulok ay maaaring hanggang sa ilang milliseconds. Ang eksaktong oras ng pagkabulok ay nakasalalay sa mga katangian ng linya ng I / O ng iyong microcontroller. Ang mga makahulugang resulta ay maaaring magamit sa loob ng 1 ms sa mga tipikal na kaso (ibig sabihin, kapag hindi sinusubukang sukatin ang banayad na mga pagkakaiba sa mga sitwasyong mababa ang pagsasalamin), na pinapayagan ang hanggang sa 1 kHz na sampling ng lahat ng 8 sensor. Kung ang sampling ng mas mababang dalas ay sapat, ang malaking pagtitipid ng kuryente ay maaaring maisakatuparan sa pamamagitan ng pag-patay sa mga LED. Halimbawa, kung ang isang 100 Hz na rate ng pag-sample ay katanggap-tanggap, ang mga LED ay maaaring masara sa 90% ng oras, na ibinababa ang average na kasalukuyang pagkonsumo mula sa 100 mA hanggang 10 mA.

Hakbang 2: Microcontroller (Utak) Atmega328P

Microcontroller (Utak) Atmega328P
Microcontroller (Utak) Atmega328P
Microcontroller (Utak) Atmega328P
Microcontroller (Utak) Atmega328P

Salamat saAtmel CorporationFor Paggawa ng Ganap na Microcontroller AKA Atmega328.

Mga pangunahing parameter para sa ATmega328P

Halaga ng Parameter

  • Flash (Kbytes): 32 Kbytes
  • Bilang ng Pin: 32
  • Max. Pagpapatakbo Freq. (MHz): 20 MHz
  • CPU: 8-bit AVR
  • Max I / O Mga Pin: 23
  • Ext Interrupts: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • Mga channel ng ADC: 8
  • Resolution ng ADC (mga piraso): 10
  • SRAM (Kbytes): 2
  • EEPROM (Bytes): 1024
  • I / O Supply Class: 1.8 hanggang 5.5
  • Operating Boltahe (Vcc): 1.8 hanggang 5.5
  • Mga timer: 3

Para sa Detalyadong Impormasyon dumaan sa Datasheet ng Atmega328P.

Sa proyektong ito gumagamit ako ng Atmega328P para sa Ilang Dahilan

  1. Mura naman
  2. May sapat na RAM Para sa pagkalkula
  3. Sapat na I / O Mga Pin para sa Project na Ito
  4. Ginagamit ang Atmega328P Sa Arduino …. Maaaring mapansin ng U sa Larawan at Video ang isang Arduino Uno ngunit mas maganda ang gamit ko ng Arduino IDE o Anumang Arduino.. Ginamit ko lamang ang hardware bilang isang interfacing board. Nabura ko ang bootloader at ginamit ang USB ASP para sa Programming ang chip.

Para sa Programming Ang Chip ginamit ko ang Atmel Studio 6

Lahat ng SOURCE CODE AY NASA GitHub I-download Ito at Suriin ang file ng test.c.

Upang maipon ang package na ito kailangan mong i-download at mai-install Ang POLOLU AVR LIBRARY SETUP Suriin ang Mga Attachment…

NAG-UPLOADING din ako ng isang Atmega328P Development Board Schematic at Board File… Maaari Mo Ito Pagyarinin sa Iyong Sarili …

Hakbang 3: Driver ng Motor at Motor

Motor at Motor Driver
Motor at Motor Driver
Motor at Motor Driver
Motor at Motor Driver
Motor at Motor Driver
Motor at Motor Driver

Gumamit ako ng 350RPM 12V BO Type Geared DC motor bilang actuator. Upang malaman ang karagdagang impormasyon … MOTOR LINK

Bilang isang driver ng motor nagamit ko ang L293D H- tulay IC.

Inilalakip ko ang Schematic at Board File para sa pareho.

Hakbang 4: Chassis at Misc

Chassis at Misc
Chassis at Misc
Chassis at Misc
Chassis at Misc
Chassis at Misc
Chassis at Misc

Ang Bot ay gawa sa Ply Wood Ng 6mm Kapal.

Inirerekumendang: