Përmbajtje:

Rrëshqitës i kamerës për përcjelljen e objektit me bosht rrotullues. Shtypur 3D dhe ndërtuar në kontrolluesin e motorit RoboClaw DC & Arduino: 5 hapa (me fotografi)
Rrëshqitës i kamerës për përcjelljen e objektit me bosht rrotullues. Shtypur 3D dhe ndërtuar në kontrolluesin e motorit RoboClaw DC & Arduino: 5 hapa (me fotografi)

Video: Rrëshqitës i kamerës për përcjelljen e objektit me bosht rrotullues. Shtypur 3D dhe ndërtuar në kontrolluesin e motorit RoboClaw DC & Arduino: 5 hapa (me fotografi)

Video: Rrëshqitës i kamerës për përcjelljen e objektit me bosht rrotullues. Shtypur 3D dhe ndërtuar në kontrolluesin e motorit RoboClaw DC & Arduino: 5 hapa (me fotografi)
Video: Microsoft Teams Complete Tutorial: Teams Made Easy 2024, Korrik
Anonim
Image
Image
Dizajn Hardware + Build + Printim 3D
Dizajn Hardware + Build + Printim 3D

Projektet Fusion 360 »

Ky projekt ka qenë një nga projektet e mia të preferuara që kur kam kombinuar interesin tim për prodhimin e videove me DIY. Unë gjithmonë kam shikuar dhe kam dashur të imitoj ato pamje kinematografike në filma ku një aparat fotografik lëviz nëpër një ekran ndërsa shikon për të gjurmuar objektin. Kjo shton një efekt thellësie shumë interesant në një video ndryshe 2d. Duke dashur ta përsëris këtë pa shpenzuar mijëra dollarë në pajisjet e Hollivudit, vendosa të ndërtoj vetë një rrëshqitës të tillë të kamerës.

I gjithë projekti është ndërtuar në pjesë që mund të printoni 3D, dhe kodi funksionon në tabelën popullore Arduino. Të gjithë skedarët e projektit siç janë skedarët dhe kodi CAD janë në dispozicion për shkarkim më poshtë.

Skedarët e printimit CAD/ 3D të disponueshëm këtu

Skedari Arduino Code është i disponueshëm këtu

Projekti sillet rreth 2 motorëve me furçë DC me furçë dhe kontrolluesin bazë Micro Roboclaw Motor. Ky kontrollues motorik mund të transformojë motorët DC të krehur në një lloj servoje superiore me saktësi të jashtëzakonshme pozicioni, ton çift rrotullues dhe një rrotullim të plotë 360 gradë. Më shumë për këtë më vonë.

Para se të vazhdojmë, shikoni së pari videon mësimore të lidhur këtu. Ky tutorial do t'ju japë një përmbledhje se si të ndërtoni këtë projekt dhe ky udhëzues i Instructables do të shkojë më thellë në mënyrën sesi e ndërtova këtë projekt.

Materiale-

  • 2x 1 metra të gjatë m10 shufra të filetuar që përdoren për të lidhur të gjitha pjesët
  • 8x arra M10 për të montuar pjesët në shufrat e filetuara
  • Shufra çeliku të lëmuar 2x 95 cm të gjatë 8 mm që rrëshqitësi të rrëshqasë
  • 4x kushineta lm8uu që rrëshqitësi të rrëshqasë pa probleme në shufrat e çelikut
  • 4x10 mm arra të gjata m3 për montimin e motorit
  • 2 x kushineta skateboard (diametër i jashtëm 22 mm, diametër i brendshëm 8 mm) për boshtin rrotullues
  • Kushineta 1x 15mm për anën e papunë
  • Rrufe 1x 4 cm e gjatë m4 me arrë bllokimi m4 për montimin e kushinetës së plogështisë në pjesën e printuar 3D të plogështisë.
  • Pajisje 20 dhëmbësh me diametër të brendshëm 4 mm për motorin rrëshqitës. Rrotulla e saktë nuk është shumë e rëndësishme pasi motori juaj DC duhet të jetë i përshtatur për çift rrotullues të mjaftueshëm. Vetëm sigurohuni që është i njëjti hap me rripin tuaj
  • Rripi GT2 2 metra i gjatë. Përsëri mund të përdorni çdo rrip për aq kohë sa përputhet me lartësinë e dhëmbëve të rrotullës tuaj.

