周末用两片M8搞了一个TWI总线驱动的有刷电调和一个TWI总线调试器
左边板是主机控制板,10位ADC采样电位器分压值,转换成16二进制数后
通过TWI(I2C)总线以400Kbs的速度传送到右边从机
从机根据TWI总线上接收到16位二进制数产生8KH占空比可变的PWM
驱动从机上的3片20安培的N沟道MOS管开关电机
两机间的通信是四根的,其中有两根是电源和地线
从机60A电调,TWI工作在从机接收模式,4位LED数码管显示接收到的控制值
接收到的二进制数转换为4位10进制数显示,控制值从0-1000
TWI总线调试器400kbs,工作在主机发送模式,4位LED数码管显示发送出去的控制值
发送出去的二进制数转换为4位10进制数显示,控制值从0-1000
从机板上有3片20安培的N沟道MOS管(右下角),并联最大电流60A
感觉航模使用的20MS脉宽信号刷新率只有50HZ,在早期用于传递手动控制信号已经足够了
但用来做高速模型自动控制,有写力不从心了,比如FUTABA的GY401开始已经使用5ms脉宽的信号格式了
这样可以提高4倍的直升机锁尾速度(200HZ),但脉宽信号只能单向控制单一设备,且解析脉宽需要较多资源并可能产生误差
而TWI局部总线(I2C)可以在2根信号线的硬件条件下,以400KHZ双向传输数字信号,可校验,无误差
已本电调为例,可在微秒级传送2个字节(16位二进制)的控制数据,速度精度远大于脉宽信号
并且可以同时驱动7位128个主从机通信,所有总线只需两线并联上拉
在航模飞行器的尺度上,可以极大的减少了模型上通信线路
由于是数字双向通信,不但可通过TWI总线控制舵机、电调,还可通过TWI总线采集信号
比如陀螺仪信号传输、发动机温度转速采集、空压采集等等
[
本帖最后由 johnfen 于 2008-2-24 13:37 编辑 ]