instructables-logoa

instructables VHDL Motor Abiadura Kontrola Norabidea eta Abiadura Ezker eta Eskuineko Abiadura Kontrolatzailea erabaki

instructables-VHDL-Motor-Abiadura-Kontrola-Erabaki-Norabidea-eta-Abiadura-Ezkerrera-eta-Eskuineko-Abiadura-Kontrollea-PRODUKTU

OHARRA: Orrialde hau eraikuntza handiago baten zati bat da. Mesedez, ziurtatu HEMEN hasten zarela, honako hau proiektu handiagoaren barruan non sartzen den ulertzeko

Amaituview

Motor-abiadura eta norabidearen kontrola fotodetektagailuaren robotaren bi zati nagusietako bat da, bestea fotodetektagailua edo argi-detektagailuaren zatiketa. Fotodetektagailuaren zatiketa robotaren ikusmenean zentratzen den bitartean, motorraren abiadura eta norabidea kontrolatzeko dibisioa robotaren mugimenduan zentratzen da. Motor-abiadura eta norabidea kontrolatzeko prozesuaren datuak fotodetektagailuaren zatiketatik ematen dira eta irteera fisikoa ematen du motorraren mugimendu moduan.

Zatiketa honen helburua argia bilatzen duen robotaren ezkerreko zein eskuineko motorraren abiadura eta norabidea kontrolatzea da. Balio horiek erabakitzeko, kamerak harrapatu eta atalasearen bidez prozesatutako argiaren tamaina eta posizioa beharko dituzu. Motor bakoitzean neurtutako abiadura ere beharko duzu. Sarrera horietatik, motor bakoitzeko PWM (Pulse-Width Modulation) balioa atera ahal izango duzu.

Hori lortzeko, VHDL modulu hauek egin beharko dituzu (behean ere estekatuta):

  1. Kontrola
  2. Errorearen kalkulua
  3. Bitar bihurketa
  4.  Argi iturririk eza

Dibisio honen VHDL kodea ikus dezakezu hemen.

Hornigaiak
ISE Design Suite 14.7-rekin kodetzea gomendatzen dugu, kodea VHDL-n probatzeko ere erabil daitekeelako. Hala ere, kodea BASYS 3-ra igotzeko, Vivado (2015.4 edo 2016.4 bertsioa) instalatu eta muga .xdc luzapenarekin idatzi beharko duzu.instructables-VHDL-Motor-Abiadura-Kontrola-Erabaki-Norabidea-eta-Abiadura-Ezker-eta-Eskuineko-Abiadura-Kontrollea-fig-1

VHDL Motor Abiadura Kontrola: Norabidea eta Abiadura erabaki, Ezkerreko eta Eskuineko Abiadura Kontrolatzailea: 1. orrialdea

JARRAIBIDE-URRATSA

1. urratsa: Kontrola
Argia bilatzen duen robotaren portaera nola kontrolatu ulertzeko, argi-iturri bat ikusten duenean robotaren nahi den portaera azalduko dugu. Jokabide hori argi iturriaren posizioaren eta tamainaren arabera kontrolatuko da.instructables-VHDL-Motor-Abiadura-Kontrola-Erabaki-Norabidea-eta-Abiadura-Ezkerrera-eta-Eskuineko-Abiadura-Kontrollea-

Erabilitako algoritmoa RC robot kontrolagailu baten antzekoa da, palanka bat ezkerrera edo eskuinera biratu daitekeena eta beste palanka bat aurrera edo atzera biratu daitekeena.

Argia bilatzeko, robot hau lerro zuzen batean mugitzea nahi duzu, argi iturriaren posizioa robotaren aurrean badago. Horretarako, abiadura berdina nahi duzu ezkerreko zein eskuineko motorretan. Argia robotaren ezkerreko aldean badago, eskuineko motorra ezkerreko motorra baino azkarrago mugitzea nahi duzu, robotak ezkerrera biratu dezan argirantz. Aitzitik, argia robotaren eskuineko aldean badago, ezkerreko motorra eskuineko motorra baino azkarrago mugitzea nahi duzu, robotak eskuinera biratu dezan argirantz. Hau RC kontrolagailu baten ezkerreko palankaren antzekoa da, non robota ezkerrera, eskuinera edo zuzen mugitu nahi duzun kontrola dezakezu.

Ondoren, robota aurrera egitea nahi duzu argi-iturria urrun badago (argi-iturri txikia), edo atzera egitea detektatutako argi-iturri hurbilegi badago (argi-iturri handia). Gainera, robota argi-iturritik zenbat eta urrunago egon, orduan eta azkarrago mugituko da robota. Hau RC kontrolagailu baten eskuineko palankaren antzekoa da, non aurrera edo atzera egin nahi duzun eta zenbat azkar mugitu nahi duzun kontrola dezakezu.

Ondoren, motor bakoitzaren abiaduraren formula matematiko bat atera dezakezu, eta -255 eta 255 arteko abiadura-tartea aukeratzen dugu. Balio negatiboak motorra atzera egingo duela esan nahi du, eta balio positiboak, berriz, aurrera egingo duela.

Hori da robot honen mugimendurako oinarrizko algoritmoa. Modulu honi buruz gehiago jakiteko, egin klik hemen.

2. urratsa: erroreen kalkulua
Dagoeneko motorren helburua abiadura eta norabidea dituzunez, neurtutako abiadura eta motorren norabidea ere kontuan hartu nahi dituzu. Abiadura-helburura iritsi bada, motorra bere momentuan bakarrik mugitzea nahi dugu. Hala ez bada, motorrari abiadura gehiago gehitu nahi diogu. Kontrolaren teorian, begizta itxiko feedback kontrol sistema bezala ezagutzen da.

Modulu honi buruz gehiago jakiteko, egin klik hemen.instructables-VHDL-Motor-Abiadura-Kontrola-Erabaki-Norabidea-eta-Abiadura-Ezker-eta-Eskuineko-Abiadura-Kontrollea-fig-2

3. urratsa: Bitar bihurketa
Aurreko kalkuluen arabera, dagoeneko ezagutzen duzu motor bakoitzak behar duen ekintza. Hala ere, kalkuluak sinatutako bitar erabiliz egiten dira. Modulu honen helburua balio sinatu hauek PWM sorgailuak irakur ditzakeen balio batean bihurtzea da, hau da, norabidea (erlojuaren orratzen noranzkoan edo erlojuaren kontra) eta abiadura (0tik 255era bitartekoa). Gainera, motorraren feedbacka zeinurik gabeko bitarrean neurtzen denez, beste modulu bat behar da sinatu gabeko balioak (norabidea eta abiadura) erroreak kalkulatzeko moduluak kalkulatu dezakeen balio sinatu batean bihurtzeko. Modulu honi buruz gehiago jakiteko, egin klik hemen.

4. urratsa: Argi-iturririk eza
Robotak argia detektatzen duenean argia bilatzeko mugitzen den robot bat egin duzu. Baina zer gertatzen da robotak argia hautematen ez duenean? Modulu honen helburua baldintza hori dagoenean zer egin behar den agintzea da.

Bilatzeko modurik errazena eta argi iturri bat robota lekuan biratzea da. Segundu kopuru jakin batean biratu ondoren, robotak oraindik ez badu argi iturririk aurkitu, robota mugitzeari uztea nahi duzu, energia aurrezteko. Beste segundo kopuru jakin bat igaro ondoren, robotak lekuan biratu behar du berriro argia bilatzeko. Modulu honi buruz gehiago jakiteko, egin klik hemen.

5. urratsa: Nola funtzionatzen du
Azalpen honetarako goiko irudira jo dezakezu. Instrukzio honen hasieran esan bezala, atalasearen zatiketaren "tamaina" eta "posizioa" sarrerak beharko dituzu. Sarrera hauek baliozkoak zirela ziurtatzeko (adibidezampTamaina = 0 jasotzen duzunean, tamaina benetan zero da kamerak argirik hautematen ez duelako, eta ez kamera oraindik hasieratzen ari zelako) adierazle motaren bat ere beharko duzu, "PREST" deitzen duguna. Datu hauek kontrolak (Ctrl. vhd) prozesatuko ditu motor bakoitzaren helburua abiadura zehazteko (9 bit, sinatuta).

Motorraren irteera egonkorrago bat lortzeko, begizta itxiko sistema batean feedbacka erabili nahi duzu. Honek motor bakoitzaren "norabidea" eta "abiadura" sarrerak behar ditu motorraren abiadura neurtzeko zatiketatik. Sarrera hauek zure kalkuluetan sartu nahi dituzunez, sinatu gabeko balio hauek 9 biteko sinatutako bitar bihurtu beharko dituzu. Hau sinatu gabeko bihurgailu bitar sinatuarekin egiten du (US2S.vhd).

Errorearen kalkuluak (error. vhd) egiten duena da helburuko abiadurari neurtutako abiadura kentzea, motor bakoitzaren ekintza zehazteko. Horrek esan nahi du biek balio bera dutenean, kenketa zero bihurtzen dela eta motorra bere momentuan bakarrik mugituko dela. Biderketa-faktore bat ere gehi dezakezu, robotak helburuko abiadura azkarrago irits dezan.

Motor-kontrolagailuak motor bakoitzaren abiadura eta norabidea behar duenez, ekintzaren balio sinatuak zeinu gabeko bi balio bereizi bihurtu behar dituzu: abiadura (bit 1) eta norabidea (8 bit). Hau sinadu eta sinatu gabeko bihurgailu bitarraren bidez egiten da (S2US.vhd), eta motor-kontroleko dibisiorako sarrera bihurtuko da.

Modulu bat ere gehitu dugu argia hautematen ez denean zer egin zehazteko (argi-kontagailurik ez. Bhd). Modulu hau, funtsean, kontagailua denez, robotak biratu edo lekuan egon behar duen zenbat denbora zenbatuko du. Honek robotak bere ingurunea "ikusten" duela bermatuko du, aurrean dagoena baino, eta bateriaren energia aurreztuko du argi-iturri benetan eskuragarri ez dagoenean.instructables-VHDL-Motor-Abiadura-Kontrola-Erabaki-Norabidea-eta-Abiadura-Ezker-eta-Eskuineko-Abiadura-Kontrollea-fig-3

6. urratsa: konbinatu Files
Konbinatzeko files, modulu bakoitzeko seinaleak konektatu behar dituzu. Horretarako, maila goreneko modulu berri bat egin behar duzu file. Sartu aurreko moduluen sarrerak eta irteerak osagai gisa, gehitu konexioetarako seinaleak eta esleitu ataka bakoitza dagokion bikoteari. Goiko ilustrazioko konexioak ikus ditzakezu eta hemen kodea begiratu.instructables-VHDL-Motor-Abiadura-Kontrola-Erabaki-Norabidea-eta-Abiadura-Ezker-eta-Eskuineko-Abiadura-Kontrollea-fig-4

7. urratsa: proba ezazu
Kode osoa amaitu ondoren, zure kodea funtzionatzen duen jakin behar duzu arbelera igo aurretik, batez ere, kodearen zatiak pertsona ezberdinek egin ditzaketelako. Horretarako testbench bat behar da, non balio finkoak sartuko dituzun eta kodea nahi dugun moduan jokatzen duen ikusteko. Hasteko, atseden dezakezu modulu bakoitza probatzen, eta denek ondo funtzionatzen badute, goi-mailako modulua probatu dezakezu.

8. urratsa: proba ezazu hardwarean
Zure kodea zure ordenagailuan probatu ondoren, kodea benetako hardwarean probatu dezakezu. Murrizketa egin behar duzu file Vivado-n (.xdc file BASYS 3rako) zein sarrera eta irteera zein portutara doazen kontrolatzeko.

AHOLKU GARRANTZITSUA: Osagai elektrikoek korrontearen edo bolumenaren balio maximoa izan dezaketela modu gogorrean ikasi genuentages. Ziurtatu balioei buruzko datu-orriari erreferentzia egiten diola. PMOD HB5-rako, ziurtatu voltage 12 voltioko elikadura-iturritik (beharrezko bolumena baitatage motorrentzat), eta korrontea motorra mugitzeko behar adina.

9. urratsa: Konbinatu beste zati batzuekin
Aurreko urratsak arrakastatsuak izan badira, konbinatu kodea beste taldeekin azken kodea robotera igotzeko. Orduan, voila! Arrakastaz egin duzu argia bilatzen duen robot bat.

10. urratsa: Laguntzaileak
Ezkerretik eskuinera:

  • Antonius Gregorius Deaven Rivaldi
  • Felix Wiguna
  • Nicholas Sanjaya
  • Richard Medyantoinstructables-VHDL-Motor-Abiadura-Kontrola-Erabaki-Norabidea-eta-Abiadura-Ezker-eta-Eskuineko-Abiadura-Kontrollea-fig-6

Oso polita: VHDL Motor Abiadura Kontrola: Norabidea eta Abiadura erabaki, Ezkerreko eta Eskuineko Abiadura Kontrolatzailea: 6. orrialdea
Eskerrik asko reviewing! Proiektu hau klaseko proiektu baten zati bat baino ez da (Light Seeking Robot BASYS 3 taularekin eta OV7670 kamerarekin), beraz laster gehituko dut esteka klasearen instrukziora!

Zoragarria: Irrikitan nago dena elkartuta ikusteko.

Dokumentuak / Baliabideak

instructables VHDL Motor Abiadura Kontrola Norabidea eta Abiadura Ezker eta Eskuineko Abiadura Kontrolatzailea erabaki [pdfArgibideak
VHDL Motor Abiadura Kontrola Norabidea eta Abiadura Ezkerreko eta Eskuineko Abiadura Kontrolatzailea, VHDL Motor Abiadura, Kontrola Ezkerreko eta Eskuineko Abiadura Kontrolatzailea.

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *