本帖最后由 怪怪金小鱼 于 2012-8-25 20:39 编辑
由于 换了 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 控制电调 求高手
|