PPM 编码器

警告

存档

PPM 编码器可将最多 8 个 PWM(脉宽调制)信号编码成一个 PPM(脉冲位置调制)信号。

../_images/jDrones_PPM_Encoder_V21_Above_with_numbers_500px.jpg

最新的 jDrones PPM-Sum 编码器、 这里

jD-PPM 编码器(v2.1)使用 ArduPPM 固件,取代了之前使用的 Paparazzi PPM 编码器固件。新的 ArduPPM 固件从零开始设计,以提高性能和稳健性,并更好地适应我们现在和未来的产品需求。

故障安全输出值:

  • 新的中断系统可更好地处理某些 Futaba 接收机(在快速间隔内同时更改一组遥控通道)(这在 v2.3.13 中已经存在)

  • 信道丢失时的调整行为:如果一个信道丢失,将根据下表进行设置。其他通道将继续工作。

    频道 1

    卷轴

    设置为中心(1500 μs)

    频道 2

    间距

    设置为中心(1500 μs)

    第 3 频道

    节流阀/电门

    设置为低电平(900 μs)

    第四频道

    亚乌

    设置为中心(1500 μs)

    第 5 频道

    ...

    保持最后数值

    第 6 频道

    ...

    保持最后数值

    第 7 频道

    ...

    保持最后数值

    第 8 频道

    ...

    保持最后数值

    在 Copter 和 Plane 中,节流阀低电平信号可触发故障安全动作。

    应按照维基百科中的说明进行仔细配置。 APM 旋翼飞行器APM 平面

    另外请注意,这与发射机和接收机之间失去无线电连接无关。接收机在超出范围时的行为取决于发射机/接收机的硬件和设置。因此在飞行前,请务必仔细检查所有情况

../_images/FailsafeDiagram.jpg

设置手册

"这款" PPM 编码器手册 说明了如何焊接和连接 PPM 编码器,并解释了不同的故障安全模式。

重新编程 Atmega328p PPM 编码器

备注

PPM 编码器预置了 PPM 编码器固件,大多数用户都不需要或不想修改它。

不过,有些用户可能想进入代码更改 PPM 编码器解释 RC 信号的方式,或者想更新到最新版本。一些罕见的用户确实报告了旧版本(ArduPPM 之前)的接收器兼容性问题。在大多数情况下,ArduPPM 确实解决了这些问题。

ArduPPM 是新一代固件的正式名称。ArduPPM 是新一代固件的官方名称,它从零开始设计,以可靠性为首要考虑因素。编码器固件的正式版本在下载区,名为 ArduPPM_Vx.x.xx_ATMega328p.hex。官方源代码在 Git 代码库中: https://github.com/ArduPilot/ardupilot/tree/master/Tools/ArduPPM.独立的 PPM 编码器需要 ATMega328p 版本。

编译后的二进制文件可从我们的下载网站下载:

要进行闪存,请将 PPM 编码器连接到 AVR 编程器(如 AVRISP mkII)上:

../_images/reprogramming_the_standalone_ppm_encoder1.jpg

闪烁时,确保 PPM 编码器使用任何 5V 和接地引脚供电。

内部 MCU 的触发保护机制设置

所有基于 ATMEGA 328P 的 PPM 编码器都有严格的触发保护机制设置。

使用 AVR Studio 编程时,应使用以下触发保护机制设置:

  • 低电平:0xFF

  • 高电平: 0xDA

  • 扩展:0x07

Windows 重新编程说明

下载并安装最新的 WinAVR.

插入 AVRISP mkII 并按如下步骤安装 AVRISP mkII 的驱动程序:

打开设备管理器,选择 AVRISP mkII,选择 "更新驱动程序软件..."

./_images/windows_install_avrispmkii_driver_11.png

选择 "浏览我的电脑,查找驱动程序软件"。

./_images/windows_install_avrispmkii_driver_21.png

浏览到安装 WinAVR 的文件夹(例如 C:WinAVR-20100110)

浏览到安装 WinAVR 的文件夹(例如 C:\WinAVR-20100110\)

./_images/windows_install_avrispmkii_driver_31.png ./_images/windows_install_avrispmkii_driver_41.png

选择 "无论如何安装此驱动程序软件"。

./_images/windows_install_avrispmkii_driver_51.jpg

这应该会成功完成:

./_images/windows_install_avrispmkii_driver_61.jpg

现在启动命令行:按 "开始 "键,输入 cmd 并回车。

./_images/windows_start_cmd1.png

使用 cd 将目录更改为 Hex 文件所在的文件夹:例如,如果 Hex 文件在 Downloads 中,则使用 cd Downloads。

然后键入命令:avrdude -P usb -c avrispmkii -p atmega328p -U flash:w:ArduPPM_Vx.x.x_PPM_Encoder.hex(用版本号 x.x.x 代替)。

./_images/windows_cmd_avrdude_11.png

如果一切顺利,就会出现以下输出结果:

./_images/windows_cmd_avrdude_21.png

Mac OS X 重新编程说明

待办事项:在此处添加如何闪存十六进制文件的内容。

Linux 重编程说明

安装 avrdude:

适用于 Ubuntu:

苏都 适切-获取 安装 avrdude

AVRISP mkII 的程序说明:

avrdude -p atmega328p -P USB -c avrispmkii -U 焕发:w:ArduPPM_Vx.x.x_ATMega328p.六角

输出结果应为

avrdude: AVR 装置 初始化  就绪  接受 说明

阅读 | ################################################## | 100% 0.00s

avrdude: 设备 签字 = 0x1e950f avrdude: 注意: 闪光灯 内存  一直 指定, 一个 擦除 周期   进行了           关闭  功能, 具体说明  -D 选择权. avrdude: 擦除 芯片 avrdude: 阅读 输入 文件 "ArduPPM_V2.3.0_ATMega328p.hex"; avrdude: 输入 文件 ArduPPM_V2.3.0_ATMega328p.六角 载具 侦测到 作为 英特尔 六角形 avrdude: 写作 焕发 (1952 字节数):

写作 | ################################################## | 100% 0.61s

avrdude: 1952 字节数  焕发 成文 avrdude: 核查 焕发 内存 反对 ArduPPM_V2.3.0_ATMega328p.六角: avrdude: 负荷 数据 焕发 数据  输入 文件 ArduPPM_V2.3.0_ATMega328p.六角: avrdude: 输入 文件 ArduPPM_V2.3.0_ATMega328p.六角 载具 侦测到 作为 英特尔 六角形 avrdude: 输入 文件 ArduPPM_V2.3.0_ATMega328p.六角 载有 1952 字节数 avrdude: 阅读 关于-芯片 焕发 数据:

阅读 | ################################################## | 100% 0.56s

avrdude: 核查 ... avrdude: 1952 字节数  焕发 属实

avrdude: 安全模式: 触发保护机制 好的

avrdude 完成的.  谢谢 .

如果出现权限错误,请尝试使用 sudo。

重新编译选项

默认情况下编码的是负脉冲 PPM。要改为正脉冲 PPM,需要取消 Tools/ArduPPM/Libraries/PPM_Encoder.h 中第 158 行的注释:

// #define _POSITIVE_PPM_FRAME_ // 切换到正脉冲 PPM

#define _POSITIVE_PPM_FRAME_ // 切换到正脉冲 PPM

使用 Linux 重新编译

这些说明是使用 Ubuntu 测试的:

苏都 适切-获取 安装 构建-至关重要 git-核心 gcc-avr avrdude
git 复制 http://代码.谷歌./p/ardupilot-大型
CD ardupilot-大型/工具/ArduPPM/

现在编辑 ATMega328p/Encoder-PPM.c 或 Libraries/PPM_Encoder.h

CD ATMega328p/
生产 清洗
生产

您就可以使用自定义的十六进制文件进行编程了:

avrdude -p atmega328p -P USB -c avrispmkii -U 焕发:w:编码器-PPM.六角