极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10949|回复: 2

[求助]Arduino PPM 信号响应问题

[复制链接]
发表于 2015-9-29 16:03:38 | 显示全部楼层 |阅读模式
本帖最后由 skyou82 于 2015-9-29 16:16 编辑

最近在DIY4轴飞行器,我从Futaba接收器(遥控和接收,均非2.4G)引出4路PPM通道到 Mega2560的 2、3、20、21口,然后通过计算后赋值给PWM口的马达来控制转速。并通过 Serial 输出具体PWM数值,显示在串口监视器中。

现在我的问题是,即便我设置了每次loop延时20ms,但串口监视器中数据刷新的速度,目测至少有500~800ms的间隔,然后马达的动力输出也有很大的延迟!这样的延迟很难做到准确的操控,我贴上自己的代码,大家帮忙看看哪里不对。

本人Arduino 刚刚入门,请多多指教{:soso_e183:}

  1. ////- - - - My 4_Fly - - - -////

  2. const int mPin1 = 8;    //电机1
  3. const int mPin2 = 9;    //电机2
  4. const int mPin3 = 10;  //电机3
  5. const int mPin4 = 11;  //电机4

  6. int ch1;  //接收机通道1
  7. int ch2;  //接收机通道2
  8. int ch3;  //接收机通道3
  9. int ch4;  //接收机通道4

  10. ///////////////////////////////////

  11. void setup() {
  12.   
  13.   pinMode(2, INPUT);  
  14.   pinMode(3, INPUT);   
  15.   pinMode(20, INPUT);  
  16.   pinMode(21, INPUT);  
  17.   
  18.   pinMode(mPin1, OUTPUT);
  19.   pinMode(mPin2, OUTPUT);
  20.   pinMode(mPin3, OUTPUT);
  21.   pinMode(mPin4, OUTPUT);
  22.   
  23.   Serial.begin(9600);
  24. }

  25. ///////////////////////////////////

  26. void loop() {
  27.   
  28.   ch1 = pulseIn(2, HIGH);    // 滚转
  29.   ch2 = pulseIn(3, HIGH);    // 俯仰
  30.   ch3 = pulseIn(20, HIGH);   // 油门
  31.   ch4 = pulseIn(21, HIGH);   // 航向
  32.    
  33.     int Thro = (ch3 - 900) / 3.2;
  34.     int AeroFix = ((ch1 - 900) - 400 ) / 15;
  35.     int RPM1 = Thro + AeroFix;
  36.     int RPM2 = Thro - AeroFix;
  37.    
  38.     analogWrite(mPin1, RPM1);
  39.     analogWrite(mPin2, RPM2);  
  40.    
  41.     Serial.print(RPM1);
  42.     Serial.print("   ");
  43.     Serial.print(AeroFix);
  44.     Serial.print("   ");
  45.     Serial.println(RPM2);

  46.   delay(20);

  47. }
复制代码
回复

使用道具 举报

发表于 2015-9-29 20:40:30 | 显示全部楼层
是不是 plusein 耽误时间太久?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-29 21:31:40 来自手机 | 显示全部楼层
改如何解决?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 03:51 , Processed in 0.034578 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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