微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 教你打造一架用“意念”控制的直升机

教你打造一架用“意念”控制的直升机

时间:06-25 来源:互联网 点击:

照片里,下边沿附近的亮点显示了数据包(又名数据帧)的发送,我们想要知道每一个数据包内含的信息,为此需要使用逻辑分析仪。

  

  在第二张放大的照片中可以看到,在数字信号的垂直边沿上,部分线条将随着操纵杆的操作而闪动。这表明每个数据包的内含数据都随着对摇杆的操作而变化,变化方式随通道不同而不同。

  更具体的讨论和示波器的使用方法超出了本教程的范围,暂且不表。

  4 、连接逻辑分析仪

  

  一个逻辑分析仪能够帮助你抓到从微处理器发送到发射芯片间的每帧PCM数据包。显示并且解码它们。在这个项目里我们用了Tektronix 1241逻辑分析仪。 Saleae Logic 软件能够帮助我们精确测量每帧数据发送的频率(22ms一帧),还有数据格式,位数,每个字节数据的格式(8个数据位,无效验,1个停止位),波特率(133000波特)。每帧数据中包含14个可以用十六进制方便表示的字节。

  注意:波特率是相当重要的。最接近我们使用要求的,并且被大多数串口设备(比如项目中的USB转串口线)支持的标准波特率是115200($0.1530)。但这离我们的无线发射频率差距太远,开始的尝试失败了。所以选用一个转换芯片允许任意设置波特率的USB转串口线就显得十分重要。在之后的版本里我们选用了一个基于 FTDI 芯片的版本。(FT232($2.3500) USB-Serial ‘UART’ IC,详见最后的说明。)

  同这一步骤有关的是Saleae逻辑分析软件捕获数据的记录文件示例。在第一个文件示例中油门摇杆完全出于最下方,而在第二个文件里油门摇杆始终处于最上方。更多摇杆位置的数据实例和讨论以及逻辑分析仪的使用超出了本教程的范围。

  

  简要说明:在我们之前的比喻里,我们说水流的水压(水位)可以类比为电流流过电路时的电压,由于操纵杆控制的阀门而升降。然而当我们使用示波器的时候可以观测到,在微处理器和发射芯片之间的信号是数字的,而不是模拟的。这实际上意味着管道要么充满水要么枯竭,没有中间状态。通过两种极端状态的变化,在管道中发送二进制数据。

  用另一种方式思考,想象管道两端分别有着发送者和接收者。在这种情况下,发送者是微处理器(因为它知道将要发送的数字值)而接收者是发送芯片。试图通过调节管道中的水流发送信息非常缓慢,所以他们采用了手电筒互打莫尔斯电码的方式。每隔一段时间,接收者探头进入管道观察情况。同一时刻发射者要么打开手电表示一个1,要么关上手电筒将之表示为0。每次发生这种情况,称作一个位(bit)的发送。这会连续快速发送8次,形成一个字节(Byte)。如果每个词的一个字母是一位,一个词就是一个字节。逻辑分析仪还告诉我们微处理器朝发射芯片说的每个‘句子’有14个‘词’,这个句子包含了所有的摇杆位置和每个运动方向的信号。只要遥控器开启,完整的句子每秒重复约45次(每22ms一次)。波特率非常重要是因为它代表了发射方和接收方之间预先约定的信号时间间隔。换句话说,如果发送方每五秒钟发送一次闪光,而接收方每十秒钟看一次管道,他就只会记录到一半的信号,并且将它记录下来以后,实际上每个位都是错的。当我们说波特率是133000的时候,实际上这一意味着每秒钟发生的闪烁高达133000次!

  5 、拆焊发射芯片

  

  在使用示波器观察微处理器和发射芯片之间的数字信号,并使用逻辑分析仪对 串行 通讯协议进行解码之后,通过软件遥控直升机的道路就变得清晰了。我们的软件会绕过所有其他组件,直接通过USB转串口线同发射芯片进行通讯。如果这一步不顺利,我们还有一个替代方案。可以使用 Arduino 输出模拟电压来模拟电位器的输出电平。

  

  由于发射器芯片实际上是一块单独的电路板(见附图),而且在两个引脚之间有足够的空间让我们飞出信号,我们已经能够记录和分析所有微处理器发送给它的原始数据,但我们最终希望能够自行产生这些数据。这需要给发射板额外供电,如果遥控器的电源开关打开,然后微处理器也将发送数据,这将与我们插入的数据产生冲突;如果我们关闭了电源开关,发射器芯片也将关闭,任何数据都不会发送到直升机。我们认为我们将能够从USB转串口线为发射器芯片供电,但是我们不能肯定,电力会不会回流到微处理器使之开始工作。因此,我们决定从遥控器上拆下发射器芯片板,因为这是我们的项目唯一需要的部分。
连接控制板与USB转串口线#e#

  6 、连接控制板与USB转串口线

  

当发射芯片板被拆下来以后,我们需要重新用导线将原来的遥控器与发射芯片板飞线相连,这样

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top