×

带有英飞凌3D磁传感器2Go的射频遥控器

消耗积分:0 | 格式:zip | 大小:0.20 MB | 2022-11-23

廖阿朋

分享资料个

描述

介绍

为了实现我的目标,我们将项目分为两部分:发送部分和接收部分。在传输部分,我使用“Infineon 3D Magnetic Sensor 2Go”板来捕获和处理该传感器给我的数据,并使用“Mega 2560”板通过“射频”发送这些数据。在接收部分,我使用“Arduino UNO”板来执行收到的订单。为了制作这个原型,我受到了我的项目的启发:

我们必须审查我们的磁传感器的技术表。在下图中,我们可以看到该板的组件。

 
poYBAGN67maACqIWAABwYSZV_VI74.jpeg
 

在下图中,我们可以看到电路板引脚的配置。

 
poYBAGN67miAW6xFAAEW1cpmFNc734.jpg
 

要对我们的板进行编程,我们必须下载并安装以下软件:

  • Arduino IDE。
  • 3D 磁传感器 2 Go。
  • SEGGER 的 USB 驱动程序。
  • 库:TLE493D-W2B6-3DMagnetic-Sensor
  • 板:英飞凌的 XMC 微控制器

3D Magnetic Sensor 2 Go,供我们使用我们的设备进行测试并从英飞凌官方网站下载。这个程序只能在 Windows 下运行,并且有一个旧的 USB 版本的 SEGGER。我们必须下载并安装最新版本的 SEGGER USB 驱动程序,以便我们的设备正常工作。

 
pYYBAGN67mqAbdg4AAB_QTu_DeY701.png
 

微控制器板是从 github 上的 Infineon 官方网站下载的。在那里,我们将找到正确安装的说明。

就我而言,我安装了 1.1.0 版,因为 1.1.1 版显示错误。

 
 
 
 
pYYBAGN67m2AXHyxAABWmYpP07U149.png
 
1 / 4
 

射频发射器

“射频发射器”的电气图如下:

 
pYYBAGN67m-AanZBAADaTm3bM3M398.jpg
 

射频发射器的操作如下:

我们旋转磁传感器的“旋转旋钮”,我们可以执行由软件编程并使用 GPIO4 和 GPIO5 引脚作为输出的四个命令:

  • 停车:命令停车并发送代码“00”。
  • 右:命令汽车向右转并发送代码“01”。
  • 转发:命令转发并发送代码“10”。
  • 左:命令汽车左转并发送代码“11”。

 

 
pYYBAGN67nSAJlV6AAC6PXTN688367.jpg
 

英飞凌

#include <Tle493d_w2b6.h>
Tle493d_w2b6 Tle493dMagnetic3DSensor = Tle493d_w2b6();
void setup() {
 Serial.begin(9600);
 pinMode (4,OUTPUT);
 pinMode (5,OUTPUT);
 while (!Serial);
 Tle493dMagnetic3DSensor.begin();
 Tle493dMagnetic3DSensor.enableTemp();
}

该板从磁传感器接收这四个命令,对它们进行编码并通过发射器“TLP434A”发送它们,该发射器工作在 433 MHz。这些编码如下:

  • 停止:我们发送字符“S”。
  • 对:我们发送字符“R”。
  • 转发:我们发送字符“F”。
  • 左:我们发送字符“L”。

我们可以使用几个库来验证射频发送的数据,在我的例子中,我使用了库“VirtualWire.h”,这个库运行良好。板子“Infineon 3D Magnetic Sensor 2Go”和“Mega 2560”的代码可以在本教程的最后下载。

TX_mega.ino

#include 
#define SWITCH1 8   //input for SWITCH1
#define SWITCH2 9   //input for SWITCH2
void setup()
{
   Serial.begin(9600);    
   Serial.println("Tx RF");
   pinMode (SWITCH1,INPUT);
   pinMode (SWITCH2,INPUT);
   // Se inicializa el RF
   vw_setup(2000); // bps
   vw_set_tx_pin(2); //output RF 
}

射频接收器

“RF Receiver”示意图如下:

 
pYYBAGN67naAYtDjAAC5t3wheRo426.jpg
 

RF Receiver 的操作如下:

“Arduino UNO”板通过工作在 433 MHz 的接收器“RLP434”接收来自射频发射器的四个命令。这些命令按以下方式解码和执行:

  • 停止:我们收到字符“S”并且汽车停止。
  • 右:我们收到字符“R”,汽车向右转。
  • 前进:我们收到字符“F”,汽车向前移动。
  • 左:我们收到字符“L”,汽车向左移动。

每次小车移动时,我们使用“L293B”驱动器和两个减速电机。

我们可以使用几个库来验证射频发送的数据;就我而言,我使用了“VirtualWire.h”库,这个库运行良好。“Arduino UNO”板的代码可以在本教程的最后下载。

rx_arduino.ino

#include 
void setup()
{
   Serial.begin(9600);  // Debugging only
   Serial.println("setup");
   // Se inicializa el RF
   vw_setup(2000);  // bps
   vw_set_rx_pin(2);  //Pin 2 as input RF
   vw_rx_start();       // start
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT); 
}

测试

 
 
 
 
 
poYBAGN67nmARC0-AADdLd9zYos729.jpg
 
1 / 2
 

结论

我首先使用连接到我的 PC 的设备测试了原型,以验证正在进行通信并且“RF 接收器”接收到“RF 发射器”正在发送的数据。Arduino UNO 板的串行端口向我们显示了我正在等待的数据。在第二个测试中,我使用了一个“微型机器人汽车”的原型来演示这个原型的应用。

在遥控器中使用“Infineon 3D Magnetic Sensor 2Go”板是控制“微型机器人车”的不错选择,因为它让您有机会以实用且有效的方式操纵您的推车。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !