1.運(yùn)動(dòng)功能說(shuō)明
舵機(jī)云臺(tái)下方的舵機(jī)可以提供一個(gè)左右擺動(dòng)的動(dòng)作,同時(shí)上方橫置的關(guān)節(jié)模組可以提供一個(gè)上下擺動(dòng)的動(dòng)作。在這兩部分的配合下,云臺(tái)的執(zhí)行端端(即:關(guān)節(jié)模組的U型支架)可以靈活地走出一個(gè)近似半球的運(yùn)動(dòng)軌跡。

2.結(jié)構(gòu)說(shuō)明
該樣機(jī)由一個(gè) 舵機(jī) 加一個(gè) 舵機(jī)關(guān)節(jié)模組 構(gòu)成。


3.運(yùn)動(dòng)功能實(shí)現(xiàn)
3.1 電子硬件
在這個(gè)示例中,采用了以下硬件,請(qǐng)大家參考:
Basra主控板(兼容Arduino Uno)、Bigfish2.1擴(kuò)展板、7.4V鋰電池
將兩個(gè)舵機(jī)接在擴(kuò)展板的D3以及D4舵機(jī)接口上。

3.2 編寫程序
編程環(huán)境:Arduino 1.8.19
舵機(jī)云臺(tái)的控制關(guān)鍵是驅(qū)動(dòng)舵機(jī)和舵機(jī)關(guān)節(jié)模組。
云臺(tái)運(yùn)動(dòng)的代碼
|
/*------------------------------------------------------------------------------------ 版權(quán)說(shuō)明:Copyright 2022 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved. Distributed under MIT license.See file LICENSE for detail or copy at https://opensource.org/licenses/MIT by 機(jī)器譜 2022-5-31 https://www.robotway.com/ ---------------------------------- 實(shí)驗(yàn)功能: 實(shí)現(xiàn)云臺(tái)模組的兩個(gè)舵機(jī)同時(shí)運(yùn)動(dòng). ----------------------------------------------- 實(shí)驗(yàn)接線: 云臺(tái) .-----. | | 控制云臺(tái)上下的舵機(jī)接:D3 .---------. | | 控制云臺(tái)左右轉(zhuǎn)動(dòng)的舵機(jī)接:D4 | | ----------------- ------------------------------------------------------------------------------------*/ #include //調(diào)用舵機(jī)庫(kù)函數(shù) Servo servo_pin_3; //聲明控制云臺(tái)上下轉(zhuǎn)動(dòng)的舵機(jī) Servo servo_pin_4; //聲明控制云臺(tái)左右轉(zhuǎn)動(dòng)的舵機(jī) //程序初始化部分:使能舵機(jī)引腳,并設(shè)置舵機(jī)初始角度 void setup() { servo_pin_3.attach(3); //使能3號(hào)舵機(jī) servo_pin_4.attach(4); //使能4號(hào)舵機(jī) servo_pin_3.write(0); //3號(hào)舵機(jī)初始轉(zhuǎn)到0度 servo_pin_4.write(0); //4號(hào)舵機(jī)初始轉(zhuǎn)到0度 } void loop() { Servo_Move( 0,95, 0,180); //D4舵機(jī)緩慢從0度轉(zhuǎn)到180度,同時(shí)D3舵機(jī)緩慢從0度轉(zhuǎn)到95度 Servo_Move( 95,0, 180,0); //D4舵機(jī)緩慢從180度轉(zhuǎn)到0度,同時(shí)D3舵機(jī)緩慢從95度轉(zhuǎn)到0度 } /*兩舵機(jī)同時(shí)轉(zhuǎn)動(dòng)子函數(shù).使用方法如下所示: servo_loop_count:表示舵機(jī)從A角度轉(zhuǎn)到B角度分成了多少份. delay(20);表示每一份需要的延時(shí)時(shí)間. Servo_Move( 30, 45, 23, 80 );表示的意識(shí)是:D4舵機(jī)緩慢從23度轉(zhuǎn)到80度,同時(shí)D3舵機(jī)緩慢從30度轉(zhuǎn)到45度 Servo_Move( 45, 30, 80, 23 );表示的意識(shí)是:D4舵機(jī)緩慢從80度轉(zhuǎn)到23度,同時(shí)D3舵機(jī)緩慢從45度轉(zhuǎn)到30度 */ void Servo_Move(float servo3_start_angle, float servo3_end_angle, float servo4_start_angle, float servo4_end_angle){ servo_pin_3.write( servo3_start_angle ); //設(shè)置3號(hào)舵機(jī)初始角度 servo_pin_4.write( servo4_start_angle ); //設(shè)置4號(hào)舵機(jī)初始角度 float xunhuan_count = 30.0; float delta_servo3 = 0; float delta_servo4 = 0; float servo3_calculate_angle = 0; float servo4_calculate_angle = 0; int servo3_really_angle = 0; int servo4_really_angle = 0; delta_servo3 = - ( ( servo3_start_angle - servo3_end_angle ) / xunhuan_count ); delta_servo4 = - ( ( servo4_start_angle - servo4_end_angle ) / xunhuan_count ); for( float i = 0; i< xunhuan_count; i++ ) { servo3_calculate_angle = servo3_calculate_angle + delta_servo3; servo4_calculate_angle = servo4_calculate_angle + delta_servo4; servo3_really_angle = int(servo3_calculate_angle); servo4_really_angle = int(servo4_calculate_angle); servo_pin_4.write(servo4_really_angle); servo_pin_3.write(servo3_really_angle); delay(20); } } |
4.擴(kuò)展樣機(jī)
使用不同的舵機(jī)和支架,可以構(gòu)建出不同形態(tài)的云臺(tái),如圖所示:

5.資料內(nèi)容
① 樣機(jī)3D文件
② 例程源代碼
更多機(jī)器人開(kāi)源項(xiàng)目請(qǐng)關(guān)注機(jī)器譜網(wǎng)站
審核編輯:湯梓紅
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
30549瀏覽量
219288 -
舵機(jī)
+關(guān)注
關(guān)注
17文章
373瀏覽量
42810
發(fā)布評(píng)論請(qǐng)先 登錄
如何使用兩個(gè)舵機(jī)為ESP32-CAM創(chuàng)建云臺(tái)控制
請(qǐng)教云臺(tái)設(shè)計(jì)制作方案
【盈鵬飛EVB-T335開(kāi)發(fā)板試用體驗(yàn)】NO.3 舵機(jī)云臺(tái)3D打印
超聲電機(jī)—云臺(tái)的應(yīng)用
如何實(shí)現(xiàn)一種基于三軸云臺(tái)與MPU-6050的平衡系統(tǒng)
如何使用openmv控制云臺(tái)自動(dòng)跟蹤Apriltag
如何制作相機(jī)跟拍云臺(tái)?
如何做一個(gè)跟隨角度運(yùn)動(dòng)的兩軸云臺(tái)
Arduino平臺(tái)---帶舵機(jī)云臺(tái)超聲波避障實(shí)驗(yàn)資料下載
dfrobot云臺(tái)舵機(jī)支架套件簡(jiǎn)介
dfrobot迷你2自由度云臺(tái)簡(jiǎn)介
51單片機(jī)智能小車(舵機(jī)云臺(tái)超聲波避障+循跡+藍(lán)牙+紅外跟隨)
stm32 mpu6050 舵機(jī)云臺(tái)支架跟隨

舵機(jī)云臺(tái)的制作分享
評(píng)論