极速赛车手机官网

用PWM控制舵机(以是stm32为例)

2019-08-23来源: eefocus关键字:PWM  控制舵机  stm32

因为做校创需要用到舵机,以前知道大致的理论,因此看了一些帖子,总结一下被以后查看。


什么是PWM波

PWM就是脉冲宽度调制,也就是占空比可变的脉冲波形.


pwm的占空比,就是指高电平保持的时间,与该pwm时钟周期时间之比。


在应用中就是通过调节pwm占空比来控制,也就是一个周期中高电平所占的百分比来控制舵机的转角的。


舵机的控制原理

控制舵机所用pwm占空比,是有一定要求的,具体可以通过搜索你使用舵机的型号,查阅手册得到具体的占空比要求。不过就个人经验而言,大致都是一样的,如下:


可以看出,随着占空比变化,舵机在0~180度内变化。


根据舵机控制的原理,舵机的控制一般需要一个20ms左右的时基脉冲<周期>,该脉冲的高电平部分一般为0.5ms-2.5ms<占空比2.5%~12.5%>范围内的角度控制脉冲部分,总间隔为2ms。


即:


0.5ms--------------0度;


1。0ms------------45度;


1.5ms------------90度;


2。0ms-----------135度;


2。5ms-----------180度;


注意:注意控制舵机的信号,电源要共地。


 


STM32的实现

/* 系统默认时钟72MHz, 初始化定时器生成PWM, 参考正点原子的程序

 * 72000000/(719+1)/(1999+1)=50Hz  1/50*1000=20ms

 */

TIM3_PWM_Init(1999,719); 

 

...

for(i=150;i<200;i++) /* 150/2000=7.5%   90度 */

{

TIM_SetCompare2(TIM3,i); /* 调节占空比 */

delay_ms(5);

}

for(i=200;i>100;i--)         /* 200/2000=10% */

{

TIM_SetCompare2(TIM3,i);

delay_ms(5);

}

for(i=100;i<150;i++)                 /* 100/2000=5% */

{

TIM_SetCompare2(TIM3,i);

delay_ms(5);

}

极速赛车手机官网/*  以上for重复运行就可以实现舵机左右摆动 */

 

如果舵机异常,首先使用示波器,占空比测量,确保所生成pwm正确,其次注意信号和电源共地,还不行就换个舵机试一试吧。


关键字:PWM  控制舵机  stm32

编辑:什么鱼 引用地址:http://news.1900222.com/mcu/ic472315.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:stm32控制舵机旋转到不同角度
下一篇:STM32控制SG90舵机

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32Cube开发-PWM

上一章我们讲解了定时器的基本应用,以及定时器中断。这一章我们讲解通过定时器控制管脚输出PWM信号,控制LED实现呼吸灯。1.    PWM简介脉冲宽度调制(PWM),是英文“ Pulse Width Modulation” 的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制, PWM 原理如图所示: 上图就是一个简单的 PWM 原理示意图。图中,我们假定定时器工作在向上计数 PWM模式,且当 CNT<CCRx 时,输出 0,当 CNT>=CCRx 时输出 1。那么就可以得到如上的 PWM示意图:当 CNT 值小于 CCRx
发表于 2019-09-11
STM32Cube开发-PWM

极速赛车手机官网STM32 多个定时器 多路PWM配置

实验过程中的笔记   在持续更新中  只是一个简化版本利用定时器1 2 3 4 配置的PWM输出  PWM输出注意外部接入的高电平还是低电平   注意修改     TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; //输出极性:TIM输出比较极性高TIM_OCPolarity_High  接高电平极性为高  接低电平输出极性为低TIM_OCPolarity_Low //定时器3  ,输出TIM3 CH2的PWM脉冲波形 
发表于 2019-09-07

msp430输出PWM波

MSP430单片机的定时器除了可以捕获,比较之外,还可以作为PWM波产生器直接在芯片内部联通IO口。在官方手册上就有:Timer_B7 is a 16-bit timer/counter with seven capture/compare registers. Timer_B7 can support multiplecapture/compares, PWM outputs, and interval timing. Timer_B7 also has extensive interrupt capabilities.Interrupts may be generated from the counter on
发表于 2019-09-06
msp430输出PWM波

MSP430F149单片机能输出多少路PWM波?

在使用430的PWM波的时候,我一直有一个困惑,那就是它到底能输出几路PWM波?我想别的朋友可能也有相同的困惑,在我查找了好多资料之后最终搞懂了,下面分享一下学习经验。首先,MSP430F149有两个16位的定时器Timer_A和Timer_B,其中TA有3个捕获比较单元,TB有7个捕获比较单元,产生PWM波需要将定时器配置在比较模式下,刚开始我以为既然TA有三个捕获比较模块,那么就应该有三个PWM波,结果怎么配置都无法产生TA1,后来在我仔细查看User's Guide才弄懂了,下面先上图:上图说道:每个捕获、比较模块的输出可以产生PWM信号,每个输出根据EQU0和EQUX可以配置为8种模式。我们知道每个捕获比较模块对应
发表于 2019-09-06
MSP430F149单片机能输出多少路PWM波?

STM32L4 PWM蜂鸣器

一、定时器STM32F1系列的产品,除了互联型产品外,工位8个定时器 TIM6、TIM7是基本定时器,TIM2、3、4、5是通用定时器,TIM1、TIM8是高级定时器基本定时器1.时钟源定时器时钟TIMxCLK,即内部时钟CK_INT,经APB1预分频提供。在STM32L4:Tim1是高级时钟可做PWM输出Tim15、Tim16是通用时钟,他们的时钟来源是APB2总线Tim2、Tim3通用时钟,Tim6,Tim7基本时钟的时钟来源是APB1总线2.计数器时钟定时器时钟CK_CNT,用来驱动计数器计数。PSC是一个16位的预分频器,CK_CNT = TIMxCLK/(PSC+1)3.计数器计数器CNT是一个16位的寄存器,最大
发表于 2019-09-06
STM32L4 PWM蜂鸣器

STM32基础知识1-stm32PWM输入捕获模式详解

一、概念理解PWM输入捕获模式是输入捕获模式的特例,自己理解如下1. 每个定时器有四个输入捕获通道IC1、IC2、IC3、IC4。且IC1 IC2一组,IC3 IC4一组。并且可是设置管脚和寄存器的对应关系。2. 同一个TIx输入映射了两个ICx信号。3. 这两个ICx信号分别在相反的极性边沿有效。4. 两个边沿信号中的一个被选为触发信号,并且从模式控制器被设置成复位模式。5. 当触发信号来临时,被设置成触发输入信号的捕获寄存器,捕获“一个PWM周期(即连续的两个上升沿或下降沿)”,它等于包含TIM时钟周期的个数(即捕获寄存器中捕获的为TIM的计数个数n)。6. 同样另一个捕获通道捕获触发信号和下一个相反极性的边沿信号的计数个数m
发表于 2019-09-05

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 1900222.com, Inc. All rights reserved
极速赛车双面盘 极速赛车手机版下载 极速赛车APP下载 极速赛车手机版下载 极速赛车APP下载 极速赛车双面盘 极速赛车APP 极速赛车双面盘 极速赛车手机版下载 极速赛车手机版下载