本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于 ATmega328p 的无线电遥控器

发布时间:2021-10-11
分享到:

基于 ATmega328p 的无线电遥控器

发布时间:2021-10-11
分享到:

这款 DIY 控制器提供现代商用收音机的大部分高级功能。

特征

  • 9 个遥控通道。所有通道均以 10 位分辨率传输
  • 可配置的 RC 通道输出信号。伺服 PWM、数字开关或“正常”PWM
  • 反向、Subtrim、端点、故障安全
  • Ail、Ele、Rud 的双重费率和博览会
  • 油门曲线
  • 灵活的混合系统
  • 自适应计时器和秒表
  • 模型记忆。创建、删除、复制、重命名和重置模型
  • 棒校准
  • 警报、警告
  • 可调射频功率
  • 接收者绑定
  • 跳频
  • 外部电压遥测
  • 发射机到接收机的更新率高达 40 倍

硬件

发射机

  • 2 个 Atmega328p 微控制器
  • 1x 基于 Semtech SX1276/77/78/79 的射频模块
  • 基于 128x64 KS0108 的 LCD,或任何 128x64 LCD(提供自己的驱动程序代码)。
  • 2x 操纵杆、5x 两位开关、1x 三位开关、1x 电位器
  • 3x 按钮
  • 额外的支持组件

接收者

  • 1 个 Atmega328p 微控制器
  • 1x 基于 Semtech SX1276/77/78/79 的射频模块
  • 额外的支持组件

编译

  • 代码在 Arduino IDE 1.8.x 或更高版本上编译,板子设置为 Arduino Uno。
  • 发射器代码位于 mtx(主 mcu)和 stx(从 mcu)文件夹中。接收器 mcu 代码位于 rx 文件夹中。编译不需要外部库。
  • 我将 433MHz 频段与 SX1278 模块一起使用。如果使用其他模块或频段,则需要编辑 stx.ino 和 rx.ino 文件中的频率列表。

用户界面

  • 三个按钮用于导航;向上,选择,向下。长按选择返回。
  • 在主屏幕上按住向上键可以访问修剪。
  • 启动时按住 Select 键可打开启动菜单(用于重新校准棒、格式化 eeprom 等)

绑定到接收器
要绑定接收器和发射器,请使用系统设置屏幕中的绑定选项。选择绑定选项并重新启动接收器。成功绑定后,接收器中的 LED 会闪烁。

混合
这个控制器实现了一个免费的混音器,它为我们想要控制的内容提供了灵活性。每个混音器插槽接受两个输入,对它们进行多路复用,并将结果发送到指定的输出。可用的多路复用选项有添加、乘法、替换。我们还可以指定一个开关来打开或关闭混音。混合器槽按顺序评估。

混音器源可以是以下任何一种

  • 原始棒输入(滚动、俯仰、节流、偏航、旋钮)
  • 常数(最大值)
  • 开关(SwA、SwB、SwC、SwD、SwE、SwF)
  • 输入变慢(显示为星号)
  • 曲线(Ail、Ele、Thrt、Rud)
  • 通道(Ch1 到 Ch9)
  • 临时变量(Virt1、Virt2)

默认映射是 Ail 到 Ch1、Ele 到 Ch2、Thrt 到 Ch3、Rud 到 Ch4,除非在混音器中被覆盖。

配置 RC 通道输出
接收器输出可以从发射器配置为三种信号类型中的任何一种;伺服 PWM、数字开关或“正常”PWM。例如,“正常”PWM 输出可用于控制有刷直流电机,而无需复杂的电子设备。此外,通过数字开关输出可以简单地直接控制机电继电器和灯等组件。


Note:

  1. 这些设置存储在接收器中,永远不会存储在发射器中。
  2. “正常”PWM 仅在少数选定引脚上受支持,具体取决于接收器引脚映射。
  3. 为安全起见,所做的任何更改仅在重新启动接收器时生效。
  4. 在数字开关模式下,输出值范围 -100 到 -50 映射到 LOW,-49 到 49 被忽略,50 到 100 映射到 HIGH。

该项目中所用到的一些代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

外文原文:点击进入
声明:本文由Hackaday授权电路城翻译,系电路城的原创内容,转载请注明出处! 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论