Tartalomjegyzék:
- 1. lépés: Hardvertervezés + Build + 3D nyomtatás
- 3. lépés: A kamera csúszka programozása
- 4. lépés: A kamera csúszka kezelése
- 5. lépés: Végső gondolatok + jövőbeli fejlesztések
Videó: Tárgykövető kamera csúszka forgótengellyel. 3D nyomtatás és beépítés a RoboClaw DC motorvezérlőre és az Arduino -ra: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Fusion 360 projektek »
Ez a projekt az egyik kedvenc projektem, mióta össze tudtam kapcsolni a videó készítés iránti érdeklődésemet a barkácsolással. Mindig néztem és akartam utánozni azokat a filmes felvételeket a filmekben, ahol a kamera mozog a képernyőn, miközben pásztázva követi az objektumot. Ez nagyon érdekes mélységhatást kölcsönöz az egyébként 2d -s videónak. Mivel meg akartam ismételni ezt anélkül, hogy több ezer dollárt költenék hollywoodi felszerelésre, úgy döntöttem, hogy magam is elkészítem egy ilyen kameracsúszkát.
Az egész projekt 3D nyomtatható alkatrészekre épül, és a kód a népszerű Arduino táblán fut. Az összes projektfájl, például a CAD -fájlok és -kód letölthető az alábbiakban.
CAD/ 3D nyomtatási fájlok itt érhetők el
Az Arduino Code fájl itt érhető el
A projekt a 2 fogaskerekű szálcsiszolt egyenáramú motor és a Basic Micro Roboclaw Motor vezérlő körül forog. Ez a motorvezérlő hihetetlen helyzetpontossággal, rengeteg nyomatékkal és teljes 360 fokos elforgatással képes a szálcsiszolt egyenáramú motorokat kiváló szervo -típusgá alakítani. Erről bővebben később.
Mielőtt folytatnánk, először nézze meg az itt linkelt oktatóvideót. Ez az oktatóanyag áttekintést nyújt a projekt felépítéséről, és ez az Instructables útmutató részletesebben bemutatja a projekt felépítését.
Anyagok-
- 2x 1 méter hosszú m10 menetes rúd az összes alkatrész csatlakoztatásához
- 8x M10 anya az alkatrészek menetes rudakhoz való rögzítéséhez
- 2x 95 cm hosszú, 8 mm -es sima acél rudak a csúszka csúsztatásához
- 4x lm8uu csapágy, hogy a csúszka simán csúszhasson az acél rudakon
- 4x 10mm hosszú m3 anya a motor felszerelésére
- 2 x gördeszka csapágy (22 mm külső átmérő, 8 mm belső átmérő) a forgástengelyhez
- 1x 15 mm -es csapágy az üresjárati oldalhoz
- 1x 4 cm hosszú m4 csavar m4 rögzítőanyával az ütközőcsapágy rögzítéséhez az alaplap 3d nyomtatott részéhez.
- 20 fogú fogaskerék 4 mm belső átmérővel a csúszómotorhoz. A pontos szíjtárcsa nem túl fontos, mivel az egyenáramú motort megfelelő nyomatékra kell állítani. Csak győződjön meg arról, hogy ugyanaz a dőlésszög, mint az öv
- 2 méter hosszú GT2 öv. Ismét bármilyen szíjat használhat, amíg az megfelel a szíjtárcsa fogainak dőlésszögéhez.
Elektronika
- 2 * Hajtóműves egyenáramú motorok kódolókkal (az egyik az oldalsó mozgást, míg a másik a forgástengelyt vezérli). Itt van az, amit használtam. Erről bővebben az útmutató Elektronika részében
- RoboClaw DC motorvezérlő. (A kettős 15Amp vezérlőt használtam, mivel lehetővé tette mindkét motor vezérlését egy vezérlővel)
- Bármilyen Arduino. Az Arduino UNO -t használtam
- Akkumulátor/ áramforrás. (7,4 V -os 2 cellás LiPo akkumulátort használtam)
- Képernyő (A menü megjelenítéséhez. Bármely U8G kompatibilis képernyő működik, ezt az 1,3 hüvelykes OLED képernyőt használtam)
- Forgatási kódoló (Navigáláshoz és a menü beállításainak konfigurálásához)
- Fizikai nyomógomb (a csúszka mozgásának kiváltásához)
1. lépés: Hardvertervezés + Build + 3D nyomtatás
Ezután térjünk át az elektronikára. Az elektronika az, ahol ez a projekt nagyon rugalmas.
Kezdjük ennek a projektnek a magjával- a 2 szálcsiszolt egyenáramú motorral.
Néhány okból a szálcsiszolt egyenáramú motorokat választottam.
- A szálcsiszolt motorok sokkal egyszerűbben vezethetők és működtethetők, mint a léptetőmotorok
- A szálcsiszolt egyenáramú motorok sokkal könnyebbek, mint az egyenáramú motorok, ami különösen fontos a forgástengelyes motor számára, mivel ez a motor fizikailag oldalirányban mozog a fényképezőgéppel, és ezáltal a lehető legkönnyebb fény az elsődleges kamera csúszómotorjának túlzott igénybevételének megelőzése érdekében.
Ezt az egyenáramú motort választottam. Ez a motor rendkívül nagy nyomatékot adott nekem, ami szükséges volt egy ilyen nagy kameraterhelés mozgatásához. Ezenkívül a nagy sebességfokozat azt jelentette, hogy a csúcs fordulatszám lassú volt, ami azt jelentette, hogy lassabb mozgásokat tudtam felvenni, és a magas áttétel nagyobb pozicionálási pontossághoz is vezetett, mivel a kimenő tengely 360 ° -os elforgatása 341,2 számot jelent a motor kódolójáról.
Ezzel eljutunk a RoboClaw mozgásvezérlőhöz. A Roboclaw motor kettős egyenáramú motorvezérlője egyszerű utasításokat kap az Arduino -tól, egyszerű kódparancsokon keresztül, és elvégzi az összes nehéz feldolgozást és áramellátást, hogy a motor rendeltetésszerűen működjön. Az Arduino jeleket küldhet a Roboclaw -nak PWM, analóg feszültség, egyszerű soros vagy csomag soros útján. A csomagsorozat a legjobb megoldás, mivel lehetővé teszi a Roboclaw -tól a pozíciókövetéshez szükséges információk visszaszerzését. A következő lépésben (programozás) mélyebben elmerülök a Roboclaw szoftver/programozási részében.
Lényegében a Roboclaw képes átalakítani az egyenáramú szálcsiszolt motort egy kódolóval, hogy inkább szervó legyen, köszönhetően a RoboClaw helyzetvezérlő képességének. A hagyományos szervóval ellentétben azonban a szálcsiszolt egyenáramú motor sokkal nagyobb nyomatékkal, sokkal pontosabb pozícióval rendelkezik a nagy motoráttétel miatt, és ami a legfontosabb, az egyenáramú motorja 360 fokban képes folyamatosan pörögni, amire egy hagyományos szervó sem képes.
A következő elektronikai rész a képernyő. A képernyőmhez ezt az OLED panelt választottam mérete és nagy kontrasztja miatt. Ez a nagy kontrasztú képesség hihetetlen, és megkönnyíti a képernyő használatát közvetlen napfényben, miközben nem bocsát ki túl sok fényt, ami zavarhatja a sötét fényképezőgép felvételeit. Ez a képernyő könnyen cserélhető egy másik U8G kompatibilis képernyőre. A kompatibilis képernyők teljes listája itt érhető el. Valójában ezt a projektet szándékosan az U8G könyvtár köré kódolták, így a hozzád hasonló barkácsépítők nagyobb rugalmasságot kaptak
Ennek a projektnek az utolsó elektronikai alkatrészei a forgó jeladó és a nyomógomb voltak a csúszka mozgásának elindításához. A kódoló lehetővé teszi, hogy navigáljon a képernyő menüjében, és egyetlen tárcsával konfigurálja a csúszka összes menüjét. A forgó jeladónak nincs „véghelyzete”, mint a hagyományos potenciométernek, és ez különösen hasznos a képernyőn megjelenő objektumkövetés x és y koordinátáinak módosításához. A nyomógomb kizárólag a csúszka mozgásának elindítására szolgál anélkül, hogy a forgó kódolóval kellene babrálnia.
3. lépés: A kamera csúszka programozása
A kódolás volt a projekt legnehezebb kihívása. Látod, kezdettől fogva azt akartam, hogy a csúszka képernyőről vezérelhető legyen. Ahhoz, hogy ez a projekt a lehető legtöbb képernyővel kompatibilis legyen, az Arduino U8Glib könyvtárát kellett használnom. Ez a könyvtár több mint 32 képernyőt támogat. Az U8Glib könyvtár azonban egy képhurkot használt a menü megjelenítéséhez a képernyőn, és ez ellentmondott az Arduino azon képességének, hogy egyidejűleg információkat gyűjtsön a kamera helyzetéről, ami szükséges volt a kameraszög -számítási funkcióhoz (ezt a következő néhány bekezdés tárgyalja)). Az U8Glib2 alternatívája a képhurok, úgynevezett teljes oldalas puffer opció használatával, de a könyvtár túl sok memóriát emésztett fel, és megnehezítette a kód többi részének illesztését, tekintettel az Arduino Uno memória korlátaira. Ez azt jelentette, hogy elakadtam az U8G -nél, és meg kellett oldanom a problémát, megakadályozva, hogy a képernyő bármikor frissüljön, amikor a csúszka mozgásban van, és az Arduino -nak szüksége volt a Roboclaw helyzetadatainak gyűjtésére. Arra is kényszerítettem, hogy elindítsam a csúszkát, hogy a menükörön kívül mozogjon, mivel amint beléptem az almenükbe, a képkörben leszek, és a csúszka nem fog megfelelően működni. Megkerültem ezt a problémát azzal is, hogy külön fizikai gomb indította el a csúszka mozgását.
Ezután beszéljünk a forgó nyomkövető elemről. Ez a rész nagyon összetettnek tűnik, de valójában meglehetősen egyszerű. Ennek megvalósítása az „Arduino” kódon belüli „motor ()” funkció alatt történik. Az első lépés egy 2 dimenziós rács elkészítése, és eldöntöttük, hogy a követni kívánt objektum hol található. Ennek alapján rajzolhat egy háromszöget a jelenlegi helyére. Az aktuális tartózkodási helyét a motor kódolóértékéből kaphatja meg. Ha a követni kívánt objektum pozícióját cm/mm -ben szeretné konfigurálni, akkor a kódoló értékét cm/mm értékre kell lefordítania. Ezt egyszerűen úgy teheti meg, hogy a kamera csúszkáját 1 cm -rel elmozdítja, és megméri a kódoló értékének növekedését. Ezt az értéket a kód tetején adhatja meg az encoder_mm változó alatt.
Továbblépve, most az inverz érintő függvényt fogjuk használni, hogy megkapjuk azt a szöget, amellyel a kamerának szembe kell néznie a tárgyával. A fordított érintő a háromszög ellenkező és szomszédos oldalát veszi fel. A háromszög ellenkező oldala soha nem változik, mivel ez a csúszka és az objektum közötti y távolság. A kamera csúszka szomszédos oldala azonban megváltozik. Ezt a szomszédos oldalt úgy lehet kiszámítani, hogy felveszi az objektum x pozícióját, és kivonja belőle az aktuális pozícióját. Amint a csúszka mozog a mozgási tartományában, folyamatosan frissíti az Arduino -t a kódoló értékén. Az Arduino többször is átalakítja ezt a kódoló értéket cm/mm x helyzetértékre, majd kiszámítja a szomszédos oldalhosszat, és végül kiszámítja azt a szöget, amellyel a fényképezőgépnek mindig szembe kell néznie, hogy a tárgyra mutasson.
Most, hogy az Arduino dinamikusan dolgozza fel a kamera szögét, foglalkozhatunk azzal, hogy ezt a szöget helyzeti értékre alakítjuk át a forgó motor számára. Ezzel el is érkeztünk a RoboClaw legnagyobb jellemzőjéhez ebben a projektben. Azáltal, hogy a Roboclaw -nak pozícióértéket ad, lényegében az egyenáramú, szálcsiszolt motort szervo szerűen viselkedheti. A szervóval ellentétben a motorunk tonna nyomatékkal, sokkal nagyobb pontossággal rendelkezik, és 360 fokot is képes forogni.
Az Arduino kód a Roboclaw bizonyos pozícióba való áthelyezéséhez a következő:
roboclaw. SpeedAccelDeccelPositionM1 (cím, „sebesség”, „gyorsulás”, „lassítás”, „pozíció, ahova menni kíván”, 1);
Ahhoz, hogy a motor helyzeti értékét a kamera szögéhez igazítsa, manuálisan el kell mozgatnia a kameralemezt 180 fokkal. Ezután nézze meg, hogy a kódoló értéke mennyit változott a kameralemez 0 fokról 180 fokra való elmozdításakor. Ez megadja a kódoló tartományát. Ezt a tartományt megadhatja a motor funkcióban, amely az Arduino kameraszögét pozicionális értékre képezi le. Ezt a kód is megjegyzi, így könnyen megtalálhatónak kell lennie *****
A RoboClaw lehetőséget adott más tényezők, például a gyorsulás, a lassítás és a PID értékek hangolására is. Ez lehetővé tette számomra, hogy simítsam a forgástengely mozgását, különösen akkor, ha a szögváltozások kicsiek voltak, és rángatózásokat eredményeztek, magas „D” PID érték nélkül. A PID-értékeket a Roboclaw asztali alkalmazásával is automatikusan beállíthatja.
4. lépés: A kamera csúszka kezelése
Most elérkeztünk a szórakoztató részhez, a csúszka működtetéséhez A menü 4 fő lappal rendelkezik. A felső fül a sebességszabályozást szolgálja. A menü középső sora füleket tartalmaz a követett objektum X & Y pozíciójának megadására mm -ben, és azt is, ha azt szeretnénk, hogy a csúszka forogjon és nyomon kövesse az objektumunkat, vagy csak egy egyszerű csúsztatást végezzen elforgatás nélkül. A forgó kódoló elforgatásával navigálhatunk a menük különböző lehetőségei között. Az opciók bármelyikének konfigurálásához navigáljon az opcióhoz, és nyomja meg a forgó kódolót. Miután megnyomta, a forgó jeladó elforgatása megváltoztatja a kiemelt almenü értékét, ahelyett, hogy a menüt végiggördítené. Miután elérte a kívánt értéket, ismét rákattinthat a forgó kódolóra. Most visszatért a főmenübe, és navigálhat a különböző lapok között. Ha készen áll, egyszerűen nyomja meg a képernyő melletti go gombot, és a csúszka elvégzi a dolgát!
Győződjön meg arról, hogy miután befejezte a fényképezőgép csúszkájának használatát, a fényképezőgép „otthoni” helyzetben van: a csúszka oldalán, amelyen elindult. Ennek az az oka, hogy a motorkódoló nem abszolút kódoló, ami azt jelenti, hogy a Roboclaw/Arduino nem tudja megmondani, hol van a kódoló. Csak azt tudják megmondani, hogy a kódoló mennyit változott az utolsó bekapcsolás óta. Ez azt jelenti, hogy amikor kikapcsolja a kamera csúszkáját, a csúszka „elfelejti” a csúszka helyzetét, és visszaállítja a kódolót 0 -ra. Ezért, ha kikapcsolja a csúszkát a másik oldalon, amikor bekapcsolja, a csúszka próbáljon tovább lépni a szélénél, és ütközzen a csúszka falába. Ez a kódoló viselkedés az oka annak is, hogy a fényképezőgép minden csúsztatás után visszaállítja forgásszögét. A forgástengely is védi magát attól, hogy a mozgási tartományának végébe ütközzen.
Ezt javíthatod a végállomások hozzáadásával és az indítási eljárás kezdő lépéseivel. Ezt használják a 3D nyomtatók.
5. lépés: Végső gondolatok + jövőbeli fejlesztések
Határozottan javaslom, hogy minden építő készítse el saját változatát erről a csúszkáról, ahelyett, hogy pontosan ugyanazt a csúszkát építené. A tervezés módosítása lehetővé teszi, hogy a csúszkát a pontos előírásoknak megfelelően építse fel, miközben jobban megérti az elektronika és a kód működését.
A kódot a lehető legolvashatóbbá és konfigurálhatóbbá tettem, így a csúszka specifikációi szerint módosíthatja/kalibrálhatja a különböző kódváltozókat. A kód is teljesen a funkciók köré épül, így ha a csúszka bizonyos viselkedéseit másolni/ módosítani/ átírni szeretné, akkor nem a teljes kódot kell megváltoztatnia és átdolgoznia, hanem csak a szerkeszteni kívánt részeket.
Végezetül, ha elkészítettem egy 2.0 -s verziót, itt van néhány fejlesztés, amit szeretnék végrehajtani
- Magasabb áttétel a forgástengelyes motorhoz. A magasabb áttételi arány azt jelenti, hogy pontosabb kis mozgásokat tudok végrehajtani. Ez különösen akkor kritikus, ha a kamera messze van a tárgytól, és a kamera szöge nagyon lassan változik. Jelenleg a motorom nincs túl magasra hajtva, és kissé rángatózó mozgást eredményezhet, ha a kamera csúszka túl lassan jár, vagy ha nagyon kicsi a forgási szögváltozás. A magas „D” PID érték hozzáadása segített megszabadulni ettől, de valamivel alacsonyabb tárgykövetési pontossággal járt.
- Moduláris hossz. Ez egy messzemenő cél, de szeretném, ha a kamera csúszka moduláris hosszúságú lenne, ami azt jelenti, hogy könnyedén csatolhat hosszabb vágányhosszakat a fényképezőgéphez. Ez meglehetősen nehéz, mivel tökéletesen össze kell igazítani mindkét pályát, és ki kell találni, hogyan működjön az övrendszer. Ennek ellenére jó frissítés lenne!
- Egyedi mozgás kulcsképzés. Szeretném bevezetni ebbe a kameracsúszkába a kulcskeretes mozgások fogalmát. A kulcsképzés egy olyan technika, amelyet nagyon gyakran használnak a video- és hanggyártásban. Lehetővé teszi a nemlineáris kameramozgásokat, amikor a kamera egy pozícióba megy, várakozik, majd egy másik pozícióba más sebességgel mozog, vár, majd egy harmadik pozícióba megy stb.
- Bluetooth/ vezeték nélküli telefonvezérlés. Nagyon jó lenne, ha vezeték nélkül konfigurálhatná a kamera csúszka paramétereit, és be tudná helyezni a kamera csúszkát a nehezen hozzáférhető helyekre. A telefonos alkalmazás az utolsó bekezdésben említettek szerint megnyithatja a kulcsképzés integrálásának lehetőségeit is.
Ennyi ehhez az oktatóanyaghoz. Nyugodtan tegye le kérdéseit az alábbi megjegyzések részben.
További tartalom- és elektronikai oktatóanyagokért tekintse meg YouTube -csatornámat is itt.
Ajánlott:
DIY kamera csúszka (motoros): 6 lépés (képekkel)
DIY kamera csúszka (motoros): Elromlott a nyomtatóm, és a szkennelő motor alvázával motoros fényképezőgép csúszkát készítettem! Itt hagyom az összes alkatrész linkjét, de ne feledje, hogy ez a projekt mindenki számára más lesz, mert egy régi törött nyomtatómat használtam, ezért a fillérek
DIY motoros kamera csúszka négy 3D nyomtatott részből: 5 lépés (képekkel)
DIY motoros fényképezőgép csúszka négy 3D nyomtatott részből: Helló gyártók! . Néhány nappal ezelőtt úgy döntöttem, hogy befektetek egy jobb kamerába
Motoros kamera csúszka: 6 lépés (képekkel)
Motorizált kameracsúszka: A videófelszerelésnél a kameracsúszkákat nem tekintik szükségszerűségnek, de ez nem akadályoz meg abban, hogy egyet készítsek. Kezdettől fogva tudtam, hogy a 3D nyomtatók alkatrészeinek használatával olcsó, hozzáférhető és állítható lesz. Az a tény, hogy motoros
DIY motoros kamera csúszka: 9 lépés (képekkel)
DIY motoros fényképezőgép -csúszka: Míg néhány projektet dokumentáltunk a munkában, szükségünk volt egy kamera csúszkára. Mint gyártók (és miután megtudtuk, hogy a motoros csúszkák meglehetősen drágák), élünk a lehetőséggel, és magunk terveztük! Tehát, ha motoros kamerára van szüksége csúszka a létrehozáshoz
Automatikus kamera csúszka: 8 lépés (képekkel)
Automatikus kamera csúszka: Halló! Ga naar stap 1 voor meer informatie