日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
OpenHarmonyNeptune開發(fā)板PWM驅(qū)動(dòng)SG90伺服舵機(jī)

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

成都創(chuàng)新互聯(lián)是專業(yè)的安陸網(wǎng)站建設(shè)公司,安陸接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行安陸網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.

本文介紹如何在Neptune開發(fā)板上,使用openHarmony IoT硬件子系統(tǒng)的PWM接口 驅(qū)動(dòng)SG90 伺服舵機(jī)。

一、環(huán)境準(zhǔn)備

1.1 開發(fā)環(huán)境、編譯環(huán)境搭建,參考官方文檔,參考鏈接如下:

Neptune開發(fā)板的環(huán)境搭建及使用

1.2 Neptune開發(fā)板 openharmony V1.1.0 LTS 版本獲?。?/p>

git clone https://gitee.com/hihopeorg_group/neptune-harmony-os1.1-iot.git

二、材料準(zhǔn)備

1、Neptune HarmonyOS物聯(lián)網(wǎng) IOT模組

2、SG90 伺服舵機(jī)

3、杜邦線若干

三、接線方法

  • \color{brown}{棕色線}棕色線===>GND
  • \color{yellow}{黃色線}黃色線===>PB0
  • \color{red}{紅色線}紅色線===>5V

4、相關(guān)基礎(chǔ)知識(shí)介紹

鴻蒙系統(tǒng)IoT硬件子系統(tǒng)提供了一些外設(shè)相關(guān)的接口,目錄位于:

 
 
 
 
  1. base/iot_hardware/peripheral/interfaces/kits 

PWM相關(guān)接口,接口頭文件為iot_pwm.h,其中用PWM輸出方波的API:

 
 
 
 
  1. unsigned int IoTPwmStart(unsigned int port, unsigned short duty, unsigned int freq); 

接口參數(shù)介紹:

freq:IoTPwmStart接口中freq參數(shù)就是PWM實(shí)際輸出的方波頻率\color{red}{頻率范圍0-65535}頻率范圍0?65535;

duty:IoTPwmStart接口的duty參數(shù)是控制輸出方波的占空比的參數(shù),占空比是指PWM輸出的方波波形的高電平時(shí)間占整個(gè)方波周期的比例,具體占空比值是 duty /256的比值,,例如想要輸出占空比50%的方波信號(hào),那么duty填的值就要是128;

五、SG90 伺服舵機(jī)驅(qū)動(dòng)原理

舵機(jī)的控制一般需要一個(gè)20ms的時(shí)基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms范圍內(nèi)的角度控制脈沖部分

需要產(chǎn)生一個(gè)20ms的時(shí)基脈沖所需的頻率為50HZ

(f=1/T,二者成反比(其中f為頻率,T為周期)。頻率是單位時(shí)間內(nèi)完成周期性變化的次數(shù),是描述周期運(yùn)動(dòng)頻繁程度的量。周期,物體作往復(fù)運(yùn)動(dòng)或物理量作周而復(fù)始的變化時(shí),重復(fù)一次所經(jīng)歷的時(shí)間)

占空比 = t / T 相關(guān)參數(shù)如下:

  • t = 0.5ms------0 °
  • t = 1.0ms------45°
  • t = 1.5ms------90°
  • t = 2.0ms------135°
  • t = 2.5ms------180°

PWM占空比是指在一個(gè)周期內(nèi),信號(hào)處于高電平的時(shí)間占據(jù)整個(gè)信號(hào)周期的百分比,由于PWM周期為20ms,所以(以舵機(jī)會(huì)轉(zhuǎn)動(dòng) 45°為例),占空比就應(yīng)該為1ms/20ms = 5%

六.編寫代碼

有了以上知識(shí),我們就可以編寫代碼了,關(guān)鍵代碼如下:

void Servo_Angle_Control(uint32_t angle)//舵機(jī)角度控制函數(shù)

 
 
 
 
  1. void Servo_Angle_Control(uint32_t angle)//舵機(jī)角度控制函數(shù) 
  2.   float time=0;  
  3.   float dutytime=0; 
  4.   uint16_t duty=0; 
  5.   time=angle/9;                         //計(jì)算角度所對(duì)應(yīng)時(shí)間 
  6.   dutytime=(time+5)/200;                //公式(angle/90+0.5)/20 
  7.   duty=256*dutytime;                    //計(jì)算占空比 
  8.   //printf("angle:%d\n",angle); 
  9.   //printf("duty:%0.1f%%\n",dutytime*100); 
  10.   IoTPwmStart(0,duty,50); 
  11.  
  12. static void PWMTask(void *arg) 
  13.     osDelay(20); 
  14.     (void)arg; 
  15.     int t=5; 
  16.     while (t--) 
  17.     { 
  18.     Servo_Angle_Control(0); 
  19.     osDelay(200); 
  20.     Servo_Angle_Control(45); 
  21.     osDelay(200); 
  22.     Servo_Angle_Control(90); 
  23.     osDelay(200); 
  24.     Servo_Angle_Control(135); 
  25.     osDelay(200); 
  26.     Servo_Angle_Control(180); 
  27.     osDelay(200);  
  28.     } 
  29.     return NULL; 

七、編譯、燒錄,并測(cè)試最后的完成效果。

文章相關(guān)附件可以點(diǎn)擊下面的原文鏈接前往下載

https://harmonyos./resource/1093

想了解更多內(nèi)容,請(qǐng)?jiān)L問:

和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.


網(wǎng)站欄目:OpenHarmonyNeptune開發(fā)板PWM驅(qū)動(dòng)SG90伺服舵機(jī)
網(wǎng)址分享:http://www.dlmjj.cn/article/dhchheo.html