Elektronikë

  • 2 * Motorë DC të drejtuar me kodues (njëri kontrollon lëvizjen anësore, ndërsa tjetri kontrollon boshtin e rrotullimit). Këtu është ai që kam përdorur. Më shumë për këtë në pjesën Elektronikë të udhëzuesit
  • Kontrolluesi i motorit RoboClaw DC. (Kam përdorur kontrolluesin e dyfishtë 15Amp pasi më lejoi të kontrolloj të dy motorët me një kontrollues)
  • Çdo Arduino. Kam përdorur Arduino UNO
  • Bateria/ Burimi i energjisë. (Kam përdorur një bateri LiPo me dy qeliza 7.4V me 2 qeliza)
  • Ekrani (Për shfaqjen e menysë. Çdo ekran i pajtueshëm me U8G do të funksionojë, kam përdorur këtë ekran OLED 1.3 inç)
  • Kodifikues rrotullues (Për navigimin dhe konfigurimin e opsioneve në meny)
  • Butoni fizik i shtypjes (Për të shkaktuar lëvizjen e rrëshqitësit)

Hapi 1: Dizajni i Pajisjeve + Ndërtimi + Printimi 3D

Elektronikë
Elektronikë

Tjetra le të kalojmë në elektronikë. Elektronika është vendi ku ky projekt ka shumë fleksibilitet.

Le të fillojmë me thelbin e këtij projekti- 2 motorët DC të krehur.

Zgjodha motorët DC të krehur për disa arsye.

  1. Motorët e krehur janë shumë më të thjeshtë për t'u lidhur dhe punuar në krahasim me motorët stepper
  2. Motorët e furçës DC janë shumë më të lehta se motorët DC, gjë që është veçanërisht e rëndësishme për motorin e boshtit rrotullues pasi ai motor po lëviz fizikisht anash me kamerën dhe duke e bërë atë sa më të lehtë të jetë e mundur është e rëndësishme për parandalimin e tendosjes së tepërt në motorin rrëshqitës të kamerës kryesore.

Zgjodha këtë motor të veçantë DC. Ky motor më dha një sasi jashtëzakonisht të madhe të çift rrotullues i cili ishte i nevojshëm për të lëvizur një ngarkesë kaq të rëndë të kamerës. Për më tepër, ingranazhi i lartë nënkuptonte që RPM kulmi ishte i ngadalshëm që do të thoshte se mund të filmoja lëvizje më të ngadalta, dhe ingranazhi i lartë gjithashtu çoi në saktësi më të lartë të pozicionit pasi një rrotullim 360 gradë i boshtit të daljes nënkuptonte 341.2 numërime të kodifikuesit të motorit.

Kjo na çon te kontrolluesi i lëvizjes RoboClaw. Kontrolluesi i motorit Roboclaw me motor DC të dyfishtë merr udhëzime të thjeshta nga Arduino juaj përmes komandave të thjeshta të kodit dhe bën të gjithë përpunimin e rëndë dhe shpërndarjen e energjisë për ta bërë motorin tuaj të funksionojë ashtu siç është menduar. Arduino mund të dërgojë sinjale në Roboclaw përmes PWM, tensionit analog, serial të thjeshtë ose serial paketash. Serialet e paketave janë mënyra më e mirë për të shkuar pasi ju lejon të merrni informacion nga Roboclaw i cili është i nevojshëm për gjurmimin e pozicionit. Unë do të zhyten më thellë në pjesën e softuerit/programimit të Roboclaw në hapin tjetër (programimi).

Në thelb, Roboclaw mund të transformojë një motor me furçë DC me një kodues për të qenë më shumë si një servo falë aftësisë së RoboClaw për të bërë kontroll pozicioni. Sidoqoftë, ndryshe nga një servo tradicionale, tani motori juaj i furçës DC ka shumë më shumë çift rrotullues, shumë më shumë saktësi pozicioni për shkak të ingranazheve të larta të motorit, dhe më e rëndësishmja, motori juaj DC mund të rrotullohet në 360 gradë vazhdimisht, asnjërën prej të cilave një servo tradicionale nuk mund ta bëjë.

Pjesa tjetër elektronike është ekrani. Për ekranin tim, unë zgjodha këtë panel OLED për shkak të madhësisë së tij dhe kontrastit të lartë. Ky kontrast i lartë është i pabesueshëm dhe e bën ekranin shumë të lehtë për t'u përdorur në rrezet e diellit direkte, ndërsa nuk jep shumë dritë që mund të ndërhyjë në një fotografi të mundshme të errët të kamerës. Ky ekran mund të ndërrohet lehtësisht me një ekran tjetër të pajtueshëm me U8G. Lista e plotë e ekraneve të pajtueshëm është në dispozicion këtu. Në fakt ky projekt u kodua qëllimisht rreth bibliotekës U8G kështu që ndërtuesit DIY si ju kishin më shumë fleksibilitet në pjesët e tyre

