TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430控制舵机相关问题。

TI工程师您好!

本人初学者,问些比较初级的问题,还望给予帮助。

舵机型号MG996R

我想输入一个角度直接输出对应的控制的PWM波的占空比

但是我在用

#include "io430.h"

void main( void )
{
WDTCTL = WDTPW + WDTHOLD; P1DIR |= BIT2; P1SEL |= BIT2; CCR0 = 656-1; CCTL1 = OUTMOD_7; CCR1 = 384; TACTL = TASSEL_1 + MC_1; __bis_SR_register(LPM3_bits);}

如果改CCR1的值可以实现改占空比,控制角度好用,但是之后我写了

#include "io430.h"
#define ll long long int
#define uint unsigned int
void Angel(int ratio)
{
ll i;
i=163800+ratio*3640;
i=i/1000;
CCR0 = 656-1; CCTL1 = OUTMOD_7; CCR1 = i; TACTL = TASSEL_1 + MC_1;}
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; P1DIR |= BIT2; P1SEL |= BIT2;
Angel(180); LPM0;
}

为什就不好用呢?

备注:20ms周期,其中0.5ms对应0°,1ms对应45°,1.5ms对应90°。

还有问题就是舵机为什么一直震,怎么才能消震。

还有就是舵机的反转问题,如何在程序上实现反转?

还是跟舵机型号有关,这个舵机给的使用说明书没有给这方面的说明。

wszqq:

这个需要仔细看MG996R资料,实现正反转就是占空比不同来实现的。震动有可能是控制电压不稳造成的。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430控制舵机相关问题。
分享到: 更多 (0)