模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

1164查看 | 1回复

DIY航模遥控器和接收机 [一][Hard]

[复制链接]
发表于 2017-2-20 09:21:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Marshal 于 2017-2-20 09:25 编辑

DIY航模遥控器和接收机

本人是新手,接触无人机航模虽然有2年了,但是一直比较朦胧,3个月之前一时兴起,打算自己做一套无人机,这个一套 当然包括遥控、接收机、电调、飞控、数传等等。经过3个多月的艰苦努力,终于自己做出了第一步,遥控器和接收机,以后还要做电调、飞控、数传等等。现在将我制作的遥控器和接收机的经验和步骤设计方法分享给大家,希望大家提出宝贵意见,有兴趣的朋友可以一起 探讨。
遥控器我采用的是STM32作为主控芯片,综合考虑这款芯片的性价比最高。无线发射与接收模块采用经济适用的24L01+模块,这款模块成本低,技术成熟、稳定性好空中传输速率选择在250K,以提高传输距离。采用跳频通讯方式能够很好地避开通讯中的信道冲突。理论上可以65535个遥控器仪器同时使用,相互不会产生干扰。
        采用硬件SPI通讯,使用W25X40 FLASH芯片作为存储单元。使用低成本的12864液晶作为显示单元。使用TL431基准芯片为ADC采样提供基准电压信号,是遥控器的ADC采集稳定可靠。左手油门和右手油门可以软件设定,但是需要硬件支持。
        ShockBurst模式下nRF24L01可以与成本较低的低速MCU相连高速信号处理是由芯片内部的射频协议处理的nRF24L01提供SPI接口数据率取决于单片机本身接口速度ShockBurst模式通过允许与单片机低速通信而无线部分高速通信减小了通信的平均消耗电流在ShockBurstTM接收模式下当接收到有效的地址和数据时IRQ通知MCU随后MCU可将接收到的数据从RX FIFO寄存器中读出 在ShockBurstTM发送模式下nRF24L01自动生成前导码及CRC校验。数据发送完毕后IRQ通知MCU减少了MCU的查询时间也就意味着减少了MCU 的工作量同时减少了软件的开发时间nRF24L01内部有三个不同的RX FIFO寄存器6个通道共享此寄存器和三个不同的TX FIFO寄存器在掉电模式下待机模式下和数据传输的过程中MCU可以随时访问FIFO寄存器这就允许SPI接口可以以低速进行数据传送并且可以应用于MCU硬件上没有SPI接口的情况下
遥控器支持模拟器,可以直接连接解密狗,输出标准的PPM信号。使用这个遥控器可以再电脑上模拟飞行。
下面接收遥控器和接收机之间的通许协议。通讯协议分为4种类型,分别是遥控器发出的PCM帧和广播帧。接收机发出的对码帧和数据帧。
遥控数据格式由32个字节数据组成。
遥控和接收机对码原理:
遥控器部分工作原理:遥控器上电后,首先检查上次对码的接收机信息,并发送上一次对码成功信息的地址,1秒后没有收到上次对码成功的接收机信息,遥控器会同时发送广播信息以接收其它接收机的配对信息。当遥控器接收到接收机的配对信息并确认后,停止发送广播信息。只发送接收机的信息。1秒以后仍然没有接收到信息,遥控器会扫频发送广播信息。
接收机部分工作原理:接收机上电后,首先检查上一次对码的遥控器信息,并等待接收遥控器信息。短接对码接口后,接收机会将广播地址打开,扫频接收广播信息。直到对码成功。
1.        遥控发出PCM信号格式
信号内容如下所示
第1字节:帧头0x5A
第2字节:帧头0xA5
第3字节:帧识别码  0x00广播信息帧  0x01 PCM信号帧 0x02 信息帧
第4字节:PCM通道数 遥控器发出的PCM通道取值范围4-16
第5-7字节 :CH1和CH2通道数据
第8-10字节 :CH3和CH4通道数据
第11-13字节 :CH5和CH6通道数据
第14-16字节 :CH7和CH8通道数据或者功能码
第17-19字节 :CH9和CH10通道数据或者功能码
第20-22字节 :CH11和CH12通道数据或者功能码 失控保护(CH1-CH2)
第23-25字节 :CH13和CH14通道数据或者功能码 失控保护(CH3-CH4)
第26-28字节 :CH15和CH16通道数据或者功能码 失控保护(CH5-CH6)
第29字节 : 频率表位置0-15
第30-31字节:识别码 遥控器地址最后2个字节以识别是否配对的遥控器发出指令
第32字节 :校验和 去除帧头和校验和之外的所有数据不记溢出累加和
图表如下所示
1-2Byte        3Byte        4Byte        5-13Byte        14-28 Byte        29Byte        30-31Byte        32Byte
帧头        帧识别码        PCM通道数        CH1-CH4通道        CH1-CH4通道或功能码        频率表位置        遥控器识别码        校验和

2.        遥控发出对码信号格式
信号内容如下所示
遥控器发出对码信号是在指定的地址发送,也就是遥控器和接收机有一个固定的广播地址,遥控器在没有对码成功之前,会定期的发送广播信号,时间间隔为1秒。向广播地址发送遥控器的信息。接收机在对码状态会接收该广播地址的信息,收到信息后,接收机发送要求配对请求给遥控器,遥控器允许后配对成功。
   第1字节:帧头0x5A
第2字节:帧头0xA5
第3字节:帧识别码  0x00广播信息帧  0x01 PCM信号帧 0x02 信息帧
       第4字节:遥控通道类别 如0x06说明6通道遥控器  0x08说明8通道遥控器
       第5字节:操作方式 0 美国手  1 日本手  2 中国手  3 自定义
第6字节:跳频频道数量
       第7-11字节:遥控器接收地址
       第12-27字节:跳频频率表 16个字节
       第28字节:遥控器类别
第29字节:频率表位置0-15   
第30-31字节:识别码 遥控器地址最后2个字节以识别是否配对的遥控器发出指令
第32字节 :校验和 去除帧头和校验和之外的所有数据不记溢出累加和


图表如下所示
1-2Byte        3Byte        4Byte        5Byte        6Byte        7-11Byte        12-27Byte        28Byte        29Byte        30-31Byte        32Byte
帧头        帧识别码        通道类别        操作方式        跳频数量        遥控接收地址        跳频频率表        遥控器类别        频率表位置        遥控器识别码        校验和
3.        接收机发出对码信号格式
信号内容如下所示
第1字节:帧头0x5A
第2字节:帧头0xA5
第3字节:帧识别码  0x80对码信息帧  0x82 信息帧
第4字节:跳频频道数量
第5字节:电池类别
第6字节:PPM通道数
第7-11字节:接收机数据接收地址
第12-27字节:跳频频率表 16个字节
第28字节:接收机类别码
第29字节: 频率表位置0-15
第30-31字节: 识别码 接收机地址最后2个字节以识别是否配对的接收机发出指令
第32字节 :校验和 去除帧头和校验和之外的所有数据不记溢出累加和
图表如下所示
1-2Byte        3Byte        4Byte        5Byte        6Byte        7-11Byte        12-27Byte        28Byte        29Byte        30-31Byte        32Byte
帧头        帧识别码        跳频频道数量        电池类别        PPM通道数        接收机接收地址        跳频频率表        接收机类别码        频率表位置        接收机识别码        校验和
4.        接收机发出的数据信号格式
信号内容如下所示
第1字节:帧头0x5A
第2字节:帧头0xA5
第3字节:帧识别码  0x80对码信息帧  0x82 信息帧
第4字节:接收机对码遥控类别次数 不同遥控器次数
第5字节:电池类别
第6字节:PPM通道数
第7字节:接收机类别码
第8-9字节:电池电压
第10-11字节:电池电流
第12-28字节:功能扩展
第29字节 :频率表位置0-15
第30-31字节: 识别码 接收机地址最后2个字节以识别是否配对的接收机发出指令
第32字节 :校验和 去除帧头和校验和之外的所有数据不记溢出累加和
图表如下所示
1-2Byte        3Byte        4Byte        5Byte        6Byte        7Byte        8-9Byte        10-11Byte        12-28Byte        29Byte        30-31Byte        32Byte
帧头        帧识别码        对码次数        电池类别        PPM通道数        接收机类别码        电池电压        电池电流        功能扩展        频率表位置        接收机识别码        校验和

接收机采用ATmega8作为控制芯片。
产品特性
• 高性能、低功耗的 8 位 AVR®微处理器
• 先进的 RISC 结构
– 130 条指令 – 大多数指令执行时间为单个时钟周期
– 32 个 8 位通用工作寄存器
– 全静态工作
– 工作于 16 MHz 时性能高达 16 MIPS
– 只需两个时钟周期的硬件乘法器
• 非易失性程序和数据存储器
– 8K 字节的系统内可编程 Flash
擦写寿命 : 10,000 次
– 具有独立锁定位的可选 Boot 代码区
通过片上
代码区
通过片上 Boot 程序实现系统内编程
真正的同时读写操作
程序实现系统内编程
真正的同时读写操作
– 512 字节的 EEPROM
擦写寿命 : 100,000 次
– 1K 字节的片内 SRAM
– 可以对锁定位进行编程以实现用户程序的加密
• 外设特点
– 两个具有独立预分频器 8 位定时器 / 计数器 , 其中之一有比较功能
– 一个具有预分频器、比较功能和捕捉功能的 16 位定时器 / 计数器
– 具有独立振荡器的实时计数器 RTC
– 三通道 PWM
– TQFP 与 MLF 封装的 8 路 ADC
8 路 10 位 ADC
– PDIP 封装的 6 路 ADC
8 路 10 位 ADC
– 面向字节的两线接口
– 两个可编程的串行 USART
– 可工作于主机 / 从机模式的 SPI 串行接口
– 具有独立片内振荡器的可编程看门狗定时器
– 片内模拟比较器
• 特殊的处理器特点
– 上电复位以及可编程的掉电检测
– 片内经过标定的 RC 振荡器
– 片内 / 片外中断源
– 5 种睡眠模式 : 空闲模式、 ADC 噪声抑制模式、省电模式、掉电模式及 Standby 模式
• I/O 和封装
– 23 个可编程的 I/O 口
– 28 引脚 PDIP 封装 ,32 引脚 TQFP 封装 ,32 引脚 MLF 封装
• 工作电压
– 2.7 - 5.5V (ATmega8L)
– 4.5 - 5.5V (ATmega8)
• 速度等级
– 0 - 8 MHz (ATmega8L)
– 0 - 16 MHz (ATmega8)
• 4 Mhz 时功耗 , 3V, 25°C
– 工作模式 : 3.6 mA
– 空闲模式 : 1.0 mA
– 掉电模式 : 0.5 µA

稍后,会将原理图 和PCB图分享出来。之后实物图 以及使用操作方法及视频文件将会持续更新。
发表于 2017-2-20 12:35:03 | 显示全部楼层
此帖仅作者可见

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|关于模吧|APP下载|广告报价|手机版|企业会员|商城入驻|联系我们|模吧 ( 黔ICP备2022002348号-1 )

© 2013-2020 Moz8.com 模吧,玩出精彩!