色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用Arduino實現DIY伺服相機云臺

樓斌 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-02-24 15:18 ? 次閱讀

這篇文章來源于DevicePlus.com英語網站的翻譯稿。

目錄

水平相機支架簡介

設備規格

3D 打印安裝部件

編寫程序

測試!

poYBAGPzFnKAepoeAAHFe7FFJdA007.jpg

在上一篇文章中,我們構建了一個伺服控制的無線照明開關。今天,我們打算更上一層樓,嘗試創建一個水平相機支架或云臺。如果您還沒有準備好,請隨時查閱我們的第一個相機云臺項目:第1部分第2部分

今天的電子食譜

預計完成時間:60分鐘

所需部件:

Arduino UNO R3 或 Arduino Pro Mini

面包板

三軸加速度計 KXR94-2050

Towerpro MG996R 伺服電機

1. 水平相機支架簡介

水平相機支架,通常稱為“穩定器”或“云臺”,過去僅用于高預算生產環境。由于無人機行業的繁榮和新興消費技術,現在利用配備云臺的無人機拍攝高質量的視頻已經非常普遍——用無人機或智能手機都可以。市面上易于操作的相關消費產品有很多種。其中一些產品采用無刷電機進行主觀視角拍攝(噪音、速度等)。

pYYBAGPzFnOANNYKAAEa2WZeXHo028.jpg

圖1.穩定器

我一直想親手制作一個這樣的設備。上次,我挑戰自己,構建了一個這種設備,具體內容請參見這篇文章,但是結果卻并不理想……

該設備有其自身的魅力……但是如果無法作為穩定器使用,那么也毫無用處。我回顧了之前的項目,發現許多需要改進的地方。最大的問題就是我選擇的伺服電機。之前的電機功率不夠。其扭矩不足以操作智能手機

出于這個原因,在繼續其他工作之前我想先關注一下設備規格選型。

2. 設備規格

首先,我們來看一下伺服電機。雖然之前使用的伺服電機SG90價格便宜且易于使用,但是顯然其扭矩不夠。因此,這次我們使用MG996R伺服電機,其扭矩幾乎是之前電機的5倍,可能動作會略微延遲/減慢。

poYBAGPzFnWAEy4UAADikOfp1ZU049.jpg

另外,其他部件基本就是Arduino和加速度計,所以設置幾乎與上次相同。由于新伺服電機較大,我用適配器為其供電。電路接線也是相同的。

poYBAGPzFneAZksCAAG7LONkd8M021.jpg

poYBAGPzFnmAI3i-AAGlhCOqORs997.jpg

3. 3D 打印安裝部件

對于支架的部件,您可以使用上次的木材和金屬配件。但這一次,我想利用3D打印來制作各個部件。這次我準備的三腳架帶有螺絲孔,即使伺服電機較大,也可以保持穩定。我設計的小三腳架具有方向性,而且可以單手操作。

poYBAGPzFnuAMcLsAAF9_spGHUk597.jpg

這是我3D打印的部件。組裝后的樣子如下所示:

poYBAGPzE6aAJ6EJAAFgvcBkgow166.jpg

請注意,如果使用ABS樹脂進行3D打印,那么材料固化時會發生收縮。我打印部件時發現了這個問題。我注意到部件產生輕微變形,組裝時螺釘很難擰入。經過多次試驗和錯誤后,我決定分別打印安裝在伺服電機上的部件。您可以在這里下載適用于該支架的3D模型: https://github.com/DevicePlus/ServoGimbal

pYYBAGPzFoCACUoYAAIDT6vGVcY901.jpg

三腳架組裝如下所示:

poYBAGPzFoKAYO4pAAHWq6EzIYk185.jpg

pYYBAGPzFoSAMBIyAAFUBJnIUBg900.jpg

至于外殼,這取決于您的相機類型等因素。此外,您還可以根據您的手機類型改進/更改部件的整體設計。

4. 編寫程序

對于程序,我們有必要進行校準。首先將加速度傳感器傾斜180度,并根據輸出值調整伺服電機的傾斜度。所以我們稍微改進了第17個程序并進行了校準。讓我們用比較容易理解的方式輸出數字。

首先需要將加速度計傾斜180度,并根據輸出值調整伺服電機的傾斜度來校準加速度計。讓我們稍微修改一下 第1部分 中的程序,以易于理解的方式輸出校準值。

int _maxX = 0;
int _minX = 1000;
int _maxY = 0;
int _minY = 1000;
int _maxZ = 0;
int _minZ = 1000;
 
//******************************************
//Program for acquiring accelerometer values //******************************************
void setup()
{
// initialize the serial monitor
Serial.begin(9600) ;
}
void loop()
{
long x , y , z ;
x = y = z = 0 ;
x = analogRead(1) ; // X axis
y = analogRead(2) ; // Y axis
z = analogRead(3) ; // Z axis
 
if(_maxX < x){ _maxX = x; }
if(_minX > x){ _minX = x; }
if(_maxY < y){ _maxY = y; }
if(_minY > y){ _minY = y; }
if(_maxZ < z){ _maxZ = z; }
if(_minZ > z){ _minZ = z; }
 
int centerX = (_maxX-_minX)/2+_minX;
int centerY = (_maxY-_minY)/2+_minY;
int centerZ = (_maxZ-_minZ)/2+_minZ;
 
float rotateX = ((float)_maxX-(float)_minX)/180;
float rotateY = ((float)_maxY-(float)_minY)/180;
float rotateZ = ((float)_maxZ-(float)_minZ)/180;
 
 
Serial.print("X:") ;
Serial.print(_minX) ;
Serial.print(" ") ;
Serial.print(centerX) ;
Serial.print(" ") ;
Serial.print(_maxX) ;
Serial.print(" ") ;
Serial.print(rotateX) ;
Serial.print(" Y:") ;
Serial.print(_minY) ;
Serial.print(" ") ;
Serial.print(centerY) ;
Serial.print(" ") ;
Serial.print(_maxY) ;
Serial.print(" ") ;
Serial.print(rotateY) ;
Serial.print(" Z:") ;
Serial.print(_minZ) ;
Serial.print(" ") ;
Serial.print(centerZ) ;
Serial.print(" ") ;
Serial.print(_maxZ) ;
Serial.print(" ") ;
Serial.println(rotateZ) ;
delay(50) ;
}

poYBAGPzFoWAf2bZAAB1a6qdNP4573.jpg

pYYBAGPzFoeAGYSRAAE-oS_E-Y0054.jpg

運行此程序后,啟動串口監視器,然后將傳感器分別在X和Y方向-90度到90度之間傾斜,并確認輸出值。將輸出值的最小值和最大值除以180度,獲得的數值為加速度計傾斜值/度,這樣可以與伺服電機的操作同步。

pYYBAGPzFomAVvzjAAGHhTahw1I021.jpg

串口監視器上的數值在激活伺服電機的程序中有所反應。

//********************************************
//Program 2 for acquiring accelerometer values
//********************************************
#include 
Servo myservoX;
Servo myservoY;
 
void setup()
{
// initialize the serial monitor
Serial.begin(9600) ;
myservoX.attach( 5 );
myservoY.attach( 6 );
}
 
void loop()
{
int i ;
long x , y;
// read each data 100 times and average
x = y = 0 ;
for (i=0 ; i < 100 ; i++) {
x = x + analogRead(1) ; // read x axis
y = y + analogRead(2) ; // read y axis
}
 
x = x / 100 ;
y = y / 100 ;
 
int rotateX = (x-493)/1.30; //obtain anble
myservoX.write( 90-rotateX );
Serial.print("X:") ;
Serial.print(x) ;
Serial.print(" ") ;
Serial.print(rotateX) ;
 
int rotateY = (y-488)/1.23;
myservoY.write( 90-rotateY );
Serial.print(" Y:") ;
Serial.print(y) ; // Y axis
Serial.print(" ") ;
Serial.println(rotateY) ; // Y axis
delay(10) ;
}


5. 測試!

這次我們有了足夠的功率,但是支架的運動仍然很有趣……

在上面的視頻中,用手握住設備時,加速度計可以捕獲最輕微的搖動。即使傳感器軸對齊,也會出現到一些不同角度的意外運動。解決這個問題對于平滑旋轉和未來改進來說至關重要。

運動(或搖動)與相機(或智能手機)的重量成比例。如果物體小而輕,移動就相對輕微;但是如果放置像智能手機那樣較重的物體,搖晃就會很嚴重。還應該改進該程序以提高性能并提高可靠性。

我們的最終目標是創建一個像下面的產品一樣穩定的云臺:

似乎很多人都嘗試用無人機這樣做。有些無人機可以保持穩定的姿態,所以該設備可能更適合無人機。

今天,我們重新制作了 第1部分第2部分構建的水平相機云臺。我們對云臺的機械設計進行了一些改進,但是隨著項目的進一步推進,我們發現了更多的挑戰。我們仍然無法順利控制云臺。現在,該設備只能說仍處于測試階段,但是我們不會善罷甘休。我們一定會在不久的將來重新解決這個問題,并使其成為一個功能正常的設備。

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 編輯團隊

設備升級版適用于所有熱愛電子和機電一體化的人。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 智能手機
    +關注

    關注

    66

    文章

    18502

    瀏覽量

    180447
  • Arduino
    +關注

    關注

    188

    文章

    6472

    瀏覽量

    187320
