智能车制作

标题: 51单片机 舵机程序 [打印本页]

作者: -yoyo    时间: 2014-2-27 16:22
标题: 51单片机 舵机程序
现在没有人用51单片机控制舵机了吧?菜鸟问一下能否控制呢?
求大神给予指导啊,已经郁闷好几天了,晶振是12mhz的。

#include <reg51.h>
sbit out=P1^0;

void init();
unsigned int num;

void main()
{      num=0;
    out=1;
    init();
    while(1)
    {     
    ;   
    }
}

void init()
{   
    TMOD=0x01;
    TH0=(65536-1000)/256;
    TL0=(65536-1000)%256;
    EA=1;
    ET0=1;
    TR0=1;
}


void timer() interrupt 1
{   TH0=(65536-1000)/256;
    TL0=(65536-1000)%256;
    num++;
    if(num>19)
    {num=0;    out=1;}
    if(num<1)
    out=1;
    else out=0;         
}



作者: 呆逼。    时间: 2014-2-27 17:13
51的PWM精度不是很好、、
作者: Jyoun    时间: 2014-2-27 18:47
你这个不对,舵机控制不是按占空比来算的,如果硬要算占空比,50hz,15%的占空比舵机就已经打满了。
作者: Jyoun    时间: 2014-2-27 18:47
你这个不对,舵机控制不是按占空比来算的,如果硬要算占空比,50hz,15%的占空比舵机就已经打满了。
作者: -yoyo    时间: 2014-2-27 18:52
Jyoun 发表于 2014-2-27 18:47
你这个不对,舵机控制不是按占空比来算的,如果硬要算占空比,50hz,15%的占空比舵机就已经打满了。

那是按什么?可是淘宝卖家给的图片显示的是pwm控制啊


作者: -yoyo    时间: 2014-2-27 18:56
Jyoun 发表于 2014-2-27 18:47
你这个不对,舵机控制不是按占空比来算的,如果硬要算占空比,50hz,15%的占空比舵机就已经打满了。

[attach]56231[/attach]

作者: Jyoun    时间: 2014-2-27 19:05
-yoyo 发表于 2014-2-27 18:56

你写的程序,你是按占空比5%到95%,但是舵机是识别的单周期高电平时间1-2ms,折算到50hz占空比为5%到10%,就是说你控制舵机的占空比变化范围应该在5%到10%左右才行。

作者: -yoyo    时间: 2014-2-27 19:54
Jyoun 发表于 2014-2-27 19:05
你写的程序,你是按占空比5%到95%,但是舵机是识别的单周期高电平时间1-2ms,折算到50hz占空比为5%到10%, ...

有点不太明白,能在我的程序上改动下发过来么

作者: -yoyo    时间: 2014-2-27 20:09
呆逼。 发表于 2014-2-27 17:13
51的PWM精度不是很好、、

我把你的程序烧进去了,io端口也改了,舵机还是只在上电的一瞬间向右偏转一次,然后就不动了,怎么破

作者: 若要走    时间: 2014-2-28 09:11

作者: 单调的青色    时间: 2014-6-12 20:28
我也在做这个问题,示波器显示的波形都是对的。然后舵机只能转3个角度。请问你用的舵机是s3010的?
作者: 18337118925    时间: 2015-1-30 19:40
很有用的资料,谢谢了。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2