Orodha ya maudhui:

Kifaa cha Kufuatilia Kitelezi cha Kamera na Mhimili wa Mzunguko. 3D Iliyochapishwa & Kujengwa kwenye RoboClaw DC Motor Controller & Arduino: Hatua 5 (na Picha)
Kifaa cha Kufuatilia Kitelezi cha Kamera na Mhimili wa Mzunguko. 3D Iliyochapishwa & Kujengwa kwenye RoboClaw DC Motor Controller & Arduino: Hatua 5 (na Picha)

Video: Kifaa cha Kufuatilia Kitelezi cha Kamera na Mhimili wa Mzunguko. 3D Iliyochapishwa & Kujengwa kwenye RoboClaw DC Motor Controller & Arduino: Hatua 5 (na Picha)

Video: Kifaa cha Kufuatilia Kitelezi cha Kamera na Mhimili wa Mzunguko. 3D Iliyochapishwa & Kujengwa kwenye RoboClaw DC Motor Controller & Arduino: Hatua 5 (na Picha)
Video: JINSI YA KUBADILI SIMU YAKO KUWA CCTV CAMERA ILI UONE KILA KITU KINACHOFANYIKA NYUMBANI KWAKO 2024, Julai
Anonim
Image
Image
Ubunifu wa Vifaa + Jenga + Uchapishaji wa 3D
Ubunifu wa Vifaa + Jenga + Uchapishaji wa 3D

Miradi ya Fusion 360 »

Mradi huu umekuwa moja wapo ya miradi ninayopenda tangu nilipokuwa nikichanganya shauku yangu ya utengenezaji wa video na DIY. Nimekuwa nikitazama na kutaka kuiga picha hizo za sinema kwenye sinema ambapo kamera inapita kwenye skrini wakati ikichunguza kufuatilia kitu hicho. Hii inaongeza athari ya kuvutia sana kwa video nyingine ya 2d. Kutaka kuiga hii bila kutumia maelfu ya dola kwenye gia ya Hollywood, niliamua kujenga kitelezi cha kamera kama mimi mwenyewe.

Mradi wote umejengwa kwenye sehemu unazoweza kuchapisha 3D, na nambari inaendesha bodi maarufu ya Arduino. Faili zote za mradi kama faili na msimbo wa CAD zinapatikana kwa kupakua chini hapa chini.

Faili za kuchapisha za CAD / 3D zinapatikana hapa

Faili ya Msimbo wa Arduino inapatikana hapa

Mradi huu unazunguka motors za DC zilizopigwa 2 na Mdhibiti wa Basic Micro Roboclaw Motor. Kidhibiti hiki cha gari kinaweza kubadilisha motors za DC zilizopigwa kuwa aina bora ya servo na usahihi wa hali ya juu, tani za torque, na digrii kamili za 360. Zaidi juu ya hii baadaye.

Kabla ya kuendelea, angalia mafunzo ya video yaliyounganishwa hapa kwanza. Mafunzo hayo yatakupa muhtasari wa jinsi ya kujenga mradi huu na mwongozo huu wa Maagizo utaenda kwa kina zaidi jinsi nilivyojenga mradi huu.

Vifaa-

  • Fimbo 2x 1 za urefu wa mita m10 zilizotumiwa kuunganisha sehemu zote
  • 8x M10 karanga kuweka sehemu kwenye fimbo zilizofungwa
  • 2x 95 cm fimbo 8mm laini za chuma kwa kitelezi kuteleza
  • Fani 4x lm8uu kwa kitelezi kuteleza vizuri kwenye fimbo za chuma
  • 4x 10mm karanga m3 ndefu za kuweka gari
  • 2 x skateboard fani (22mm kipenyo cha nje, 8mm kipenyo cha ndani) kwa mhimili wa kuzunguka
  • 1x 15mm kuzaa kwa upande wa uvivu
  • Bolt ya urefu wa 1x 4cm na m4 lock nut kwa kuweka uzembe kwa sehemu ya kuchapishwa ya 3d.
  • Vifaa 20 vya meno na kipenyo cha ndani cha 4mm kwa gari linaloteleza. Pulley halisi sio muhimu sana kwani gari lako la DC linapaswa kuelekezwa kwa muda wa kutosha. Hakikisha tu ni lami sawa na ukanda wako
  • Ukanda wa GT2 wa mita 2. Tena unaweza kutumia ukanda wowote kwa muda mrefu kama unalingana na lami ya meno yako ya pulley.

