Sisällysluettelo:
- Vaihe 1: Anturi (silmä) QTR 8RC
- Vaihe 2: Mikro -ohjain (aivot) Atmega328P
- Vaihe 3: Moottori ja moottoriajuri
- Vaihe 4: Runko ja muut
Video: PID -linjan seuraaja Atmega328P: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
JOHDANTO
Tässä ohjeessa on kyse tehokkaan ja luotettavan linjaseurannan tekemisestä, jonka aivojen sisällä toimii PID (suhteellinen-integraali-johdannainen) -ohjaus (matemaattinen) (Atmega328P).
Linjan seuraaja on itsenäinen robotti, joka seuraa joko mustaa viivaa valkoisella tai valkoista viivaa mustalla alueella. Robotin on kyettävä havaitsemaan tietty linja ja seuraamaan sitä.
Joten on vain muutamia osia/vaiheita LINE FOLLOWERin luomiseksi, keskustelen niistä kaikista askel askeleelta.
- Anturi (silmä nähdä linjan)
- Mikrokontrolleri (aivot tekemään joitain laskelmia)
- Moottorit (lihasvoima)
- Moottorin kuljettaja
- Alusta
- Akku (energialähde)
- Pyörä
- Muut
Tässä on VIDEO LINE FOLLOWERista
SEURAAVISSA VAIHEISSA KESKUSTELEN YKSITYISKOHTAISESTI TIETOJA JOKAISISTA OSISTA
Vaihe 1: Anturi (silmä) QTR 8RC
Kiitos Polololle tämän mahtavan anturin valmistamisesta.
Moduuli on kätevä kantolaite kahdeksalle IR -lähetin- ja vastaanotinparille (valotransistori), jotka on sijoitettu tasaisin välein 9,525 mm: n välein. Jotta voisit käyttää anturia, sinun on ensin ladattava lähtösolmu (lataamalla kondensaattoria) jännitteellä Sen jälkeen voit lukea heijastuskyvyn vetämällä ulkoisesti syötetyn jännitteen ja ajastaa, kuinka kauan lähtöjännitteen heikkeneminen kestää integroidun valotransistorin vuoksi. Lyhyempi hajoamisaika on osoitus suuremmasta heijastuksesta. Tällä mittausmenetelmällä on useita etuja, varsinkin kun siihen on yhdistetty QTR-8RC-moduulin kyky sammuttaa LED-virta:
- Analogia-digitaalimuunninta (ADC) ei tarvita.
- Parempi herkkyys jännitteenjakajan analogilähdölle.
- Useimpien mikro -ohjaimien kanssa on mahdollista lukea useita antureita rinnakkain.
- Rinnakkaisluku mahdollistaa LED -virrankäyttömahdollisuuden optimoidun käytön
Tekniset tiedot
- Mitat: 2,95 x 0,5 x 0,125 tuumaa (ilman asennustapoja)
- Käyttöjännite: 3,3-5,0 V
- Syöttövirta: 100 mA
- Lähtöformaatti: 8 digitaalista I/O-yhteensopivaa signaalia, jotka voidaan lukea ajastettuna korkeana pulssina
- Optimaalinen tunnistusetäisyys: 3 mm (0,125 tuumaa) Suurin suositeltu tunnistusetäisyys: 9,5 mm (0,375 tuumaa)
- Paino ilman otsatappeja: 3,09 g
QTR-8RC-lähtöjen liitäntä digitaalisiin I/O-linjoihin
QTR-8RC-moduulissa on kahdeksan identtistä anturilähtöä, jotka Parallax QTI: n tavoin vaativat digitaalisen I/O-linjan, joka pystyy nostamaan lähtölinjan korkealle ja mittaamaan sitten lähtöjännitteen häviämisen ajan. Tyypillinen anturin lukujärjestys on:
- Ota infrapunavalot käyttöön (valinnainen).
- Aseta I/O -linja lähtöön ja aja se korkealle.
- Anna anturin lähdön nousta vähintään 10 μs.
- Tee I/O -linjasta tulo (korkea impedanssi).
- Mittaa jännitteen heikkenemisaika odottamalla I/O -linjan laskemista.
- Sammuta infrapunavalot (valinnainen).
Nämä vaiheet voidaan tyypillisesti suorittaa rinnakkain useilla I/O -linjoilla.
Voimakkaalla heijastuskyvyllä hajoamisaika voi olla jopa useita kymmeniä mikrosekunteja; ilman heijastusta hajoamisaika voi olla jopa muutama millisekunti. Hajoamisen tarkka aika riippuu mikrokontrollerisi I/O -linjan ominaisuuksista. Merkityksellisiä tuloksia voi olla saatavilla 1 ms: n sisällä tyypillisissä tapauksissa (eli silloin, kun ei yritetä mitata pieniä heijastuskyvyn skenaarioita), jolloin kaikkien 8 anturin näytteenotto on jopa 1 kHz. Jos alemman taajuuden näytteenotto riittää, voidaan säästää merkittäviä virransäästöjä sammuttamalla LEDit. Jos esimerkiksi 100 Hz: n näytteenottotaajuus on hyväksyttävä, LEDit voivat sammua 90% ajasta, mikä alentaa keskimääräisen virrankulutuksen 100 mA: sta 10 mA: iin.
Vaihe 2: Mikro -ohjain (aivot) Atmega328P
Kiitos Atmel Corporationille Tämän upean mikrokontrollerin AKA Atmega328 valmistamiseksi.
ATmega328P: n tärkeimmät parametrit
Parametrin arvo
- Flash (kbytejä): 32 kt
- Pin -numero: 32
- Max. Käyttötaajuus (MHz): 20 MHz
- Suoritin: 8-bittinen AVR
- I/O -nastat: 23
- Ext -keskeytykset: 24
- SPI: 2
- TWI (I2C): 1
- UART: 1
- ADC -kanavat: 8
- ADC -tarkkuus (bittiä): 10
- SRAM (kbytejä): 2
- EEPROM (tavua): 1024
- I/O -syöttöluokka: 1,8 - 5,5
- Käyttöjännite (Vcc): 1,8 - 5,5
- Ajastimet: 3
Tarkemmat tiedot löydät Atmega328P: n tietosivulta.
Tässä projektissa käytän Atmega328P: tä harvoista syistä
- Halpa
- Sisältää tarpeeksi RAM -muistia laskemista varten
- Riittävä I/O -nasta tähän projektiin
- Atmega328P: tä käytetään Arduinossa … U saattaa huomata kuvassa ja videossa Arduino Unon, mutta yöllä käytän Arduino IDE: tä tai mitä tahansa Arduinoa. Olen käyttänyt vain laitteistoa liitäntäkorttina. Olen poistanut käynnistyslataimen ja käyttänyt USB ASP: tä sirun ohjelmointiin.
Sirun ohjelmointiin olen käyttänyt Atmel Studio 6: ta
Kaikki LÄHDEKOODI ON GitHubissa Lataa se ja tarkista test.c -tiedosto.
Tämän paketin kääntämiseksi sinun on ladattava ja asennettava POLOLU AVR -KIRJASTOASETUKSET Tarkista liitteet …
LATAN myös Atmega328P -kehityskortin kaavion ja karttatiedoston … voit valmistaa sen itse …
Vaihe 3: Moottori ja moottoriajuri
Olen käyttänyt toimilaitteena 350RPM 12V BO -tyyppistä vaihteistettua tasavirtamoottoria. Lisätietoja … MOTOR LINK
Moottoriajurina olen käyttänyt L293D H-bridge IC: tä.
Liitän kaavion ja hallituksen tiedoston samaan.
Vaihe 4: Runko ja muut
Botti on valmistettu 6 mm paksusta kerrospuusta.
Suositeltava:
Itsetasapainottava robotti - PID -ohjausalgoritmi: 3 vaihetta
Itsetasapainottava robotti - PID -ohjausalgoritmi: Tämä projekti suunniteltiin, koska olin kiinnostunut oppimaan lisää ohjausalgoritmeista ja siitä, kuinka tehokkaasti toteuttaa toiminnallisia PID -silmukoita. Hanke on vielä kehitysvaiheessa, koska Bluetooth -moduulia ei ole vielä lisätty, mikä
Pixy2Bot -objektin seuraaja (servokoodi): 4 vaihetta
Pixy2Bot -objektien seuraaja (servokoodi): Yksinkertaisen objektin rakentaminen robotin jälkeen (ei panorointi-/kallistusmekanismia), jossa on Arduino Uno + Motor Shield, kaksi halpaa jatkuvaa servoa ja Pixy2. Video: https://youtu.be/lxBLt5DJ5BM
Seuraaja- ja tilaajalaskuri: 5 vaihetta
Seuraaja- ja tilaajalaskuri: Tämä projekti on tehty instagram -seuraajien ja youtube -tilaajien laskemiseen. Platformia käytetään: PythonArduino
Tähtiraita - Arduinolla toimiva tähtimerkki ja seuraaja: 11 vaihetta (kuvilla)
Tähtiraita - Arduinolla toimiva tähtikohdistin ja -seuranta: Tähtiraita on Arduinoon perustuva GoTo -asennuksen innoittama tähtien seurantajärjestelmä. Se voi osoittaa ja seurata mitä tahansa taivaalla olevaa esinettä (taivaalliset koordinaatit annetaan syöttönä) kahdella Arduinolla, gyroskoopilla, RTC-moduulilla, kahdella edullisella askelmoottorilla ja 3D-painetulla rakenteella
Helppo robotti: Kevyt seuraaja: 4 vaihetta
Helppo robotti: Kevyt seuraaja: Ei ohjelmointia tai mikrosiruja! Robotit, mahtavinta mitä on, varsinkin kun ihmiset voivat rakentaa sen! Sain tämän robotin ystävältäni lahjaksi. kiitos Rudolf. Joka tapauksessa tämä robotti käyttää 2 valosta riippuvaista vastusta valon ja