智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1944|回复: 7
打印 上一主题 下一主题

S3010的控制

[复制链接]

26

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1524
QQ
威望
759
贡献
411
兑换币
468
注册时间
2013-3-28
在线时间
177 小时
跳转到指定楼层
1#
发表于 2014-2-5 22:18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
S3010都说了是靠脉宽控制的。是不是说白了就是高低电平占一个周期内20毫秒的时间决定啊可以这么理解吗

http://www.znczz.com/thread-25017-1-1.html

那这个程序里为什么是占空比的值控制的而不是用定时器或延时什么的啊

回复

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
2#
发表于 2014-2-5 22:36:50 | 只看该作者
不是一定的20ms,其实舵机都是看一个周期内高电平时间,不管周期是多少,一个周期内可用的就是1-2ms的高电平时间。你说的方法是可以的,但是中断容易被其他中断耽误,可能造成不精确及舵机抖动,所以用pwm更为方便适用。
回复 支持 反对

使用道具 举报

26

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1524
QQ
威望
759
贡献
411
兑换币
468
注册时间
2013-3-28
在线时间
177 小时
3#
 楼主| 发表于 2014-2-6 09:25:51 | 只看该作者
Jyoun 发表于 2014-2-5 22:36
不是一定的20ms,其实舵机都是看一个周期内高电平时间,不管周期是多少,一个周期内可用的就是1-2ms的高电平 ...

那怎么计算呢,给多少占空比是1.5Ms脉冲,给多少占空比是2Ms脉冲,,,
回复 支持 反对

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
4#
发表于 2014-2-6 09:44:26 | 只看该作者
somebodyes 发表于 2014-2-6 09:25
那怎么计算呢,给多少占空比是1.5Ms脉冲,给多少占空比是2Ms脉冲,,,

周期*占空比=单周期高电平时间。
周期=1/频率。对于工科小伙伴,这应该是常识吧。
回复 支持 反对

使用道具 举报

26

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1524
QQ
威望
759
贡献
411
兑换币
468
注册时间
2013-3-28
在线时间
177 小时
5#
 楼主| 发表于 2014-2-6 11:19:17 | 只看该作者
Jyoun 发表于 2014-2-6 09:44
周期*占空比=单周期高电平时间。
周期=1/频率。对于工科小伙伴,这应该是常识吧。

e....哦了!!{:soso_e189:}
回复 支持 反对

使用道具 举报

26

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1524
QQ
威望
759
贡献
411
兑换币
468
注册时间
2013-3-28
在线时间
177 小时
6#
 楼主| 发表于 2014-2-6 12:30:15 | 只看该作者
Jyoun 发表于 2014-2-6 09:44
周期*占空比=单周期高电平时间。
周期=1/频率。对于工科小伙伴,这应该是常识吧。

但是电机一接电就抖,PWM频率设置50,100HZ全没用,就抖不转,貌似程序没起作用

#include "sys.h"
#include "delay.h"
#include "wdog.h"
#include "led.h"
#include "ftm.h"
#include "uart.h"

#define Mid_duty    760
#define Half_Right   910
#define Right         1060
#define Half_Left    610
#define Left          460

uint16_t i;

int main(void)
{
       
        FTM_InitTypeDef FTM_InitStruct;
       
        SystemClockSetup(ClockSource_EX50M,CoreClock_100M);//初始化系统时钟 使用外部50M晶振 PLL倍频到100M
        DelayInit();
        LED_Init();

//初始化FTM

        FTM_InitStruct.Frequency = 50;                               // 50HZ
        FTM_InitStruct.FTMxMAP = FTM0_CH2_PC3;             //FTM0_CH2 PC3引脚
        FTM_InitStruct.FTM_Mode = FTM_Mode_EdgeAligned; //边沿对齐模式
        FTM_InitStruct.InitalDuty = 0;                                  //初始化后产生40%的占空比
        FTM_Init(&FTM_InitStruct);

        LED1=!LED1;

        while(1)
        {
       
        FTM_PWM_ChangeDuty(FTM0_CH2_PC3,Mid_duty);                      //舵机处于之间值
        DelayMs(5000);
       
        FTM_PWM_ChangeDuty(FTM0_CH2_PC3,Half_Right);                     //开始右偏
        DelayMs(5000);

        FTM_PWM_ChangeDuty(FTM0_CH2_PC3,Right);
        DelayMs(5000);

        FTM_PWM_ChangeDuty(FTM0_CH2_PC3,Mid_duty);
        DelayMs(5000);
       
        FTM_PWM_ChangeDuty(FTM0_CH2_PC3,Half_Left);                       //开始左偏
        DelayMs(5000);

        FTM_PWM_ChangeDuty(FTM0_CH2_PC3,Left);
        DelayMs(5000);
        }
}

//UART断言失败检测

void assert_failed(uint8_t* file, uint32_t line)
{
       
        UART_printf("assert_failed:line:%d %s\r\n",line,file);                     
        while(1);
}


回复 支持 反对

使用道具 举报

137

主题

4169

帖子

1

精华

杰出人士

我认为最省轮子的跑法最快。曾经的西科4队

Rank: 12Rank: 12Rank: 12

积分
14006
QQ
威望
6233
贡献
1229
兑换币
4171
注册时间
2013-1-10
在线时间
3272 小时
7#
发表于 2014-2-6 12:41:33 | 只看该作者
somebodyes 发表于 2014-2-6 12:30
但是电机一接电就抖,PWM频率设置50,100HZ全没用,就抖不转,貌似程序没起作用

#include "sys.h"

如果电机没上电一切正常,那么你的情况很可能是主板的问题。
回复 支持 反对

使用道具 举报

26

主题

216

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1524
QQ
威望
759
贡献
411
兑换币
468
注册时间
2013-3-28
在线时间
177 小时
8#
 楼主| 发表于 2014-2-6 17:39:51 | 只看该作者
Jyoun 发表于 2014-2-6 12:41
如果电机没上电一切正常,那么你的情况很可能是主板的问题。

不上电没现象好不好就是接电了就抖也不按程序转
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 14:49 , Processed in 0.181260 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表