舵機.jpg (103.26 KB, 下載次數: 44)
下載附件
2017-11-19 13:18 上傳
實驗目的:
通過鍵盤和串口通訊控制舵機,使其按照指定的參數轉動對應的角度。
舵機概述:
舵機最早用于船舶上實現其轉向功能,由于可以通過程序連續控制其轉角,
因而被廣泛應用智能小車、機械手臂以及機器人各類關節運動等。
QQ圖片20171118170949.jpg (122.84 KB, 下載次數: 38)
下載附件
2017-11-19 13:20 上傳
舵機組成:
舵機主要由以下幾個部分組成:舵盤、減速齒輪組、位置反饋電位計、直流電機、控制電路等。
QQ圖片20171118171500.png (351.61 KB, 下載次數: 50)
下載附件
2017-11-19 13:21 上傳
電機控制板主要是用來驅動電機和接受電位器反饋回來的信息。電機,動力的來源了,這個不用太多解釋。電位器這里的作用主要是通過其旋轉后產生的電阻的變化,把信號發送回電機控制板,使其判斷輸出軸角度是否輸出正確。齒輪組的作用主要是力量的放大,使小功率電機產生大扭矩。
工作原理:
控制電路板接受來自信號線的控制信號,控制電機轉動,電機帶動一系列齒輪組,減速后傳動至輸出舵盤。舵機的輸出軸和位置反饋電位計是相連的,舵盤轉動的同時,帶動位置反饋電位計,電位計將輸出一個電壓信號到控制電路板,進行反饋,然后控制電路板根據所在位置決定電機轉動的方向和速度,從而達到目標停止。
QQ圖片20171118171702副本.jpg (66.82 KB, 下載次數: 47)
下載附件
2017-11-19 13:51 上傳
PWM控制舵機的方法:
舵機的控制信號周期為 20MS 的脈寬調制(PWM)信號,其中脈沖寬度從0.5-2.5MS,相對應的舵盤位置為 0-180 度,呈線性變化。也就是說,給它提供一定的脈寬,它的輸出軸就會保持一定對應角度上,無論外界轉矩怎么改變,直到給它提供一個另外寬度的脈沖信號,它才會改變輸出角度到新的對應位置上。舵機內部有一個基準電路,產生周期為 20MS,寬度 1.5MS 的基準信號,有一個比較器,將外加信號與基準信號相比較,判斷出方向和大小,從而產生電機的轉動信號。由此可見,舵機是一種位置伺服驅動器,轉動范圍不能超過 180 度,適用于那些需要不斷變化并可以保持的驅動器中。
QQ圖片20171118171758副本.jpg (69.3 KB, 下載次數: 41)
下載附件
2017-11-19 14:08 上傳
本實驗中所使用SG90舵機:
QQ圖片20171118172007.png (110.93 KB, 下載次數: 40)
下載附件
2017-11-19 14:09 上傳
尺寸:21.5mmX11.8mmX22.7mm
重量:9克
無負載速度:0.12秒/60度(4.8V)
堵轉扭矩:1.2-1.4公斤/厘米(4.8V)
使用溫度:-30~~+60攝氏度
工作電壓:4.8V-6V
單片機源程序如下:
- /***********************************************************************
- * 說 明: 點亮第一個發光二極管
- * 開發平臺: 劍齒虎STM8開發板
- * 作 者: 劉洋 張殿東
- * 版 本: V1.0
- * 日 期: 2017-11-03
- *
- * IAR開發環境 版本 V2.20.1
- * ST庫函數 版本 V2.2.0
- ***********************************************************************/
- #include "pbdata.h"//引入自定義公共頭文件
- void BSP_Configuration(void);//硬件初始化函數聲明
- /***********************************************************************
- * 函 數 名: main
- * 功能說明: c程序入口
- * 形 參:無
- * 返 回 值: 錯誤代碼(無需處理)
- ***********************************************************************/
- int main(void)
- {
- BSP_Configuration();//硬件驅動初始化函數
- while(1)//主程序循環,反復執行循環體里的語句
- {
- DJ_KZ_Key();
- DJ_CS_Printf();
- delay_ms(1);
- }
- }
- /***********************************************************************
- * 函 數 名: BSP_Configuration
- * 功能說明: 初始化硬件設備。只需要調用一次。該函數配置CPU寄存器和外設的寄存器并初始化一些全局變量。
- * 形 參:無
- * 返 回 值: 無
- ***********************************************************************/
- void BSP_Configuration(void)
- {
- CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時鐘速度為內部16M,1分頻,
- delay_ms(1000);
- UART1_Congfiguration();//調用RS232串口1初始化函數
- LED_Init();//調用LED初始化函數
- I2C_Configuration();
- TM1650_Init();
- Tim1_PWM_Init();
- rim();//打開總中斷
- }
- /*斷言函數:它的作用是在編程的過程中為程序提供參數檢查*/
- #ifdef USE_FULL_ASSERT
- void assert_failed(u8* file,u32 line)
- {
- while(1)
- {
- }
- }
- #endif
復制代碼
舵機實驗代碼免費下載:
眾拳劍齒虎STM8開發板舵機實驗程序.7z
(549.32 KB, 下載次數: 93)
2022-12-9 23:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|