当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]在这个中级电子和无线电通信教程中,我们将深入研究使用Arduino平台和nRF24L01+无线模块构建功能齐全的8+通道RC(无线电控制)发射器和接收器。该项目结合了微控制器编程,传感器集成和射频通信的核心技能,非常适合希望扩展DIY远程控制系统知识的爱好者。

在这个中级电子和无线电通信教程中,我们将深入研究使用Arduino平台和nRF24L01+无线模块构建功能齐全的8+通道RC(无线电控制)发射器和接收器。该项目结合了微控制器编程,传感器集成和射频通信的核心技能,非常适合希望扩展DIY远程控制系统知识的爱好者。

应用程序

本RC系统可用于:

•遥控飞机、船和汽车

•DIY无人机或四轴飞行器

•无线机器人控制

•多伺服控制系统

为什么是nrf24lo1?

2.4 GHz射频通信:工作在2.4 GHz ISM频段,可实现中短距离(使用外置天线时为1km ~ 5km)的无线数据传输。

•基于包的通信:数据以小数据包(最多32字节)发送,内置CRC检查错误和自动确认(ack)以提高可靠性。

•多数据管道:支持多达6个数据管道,允许一个接收器监听多个发射机使用唯一的地址。

•低功耗:传输时仅消耗~ 12ma,可进入超低功耗休眠模式,提高电池效率。

•SPI接口:使用SPI协议与微控制器通信,用于高速数据传输和配置。

•可调功率和数据速率:传输功率和数据速率(250kbps, 1mbps, 2mbps)可以根据距离和速度进行调整。

注意:要为接收器供电,仅使用1 (ONE) ESC的BEC,因为超过1个电源输入可以击穿nano的5v引脚。

无线电总结

发射机的一面:

•从电位器和开关等输入设备读取模拟或数字值。

•将这些值打包到结构化数据包中。

•通过nRF24L01+模块按设定的频率发送报文。

接收端:

•连续侦听传入的数据包。

•解析接收到的数据并将其映射到伺服位置或电机速度。

•包括安全功能,如信号丢失超时检测。

发射机的代码

主要功能:

•创建一个无线RC发射机使用电位器(或操纵杆)和按钮。

•通过nRF24L01+将控制数据发送到接收端进行控制:

•4个模拟通道:副翼、升降舵、方向舵、油门

•2个数字通道:按钮(如弹射或齿轮)

•将指数响应曲线(expo)应用于模拟控制,使接近中心的操纵杆控制更平滑。

库和初始化

•这些库允许Arduino使用SPI并与nRF24L01+无线电通信。

•设置无线电对象,CE在引脚7,CSN在引脚8。

•使用5个字符的管道地址与接收方通信。

数据结构(包)

•这是一个紧凑的自定义协议,仅占用18字节。

•它在单个数据包中有效地传输4个模拟轴位置+ 2个按钮状态。

•创建一个名为data的全局实例。

注意:你可以添加更多的变量,但最多只能添加32个字节(int是4个字节,char是1个字节,等等)。

设置函数

•begin(9600):启用串行调试。

•radio.begin():初始化nRF24L01+模块。

•openWritingPipe():设置用于向接收者发送数据的地址。

•setPALevel():降低功率电平(使用RF24_PA_LOW或HIGH以获得更大范围)。

•setDataRate():采用慢速可靠的数据速率(250kbps)。

•stoppllistening():设置模块为传输模式。

注意:使用完全相同的设置为接收器和发射器。

主循环

•从模拟引脚读取操纵杆值。

•转换模拟值(0-1023)到伺服角度(0-180)。

•使用applyExpo()函数将指数曲线应用于副翼、升降舵和方向舵。

•读取按钮状态(HIGH =未按下)。

•如果未按下则发送‘1’,如果按下则发送‘0’(如果需要,您可能需要翻转此逻辑)。

•将整个数据包通过无线电发送给接收者。

applyExpo()函数

•该函数对输入应用指数响应曲线:

•Expo = 0:全线性响应(无曲线)。

•世博> 0:软化中心附近的灵敏度。

•它将0-180范围内的输入映射到90(中心)附近的规范化曲线。

注意:这给了你精确的控制靠近操纵杆的中心和完整的旅行在两端。

接收方代码

主要功能:

•使用nRF24L01+模块从发射器无线接收控制信号。

•解析6个通道(可扩展)的输入:4模拟(x1, y1, x2, y2)和2数字(b1, b2)。

•驱动5个伺服器,用于2个副翼,1个升降舵,1个方向舵和1个电机(ESC带BEC)。

•应用微调,映射,世博(通过dualRate)和信号安全(例如,约束())。

nRF24L01设置

•使用地址为“77777”的管道0侦听传入数据。

•设置为最小功率(考虑RF24_PA_LOW或RF24_PA_HIGH以获得更好的范围)。

•使用250kbps,在更长的距离上获得更好的可靠性。

•禁用自动确认最小延迟或ping。

注意:为了扩大范围,考虑制作nrf24lo1,地面范围助推器(教程即将推出)。

伺服系统初始化

•定制PWM范围(1000-2000µs),通过附加(引脚,min, max)节流-用于esc。

•其他伺服使用默认的544-2400µs范围。

控制逻辑

•油门开始在90(0推力),因为它是操纵杆的中性或默认位置。

•0.7用作限制器,这样电机就不会太热或烧坏。

•使用dualRate()根据费率因子限制旅行(对于初学者)。

•对所有表面应用修剪值。

•电梯映射是倒置的,这是典型的取决于操纵杆的方向。

双速率函数

•限制移动范围。

•清洁和可重复使用的所有表面。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