想了解更多内容,请访问:
成都创新互联是专业的安陆网站建设公司,安陆接单;提供成都网站设计、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行安陆网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
和华为官方合作共建的鸿蒙技术社区
https://harmonyos.
本文介绍如何在Neptune开发板上,使用openHarmony IoT硬件子系统的PWM接口 驱动SG90 伺服舵机。
1.1 开发环境、编译环境搭建,参考官方文档,参考链接如下:
Neptune开发板的环境搭建及使用
1.2 Neptune开发板 openharmony V1.1.0 LTS 版本获取:
git clone https://gitee.com/hihopeorg_group/neptune-harmony-os1.1-iot.git
1、Neptune HarmonyOS物联网 IOT模组
2、SG90 伺服舵机
3、杜邦线若干
4、相关基础知识介绍
鸿蒙系统IoT硬件子系统提供了一些外设相关的接口,目录位于:
- base/iot_hardware/peripheral/interfaces/kits
PWM相关接口,接口头文件为iot_pwm.h,其中用PWM输出方波的API:
- unsigned int IoTPwmStart(unsigned int port, unsigned short duty, unsigned int freq);
接口参数介绍:
freq:IoTPwmStart接口中freq参数就是PWM实际输出的方波频率\color{red}{频率范围0-65535}频率范围0−65535;
duty:IoTPwmStart接口的duty参数是控制输出方波的占空比的参数,占空比是指PWM输出的方波波形的高电平时间占整个方波周期的比例,具体占空比值是 duty /256的比值,,例如想要输出占空比50%的方波信号,那么duty填的值就要是128;
舵机的控制一般需要一个20ms的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分
需要产生一个20ms的时基脉冲所需的频率为50HZ
(f=1/T,二者成反比(其中f为频率,T为周期)。频率是单位时间内完成周期性变化的次数,是描述周期运动频繁程度的量。周期,物体作往复运动或物理量作周而复始的变化时,重复一次所经历的时间)
占空比 = t / T 相关参数如下:
PWM占空比是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,由于PWM周期为20ms,所以(以舵机会转动 45°为例),占空比就应该为1ms/20ms = 5%
有了以上知识,我们就可以编写代码了,关键代码如下:
void Servo_Angle_Control(uint32_t angle)//舵机角度控制函数
- void Servo_Angle_Control(uint32_t angle)//舵机角度控制函数
- {
- float time=0;
- float dutytime=0;
- uint16_t duty=0;
- time=angle/9; //计算角度所对应时间
- dutytime=(time+5)/200; //公式(angle/90+0.5)/20
- duty=256*dutytime; //计算占空比
- //printf("angle:%d\n",angle);
- //printf("duty:%0.1f%%\n",dutytime*100);
- IoTPwmStart(0,duty,50);
- }
- static void PWMTask(void *arg)
- {
- osDelay(20);
- (void)arg;
- int t=5;
- while (t--)
- {
- Servo_Angle_Control(0);
- osDelay(200);
- Servo_Angle_Control(45);
- osDelay(200);
- Servo_Angle_Control(90);
- osDelay(200);
- Servo_Angle_Control(135);
- osDelay(200);
- Servo_Angle_Control(180);
- osDelay(200);
- }
- return NULL;
- }
文章相关附件可以点击下面的原文链接前往下载
https://harmonyos./resource/1093
想了解更多内容,请访问:
和华为官方合作共建的鸿蒙技术社区
https://harmonyos.
分享标题:OpenHarmonyNeptune开发板PWM驱动SG90伺服舵机
网站路径:http://www.mswzjz.cn/qtweb/news27/29627.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能