5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 75819|回复: 90
打印 上一主题 下一主题

让devo 7e 再升值100元(加旋钮)20楼代码 21楼接线图(更新完工图)

  [复制链接]
跳转到指定楼层
楼主
发表于 2013-7-17 21:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 babyken 于 2013-7-22 23:57 编辑

一共可以加八个
更新图片



Arduino mini pro 配合 devo的 3.3v 输入 不用2s锂电都可以用了



安装好的样子




单手操作的样子





欢迎继续阅读楼主其他信息

沙发
发表于 2013-7-17 21:54 | 只看该作者
呵呵把电位器模拟信号转成PPM信号了
3
发表于 2013-7-17 22:07 | 只看该作者
目测大神降临  前排占位
4
发表于 2013-7-17 22:11 | 只看该作者
本帖最后由 zjg2218 于 2013-7-17 22:15 编辑

期待中……
用个舵机测试器说不定也行~


5
发表于 2013-7-17 22:12 | 只看该作者
我来观摩!
6
发表于 2013-7-17 22:14 | 只看该作者
关注~
7
发表于 2013-7-17 22:15 | 只看该作者
这个办法很好,强烈支持楼主!
8
发表于 2013-7-17 22:33 | 只看该作者
又见到大神了
9
发表于 2013-7-17 22:33 | 只看该作者
表示严重关注
10
发表于 2013-7-17 22:38 | 只看该作者
Devo7快要被改得面目全非了
11
发表于 2013-7-17 22:50 | 只看该作者
哎,你再升值1000块,二手区还是只能卖100块
12
发表于 2013-7-17 22:51 | 只看该作者
折腾折腾
13
发表于 2013-7-17 22:53 | 只看该作者
这折腾来看看.
14
发表于 2013-7-17 22:54 | 只看该作者
不错,帮顶~~~

15
 楼主| 发表于 2013-7-17 23:36 | 只看该作者
本帖最后由 babyken 于 2013-7-18 20:30 编辑

啊。。。。其实一直想换控的。。就是没旋钮控制云台郁闷。。。。给力固件又这么给力 舍不得

改旋钮成本 一共30元 一个Arduino电位器 一个Arduino mini     

我用的是nano...成本比较 高 也比较大

7e 空间还是比较大的 塞两个旋钮问题不大

现在已经内置了。。。。。半完美

没控电。。。用4*5号供不起Arduino。。。 Arduino要5v-12v

明天去买控电去。。。懒得开孔直接在后面的洞塞出来。。反正就控制一下云台




16
发表于 2013-7-18 06:36 | 只看该作者
ppm输入?
17
 楼主| 发表于 2013-7-18 09:59 | 只看该作者
盘锦老王 发表于 2013-7-18 06:36
ppm输入?

是的,然后再PPM叠加
18
发表于 2013-7-18 10:21 | 只看该作者
zjg2218 发表于 2013-7-17 22:11
期待中……
用个舵机测试器说不定也行~

有时间试试

19
发表于 2013-7-18 19:59 | 只看该作者
babyken 发表于 2013-7-18 09:59
是的,然后再PPM叠加

能分享Arduino程序和接线图?


20
 楼主| 发表于 2013-7-18 20:08 | 只看该作者
cyken 发表于 2013-7-18 19:59
能分享Arduino程序和接线图?
  1. //this programm will put out a PPM signal

  2. //////////////////////CONFIGURATION///////////////////////////////
  3. #define chanel_number 8  //set the number of chanels
  4. #define default_servo_value 1500  //set the default servo value
  5. #define PPM_FrLen 22500  //set the PPM frame length in microseconds (1ms = 1000μs)
  6. #define PPM_PulseLen 300  //set the pulse length
  7. #define onState 1  //set polarity of the pulses: 1 is positive, 0 is negative
  8. #define sigPin 10  //set PPM signal output pin on the arduino
  9. //////////////////////////////////////////////////////////////////


  10. /*this array holds the servo values for the ppm signal
  11. change theese values in your code (usually servo values move between 1000 and 2000)*/
  12. int ppm[chanel_number];

  13. void setup(){  
  14.   //initiallize default ppm values
  15.   for(int i=0; i<chanel_number; i++){
  16.     ppm[i]= default_servo_value;
  17.   }

  18.   pinMode(sigPin, OUTPUT);
  19.   digitalWrite(sigPin, !onState);  //set the PPM signal pin to the default state (off)
  20.   
  21.   cli();
  22.   TCCR1A = 0; // set entire TCCR1 register to 0
  23.   TCCR1B = 0;
  24.   
  25.   OCR1A = 100;  // compare match register, change this
  26.   TCCR1B |= (1 << WGM12);  // turn on CTC mode
  27.   TCCR1B |= (1 << CS11);  // 8 prescaler: 0,5 microseconds at 16mhz
  28.   TIMSK1 |= (1 << OCIE1A); // enable timer compare interrupt
  29.   sei();
  30. }

  31. void loop(){
  32.   //put main code here
  33.   
  34.   ppm[0] = analogRead(A0);
  35.   ppm[0] = map(ppm[0],0,1023,1000,2000);
  36.   delay(10);
  37. }

  38. ISR(TIMER1_COMPA_vect){  //leave this alone
  39.   static boolean state = true;
  40.   
  41.   TCNT1 = 0;
  42.   
  43.   if(state) {  //start pulse
  44.     digitalWrite(sigPin, onState);
  45.     OCR1A = PPM_PulseLen * 2;
  46.     state = false;
  47.   }
  48.   else{  //end pulse and calculate when to start the next pulse
  49.     static byte cur_chan_numb;
  50.     static unsigned int calc_rest;
  51.   
  52.     digitalWrite(sigPin, !onState);
  53.     state = true;

  54.     if(cur_chan_numb >= chanel_number){
  55.       cur_chan_numb = 0;
  56.       calc_rest = calc_rest + PPM_PulseLen;//
  57.       OCR1A = (PPM_FrLen - calc_rest) * 2;
  58.       calc_rest = 0;
  59.     }
  60.     else{
  61.       OCR1A = (ppm[cur_chan_numb] - PPM_PulseLen) * 2;
  62.       calc_rest = calc_rest + ppm[cur_chan_numb];
  63.       cur_chan_numb++;
  64.     }     
  65.   }
  66. }
复制代码

7e
D10 接 PPM in加一条地线







您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

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