Pjesët përfundimtare të elektronikës për këtë projekt ishin koduesi rrotullues dhe butoni për fillimin e lëvizjes së rrëshqitësit. Kodifikuesi ju lejon të lundroni në menunë e ekranit dhe të konfiguroni të gjithë menunë e rrëshqitësit me vetëm një çelës. Kodifikuesi rrotullues nuk ka pozicion "fund" si një potenciometër tradicional, dhe kjo është veçanërisht e dobishme për të ndryshuar koordinatat x dhe y të objektit që gjurmojnë në ekran. Butoni i shtytjes përdoret ekskluzivisht për të filluar lëvizjen e rrëshqitësit pa qenë nevoja të fiksohet me koduesin rrotullues.

Hapi 3: Programimi i rrëshqitësit të kamerës

Programimi i rrëshqitësit të kamerës
Programimi i rrëshqitësit të kamerës
Programimi i rrëshqitësit të kamerës
Programimi i rrëshqitësit të kamerës

Kodimi ishte sfida më e vështirë e këtij projekti. E shihni, që në fillim doja që rrëshqitësi të ishte i kontrollueshëm nga një ekran. Për ta bërë këtë projekt të pajtueshëm me sa më shumë ekrane të jetë e mundur, më duhej të përdor Bibliotekën U8Glib për Arduino. Kjo bibliotekë ka mbështetje për mbi 32 ekrane. Sidoqoftë, biblioteka U8Glib përdori një lak fotografish për të nxjerrë menunë në ekran dhe kjo binte ndesh me aftësinë e Arduino për të mbledhur njëkohësisht informacion mbi pozicionin e kamerës që kërkohej për funksionimin e llogaritjes së këndit të kamerës (Kjo është e mbuluar në disa paragrafët e ardhshëm) U8Glib2 ka një alternativë për lakun e figurës duke përdorur diçka të quajtur opsion buffer i faqeve të plota, por biblioteka konsumoi shumë memorie dhe e bëri të vështirë përshtatjen e pjesës tjetër të kodit duke pasur parasysh kufizimet e kujtesës së Arduino Uno. Kjo do të thoshte që unë isha i mbërthyer me U8G dhe duhej të zgjidhja problemin duke parandaluar që ekrani të përditësohej në çdo kohë rrëshqitësi ishte në lëvizje dhe Arduino duhej të mblidhte të dhëna pozicionale nga Roboclaw. Unë gjithashtu u detyrova të aktivizoj rrëshqitësin për të filluar lëvizjen jashtë lakut të menusë pasi sapo të hyja në nën-menutë, do të isha brenda lakut të figurës dhe rrëshqitësi nuk do të funksiononte siç ishte menduar. Unë gjithashtu e anashkalova këtë çështje duke pasur një buton të veçantë fizik që shkaktoi lëvizjen e rrëshqitësit.

Tjetra le të flasim për elementin e përcjelljes rrotulluese. Kjo pjesë duket shumë komplekse për tu integruar, por në fakt është mjaft e thjeshtë. Zbatimi për këtë është nën funksionin "motor ()" brenda kodit tim Arduino. Hapi i parë është të krijoni një rrjet 2 dimensionale dhe të vendosni se ku është vendosur objekti që dëshironi të gjurmoni. Bazuar në atë, ju mund të vizatoni një trekëndësh në vendndodhjen tuaj aktuale. Ju mund të merrni vendndodhjen tuaj aktuale nga vlera e koduesit të motorit. Nëse dëshironi të konfiguroni pozicionin e objektit që gjurmohet në cm/mm, do t'ju duhet të përktheni vlerën tuaj të koduesit në një vlerë cm/mm. Kjo thjesht mund të bëhet duke lëvizur rrëshqitësin e kamerës 1 cm dhe duke matur rritjen e vlerës së koduesit. Ju mund ta futni këtë vlerë në krye të kodit nën ndryshoren encoder_mm.

Duke vazhduar, tani ne do të përdorim funksionin e anasjelltë tangent për të marrë këndin që kamera duhet të jetë përballë për të drejtuar objektin tuaj. Tangjentja e anasjelltë merr anën e kundërt dhe ngjitur të trekëndëshit. Ana e kundërt e trekëndëshit nuk ndryshon kurrë pasi është distanca y nga rrëshqitësi juaj në objekt. Ana ngjitur e rrëshqitësit të kamerës ndryshon megjithatë. Kjo anë ngjitur mund të llogaritet duke marrë pozicionin x të objektit dhe duke zbritur pozicionin tuaj aktual prej tij. Ndërsa rrëshqitësi lëviz nëpër gamën e tij të lëvizjes, ai do të vazhdojë të përditësojë Arduino në vlerën e koduesit. Arduino do ta shndërrojë në mënyrë të përsëritur këtë vlerë të koduesit në një vlerë pozicioni cm/mm x dhe më pas do të llogarisë gjatësinë e anës ngjitur, dhe më në fund do të llogarisë këndin që kamera duhet të ketë përballë gjatë gjithë kohës për të drejtuar objektin.

Tani që Arduino ynë po përpunon në mënyrë dinamike këndin e kamerës, ne mund të merremi me shndërrimin e këtij këndi në një vlerë pozicioni për lëvizjen e motorit rrotullues. Kjo na sjell në veçorinë më të madhe të RoboClaw për këtë projekt. Duke i dhënë Roboclaw një vlerë pozicioni, Ai në thelb mund të bëjë që një motor me furçë DC të sillet si një servo. Për dallim nga një servo, motori ynë ka shumë çift rrotullues, saktësi shumë më të lartë dhe gjithashtu mund të rrotullohet 360 gradë.

Kodi Arduino për të zhvendosur Roboclaw në një pozicion të caktuar është si më poshtë:

roboclaw. SpeedAccelDeccelPositionM1 (adresa, ‘shpejtësia’, ‘nxitimi’, ‘ngadalësimi’, ‘pozicioni në të cilin dëshironi të shkoni’, 1);

Për të akorduar vlerën e pozicionit të motorit që të korrespondojë me këndin e kamerës tuaj, do t'ju duhet të lëvizni manualisht pllakën e kamerës 180 gradë. Tjetra shihni sa ka ndryshuar vlera e kodifikuesit nga lëvizja e pllakës së kamerës nga 0 gradë në 180 gradë. Kjo ju jep gamën tuaj të kodimit. Këtë diapazon mund ta futni në funksionin motorik që e përcakton këndin e kamerës së Arduino në një vlerë pozicioni. Kjo gjithashtu komentohet në kod, kështu që duhet të jetë e lehtë për tu gjetur *****

RoboClaw gjithashtu më dha aftësinë për të akorduar faktorë të tjerë të tillë si nxitimi, ngadalësimi dhe vlerat e PID. Kjo më lejoi më tej të zbusë lëvizjen e boshtit rrotullues veçanërisht kur ndryshimet e këndit ishin të vogla dhe shtuan kërcime pa vlerë të lartë PID të 'D'. Ju gjithashtu mund të rregulloni automatikisht vlerat tuaja PID përmes aplikacionit desktop të Roboclaw.

Hapi 4: Përdorimi i rrëshqitësit të kamerës

Funksionimi i rrëshqitësit të kamerës
Funksionimi i rrëshqitësit të kamerës

Tani vijmë në pjesën argëtuese, duke përdorur rrëshqitësin Menyja ka 4 skeda kryesore. Skeda e sipërme i kushtohet kontrollit të shpejtësisë. Rreshti i mesëm i menysë përmban skeda për të konfiguruar pozicionin X & Y të objektit të gjurmuar në mm, dhe gjithashtu konfiguroni nëse duam që rrëshqitësi të rrotullohet dhe të gjurmojë objektin tonë ose thjesht të bëjë një lëvizje të thjeshtë rrëshqitëse pa rrotullim. Përdredhja e kodifikuesit rrotullues na lejon të lundrojmë në opsionet e ndryshme të menutë. Për të konfiguruar ndonjë nga opsionet, lundroni te opsioni dhe shtypni koduesin rrotullues. Pasi të shtypet, rrotullimi i kodifikuesit rrotullues do të ndryshojë vlerën e nën-menusë së theksuar në vend që të fshijë nëpër menu. Pasi të keni arritur vlerën tuaj të dëshiruar, mund të klikoni përsëri në kodifikuesin rrotullues. Tani ju jeni kthyer në menunë kryesore dhe mund të lundroni midis skedave të ndryshme. Pasi të jeni gati, thjesht shtypni butonin go pranë ekranit dhe rrëshqitësi i bën gjërat e veta!