Umeme

  • 2 * Iliyoundwa motors DC na encoders (moja inadhibiti harakati za upande, wakati nyingine inadhibiti mhimili wa kuzunguka). Hii ndio niliyotumia. Zaidi juu ya hii katika sehemu ya Elektroniki ya mwongozo
  • RoboClaw DC mtawala wa magari. (Nilitumia mdhibiti wa 15Amp kwa sababu iliniruhusu kudhibiti motors zote na mtawala mmoja)
  • Arduino yoyote. Nilitumia Arduino UNO
  • Chanzo cha betri / Nguvu. (Nilitumia betri ya LiPo 7.4V 2)
  • Skrini (Kwa kuonyesha menyu. Skrini yoyote inayolingana ya U8G itafanya kazi, nilitumia skrini hii ya OLED ya inchi 1.3)
  • Usimbuaji wa Rotatry (Kwa kusogea na kusanidi chaguzi kwenye menyu)
  • Kitufe cha kushinikiza kimwili (Kwa kuchochea mwendo wa mtelezi)

Hatua ya 1: Ubuni wa vifaa + Ujenzi + Uchapishaji wa 3D

Umeme
Umeme

Ifuatayo hebu tuendelee kwa umeme. Elektroniki ndio mradi huu una kubadilika sana.

Wacha tuanze na msingi wa mradi huu- motors 2 za DC zilizopigwa.

Nilichagua motors za DC zilizopigwa kwa sababu kadhaa.

  1. Motors zilizopigwa ni rahisi zaidi kwa waya na kufanya kazi ikilinganishwa na motors za stepper
  2. Motors za DC zilizopigwa ni nyepesi sana kuliko motors za DC ambazo ni muhimu sana kwa motor axis ya mzunguko kwani motor hiyo inahamia pande na kamera na kuifanya kuwa nyepesi iwezekanavyo ni muhimu kwa kuzuia mzigo mwingi kwenye gari ya msingi ya kamera.

Nilichagua hii DC motor. Gari hii ilinipa torque kubwa sana ambayo ilikuwa muhimu kwa kusonga mzigo mzito wa kamera. Kwa kuongezea, upeo wa juu ulimaanisha kuwa kilele cha RPM kilikuwa polepole ambayo ilimaanisha ningeweza kupiga sinema polepole, na gia ya juu pia husababisha usahihi wa hali ya juu kama mzunguko mmoja wa digrii 360 ya shimoni la pato ilimaanisha hesabu 341.2 za encoder ya gari.

Hii inatuleta kwa mtawala wa mwendo wa RoboClaw. Mdhibiti wa motor wa DC wa Roboclaw huchukua maagizo rahisi kutoka kwa Arduino yako kupitia amri rahisi za nambari na hufanya usindikaji mzito na utoaji wa nguvu ili kufanya kazi yako ya gari kama ilivyokusudiwa. Arduino inaweza kutuma ishara kwa Roboclaw kupitia PWM, Voltage Analog, serial rahisi, au pakiti mfululizo. Pakiti mfululizo ni njia bora ya kwenda kwani hukuruhusu kupata habari kutoka Roboclaw ambayo ni muhimu kwa ufuatiliaji wa mkao. Nitaingia ndani zaidi katika sehemu ya programu / programu ya Roboclaw katika hatua inayofuata (programu).

Kwa asili, Roboclaw anaweza kubadilisha motor iliyosafishwa ya DC na encoder ili kuwa kama shukrani ya servo kwa uwezo wa RoboClaw kufanya udhibiti wa msimamo. Walakini tofauti na servo ya jadi, sasa motor yako iliyosafishwa ya DC ina torque zaidi, usahihi zaidi wa msimamo kwa sababu ya gia ya juu, na muhimu zaidi, gari lako la DC linaweza kuzunguka kwa digrii 360 mfululizo na ambayo servo ya jadi haiwezi kufanya.

Sehemu inayofuata ya umeme ni skrini. Kwa skrini yangu, nilichagua jopo hili la OLED kwa sababu ya saizi yake, na tofauti kubwa. Utofauti huu wa hali ya juu sana na hufanya skrini iwe rahisi sana kutumia kwa jua moja kwa moja wakati haitoi mwanga mwingi sana ambao unaweza kuingilia kati na risasi ya kamera nyeusi. Skrini hii inaweza kubadilishwa kwa urahisi kwa skrini nyingine inayofaa ya U8G. Orodha kamili ya skrini zinazofaa inapatikana hapa. Kwa kweli mradi huu uliwekwa kwa makusudi kuzunguka maktaba ya U8G kwa hivyo wajenzi wa DIY kama wewe walikuwa na kubadilika zaidi katika sehemu zao

