找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7401|回復: 0
收起左側(cè)

[眾拳]劍齒虎STM8控制舵機實驗程序及資料分享

[復制鏈接]
ID:170279 發(fā)表于 2017-11-19 14:10 | 顯示全部樓層 |閱讀模式
舵機.jpg

實驗目的:
通過鍵盤和串口通訊控制舵機,使其按照指定的參數(shù)轉(zhuǎn)動對應的角度。
舵機概述:
舵機最早用于船舶上實現(xiàn)其轉(zhuǎn)向功能,由于可以通過程序連續(xù)控制其轉(zhuǎn)角,
因而被廣泛應用智能小車、機械手臂以及機器人各類關(guān)節(jié)運動等。
QQ圖片20171118170949.jpg

舵機組成:
舵機主要由以下幾個部分組成:舵盤、減速齒輪組、位置反饋電位計、直流電機、控制電路等。

QQ圖片20171118171500.png

電機控制板主要是用來驅(qū)動電機和接受電位器反饋回來的信息。電機,動力的來源了,這個不用太多解釋。電位器這里的作用主要是通過其旋轉(zhuǎn)后產(chǎn)生的電阻的變化,把信號發(fā)送回電機控制板,使其判斷輸出軸角度是否輸出正確。齒輪組的作用主要是力量的放大,使小功率電機產(chǎn)生大扭矩。
工作原理:
控制電路板接受來自信號線的控制信號,控制電機轉(zhuǎn)動,電機帶動一系列齒輪組,減速后傳動至輸出舵盤。舵機的輸出軸和位置反饋電位計是相連的,舵盤轉(zhuǎn)動的同時,帶動位置反饋電位計,電位計將輸出一個電壓信號到控制電路板,進行反饋,然后控制電路板根據(jù)所在位置決定電機轉(zhuǎn)動的方向和速度,從而達到目標停止。
QQ圖片20171118171702副本.jpg

PWM控制舵機的方法:
舵機的控制信號周期為 20MS 的脈寬調(diào)制(PWM)信號,其中脈沖寬度從0.5-2.5MS,相對應的舵盤位置為 0-180 度,呈線性變化。也就是說,給它提供一定的脈寬,它的輸出軸就會保持一定對應角度上,無論外界轉(zhuǎn)矩怎么改變,直到給它提供一個另外寬度的脈沖信號,它才會改變輸出角度到新的對應位置上。舵機內(nèi)部有一個基準電路,產(chǎn)生周期為 20MS,寬度 1.5MS 的基準信號,有一個比較器,將外加信號與基準信號相比較,判斷出方向和大小,從而產(chǎn)生電機的轉(zhuǎn)動信號。由此可見,舵機是一種位置伺服驅(qū)動器,轉(zhuǎn)動范圍不能超過 180 度,適用于那些需要不斷變化并可以保持的驅(qū)動器中。
QQ圖片20171118171758副本.jpg

本實驗中所使用SG90舵機:
QQ圖片20171118172007.png

尺寸:21.5mmX11.8mmX22.7mm
重量:9克
無負載速度:0.12秒/60度(4.8V)
堵轉(zhuǎn)扭矩:1.2-1.4公斤/厘米(4.8V)
使用溫度:-30~~+60攝氏度
工作電壓:4.8V-6V

單片機源程序如下:
  1. /***********************************************************************
  2. *   說    明: 點亮第一個發(fā)光二極管
  3. *   開發(fā)平臺: 劍齒虎STM8開發(fā)板        
  4. *   作    者: 劉洋 張殿東
  5. *   版    本: V1.0
  6. *   日    期: 2017-11-03   
  7. *
  8. *   IAR開發(fā)環(huán)境    版本 V2.20.1
  9. *   ST庫函數(shù)       版本 V2.2.0
  10. ***********************************************************************/

  11. #include "pbdata.h"//引入自定義公共頭文件

  12. void BSP_Configuration(void);//硬件初始化函數(shù)聲明

  13. /***********************************************************************
  14. *   函 數(shù) 名: main
  15. *   功能說明: c程序入口
  16. *   形    參:無
  17. *   返 回 值: 錯誤代碼(無需處理)
  18. ***********************************************************************/
  19. int main(void)
  20. {
  21.   BSP_Configuration();//硬件驅(qū)動初始化函數(shù)
  22.   while(1)//主程序循環(huán),反復執(zhí)行循環(huán)體里的語句
  23.   {
  24.         DJ_KZ_Key();
  25.         DJ_CS_Printf();
  26.         delay_ms(1);
  27.   }
  28. }
  29. /***********************************************************************
  30. *   函 數(shù) 名: BSP_Configuration
  31. *   功能說明: 初始化硬件設備。只需要調(diào)用一次。該函數(shù)配置CPU寄存器和外設的寄存器并初始化一些全局變量。
  32. *   形    參:無
  33. *   返 回 值: 無
  34. ***********************************************************************/
  35. void BSP_Configuration(void)
  36. {  
  37.   CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時鐘速度為內(nèi)部16M,1分頻,
  38.   delay_ms(1000);
  39.   UART1_Congfiguration();//調(diào)用RS232串口1初始化函數(shù)
  40.   LED_Init();//調(diào)用LED初始化函數(shù)
  41.   I2C_Configuration();
  42.   TM1650_Init();
  43.   Tim1_PWM_Init();
  44.   rim();//打開總中斷
  45. }

  46. /*斷言函數(shù):它的作用是在編程的過程中為程序提供參數(shù)檢查*/
  47. #ifdef USE_FULL_ASSERT
  48. void assert_failed(u8* file,u32 line)
  49. {
  50.   while(1)
  51.   {
  52.   }
  53. }
  54. #endif
復制代碼

舵機實驗代碼免費下載:
眾拳劍齒虎STM8開發(fā)板舵機實驗程序.7z (549.32 KB, 下載次數(shù): 93)



評分

參與人數(shù) 1黑幣 +5 收起 理由
zjqzmfh123 + 5 很給力!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表