Sigurohuni që sapo të keni mbaruar përdorimin e rrëshqitësit të kamerës, që kamera të jetë në pozicionin "shtëpi": në anën e rrëshqitësit në të cilin filloi. Arsyeja për këtë është se kodifikuesi motorik nuk është një kodues absolut që do të thotë se Roboclaw/Arduino nuk mund të tregojë se ku është koduesi. Ata mund të tregojnë vetëm se sa ka ndryshuar koduesi që kur është ndezur për herë të fundit. Kjo do të thotë që kur fikni rrëshqitësin e kamerës, rrëshqitësi do të "harrojë" pozicionin e rrëshqitësit dhe do të rivendosë koduesin në 0. Prandaj, nëse e fikni rrëshqitësin tuaj në anën tjetër, kur e ndizni, rrëshqitësi do të përpiquni të lëvizni më tej se buza dhe përplaseni në murin rrëshqitës. Kjo sjellje e kodifikuesit është edhe arsyeja pse kamera rivendos këndin e saj të rrotullimit pas çdo lëvizjeje të rrëshqitjes së kamerës. Aksi rrotullues po mbron veten nga përplasja në fund të gamës së tij të lëvizjes.

Ju mund ta rregulloni këtë duke shtuar ndalesa përfundimtare dhe një procedurë kthimi kur filloni. Kjo është ajo që përdorin printerët 3d.

Hapi 5: Mendimet përfundimtare + Përmirësimet e ardhshme

Unë rekomandoj fuqimisht që çdo ndërtues të bëjë versionet e veta të këtij rrëshqitësi në vend që të ndërtojë të njëjtin rrëshqitës. Ndryshimi i modelit tim do t'ju lejojë të ndërtoni rrëshqitësin tuaj sipas specifikimeve tuaja të sakta, ndërsa gjithashtu të kuptoni më mirë se si funksionojnë elektronika dhe kodi.

E bëra kodin sa më të lexueshëm dhe të konfigurueshëm që të jetë e mundur, kështu që ju mund të ndryshoni/kalibroni ndryshoret e ndryshme të kodit për specifikimet tuaja të rrëshqitësit. Kodi gjithashtu është ndërtuar plotësisht rreth funksioneve, kështu që nëse doni të kopjoni/ shkulni/ rishkruani sjellje të caktuara të rrëshqitësit, nuk keni nevojë të ndryshoni inxhinierinë dhe të ripunoni të gjithë kodin, por vetëm pjesët që dëshironi të redaktoni.

Së fundi, nëse do të bëja një version 2.0, këtu janë disa përmirësime që do të bëja

  1. Raporti më i lartë i ingranazheve për motorin e boshtit rrotullues. Një raport më i lartë i ingranazheve do të thotë që unë mund të bëj lëvizje më të sakta të vogla. Kjo është veçanërisht kritike kur kamera është larg objektit tuaj dhe këndi i kamerës tuaj po ndryshon shumë ngadalë. Aktualisht, motori im nuk është i përshtatur shumë lart dhe mund të rezultojë në lëvizje pak të mprehtë kur rrëshqitësi i kamerës funksionon shumë ngadalë ose kur ka shumë pak ndryshim të këndit të rrotullimit. Shtimi i një vlere të lartë PID ‘D’ më ka ndihmuar të heq qafe këtë, por ka ardhur me koston e saktësisë pak më të ulët të përcjelljes së objekteve.
  2. Gjatësi modulare. Ky është një qëllim i pakuptimtë, por unë do të doja që rrëshqitësi i kamerës të ishte modular në gjatësi që do të thotë që ju lehtë mund të bashkëngjitni gjatësi më të gjata të pistave për të rrëshqitur kamera. Kjo është mjaft e vështirë pasi dikush do të duhet të përshtasë të dyja gjurmët dhe të kuptojë se si të funksionojë sistemi i rripit. Sidoqoftë, do të ishte një azhurnim i lezetshëm!
  3. Figurë kyçe e lëvizjes me porosi. Do të doja të prezantoja konceptin e lëvizjeve me kornizë kyçe në këtë rrëshqitës të kamerës. Instalimi i çelësave është një teknikë që përdoret shumë shpesh në prodhimin e videos dhe audios. Do të mundësonte lëvizjet jolineare të kamerës ku kamera shkon në një pozicion, pret, pastaj lëviz në një pozicion tjetër me një shpejtësi të ndryshme, pret, pastaj shkon në një pozicion të tretë, etj.
  4. Kontroll Bluetooth/ telefon pa tel. Do të ishte vërtet mirë të jeni në gjendje të konfiguroni parametrat e rrëshqitësit të kamerës pa tel dhe të jeni në gjendje të vendosni rrëshqitësin e kamerës në vende me vështirësi. Aplikacioni i telefonit gjithashtu mund të hapë mundësi për të integruar kornizën e tastit siç u përmend në paragrafin e fundit.

Kjo është ajo për këtë tutorial. Mos ngurroni të lini çdo pyetje poshtë në pjesën e komenteve më poshtë.

Për më shumë mësime për përmbajtje dhe elektronikë, gjithashtu mund të shikoni kanalin tim në YouTube këtu.

Recommended: