小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 13775|回复: 4

改造 ar drone 换flymaple 飞控 但电调搞不定

[复制链接]
发表于 2012-8-25 09:53:48 | 显示全部楼层 |阅读模式
本帖最后由 怪怪金小鱼 于 2012-8-25 20:39 编辑

电机 电调

电机 电调

电机电调

电机电调

ar done

ar done

拆了

拆了





由于 换了 flymaple 的飞控 所以 电调 要重新 写控制  他的电调 不是 普通 pwm 控制   我找了一些 资料 但是没 弄不明白  而且 电调 资料没有 什么



这是资料


AR.Drone的ARM Linux飞控主板很强大, 但它与电调/电机之间的通信协议却一直是个迷.

最近我与rcgroups上的miru:
http://www.rcgroups.com/forums/showthread.php?t=1420951
一直在PM中讨论这个问题.在Fenrir:
http://fenrir.naruoka.org/
的前期研究基础上, 搞清了AR.Drone电调通信协议.

AR.Drone电调上的CPU为ATmega8a.

AR.Drone的飞控主板与电调之间用5线连接, 串口PWM油门数据通信:
Pin 1: 12V 电源 (红线)
Pin 2: 5V 电源 (白线)
Pin 3: TTL半双工串口(即RX与TX接在一起), 用于PWM油门数据发送等. 波特率115200. 详细见后.
Pin 4: 电机报警(低电位: 正常, 高电位: 电机卡住或空转)
Pin 5: 地 (黑线)

飞控主板发送给电调的串口数据前3bits为命令字:
001 油门量: 5字节数据, 后37bits为:8bits电机1油门量 + 0 +8bits电机2油门量 + 0 +8bits电机3油门量 + 0 +8bits电机4油门量 + 00
010 版本查 询: 1字节数据, 后5bits为:00000  
011 LED电机灯控制: 2字节: 4个LED各2bits
100 状态查 询: 1字节数据, 后5bits为: 01 +3bits BLC# (0...3)
101 同步字节: 1字节数据, 后5bits为:00000  
111 复位: 1字节数据, 后5bits为:00000

我们可以通过Arduino I/O小板子来与普通电调PWM进行中转通信, 这可用Arduino上的Servo库来简单实现:
http://gaishi.vicp.net/#article_id_8

这样就可以使用市场上能买到的普通电调/电机, 乃至机架来作替代品.



flymaple 编程 类似于 arduino  所以我先用 arduino 控制电调    求高手   



回复

使用道具 举报

 楼主| 发表于 2012-8-25 20:40:54 | 显示全部楼层
找到了 arduino  的 单双工串口  例程
但是 没搞定
/*
  Analog input, analog output, serial output

Reads an analog input pin, maps the result to a range from 0 to 255
and uses the result to set the pulsewidth modulation (PWM) of an output pin.
Also prints the results to the serial monitor.

The circuit:
* potentiometer connected to analog pin 0.
   Center pin of the potentiometer goes to the analog pin.
   side pins of the potentiometer go to +5V and ground
* LED connected from digital pin 9 to ground

created 29 Dec. 2008
modified 9 Apr 2012
by Tom Igoe

This example code is in the public domain.

*/

// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to

int sensorValue = 0;        // value read from the pot
int outputValue = 0;        // value output to the PWM (analog out)

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600);
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);            
  // map it to the range of the analog out:
  outputValue = map(sensorValue, 0, 1023, 0, 255);  
  // change the analog out value:
  analogWrite(analogOutPin, outputValue);           

  // print the results to the serial monitor:
  Serial.print("sensor = " );                       
  Serial.print(sensorValue);      
  Serial.print("\t output = ");      
  Serial.println(outputValue);   

  // wait 2 milliseconds before the next loop
  // for the analog-to-digital converter to settle
  // after the last reading:
  delay(2);                     
}
回复 支持 反对

使用道具 举报

发表于 2012-8-25 23:21:29 | 显示全部楼层
LZ有钱人!AR.Drone大约多少?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-26 09:56:36 | 显示全部楼层
liuviking 发表于 2012-8-25 23:21
LZ有钱人!AR.Drone大约多少?

买的 时候早  不到 2000 一 代  实验室 共同财产  所以我 不是我有钱 嘻嘻
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-26 09:59:08 | 显示全部楼层
liuviking 发表于 2012-8-25 23:21
LZ有钱人!AR.Drone大约多少?

这个 要是 改不动  估计 又得 投资了 接下来 就我我 自己 投资了 还得 重新买电调 马达  这学期 的日子就 艰苦了。。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-23 04:31 , Processed in 1.114905 second(s), 22 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

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