PPM 编码器 AT328P 8 通道独立式编码器¶
警告
存档
本文介绍独立式 PPM 编码器,该编码器可从以下网站购买 jDrones.它是在编码器需要重新编程(可能性很小)时使用的。
概述¶
ATMEGA 328P 8 通道 STANDALONE PPM 编码器可将多达 8 个 PWM(脉宽调制)信号编码为一个 PPM(脉冲位置调制)信号。这样,您就可以使用任何遥控接收器和支持 PPM 的微控制器(例如,ATMEGA 328P)。 PX4FMU).该设计基于 Atmega328P 和外部 16Mhz 谐振器。3DR PPM 编码器 (v2) 现在使用 ArduPPM 固件,取代了以前使用的 Paparazzi PPM 编码器固件。新的 ArduPPM 固件从零开始设计,以提高性能和稳健性,并更好地满足我们现在和将来的产品需求。用于 Plane(和 Rover)的固件可通过以下链接下载 在此下载.Copter 的固件可以 在此下载.(如果使用编译后的代码,则不需要源代码)、 可以在这里找到.)
设置手册¶
"这款" 手册 说明了如何焊接和连接 PPM 编码器,并解释了不同的故障安全模式。
第 3 版¶
第三版 PPM 编码器采用更小的外形尺寸和 DF13 连接器端口。安装时,将三线电缆连接到(飞行)控制器,将十线电缆连接到 PWM 接收器。更多说明、 在此查看手册.
1-8 号,连接遥控接收器
标有 P 的电缆,连接至 Pixhawk PPM/RC 输入端
重新编程 Atmega328p PPM 编码器¶
备注PPM编码器的固件已预先编程,大多数用户都不需要或不想修改它。不过,有些用户可能想进入代码更改 PPM 编码器解释 RC 信号的方式,或者想更新到最新版本。一些极少数用户确实报告过旧版本(ArduPPM 之前)的接收器兼容性问题。在大多数情况下,ArduPPM 确实解决了这些问题。ArduPPM 是新一代固件的官方名称。它是从零开始设计的,可靠性是重中之重。编码器固件的正式版本在下载区,名为 ArduPPM_Vx.x.xx_ATMega328p.hex。官方源代码在 此处为 Git 仓库.独立的 PPM 编码器需要 ATMega328p 版本。要进行闪存,请将 PPM 编码器连接到 AVR 编程器(如 AVRISP mkII)上:
闪烁时,确保 PPM 编码器使用任何 5V 和接地引脚供电。
Windows 重新编程说明¶
下载并安装最新的 WinAVR.插入 AVRISP mkII 并按如下步骤安装 AVRISP mkII 的驱动程序:打开设备管理器并选择 AVRISP mkII,选择 "更新驱动程序软件..."
选择 "浏览我的电脑,查找驱动程序软件"。
浏览到安装 WinAVR 的文件夹(例如 C:\WinAVR-20100110\)
选择 "无论如何安装此驱动程序软件"。
这应该会成功完成:
现在启动命令行:按 "开始 "键,输入 cmd 并回车。
使用 cd 将目录更改为 Hex 文件所在的文件夹:例如,如果文件在 Downloads 中,则 cd Downloads\ 然后键入命令: avrdude -P usb -c avrispmkii -p atmega328p -U flash:w:ArduPPM_Vx.x.x_PPM_Encoder.hex(用版本号 x.x.x 代替)。
如果一切顺利,就会出现以下输出结果:
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.六角