pwm波控制无刷电机-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 16893|回复: 9

pwm波控制无刷电机

[复制链接]
发表于 2015-3-13 21:43 | 显示全部楼层 |阅读模式
pwm波控制无刷电机的频一般选取50-100Hz,高电平时间在1.5ms-2.0ms之间调节油门0-100,但是arduino的PWM发生函数analogWrite(pin,vale),输出的频率为490Hz,不能控制无刷电机,请问我应该在哪找到源程序并修改,或者怎样再写一个频率为50HZ的占空比可调且在5%-10%之间调节精度高的程序???
发表于 2015-6-22 12:21 来自手机 | 显示全部楼层
我也想问的
发表于 2015-7-8 21:12 | 显示全部楼层
可以看看MWC的飞控怎么做的
发表于 2015-7-25 17:08 | 显示全部楼层
用Servo库和FlexiTimer2库
发表于 2015-10-23 14:16 | 显示全部楼层
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=9595&highlight=PWM%C6%B5%C2%CA来这看看
发表于 2016-8-2 17:04 | 显示全部楼层

你好,请问你是否有关于直流无刷驱动器驱动无刷电机的代码,如果有的话,请发一份,参考一下,非常感谢。
邮箱hushiqiang522@126.com
发表于 2016-8-2 17:04 | 显示全部楼层

你好,请问你是否有关于直流无刷驱动器驱动无刷电机的代码,如果有的话,请发一份,参考一下,非常感谢。
邮箱hushiqiang522@126.com
发表于 2017-9-3 21:14 | 显示全部楼层
用数字输出口模拟pwm波,我刚调通新西达的电调。

int sp1=8;
int val=255;

void setup()
{
  pinMode(sp1,OUTPUT);
  Serial.begin(9600);
}

int sc(int pin,int mc,int jg){
  digitalWrite(pin, HIGH);  
  delayMicroseconds(mc);  
  digitalWrite(pin, LOW);  
  delayMicroseconds(jg - mc);
}

void loop()//将0到9的数转化为0到180角度,并让LED闪烁相应数的次数
{
  while (Serial.available() > 0)  
  {
    //strTemp = Serial.readString();  
    val=Serial.parseInt();
    Serial.println(val);
  }

  if(val==1){
    sc(sp1,1000,10000);
  }else if(val==2){
    sc(sp1,2000,10000);
  }else if(val!=1 && val!=2 && val>0){
    sc(sp1,val,10000);
  }
  
  delay(50);
}
发表于 2017-9-13 01:31 | 显示全部楼层
我也问了很多地方,,其实说难不难,,
就是使用了SERVO库里面的函数,
但是和电调有很大的关系 ,
双向电调还是单向
比如180这个数值,0-90是一个方向,90-180一个方向,这是双向电调的,,
发表于 2017-9-19 09:16 | 显示全部楼层
490Hz 可以直接用吧,电调应该可以认得出,模拟舵机应该不行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 02:36 , Processed in 0.120782 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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