Turinys:
- Prekės
- 1 žingsnis: DC variklių paruošimas
- 2 žingsnis: L298N variklio tvarkyklės modulio naudojimas
- 3 žingsnis: PWM pridėjimas prie L298N tvarkyklės modulio
- 4 žingsnis: linijos sekimo jutiklio naudojimas
- 5 žingsnis: viską sudėkite
Video: Linijos sekimo robotas su PICO: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Prieš pradėdami kurti robotą, galintį nutraukti civilizaciją tokią, kokią mes žinome, ir sugebėti nutraukti žmonių rasę. Pirmiausia turite sugebėti sukurti paprastus robotus, tuos, kurie gali sekti žemėje nubrėžtą liniją, ir štai kur jūs žengsite pirmąjį žingsnį, kad baigtumėte mus visus>. <
Visų pirma, linija, einanti paskui robotą, yra robotas, galintis sekti liniją žemėje, ir ši linija paprastai yra juoda linija, nubrėžta baltame fone arba atvirkščiai; taip yra todėl, kad robotui lengviau atskirti labai kontrastingas spalvas, tokias kaip juoda ir balta. Kur robotas keičia savo kampą, priklausomai nuo nuskaitytos spalvos.
Prekės
- PICO
-
Dviejų ratų pavaros roboto važiuoklė, turinti šias savybes:
- Akrilo važiuoklė
- 2 nuolatinės srovės varikliai su ratukais ir kodavimo įrenginiais
- Ratukai su metalinėmis atramomis
- 4 kanalų akumuliatoriaus laikiklis
- Kai kurie varžtai ir veržlės
- Įjungimo/išjungimo jungiklis
- L298N variklio tvarkyklės modulis
- 2 linijų sekimo jutikliai
- 7,4 V baterija
1 žingsnis: DC variklių paruošimas
Norėdami palengvinti šį projektą, galite naudoti dviejų ratų pavaros „2WD“važiuoklę, nes tai sutaupo laiko ir pastangų statant savo važiuoklę. Suteiksite daugiau laiko susikoncentruoti į projekto elektroniką.
Pradėkime nuo nuolatinės srovės variklių, nes jūs naudosite variklius savo roboto judėjimo greičiui ir krypčiai valdyti, priklausomai nuo jutiklių rodmenų. Pirmas dalykas, kurį reikia padaryti, yra pradėti valdyti variklių greitį, kuris yra tiesiogiai proporcingas įėjimo įtampai, o tai reiškia, kad jūs turite padidinti įtampą, kad padidintumėte greitį, ir atvirkščiai.
PWM „impulso pločio moduliavimo“technika idealiai tinka darbui, nes leidžia reguliuoti ir pritaikyti vidutinę jūsų elektronikos prietaiso (variklio) vertę. Jis veikia naudojant skaitmeninius signalus „HIGH“ir „LOW“, kad sukurtų analogines vertes, labai greitai keičiant 2 signalus. Kai „analoginė“įtampa priklauso nuo procentų tarp skaitmeninių HIGH ir skaitmeninių žemų signalų, esančių PWM laikotarpiu.
Atminkite, kad mes negalime tiesiogiai prijungti PICO prie variklio, nes varikliui reikia mažiausiai 90 mA, kurio negali valdyti PICO kaiščiai, todėl naudojame L298N variklio tvarkyklės modulį, kuris suteikia mums galimybę siųsti pakankamai srovės varikliams ir pakeisti jo poliškumą.
Dabar lituokime laidą prie kiekvieno variklio gnybto, atlikdami šiuos veiksmus:
- Ant variklio gnybto pritvirtinkite šiek tiek litavimo
- Uždėkite vielos antgalį virš variklio gnybto ir kaitinkite lituokliu, kol gnybto lydmetalis ištirps ir sujungs su viela, tada nuimkite lituoklį ir leiskite jungčiai atvėsti.
- Pakartokite ankstesnius veiksmus su likusiais abiejų variklių gnybtais.
2 žingsnis: L298N variklio tvarkyklės modulio naudojimas
L298N variklio pavaros variklis turi galimybę padidinti signalą, gaunamą iš PICO, ir pakeisti per jį einančios srovės poliškumą. Leidžia jums valdyti variklių sukimosi greitį ir kryptį.
L298N kaiščių išvestys
- Pirmasis nuolatinės srovės variklio A gnybtas
- DC variklio A antrasis gnybtas
- Borto 5v reguliatoriaus trumpiklis. Nuimkite šį trumpiklį, jei prijungiate variklio maitinimo įtampą, didesnę nei 12 V, kad įtampos reguliatorius nebūtų kietas.
- Variklio maitinimo įtampa. Maksimali įtampa yra 35 V ir nepamirškite nuimti įtampos reguliatoriaus, jei naudojate daugiau nei 12 V.
- GND
- 5v išėjimas. Ši išvestis gaunama iš įtampos reguliatoriaus, jei jis vis dar prijungtas, ir suteikia jums galimybę maitinti savo PICO iš to paties šaltinio kaip variklis.
- Nuolatinės srovės variklis A įjungia trumpiklį. Jei šis jungiklis prijungtas, variklis veiks visu greičiu pirmyn arba atgal. Bet jei norite valdyti greitį, tiesiog nuimkite trumpiklį ir vietoj to prijunkite PWM kaištį.
- In1, tai padeda kontroliuoti srovės poliškumą, taigi ir variklio A sukimosi kryptį.
- In2, tai padeda kontroliuoti srovės poliškumą, taigi ir variklio A sukimosi kryptį.
-
In3, tai padeda kontroliuoti srovės poliškumą, taigi ir variklio B sukimosi kryptį.
- In4, tai padeda kontroliuoti srovės poliškumą, taigi ir variklio B sukimosi kryptį.
- Nuolatinės srovės variklis B įgalina trumpiklį. Jei šis jungiklis prijungtas, variklis veiks visu greičiu pirmyn arba atgal. Bet jei norite valdyti greitį, tiesiog nuimkite trumpiklį ir vietoj to prijunkite PWM kaištį.
DC variklio B pirmasis terminalas
DC variklio B antrasis gnybtas
Dėl kaiščių skaičiaus, kurį turi L298N vairuotojo variklis, atrodo sunku naudoti. Tačiau tai iš tikrųjų yra gana paprasta, ir įrodykime tai veikiančiu pavyzdžiu, kai mes jį naudojame valdydami abiejų mūsų variklių sukimosi kryptį.
Prijunkite PICO prie variklio tvarkyklės taip „rasite aukščiau pateiktą schemą“:
- In1 → D0
- In2 → D1
- In3 → D2
- In4 → D3
Variklio kryptis valdoma siunčiant HIGH ir LOW loginę reikšmę tarp kiekvienos poros In1/2 ir In3/4 vairuotojo kaiščių. Pavyzdžiui, jei siunčiate HIGH į In1 ir LOW į In2, variklis sukasi viena kryptimi, o siunčiant LOW į In1 ir HIGH į In2, variklis sukasi priešinga kryptimi. Bet jei vienu metu siunčiate tuos pačius HIGH arba LOW signalus tiek In1, tiek In2, varikliai sustos.
Nepamirškite prijungti PICO GND prie akumuliatoriaus GND ir nenuimkite įjungimo jungiklių A ir B.
Šio pavyzdžio kodą taip pat rasite aukščiau.
3 žingsnis: PWM pridėjimas prie L298N tvarkyklės modulio
Dabar mes galime valdyti savo variklių sukimosi kryptį. Tačiau mes vis dar negalime kontroliuoti jų greičio, nes turime nuolatinės įtampos šaltinį, kuris suteikia jiems didžiausią galią. Norėdami tai padaryti, jums reikia dviejų PWM kaiščių, kad galėtumėte valdyti abu variklius. Deja, tu, PICO turi tik 1 PWM išvestį, kurią turime išplėsti naudodami PCA9685 OWM modulį, o šis nuostabus modulis gali išplėsti jūsų PWM nuo 1 iki 16!
PCA9685 kontaktai:
- VCC → Tai jūsų loginė galia, maksimali 3-5v.
- GND → Norint užbaigti grandinę, neigiamas kaištis turi būti prijungtas prie GND.
- V+ → Šis kaištis paskirsto energiją, gaunamą iš išorinio maitinimo šaltinio, jis visų pirma naudojamas varikliams, kuriems reikia daug srovės ir kuriems reikalingas išorinis maitinimo šaltinis.
- SCL → Serijinis laikrodžio kaištis, kurį prijungiate prie PICO SCL.
- SDA → Serijiniai duomenų kaiščiai, kuriuos prijungiate prie PICO SDA.
- OE → Išvesties įjungimo kaištis, šis kaištis yra LOW, o tai reiškia, kad kai kaištis yra LOW, visi išėjimai yra įjungti, o kai jis yra HIGH, visi išėjimai yra išjungti. Tai yra pasirenkamas kaištis, numatytasis traukiamas žemai.
PCA9685 PWM modulis turi 16 PWM išėjimų, kurių kiekvienas turi savo V+, GND ir PWM signalus, kuriuos galite valdyti nepriklausomai nuo kitų. Kiekvienas PWM gali valdyti 25 mA srovę, todėl būkite atsargūs.
Dabar ateina dalis, kurioje mes naudojame PCA9685 modulį savo variklių greičiui ir krypčiai valdyti, ir taip prijungiame PICO prie PCA9685 ir L298N modulių:
PICO į PCA9685:
- D2 (PICO) SDA (PCA9685)
- D3 (PICO) SCL (PCA9685)
PCA9685 - L298N:
- PWM 0 (PCA9685) → In1 (L298N), norint valdyti variklio A kryptį
- PWM 1 (PCA9685) → In2 (L298N), norint valdyti variklio A kryptį
- PWM 2 (PCA9685) → In3 (L298N), norint valdyti variklio B kryptį
- PWM 3 (PCA9685) → In4 (L298N), norint valdyti variklio B kryptį
- PWM 4 (PCA9685) → enableA (L298N), skirtas PWM signalui, valdančiam A variklio greitį, siųsti.
- PWM 5 (PCA9685) → enableB (L298N), skirtas PWM signalui, valdančiam B variklio greitį, siųsti.
Visų šių dalių kodą rasite aukščiau.
4 žingsnis: linijos sekimo jutiklio naudojimas
Linijos sekimo priemonė yra gana paprasta. Šis jutiklis gali atskirti du paviršius, priklausomai nuo jų kontrasto, kaip juodos ir baltos spalvos.
Linijos sekimo jutiklį sudaro dvi pagrindinės dalys: IR šviesos diodas ir fotodiodas. Jis gali atpažinti spalvas, skleisdamas IR šviesą iš šviesos diodo ir skaitydamas atspindžius, kurie grįžta į fotodiodą, tada fotodiodas išleidžia įtampos vertę, priklausomai nuo atspindėtos šviesos (HIGH reikšmė šviesiam „blizgančiam“paviršiui, ir LOW reikšmė tamsiam paviršiui).
Linijos sekimo priemonės taškai:
- A0: tai yra analoginis išvesties kaištis, ir mes jį naudojame, jei norime analoginio įėjimo skaitymo (0-1023)
- D0: tai skaitmeninis išvesties kaištis, ir mes jį naudojame, jei norime skaitmeninio įvesties skaitymo (0-1)
- GND: Tai yra įžeminimo kaištis, ir mes jį prijungiame prie PICO GND kaiščio
- VCC: tai yra maitinimo kaištis, ir mes jį prijungiame prie PICO VCC kaiščio (5v)
- Potenciometras: naudojamas valdyti jutiklio jautrumą.
Išbandykime linijos sekimo jutiklį naudodami paprastą programą, kuri įjungia šviesos diodą, jei aptinka juodą liniją, ir išjunkite šviesos diodą, jei jis aptinka baltą paviršių spausdindamas jutiklio rodmenis serijiniame monitoriuje.
Šio bandymo kodą rasite aukščiau.
5 žingsnis: viską sudėkite
Paskutinis dalykas, kurį turime padaryti, yra viską sudėti. Mes išbandėme juos visus atskirai ir visi veikia taip, kaip tikėtasi.
Mes išlaikysime PICO, PCA9685 ir L298N modulius prijungtus tokius, kokie jie yra. Tada prie esamos sąrankos pridedame linijos sekimo jutiklius ir jie yra tokie:
- VCC (visi linijos sekimo jutikliai) → VCC (PICO)
- GND (visi linijos sekimo jutikliai) → GND (PICO)
- D0 (dešinės linijos sekimo jutiklis) → A0 (PICO)
- D0 (Centrinės linijos sekimo jutiklis) → A1 (PICO)
- D0 (kairės linijos sekimo jutiklis) → A2 (PICO)
Tai yra galutinis kodas, kuris valdys jūsų automobilį ir lieps jam sekti liniją, juodą liniją baltame fone.
Rekomenduojamas:
Linijos sekimo robotas Siebe Deetens: 4 žingsniai
Linijos stebėtojų robotas Siebe Deetens: Bij de opleiding Elektromechanica Automatisering aan HOGENT (3e bachelor), hebben we vanuit het vak Syntheseproject de opdracht gekregen om een line followher robot te maken.Hier kan je het hele bouwproces lezen met uitleg over hoe je zelf a. sla
Išplėstinis linijos sekimo robotas: 22 žingsniai (su nuotraukomis)
Išplėstinis linijos sekimo robotas: tai išplėstinis linijos sekimo robotas, pagrįstas „Teensy 3.6“ir „QTRX“linijos jutikliu, kurį aš sukūriau ir kurį laiką dirbau. Yra keletas esminių mano ankstesnės linijos roboto dizaino ir našumo patobulinimų. T
Linijos sekimo robotas: 11 žingsnių (su nuotraukomis)
Linijos sekimo robotas: Aš padariau linijos sekimo robotą su PIC16F84A mikroprocesoriumi, turinčiu 4 IR jutiklius. Šis robotas gali veikti juodos ir baltos linijos
Linijos sekimo robotas: 7 žingsniai (su nuotraukomis)
Linijos sekimo robotas: tai robotas, sekantis juodą liniją ant balto paviršiaus
PID pagrįstas linijos sekimo robotas su POLOLU QTR 8RC jutikliu: 6 žingsniai (su nuotraukomis)
PID pagrįstas linijos sekimo robotas su POLOLU QTR 8RC jutiklio masyvu: Sveiki! Tai pirmas mano aprašymas apie nurodymus, ir šiandien aš jus nuvesiu kelyje ir paaiškinsiu, kaip panaikinti PID pagrįstą liniją po roboto naudojant QTR-8RC jutiklių masyvas. Prieš pradėdami kurti robotą, turime suprasti