收藏 人收藏

    評論

    相關推薦

    如何使用Arduino的藍牙控制伺服電機

    使用伺服電機在機器人技術中很常見,以實現精確控制。在這里,在本教程中,我們將向您展示如何通過藍牙連接將伺服電機與Arduino UNO和Android設備無線使用。我們已經使用
    發表于 11-16 16:19 ?3589次閱讀
    如何使用<b class='flag-5'>Arduino</b>的藍牙控制<b class='flag-5'>伺服</b>電機

    DIY 相機穩定器,是省錢還是敗家?

    上,這些需要慢慢的調試才行。 第七步:完成整個DIY的穩定器就完成了,其主要內核就是廢棄的無人機利用,剩下其他的都沒有什么技術含量,經過計算,整套穩定器制作下來,差不多成本在60
    發表于 11-04 16:04

    超聲電機—的應用

    與外殼之間狹小空間安裝微型超聲電機伺服控制電路,作為運動控制部件,將微型高精度閉環控制系統安裝在微型超聲電機背部,
    發表于 09-30 11:11

    如何制作相機跟拍

    如何制作相機跟拍實現目標:當相機或拍攝對象向左或向右移動時,相機鏡頭也相應轉動,始終對著
    發表于 12-05 09:05

     佳能相機專利通過:可換鏡頭設計

    據外媒 newsshooter 消息,佳能最新的一款相機專利在日本通過申請。這款設備有著人體工程學手柄,搭載可換鏡頭的
    的頭像 發表于 12-31 09:04 ?2139次閱讀
     佳能<b class='flag-5'>云</b><b class='flag-5'>臺</b><b class='flag-5'>相機</b>專利通過:可換鏡頭設計

    佳能通過日本最新相機專利

    為了實現更穩的拍攝,相機往往需要一手持,兩者加在一起體積碩大,需要兩只手才能拿穩。
    的頭像 發表于 12-31 09:49 ?1789次閱讀
    佳能通過日本最新<b class='flag-5'>云</b><b class='flag-5'>臺</b><b class='flag-5'>相機</b>專利

    佳能申請相機,可更換鏡頭設計

    為了實現更穩的拍攝,相機往往需要一手持,兩者加在一起體積碩大,需要兩只手才能拿穩。
    發表于 12-31 09:57 ?549次閱讀

    DIY自己的arduino項目

    電子發燒友網站提供《DIY自己的arduino項目.zip》資料免費下載
    發表于 07-27 10:17 ?2次下載
    <b class='flag-5'>DIY</b>自己的<b class='flag-5'>arduino</b>項目

    DIY ARDUINO UNO板

    電子發燒友網站提供《DIY ARDUINO UNO板.zip》資料免費下載
    發表于 08-19 09:28 ?7次下載
    <b class='flag-5'>DIY</b> <b class='flag-5'>ARDUINO</b> UNO板

    德州儀器運動相機和手持解決方案

    德州儀器運動相機和手持解決方案
    發表于 10-31 08:23 ?1次下載
    德州儀器運動<b class='flag-5'>相機</b>和手持<b class='flag-5'>云</b><b class='flag-5'>臺</b>解決方案

    DIY Arduino角燈

    電子發燒友網站提供《DIY Arduino角燈.zip》資料免費下載
    發表于 11-02 10:46 ?1次下載
    <b class='flag-5'>DIY</b> <b class='flag-5'>Arduino</b>角燈

    DIY Arduino示波器

    電子發燒友網站提供《DIY Arduino示波器.zip》資料免費下載
    發表于 11-11 11:06 ?5次下載
    <b class='flag-5'>DIY</b> <b class='flag-5'>Arduino</b>示波器

    基于Arduino平臺的DIY示波器

    電子發燒友網站提供《基于Arduino平臺的DIY示波器.zip》資料免費下載
    發表于 11-30 14:23 ?6次下載
    基于<b class='flag-5'>Arduino</b>平臺的<b class='flag-5'>DIY</b>示波器

    Arduino DIY鬧鐘

    電子發燒友網站提供《Arduino DIY鬧鐘.zip》資料免費下載
    發表于 12-01 09:23 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>DIY</b>鬧鐘

    DIY Arduino電子沙漏

    電子發燒友網站提供《DIY Arduino電子沙漏.zip》資料免費下載
    發表于 02-06 11:09 ?10次下載
    <b class='flag-5'>DIY</b> <b class='flag-5'>Arduino</b>電子沙漏
    主站蜘蛛池模板: 国产成人精选免费视频| 美女厕所撒尿ass| 国产99视频在线观看| 电影 qvod| 国产精品久久人妻互换毛片| 国模丽丽啪啪一区二区| 久久国产成人午夜AV影院无码| 久就热视频精品免费99| 97人人爽人人爽人人人片AV| 亚洲欧美另类无码专区| 在线广播收听| yellow2019在线观看视频| 国产精品丰满人妻AV麻豆| 精品久久日日躁夜夜躁AV| 蜜桃视频无码区在线观看| 乳欲性高清在线| 亚洲国产精品一区二区动图| 中文字幕绝色少妇性| 成人免费在线观看视频| 国产在线精品视频免费观看| 美女被C污黄网站免费观看| 色青青草原桃花久久综合| 亚洲欧美中文字幕先锋| 99久久久免费精品国产| 国产精品嫩草免费视频| 久久婷婷电影网| 肉色欧美久久久久久久蜜桃| 亚洲综合中文字幕无线码| beeg日本老师| 国产亚洲精品久久综合阿香蕉| 恋夜秀场1234手机视频在线观看| 日本黄色www| 一区精品在线| 大香伊人久久精品一区二区| 精子射到丝袜上图| 日本色女孩影院| 一个人HD在线观看免费高清视频| 俄罗斯另类Z0Z0ZOZO| 哪里能看毛片| 亚洲综合色在线视频久| 国产成人免费高清在线观看|