Sehemu za mwisho za elektroniki za mradi huu zilikuwa ni encoder ya kuzunguka, na kitufe cha kushinikiza kwa kuanza harakati ya kitelezi. Encoder hukuruhusu kuvinjari menyu ya skrini na kusanidi menyu yote ya kitelezi na piga moja tu. Usimbuaji wa rotary hauna nafasi ya 'mwisho' kama potentiometer ya jadi, na hii ni muhimu sana kwa kurekebisha kuratibu za x na y za ufuatiliaji wa kitu kwenye skrini. Kitufe cha kushinikiza kinatumika peke kuanza mwendo wa mtelezi bila kulazimika kuzungusha na kisimbuaji cha rotary.

Hatua ya 3: Kupanga programu ya Kitelezi cha Kamera

Kupangilia Kitelezi cha Kamera
Kupangilia Kitelezi cha Kamera
Kupangilia Kitelezi cha Kamera
Kupangilia Kitelezi cha Kamera

Usimbuaji ilikuwa changamoto ngumu sana kwa mradi huu. Unaona, tangu mwanzo nilitaka kitelezi kiweze kudhibitiwa kutoka skrini. Ili kufanya mradi huu uendane na skrini nyingi iwezekanavyo, ilibidi nitumie Maktaba ya U8Glib kwa Arduino. Maktaba hii ina msaada kwa skrini zaidi ya 32. Walakini, maktaba ya U8Glib ilitumia kitanzi cha picha kuteka menyu kwenye skrini na hii ilipingana na uwezo wa Arduino wakati huo huo kukusanya habari juu ya msimamo wa kamera ambayo ilihitajika kwa utendaji wa hesabu ya pembe ya kamera (Hii imefunikwa katika aya kadhaa zifuatazo). U8Glib2 ina njia mbadala ya kitanzi cha picha kwa kutumia kitu kinachoitwa chaguo kamili la bafa ya maktaba lakini maktaba ilitumia kumbukumbu nyingi na ikafanya iwe ngumu kutoshea nambari yote inayopewa vizuizi vya kumbukumbu ya Arduino Uno. Hii ilimaanisha kuwa nilikuwa nimekwama na U8G na ilibidi nifanye kazi kuzunguka suala hilo kwa kuzuia skrini kusasisha wakati wowote mtelezi ulipokuwa ukitembea na Arduino alihitaji kukusanya data ya hali kutoka kwa Roboclaw. Nililazimishwa pia kuchochea kitelezi kuanza kusogea nje ya kitanzi cha menyu kwani mara tu nikiingia kwenye menyu ndogo, ningekuwa ndani ya kitanzi cha picha, na kitelezi kisingefanya kazi kama ilivyokusudiwa. Pia nilizuia suala hili kwa kuwa na kitufe tofauti cha mwili kinachosababisha harakati za mtelezi.

Ifuatayo hebu tuzungumze juu ya kipengele cha ufuatiliaji wa mzunguko. Sehemu hii inaonekana kuwa ngumu sana kujumuisha, lakini kwa kweli ni rahisi. Utekelezaji wa hii uko chini ya kazi ya 'motor ()' ndani ya nambari yangu ya Arduino. Hatua ya kwanza ni kutengeneza gridi ya pande mbili na kuamua wapi kitu unachotaka kufuatilia kimewekwa. Kulingana na hiyo unaweza kuteka pembetatu kwa eneo lako la sasa. Unaweza kupata eneo lako la sasa kutoka kwa thamani ya usimbuaji wa gari. Ikiwa unataka kusanidi nafasi ya kitu kinachofuatiliwa kwa cm / mm, utahitaji kutafsiri thamani yako ya usimbuaji kuwa thamani ya cm / mm. Hii inaweza kufanywa tu kwa kusogeza kitelezi cha kamera 1 cm na kupima kuongezeka kwa thamani ya usimbuaji. Unaweza kuingiza thamani hii juu ya nambari chini ya ubadilishaji wa encoder_mm.

Kuendelea mbele, sasa tutatumia kazi tofauti ya tangent kupata pembe ambayo kamera inapaswa kuwa inakabiliwa kuelekeza kitu chako. Tangent inverse inachukua upande wa pili na wa karibu wa pembetatu. Upande wa kinyume wa pembetatu haubadiliki kamwe kwani ni umbali wa y kutoka kwa kitelezi chako hadi kwenye kitu. Upande wa karibu wa kitelezi cha kamera hubadilika hata hivyo. Upande huu ulio karibu unaweza kuhesabiwa kwa kuchukua nafasi ya x ya kitu na kutoa nafasi yako ya sasa kutoka kwake. Wakati kitelezi kinapita katika mwendo wake, itaendelea kusasisha Arduino kwenye thamani ya usimbuaji. Arduino itabadilisha tena nambari hii ya usimbuaji kuwa cm / mm x thamani ya msimamo na kisha uhesabu urefu wa upande ulio karibu, na mwishowe hesabu pembe ambayo kamera inahitaji kukabiliwa kila wakati kuelekeza kitu.

Sasa kwa kuwa Arduino yetu inasindika pembe ya kamera kwa nguvu, tunaweza kukabiliana na kugeuza pembe hii kuwa dhamana ya msimamo wa motor inayozunguka ili kuhamia. Hii inatuleta kwa kipengee kikubwa cha RoboClaw kwa mradi huu. Kwa kumpa Roboclaw dhamana ya msimamo, Inaweza kimsingi kufanya gari iliyosafishwa ya DC iwe kama servo. Isipokuwa tofauti na servo, motor yetu ina torque zaidi ya tani, usahihi wa juu zaidi na pia inaweza kuzunguka digrii 360.

Nambari ya Arduino ya kuhamisha Roboclaw hadi nafasi fulani ni kama ifuatavyo:

roboclaw. SpeedAccelDeccelPositionM1 (anwani, 'kasi', 'kuongeza kasi', 'kupungua', 'nafasi unayotaka kwenda', 1);

Ili kurekebisha thamani ya nafasi ya gari ili kuendana na kona yako ya kamera, utahitaji kusonga kwa mikono sahani ya kamera nyuzi 180. Ifuatayo angalia ni kwa kiasi gani thamani ya usimbuaji imebadilika kutoka kusogeza sahani ya kamera kutoka nyuzi 0 hadi nyuzi 180. Hii inakupa anuwai yako ya kusimba. Unaweza kuingiza masafa haya katika kazi ya gari ambayo inachora pembe ya kamera ya Arduino kwa thamani ya msimamo. Hii pia imesemwa katika nambari kwa hivyo inapaswa kuwa rahisi kupata *****

RoboClaw pia ilinipa uwezo wa kurekebisha mambo mengine kama kuongeza kasi, kupunguza kasi na maadili ya PID. Hii iliniruhusu kulainisha harakati za mhimili wa kuzunguka haswa wakati mabadiliko ya pembe yalikuwa madogo na yaliongeza jerks bila thamani ya juu ya 'D' PID. Unaweza pia kurekebisha kiotomatiki maadili yako ya PID kupitia programu ya eneo-kazi ya Roboclaw.

Hatua ya 4: Uendeshaji Slider ya Kamera

Uendeshaji Slider ya Kamera
Uendeshaji Slider ya Kamera

Sasa tunakuja kwenye sehemu ya kufurahisha, tukitumia kitelezi Menyu ina tabo kuu 4. Tabo ya juu imejitolea kudhibiti kasi. Mstari wa kati wa menyu una tabo za kusanidi nafasi ya X & Y ya kitu kinachofuatiliwa kwa mm, na pia usanidi ikiwa tunataka kitelezi kuzunguka na kufuatilia kitu chetu au tu fanya harakati rahisi ya kuteleza bila mzunguko. Kupotosha encoder ya rotary inatuwezesha kusafiri kwa chaguzi tofauti za menyu. Ili kusanidi chaguo zozote, nenda kwenye chaguo na bonyeza kitufe cha kuzunguka. Mara tu ukibonyeza, kuzungusha kisimbuzi cha rotary kutabadilisha thamani ya menyu ndogo iliyoangaziwa badala ya kusugua kupitia menyu. Mara tu umefikia thamani yako unayotaka, unaweza kubofya kisimbuzi cha rotary tena. Sasa umerudi kwenye menyu kuu na unaweza kuzunguka kati ya tabo tofauti. Mara tu utakapokuwa tayari, bonyeza kitufe cha kwenda karibu na skrini na kitelezi hufanya mambo yake!

Hakikisha kwamba ukimaliza kutumia kitelezi cha kamera, kamera iko katika nafasi ya 'nyumbani': upande wa kitelezi kilichoanza. Sababu ya hii ni kwamba encoder ya motor sio encoder kamili ambayo inamaanisha kwamba Roboclaw / Arduino haiwezi kujua mahali encoder iko. Wanaweza tu kusema ni nini encoder imebadilika tangu ilipowashwa mwisho. Hii inamaanisha kuwa ukizima kitelezi chako cha kamera, kitelezi kitasahau nafasi ya kitelezi na kuweka kisimbuzi kuwa 0. Kwa hivyo, ukizima kitelezi chako upande wa pili, ukikiwasha, kitelezi jaribu kusogea zaidi ya ukingo na uanguke kwenye ukuta wa kutelezesha. Tabia hii ya usimbuaji pia ni kwa nini kamera huweka upya pembe yake ya kuzunguka baada ya kila harakati ya slaidi ya kamera. Mhimili wa mzunguko pia unajilinda kutokana na kugonga hadi mwisho wa mwendo wake.

Unaweza kurekebisha hii kwa kuongeza vituo vya mwisho na utaratibu wa homing wakati unapoanza. Hivi ndivyo printa 3d hutumia.

Hatua ya 5: Mawazo ya Mwisho + Maboresho ya Baadaye

Ninapendekeza sana kwamba kila mjenzi atengeneze matoleo yake ya kitelezi hiki badala ya kujenga kitelezi sawa. Kubadilisha muundo wangu utakuruhusu kujenga kitelezi chako kwa maelezo yako halisi na pia kuelewa vizuri jinsi umeme na nambari inafanya kazi.

Nilifanya nambari iweze kusomeka na kusanidi iwezekanavyo ili uweze kurekebisha / kusawazisha anuwai anuwai za nambari kwa uainishaji wako wa kitelezi. Nambari hiyo pia imejengwa kikamilifu karibu na kazi kwa hivyo ikiwa unataka kunakili / kurekebisha / andika tena tabia fulani za kitelezi, hauitaji kugeuza mhandisi na kusanidi msimbo wote lakini ni sehemu tu unazotaka kuhariri.

Mwishowe, ikiwa ningefanya toleo la 2.0, hapa kuna maboresho ambayo ningefanya

  1. Uwiano wa gia ya juu kwa motor ya mhimili wa kuzunguka. Uwiano wa juu wa kusudi unamaanisha kuwa ninaweza kufanya hatua ndogo sahihi zaidi. Hii ni muhimu sana wakati kamera iko mbali na kitu chako na pembe yako ya kamera inabadilika polepole sana. Hivi sasa, motor yangu haijaelekezwa juu sana na inaweza kusababisha mwendo kidogo wakati kitelezi cha kamera kinatembea polepole sana au wakati kuna mabadiliko kidogo ya pembe. Kuongeza kiwango cha juu cha 'D' PID imenisaidia kujikwamua lakini imekuja kwa gharama ya usahihi wa kufuatilia kitu chini kidogo.
  2. Urefu wa msimu. Hili ni lengo linaloweza kutekelezwa sana, lakini ningependa kitelezi cha kamera kiwe na urefu wa wastani ikimaanisha kuwa unaweza kushikamana kwa urahisi urefu mrefu wa wimbo kwa kamera kuteleza. Hii ni ngumu sana kwani mtu atalazimika kusawazisha nyimbo zote mbili na kujua jinsi ya kufanya kazi kwa mfumo wa ukanda. Walakini, itakuwa sasisho la kupendeza!
  3. Harakati za desturi Keyframing. Ningependa kuanzisha dhana ya harakati zilizopigwa sana kwenye kitelezi hiki cha kamera. Keyframing ni mbinu inayotumika sana katika utengenezaji wa video na sauti. Ingewezesha harakati zisizo za laini za kamera ambapo kamera inakwenda kwa msimamo, inasubiri, kisha inakwenda kwa nafasi nyingine kwa kasi tofauti, inasubiri, halafu inakwenda kwenye nafasi ya tatu n.k.
  4. Udhibiti wa simu ya Bluetooth / wireless. Itakuwa nzuri sana kuweza kusanidi vigezo vya kitelezi cha kamera bila waya na kuweza kupeleka kitelezi cha kamera katika maeneo magumu ya kufikia. Programu ya simu inaweza pia kufungua fursa za kujumuisha upigaji funguo kama ilivyoelezwa katika aya ya mwisho.

Hiyo ni kwa mafunzo haya. Jisikie huru kuacha maswali yoyote kwenye sehemu ya maoni hapa chini.

Kwa mafunzo zaidi ya yaliyomo na elektroniki unaweza pia kuangalia kituo changu cha YouTube hapa.

Ilipendekeza: