maelekezo-nembo

maagizo ya Udhibiti wa Kasi ya VHDL Amua Mwelekeo na Kasi ya Kushoto na Kidhibiti cha Kasi ya Kulia

maelekezo-VHDL-Motor-Speed-Control-Amua-mwelekeo-na-Kasi-Kushoto-na-Kulia-Kidhibiti-Kasi-PRODUCT

KUMBUKA: Ukurasa huu ni sehemu moja ya muundo mkubwa. Tafadhali hakikisha unaanzia HAPA, ili uelewe ni wapi mambo yafuatayo yanafaa ndani ya mradi mkubwa zaidi

Zaidiview

Udhibiti wa kasi ya gari na mwelekeo ni moja wapo ya sehemu kuu mbili kwenye roboti ya kichungi cha picha, nyingine ni kigundua picha au kitengo cha kugundua mwanga. Wakati kitengo cha kigundua picha kinazingatia maono ya roboti, kitengo cha kudhibiti kasi ya gari na mwelekeo huzingatia harakati za roboti. Data ya mchakato wa kudhibiti kasi ya gari na mwelekeo iliyotolewa kutoka kwa kitengo cha kigundua picha na inatoa matokeo ya kimwili katika mfumo wa harakati za gari.

Madhumuni ya kitengo hiki ni kudhibiti kasi na mwelekeo wa injini ya kushoto na ya kulia ya roboti inayotafuta mwanga. Ili kuamua maadili haya, utahitaji ukubwa na nafasi ya mwanga ambayo ilikuwa imenaswa na kamera na kuchakatwa na kizingiti. Utahitaji pia kasi iliyopimwa kwenye kila motors. Kutoka kwa pembejeo hizi, utaweza kutoa thamani ya PWM (Pulse-Width Modulation) kwa kila motors.

Ili kufanikisha hili, utahitaji kutengeneza moduli hizi za VHDL (pia zimeunganishwa hapa chini):

  1. Udhibiti
  2. Hesabu ya makosa
  3. Uongofu wa binary
  4.  Kutokuwepo kwa chanzo cha mwanga

Unaweza kuangalia msimbo wa VHDL wa mgawanyiko huu hapa.

Ugavi
Tunapendekeza kuweka msimbo ukitumia ISE Design Suite 14.7 kwani inaweza pia kutumika kujaribu msimbo katika VHDL. Hata hivyo, ili kupakia msimbo kwenye BASYS 3, utahitaji kusakinisha Vivado (ver. 2015.4 au 2016.4) na uandike kikwazo cha with .xdc extension.maelekezo-VHDL-Motor-Speed-Control-Amua-mwelekeo-na-Kasi-Kushoto-na-Kulia-Kidhibiti-Kasi-mtini-1

Udhibiti wa Kasi ya VHDL: Amua Mwelekeo na Kasi, Kidhibiti cha Kasi cha Kushoto na Kulia: Ukurasa wa 1

HATUA YA MAELEKEZO

Hatua ya 1: Udhibiti
Ili kuelewa jinsi ya kudhibiti tabia ya roboti inayotafuta mwanga, tutaeleza tabia inayotakiwa ya roboti inapoona chanzo cha mwanga. Tabia hii itadhibitiwa kulingana na nafasi na ukubwa wa chanzo cha mwanga.maelekezo-VHDL-Motor-Speed-Control-Amua-mwelekeo-na-Kasi-Kushoto-na-Kulia-Kidhibiti-Kasi-

Kanuni inayotumika ni sawa na kidhibiti cha roboti cha RC, chenye lever moja inayoweza kugeuzwa kushoto au kulia, na lever nyingine inayoweza kugeuzwa mbele au nyuma.

Ili kutafuta mwanga, ungependa roboti hii isogee katika mstari ulionyooka ikiwa nafasi ya chanzo cha mwanga iko mbele ya roboti. Ili kufanya hivyo, unataka kasi sawa kwenye motors zote za kushoto na za kulia. Ikiwa mwanga uko upande wa kushoto wa roboti, ungependa injini ya kulia isogee kwa kasi zaidi kuliko ile ya kushoto ili roboti iweze kugeukia upande wa kushoto kuelekea kwenye mwanga. Kinyume chake, ikiwa mwanga uko upande wa kulia wa roboti, ungependa motor ya kushoto isogee kwa kasi zaidi kuliko ile ya kulia ili roboti iweze kugeukia kulia kuelekea kwenye mwanga. Hii ni sawa na kiwiko cha kushoto cha kidhibiti cha RC, ambapo unaweza kudhibiti ikiwa unataka kusogeza roboti kushoto, kulia au moja kwa moja.

Kisha, unataka roboti isonge mbele ikiwa chanzo cha mwanga kiko mbali (chanzo kidogo cha mwanga), au usogee nyuma ikiwa chanzo cha mwanga kilichotambuliwa kiko karibu sana (chanzo kikubwa cha mwanga). Unataka pia kuwa kadiri roboti inavyokuwa mbali na chanzo cha mwanga, ndivyo roboti inavyosonga kwa kasi. Hii ni sawa na kiwiko cha kulia cha kidhibiti cha RC, ambapo unaweza kudhibiti ikiwa unataka kusonga mbele au nyuma, na jinsi unavyotaka isogee kwa kasi gani.

Kisha unaweza kupata formula ya hisabati kwa kasi ya kila motors, na tunachagua kiwango cha kasi kati ya -255 hadi 255. Thamani mbaya inamaanisha motor itageuka nyuma, wakati thamani nzuri inamaanisha motor itageuka mbele.

Hiyo ni algorithm ya msingi ya harakati ya roboti hii. Ili kujifunza zaidi kuhusu moduli hii, bofya hapa.

Hatua ya 2: Hesabu ya Hitilafu
Kwa kuwa tayari una kasi ya lengo na mwelekeo wa motors, unataka pia kuzingatia kasi ya kipimo na mwelekeo wa motors. Ikiwa imefikia lengo la kasi, tunataka motor isonge tu kwa kasi yake. Ikiwa haijafanya hivyo, tunataka kuongeza kasi zaidi kwenye injini. Katika nadharia ya Udhibiti, hii inajulikana kama mfumo wa udhibiti wa maoni usio na kitanzi.

Ili kujifunza zaidi kuhusu moduli hii, bofya hapa.maelekezo-VHDL-Motor-Speed-Control-Amua-mwelekeo-na-Kasi-Kushoto-na-Kulia-Kidhibiti-Kasi-mtini-2

Hatua ya 3: Uongofu wa Nambari
Kutoka kwa hesabu za awali, tayari umejua hatua inayohitajika kwa kila moja ya injini. Hata hivyo, hesabu hufanywa kwa kutumia mfumo wa binary uliotiwa saini. Madhumuni ya moduli hii ni kubadilisha thamani hizi zilizotiwa saini kuwa thamani inayoweza kusomwa na jenereta ya PWM, ambayo ni mwelekeo (ya saa au kinyume cha saa) na kasi (kuanzia 0 hadi 255). Pia, kwa kuwa maoni kutoka kwa motor yanapimwa kwa binary isiyosajiliwa, moduli nyingine inahitajika ili kubadilisha maadili yasiyosajiliwa (mwelekeo na kasi) katika thamani iliyosainiwa ambayo inaweza kuhesabiwa na moduli ya hesabu ya makosa. Ili kujifunza zaidi kuhusu moduli hii, bofya hapa.

Hatua ya 4: Kutokuwepo kwa Chanzo cha Nuru
Umetengeneza roboti inayosonga kutafuta mwanga wakati roboti inatambua mwanga. Lakini ni nini hufanyika wakati roboti haioni mwanga? Madhumuni ya moduli hii ni kuamuru nini cha kufanya wakati hali kama hiyo iko.

Njia rahisi na chanzo cha mwanga kutafuta ni roboti kuzunguka mahali pake. Baada ya kuzunguka kwa sekunde kadhaa, ikiwa roboti bado haijapata chanzo cha mwanga, unataka roboti kuacha kusonga ili kuokoa nishati. Baada ya idadi nyingine ya sekunde, roboti inapaswa kuzunguka mahali pake tena ili kutafuta mwanga. Ili kujifunza zaidi kuhusu moduli hii, bofya hapa.

Hatua ya 5: Jinsi Inavyofanya Kazi
Unaweza kurejelea picha hapo juu kwa maelezo haya. Kama ilivyotajwa mwanzoni mwa mafunzo haya, utahitaji pembejeo "ukubwa" na "nafasi" kutoka kwa kitengo cha vizingiti. Ili kuhakikisha kuwa pembejeo hizi zilikuwa halali (kwa mfanoample, unapopokea ukubwa = 0, ukubwa ni sifuri kweli kwa sababu kamera haioni mwanga, na si kwa sababu kamera ilikuwa bado inaanzisha) utahitaji pia aina fulani ya kiashiria, ambacho tunakiita "READY". Data hizi zitachakatwa na kidhibiti (Ctrl. vhd) ili kuamua kasi ya lengo la kila motor (biti 9, iliyotiwa saini).

Kwa pato thabiti zaidi kwenye motor, unataka kutumia maoni katika mfumo wa kitanzi kilichofungwa. Hii inahitaji pembejeo"mwelekeo" na "kasi" ya kila motor kutoka kitengo cha kipimo cha kasi ya motor. Kwa kuwa unataka kujumuisha pembejeo hizi kwenye hesabu zako, itabidi ubadilishe thamani hizi ambazo hazijatiwa saini kuwa mfumo wa jozi uliotiwa saini wa 9-bit. Hii inafanywa na ambaye hajasainiwa kwa kigeuzi cha binary kilichotiwa saini (US2S.vhd).

Kinachofanywa na hesabu ya makosa (hitilafu. vhd) ni kutoa kasi iliyopimwa kutoka kwa kasi ya lengo ili kubainisha kitendo kwa kila motor. Hii ina maana kwamba wakati wote wana thamani sawa, kutoa inakuwa sifuri na motor itasonga tu kwa kasi yake. Unaweza pia kuongeza kipengele cha kuzidisha ili roboti iweze kufikia kasi ya lengo haraka zaidi.

Kwa kuwa mtawala wa magari anahitaji kasi na mwelekeo wa kila motor, unapaswa kutafsiri maadili yaliyosainiwa ya hatua katika maadili mawili tofauti ambayo hayajasajiliwa: kasi (1 bit) na mwelekeo (8 bits). Hii inafanywa na kigeuzi cha binary ambacho hakijatiwa saini hadi-ambacho hakijatiwa saini (S2US.vhd), na kitakuwa nyenzo za kitengo cha udhibiti wa gari.

Pia tuliongeza sehemu ili kubainisha cha kufanya wakati mwanga haujatambuliwa (hakuna kihesabu cha mwanga. Bhd). Kwa kuwa moduli hii kimsingi ni kaunta, itahesabu muda ambao roboti inahitaji kuzungushwa au kukaa mahali pake. Hii itahakikisha roboti "inaona" mazingira yake badala ya kile kilicho mbele yake, na kuhifadhi nishati ya betri wakati hakuna chanzo cha mwanga kinachopatikana.maelekezo-VHDL-Motor-Speed-Control-Amua-mwelekeo-na-Kasi-Kushoto-na-Kulia-Kidhibiti-Kasi-mtini-3

Hatua ya 6: Kuchanganya Files
Ili kuchanganya files, unahitaji kuunganisha ishara kutoka kwa kila moduli. Ili kufanya hivyo, lazima utengeneze moduli mpya ya kiwango cha juu file. Ingiza ingizo na matokeo ya moduli za awali kama vijenzi, ongeza mawimbi ya miunganisho na ukabidhi kila mlango kwa jozi inayolingana. Unaweza kurejelea miunganisho kwenye kielelezo hapo juu, na uangalie msimbo hapa.maelekezo-VHDL-Motor-Speed-Control-Amua-mwelekeo-na-Kasi-Kushoto-na-Kulia-Kidhibiti-Kasi-mtini-4

Hatua ya 7: Ijaribu
Baada ya kumaliza na msimbo mzima, unahitaji kujua kama msimbo wako hufanya kazi kabla ya kuipakia kwenye ubao, hasa kwa vile sehemu za msimbo zinaweza kutengenezwa na watu tofauti. Hii inahitaji testbench, ambapo utaingiza maadili ya dummy na kuona ikiwa nambari inatenda jinsi tunavyotaka itende. Unaweza kupumzika kuanza kwa kujaribu kila moduli, na ikiwa zote zinafanya kazi kwa usahihi, basi unaweza kujaribu moduli ya kiwango cha juu.

Hatua ya 8: Ijaribu kwenye Kifaa
Baada ya msimbo wako kujaribiwa kwenye kompyuta yako, unaweza kujaribu msimbo kwenye maunzi halisi. Lazima ufanye kizuizi file kwenye Vivado (.xdc file kwa BASYS 3) ili kudhibiti ni pembejeo na matokeo gani huenda kwa bandari zipi.

KIDOKEZO MUHIMU: Tulijifunza kwa njia ngumu kwamba vipengele vya umeme vinaweza kuwa na thamani ya juu ya sasa au voltages. Hakikisha ukirejelea hifadhidata kwa maadili. Kwa PMOD HB5, hakikisha umeweka sautitage kutoka kwa chanzo cha nguvu kwa volti 12 (kwani hii ndio voltage kwa injini), na ya sasa ni kidogo kama inavyohitajika kwa motor kusonga.

Hatua ya 9: Changanya na Sehemu Zingine
Ikiwa hatua za awali zilifaulu, changanya msimbo na vikundi vingine ili msimbo wa mwisho upakiwe kwenye roboti. Kisha, voila! Umefaulu kutengeneza roboti inayotafuta mwanga.

Hatua ya 10: Wachangiaji
Kutoka kushoto kwenda kulia:

  • Antonius Gregorius Deaven Rivaldi
  • Felix Wiguna
  • Nicholas Sanjaya
  • Richard Medyantomaelekezo-VHDL-Motor-Speed-Control-Amua-mwelekeo-na-Kasi-Kushoto-na-Kulia-Kidhibiti-Kasi-mtini-6

Nzuri sana: Udhibiti wa Kasi ya VHDL: Amua Mwelekeo na Kasi, Kidhibiti cha Kasi cha Kushoto na Kulia: Ukurasa wa 6
Asante kwa reviewing! Mradi huu kwa kweli ni sehemu moja tu ya mradi wa darasa (Roboti ya Kutafuta Nuru yenye ubao wa BASYS 3 na kamera ya OV7670), kwa hivyo nitaongeza kiunga cha darasa kinachoweza kufundishwa hivi karibuni!

Kushangaza: Natarajia kuona kila kitu kikiwekwa pamoja.

Nyaraka / Rasilimali

maagizo ya Udhibiti wa Kasi ya VHDL Amua Mwelekeo na Kasi ya Kushoto na Kidhibiti cha Kasi ya Kulia [pdf] Maagizo
Udhibiti wa Kasi ya VHDL Amua Mwelekeo na Kidhibiti Kasi cha Kushoto na Kulia, Kasi ya VHDL Motor, Udhibiti Amua Mwelekeo na Kasi ya Kushoto na Kidhibiti cha Kasi ya Kulia.

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *