instructables VHDL kontwòl vitès motè deside direksyon ak vitès kontwolè vitès gòch ak dwa
REMAK: Paj sa a se yon pati nan yon pi gwo bati. Tanpri asire w ke w kòmanse ISIT, pou w konprann ki kote sa ki annapre yo antre nan pi gwo pwojè a
Plis paseview
Vitès motè ak kontwòl direksyon se youn nan de divizyon prensipal yo nan robo fotodetektè a, lòt la se fotodetektè a oswa divizyon detektè limyè. Pandan ke divizyon fotodetektè a konsantre sou vizyon robo a, vitès motè a ak divizyon kontwòl direksyon konsantre sou mouvman robo a. Vitès motè a ak done pwosesis kontwòl direksyon yo bay nan divizyon fotodetektè a epi li bay yon pwodiksyon fizik nan fòm mouvman motè.
Objektif divizyon sa a se kontwole vitès ak direksyon tou de motè gòch ak dwa robo k ap chèche limyè a. Pou deside valè sa yo, w ap bezwen gwosè a ak pozisyon limyè a ki te kaptire pa kamera a ak trete pa thresholding. Ou pral bezwen tou vitès la mezire sou chak nan motè yo. Soti nan entrées sa yo, ou pral kapab pwodiksyon valè PWM (Pulse-Width Modulation) pou chak nan motè yo.
Pou reyalize sa, w ap bezwen fè modil VHDL sa yo (tou ki lye anba a):
- Kontwòl la
- Kalkil erè a
- Konvèsyon binè a
- Absans yon sous limyè
Ou ka gade kòd VHDL pou divizyon sa a isit la.
Pwovizyon
Nou rekòmande pou kode ak ISE Design Suite 14.7 paske li ka itilize tou pou teste kòd la nan VHDL. Sepandan, pou w telechaje kòd la nan BASYS 3, w ap bezwen enstale Vivado (vèr. 2015.4 oswa 2016.4) epi ekri kontrent la ak ekstansyon .xdc.
Kontwòl Vitès Motè VHDL: Deside Direksyon ak Vitès, Kontwolè Vitès Goch ak Adwat: Paj 1
ETAP ENSTRIKSYON
Etap 1: Kontwòl la
Pou konprann kijan pou kontwole konpòtman robo k ap chèche limyè a, nou pral eksplike konpòtman an vle robo a lè li wè yon sous limyè. Konpòtman sa a pral kontwole selon pozisyon ak gwosè sous limyè a.
Algorithm yo itilize a se analogue ak yon kontwolè robo RC, ak yon sèl levye ki ka vire agoch oswa dwa, ak yon lòt levye ki ka vire pi devan oswa dèyè.
Pou chèche limyè, ou vle robo sa a deplase nan yon liy dwat si pozisyon sous limyè a dwat devan robo a. Pou fè sa, ou vle menm vitès sou tou de bò gòch ak dwa motè yo. Si limyè a sitiye sou bò gòch robo a, ou vle motè dwat la deplase pi vit pase motè gòch la pou robo a ka vire sou bò gòch nan direksyon pou limyè a. Kontrèman, si limyè a sitiye sou bò dwat robo a, ou vle motè gòch la deplase pi vit pase motè dwat la pou robo a ka vire a dwat nan direksyon limyè a. Sa a se analogue ak levye gòch la nan yon kontwolè RC, kote ou ka kontwole si ou vle deplase robo a gòch, dwa, oswa dwat.
Lè sa a, ou vle robo a avanse si sous limyè a byen lwen (ti sous limyè), oswa deplase bak si sous limyè detekte a twò pre (gwo sous limyè). Ou vle tou ke pi lwen robo a soti nan sous limyè a, pi vit robo a deplase. Sa a se analogue ak levye dwat la nan yon kontwolè RC, kote ou ka kontwole si ou vle avanse pou pi devan oswa dèyè, ak konbyen vit ou vle li pou avanse pou pi.
Lè sa a, ou ka dériver yon fòmil matematik pou vitès chak nan motè yo, epi nou chwazi seri vitès ant -255 a 255. Yon valè negatif vle di motè a pral vire bak, pandan y ap yon valè pozitif vle di motè a ap vire pi devan.
Sa se algorithm de baz pou mouvman robot sa a. Pou aprann plis sou modil sa a, klike isit la.
Etap 2: Kalkil erè a
Depi ou deja gen vitès objektif la ak direksyon pou motè yo, ou vle tou pran an kont vitès la mezire ak direksyon motè yo. Si li te rive nan objektif vitès la, nou vle motè a deplase sèlman sou momantòm li yo. Si li pa genyen, nou vle ajoute plis vitès nan motè a. Nan teyori kontwòl, sa a se ke yo rekonèt kòm yon sistèm kontwòl fidbak fèmen-bouk.
Pou aprann plis sou modil sa a, klike isit la.
Etap 3: Konvèsyon an binè
Soti nan kalkil anvan yo, ou te deja konnen aksyon ki nesesè pou chak nan motè yo. Sepandan, kalkil yo fè lè l sèvi avèk binè siyen. Objektif modil sa a se konvèti valè siyen sa yo nan yon valè ki ka li pa dèlko PWM a, ki se direksyon an (swa nan direksyon goch oswa kont-goch) ak vitès la (swa ant 0 a 255). Epitou, depi fidbak la soti nan motè a mezire nan binè ki pa siyen, yon lòt modil bezwen konvèti valè yo ki pa siyen (direksyon ak vitès) nan yon valè siyen ki ka kalkile pa modil la kalkil erè. Pou aprann plis sou modil sa a, klike isit la.
Etap 4: Absans Sous limyè
Ou te fè yon robo ki deplase pou chèche limyè lè robo a detekte limyè. Men, sa k ap pase lè robo a pa detekte limyè? Objektif modil sa a se dikte sa pou w fè lè yon kondisyon sa a prezan.
Fason ki pi fasil ak yon sous limyè pou chèche se pou robo a vire an plas. Apre wotasyon pou yon seri kantite segonn, si robo a toujou pa jwenn yon sous limyè, ou vle robo a sispann deplase, yo nan lòd yo ekonomize pouvwa. Apre yon lòt seri kantite segonn, robo a ta dwe vire an plas ankò pou chèche limyè a. Pou aprann plis sou modil sa a, klike isit la.
Etap 5: Ki jan li fonksyone
Ou ka refere a foto ki anwo a pou eksplikasyon sa a. Kòm mansyone nan kòmansman an nan enstriksyon sa a, w ap bezwen antre "gwosè" ak "pozisyon" nan divizyon an papòt. Pou asire w ke opinyon sa yo te valab (pa egzanpample, lè ou resevwa gwosè = 0, gwosè se vrèman zewo paske kamera a pa detekte limyè, epi li pa paske kamera a te toujou inisyalize) w ap bezwen tou kèk kalite endikatè, ke nou rele "READY". Done sa yo pral trete pa kontwòl la (Ctrl. vhd) pou detèmine vitès objektif chak motè (9 bits, siyen).
Pou yon pwodiksyon ki pi estab sou motè a, ou vle sèvi ak fidbak nan yon sistèm fèmen-bouk. Sa a mande pou antre "direksyon" ak "vitès" chak motè nan divizyon mezi vitès motè a. Depi ou vle mete sa yo antre nan kalkil ou yo, w ap gen konvèti valè sa yo ki pa siyen nan 9-bit siyen binè. Sa a se fè pa ki pa siyen nan konvètisè a binè siyen (US2S.vhd).
Ki sa ki kalkil erè a (error. vhd) fè se soustraksyon vitès la mezire soti nan vitès la objektif pou detèmine aksyon an pou chak motè. Sa vle di ke lè tou de gen menm valè, soustraksyon an vin zewo epi motè a ap deplase sèlman sou momantòm li yo. Ou kapab tou ajoute yon faktè miltiplikasyon pou robo a ka rive jwenn vitès objektif la pi vit.
Depi kontwolè motè a bezwen vitès ak direksyon chak motè, ou dwe tradwi valè siyen aksyon an nan de valè separe ki pa siyen: vitès (1 bit) ak direksyon (8 bit). Sa a se fè pa siyen-a-non siyen konvètisè a binè (S2US.vhd), epi yo pral vin antre nan divizyon an kontwòl motè.
Nou te ajoute tou yon modil pou detèmine kisa pou fè lè limyè pa detekte (pa gen kontwa limyè. Bhd). Piske modil sa a se fondamantalman yon kontwa, li pral konte konbyen tan robo a bezwen swa vire oswa rete an plas. Sa a pral asire robo a "wè" anviwònman li olye ke jis sa ki devan li, epi konsève pouvwa batri lè pa gen okenn sous limyè ki vrèman disponib.
Etap 6: Konbine la Files
Pou konbine a files, ou bezwen konekte siyal yo nan chak modil. Pou fè sa, ou dwe fè yon nouvo modil nivo siperyè file. Mete antre ak rezilta modil anvan yo kòm konpozan, ajoute siyal pou koneksyon yo epi bay chak pò nan pè ki koresponn lan. Ou ka refere a koneksyon ki sou ilistrasyon ki anwo a, epi gade kòd la isit la.
Etap 7: Teste li
Apre w fin fini ak tout kòd la, ou bezwen konnen si kòd ou a ap travay anvan ou telechaje li sou tablo a, sitou paske pati nan kòd la ka fèt pa diferan moun. Sa a mande pou yon tès banc, kote ou pral antre valè enbesil epi wè si kòd la konpòte fason nou vle li konpòte li. Ou ka repoze kòmanse pa teste chak modil, epi si yo tout travay kòrèkteman, ou ka Lè sa a, teste modil nan nivo siperyè.
Etap 8: Eseye li sou Materyèl la
Apre yo fin teste kòd ou a sou òdinatè ou, ou ka teste kòd la sou pyès ki nan konpitè reyèl la. Ou dwe fè kontrent la file sou Vivado (.xdc file pou BASYS 3) pou kontwole ki entrées ak sorties ale nan ki pò.
KONSÈY ENPANTTAN: Nou te aprann fason difisil ke eleman elektrik ta ka gen yon valè maksimòm de aktyèl oswa voltages. Asire w ke w refere a fich done pou valè yo. Pou PMOD HB5, asire w ke ou mete voltage soti nan sous pouvwa a nan 12 vòlt (tankou sa a se vol la obligatwatage pou motè a), ak aktyèl la tankou ti jan sa nesesè pou motè a deplase.
Etap 9: Konbine li ak lòt pati
Si etap anvan yo te reyisi, konbine kòd la ak lòt gwoup yo pou kòd final la ka telechaje nan robo a. Lè sa a, vwala! Ou te fè avèk siksè yon robo k ap chèche limyè.
Etap 10: kontribitè
De goch a dwat:
- Antonius Gregorius Deaven Rivaldi
- Felix Wiguna
- Nicholas Sanjaya
- Richard Medyanto
Trè bèl: Kontwòl Vitès Motè VHDL: Deside Direksyon ak Vitès, Kontwolè Vitès Goch ak Adwat: Paj 6
Mèsi pou reviewing! Pwojè sa a se aktyèlman sèlman yon pati nan yon pwojè klas (Robo Chèche Limyè ak tablo BASYS 3 ak kamera OV7670), kidonk mwen pral ajoute lyen ki nan enstriksyon klas la byento!
Awesome: Mwen anvi wè tout bagay mete ansanm.
Dokiman / Resous
![]() |
instructables VHDL kontwòl vitès motè deside direksyon ak vitès kontwolè vitès gòch ak dwa [pdfEnstriksyon yo VHDL kontwòl vitès motè deside direksyon ak vitès kontwolè vitès gòch ak dwa, vitès motè VHDL, kontwòl deside direksyon ak vitès kontwolè vitès gòch ak dwa |