优秀网页翻译:高精度 10MHz GPS 驯服钟 (GPSDO) - Part 5

原文链接:
https://www.paulvdiyblogs.net/2020/10/monitoring-measuring-logging-gpsdo.html

重大挫折!

我构建了原型,但 Raspberry Pi Zero-W 的无线连接受到很大干扰,我最初认为是由载板上的 10MHz 引起的。需要 10MHz 作为计数器的时钟,我还需要它来提供浮动输出。即使电路板仍在外壳之外,无线连接也很糟糕且无法使用。经过一番摆弄,我发现它不仅仅是10MHz的馈电,因为我断开了它,甚至移除了计数器芯片。零无线连接仍然无望,即使没有安装外壳的盖子,这会使情况变得更糟。Zero 上用于无线连接的天线只是 PCB 上的一个小轨道。该天线必须受到来自 GPSDO 的信号的干扰。有了这个设置,我没有空间安装 USB 无线加密狗,因为OCXO的隔离在路上。无论如何,它可能会消耗太多的力量。
如果不是 10MHz,另一个来源可能是 5V ocxo 电源。作为测试,我用我的工作台供应和宾果游戏给载板喂食,这似乎效果更好。在 RPi 上运行 ifconfig 和 iwconfig 时,我也没有发现任何问题,所以我可能会遇到一些问题。
ocxo 5V 电源上有很多纹波和超过 1V 的高频噪声。我试图过滤这个,但没有太大的成功,随着外壳打开,这些东西似乎来自各处。我现在要尝试一个专用且独立的 LM7805。由于 RPi 的电流产生的热量以及 12 至 5V 的电压降,它必须安装在外壳上。我需要先尝试一下,看看是否可以接受。
今天早上我尝试给电路板一个单独的 5V 电源,带有额外的滤波但没有骰子。可以肯定的是,Raspberry Pi 和 GPSDO 不是一起玩的。RPi 甚至扰乱了 Arduino Nano。看起来这两个阵营是同一个圈子里的死敌。

回到绘图板

我需要找到另一个解决方案。
我认为将 Raspberry Pi 交换到另一个处理器无济于事。一旦你添加了无线功能,我很确定我们会遇到同样的问题。此外,也许GPSDO盒子里根本没有无线发射器爆炸更好。
我不想在计数器代码中添加软件(在汇编程序中,yikes)并使其驱动 OLED 显示器。此外,它不会让我自由地轻松展示我想要的东西。我还需要一个 i2r 库来驱动显示器。我已经决定不往那个方向去了。这意味着我需要从 GPSDO 盒子中移除显示器并将其移动到 RPi 和计数器找到新家的任何地方。
我目前看到的唯一可行的选择是使用另一个外壳并将计数器、显示器和 RPi 放入其中。我正在考虑在 GPSDO 内添加一个小板,仅提供硬件来提供浮动输出。
因为我要使用单独的外壳,所以我需要 GPSDO 的一些输入才能使其正常工作。所需的信号是:计数器的 10MHz 和 1PPS,来自 Nano 的 TxD 和来自 Neo 的 TxD,用于 RPi 监控。
10MHz 和 1PP 可能来自 GPSDO 前面板上的 SMA 或 BNC 输出。我会把这些送到新盒子的前面板上。Nano TxD、RxD 和 Gnd 信号已在 GPSDO 的前面板上提供,但 NEO 信号仅在 GPSDO 外壳内的接头上提供。我想将所有串行连接移到 GPSDO 外壳的背面,并为新外壳做同样的事情,以保持这些电线不碍事并缩短。我正在考虑使用扁平电缆和 2.54 毫米连接器。我还在考虑使用我已经用于 GPSDO 的相同 12V 电源为新机箱供电。这个 12V 来自自制的 UPS,因此即使发生电源故障,一切都将始终开启。

把事情分成两部分

我剥离了大部分载板接线,只留下了绝缘的输出组件。该板现在位于 GPSDO 中,位于顶盖上的预定插槽中。我用胶带覆盖了前面板上的显示器孔,并在 GPSDO 的背面添加了一个 5 针连接器,以将 NEO TxD、RxD 和 Nano Txd 和 Gnd 连接到新外壳。我在当地找到了一个合适的外壳,并订购了其中两个。
新外壳必须是塑料的,才能使无线连接正常工作。因为塑料,我不能使用普通的 7805,因为 RPi 的电流量很大,它需要冷却。我将不得不使用降压开关稳压器。由于需要降压稳压器,我订购的稳压器太小了。我忽略了占用大量房地产的大尺寸安装孔,因此我需要订购更大的安装孔。

GPSDO 的附加板

基本上,这块板是我用于版本 1 的旧板,但我剥离了大部分组件。它现在只有一个叫做“绝缘输出”的部分。如果我要设计一个 PCB,我还会在上面添加风扇控制器。
[更新]
我确实用 PCB 构建了一个新电路,细节进一步下降。
在这里插入图片描述

安装这些修改后,我打开 GPSDO 并让它们重新安定下来。

更新:在玩了几个星期并测试了这个设置之后,我决定暂时放弃使用隔离输出。我正在使用的隔离变压器会吸收大量 10MHz 噪声,并且该噪声在输出连接器上可用。添加到前面板的 SMA 连接器现在直接并联到连接到 BNC 连接器的输出驱动器。添加的 SMA 连接器允许我使用专用电缆为计数器提供 10MHZ 和 1PPS 信号,并让 BNC 连接到我的仪器。

原型的初步结果

我在原型板上构建了第一个原型(见上文),最初致力于让软件启动并运行。然后我将整个装置移动到顶部和我的 Bliley GPSDO 旁边的位置,OLED 显示屏实际上悬挂在自由空气中,并从那时起尝试了一切。在这个版本中,我没有将 10MHz 和 1PPS 信号线中的反相缓冲器连接到计数器。这也意味着计数器在 1PPS 信号的错误边沿触发。
以下是一些结果:
在这里插入图片描述

这只是 M8T NEO 观测卫星数量的每日样本。我已经看到一些下降到 8 点,但大多数情况下,它在 12 点左右非常稳定。我认为有很多好的修复方法。卫星数量减少与我在 GPSDO 的 TIC 和 DAC 报告中看到的像差之间没有相关性。非常有趣的是,连续几个星期的每一天,这张照片看起来都一样,毛刺在完全相同的地方。这一定是由于我上方天空的星座覆盖,因此简单的一次性查看 u-center 不足以确定真正的覆盖范围。

2020-11-15 00:00:09,058信息门10000s计数器10000000.0000
2020-11-15 02:46:53,055信息门10000s计数器10000000.0000
2020-11-15 05:37,049信息门10000s柜台柜台
1000000.0000 2020-11-15 08:20:21,055信息门10000S计数器10000000.0000
2020-11-15 11:07:05,053信息门10000s计数器
10000000.0000
2020-11-15 INFO 门 10000s 计数器 10000000.0000
2020-11-15 19:27:17,054 INFO 门 10000s 计数器 10000000.0000
2020-11-15 22:14:01,061 INFO 门 10000s 计数器 10000000.0000

以上是测量 Bliley GPSDO 的计数器的每日日志,设置为 10,000 秒或 2,77 小时的最大门周期。它只能提供 4 位小数,而 Bliley 是另外 2 位更准确/稳定,见下文。
在这里插入图片描述

如您所见,Trimble 可能会显示其他计数器结果。当 PCB 进入并修改 Trimble GPSDO 以在背板上提供 NEO 串行数据后,我将能够对其进行测试。

计数器/记录器版本 2

对于新的独立计数器和记录器,我剥离并修改了早期的设计,将其变成一个独立的仪器。与此同时,Yannick 和我选择了一个 Counter 版本,该版本现在已经运行了几个星期,拥有我想要的所有花里胡哨的功能。在那个最终版本中,不再支持模式按钮,所以它已经消失了。

关于这个设计有几点需要注意。
由于线性稳压器会产生热量,5V 稳压器应该是开关稳压器。不要填充 C105 输出电容器。我补充说尝试使用 LM7805 但它太热了。

下一个项目是逆变器。该设计适用于 74AC04,因为它是 CMOS,如果您不在 GPSDO 上使用隔离输出,您可以使用电容器来隔离信号的直流分量。74AC04 是一个速度守护进程,这里并不需要它。如果您使用任何其他技术,如 74LS04 或 74ALS04 类型,则不能将串联电容器用于 1PPS 信号,因为信号不会越过 TTL 电平阈值。在这种情况下,用一个小的(我使用 50 欧姆)电阻替换电容器。

对于 10MHZ 和 1PPS 信号,我使用了长度为 15 厘米的现成 SMA 到 u.FL 电缆。如果您没有,或者不想使用微型 SMD 连接器,您可以剪断连接器,拼接电线并将它们直接焊接到 PCB 上。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

通过这种设计,RPi 可以复位计数器并在程序控制下选择栅极周期。我这样做是为了能够在显示屏上显示正确设置的同时控制计数过程的开始。通常情况下,计数器只会在完成后才报告闸门时间和计数器结果。这会让你一无所知,直到发生这种情况。当 RPi 上电或重新启动时,软件知道计数器的正确设置,并且可以在重置计数器使其计数之前将它们发送到显示器。这将允许我显示活动门周期和从一开始就更新计数器之前的剩余时间。

外壳

在订购了两种不同的外壳后,我选择了 Hammond 1593L。它非常小,所以我需要去大部分 SMD 零件以使其完全适合。经过几次设计更改后,我确定了上述原理图,并为其设计了 PCB。

RPi Zero 将安装在带有 2x12 连接器的载板上,因为我有很多。布局是为 2x13 的原始 RPi 连接器制作的。您可能必须从 RPi Zero 正上方的外壳顶盖上移除(我使用锋利的侧切刀)两个安装垫,以便为它腾出更多空间。

我犯了一个愚蠢的布局错误…

我订购了 PCB,当它们进来时,我用零件制造了其中两个。不幸的是,在没有逻辑芯片和插座中的 RPi 的情况下测试配电时,我注意到一个严重的错误。对于 RPi 插座,我使用了很久以前创建的自定义符号和图案版本,用于倒置在 RPi 模型 1、2 或 3 GPIO 连接器顶部的 UPS 板。我设计的连接器符号使用了一个镜像的引脚,因为它应该位于 RPi 的顶部。然而,计数器板的连接器将 RPi 从上方插入载体 PCB,因此是上下颠倒的。所以下排引脚与上排引脚相反,使PCB没用。无赖!

以下是具有正确 RPi 连接的修订版本。
就在(!)将它们送去制造之后,我注意到另一个问题。切换 12VDC 的丝印符号。上面是+,下面是-。因为有保护二极管,所以不会有什么坏处,只是弄错了就没有电了。Github 上的 Gerber 文件将包含这些更正。

请注意,PCB 上 OLED 连接器的连接与显示板上的顺序不匹配。出于布局原因,我交换了 SCL 和 SDA 线。
在这里插入图片描述在这里插入图片描述

Gerber 文件在我的 Github 上。我需要订购五个,并会自己建造两个。一个已经被另一位用户预订了,所以我将再有两个可用,我将以成本 + 邮费出售。使用下面的评论部分来表达您的兴趣。

前面板和后面板

同时,我从事前面板和后面板的设计工作。因为外壳很小,所以没有太多的空间。我使用我的 DipTrace PCB 布局程序设计了可以打印在纸上的精确布局,然后用双面胶带将它们粘贴到塑料面板上,以便钻孔并归档开口。

背板上的矩形用于连接到 GPSDO 的突出串行连接。右侧是 12V DC 的 DC 机箱部分。确保 DC 机箱部件不会在外壳内突出太多,以免接触到 RPi 零。jpg 文件在 Github 上。

使用新 PCB 构建第一个版本

新的 PCB 进来了,我使用坏的 SMD 部件构建了一个版本,并添加了其余的组件。在“安装”显示器时,由于没有安装设施,我在左右两侧使用了小条双面胶带进行固定。
左侧和右侧是用于 10MHz 和 1PPS 信号的 SMA 连接器的孔,中间是 3 毫米计数 LED 孔。我需要移除 LED 正下方的 PCB 的一小部分,让它下沉一点,以便能够将其与前面板上的孔对齐。你不能为 LED 开孔,因为显示屏挡住了。

前两个板现在已经启动并运行,尽管没有显示器。在用双面胶带将显示器固定到前面板时,我不小心弄碎了显示器的玻璃,所以它不再工作了。我后来订购的第二个也不能正常工作,不是所有的水平像素线都工作。我已经订购了两个新的。安装这些脆弱的显示器时要非常小心,它们很容易损坏,因为实际的玻璃基板只有 0.6 毫米,并且连接到传输信号的扁平电缆。

这是用于 Trimble GPSDO 的第一个工作版本的图片。
在这里插入图片描述

我还没有在背板上钻孔,所以直流连接器暂时是浮动的。我很难安装 OLED 显示器,因为它根本没有安装功能。最后我用了一些双面胶带和一些双面泡沫胶带来固定它。您在图片中看到的蓝色泡沫将显示屏压在前面板上。这很丑陋,但它有效。

为了腾出空间,我不得不弯曲 OLED 显示屏上的引脚以将其从 RPi 上移开。我还不得不弯曲 5V DC-DC 稳压器,因为它太高了几毫米。该稳压器的替代方案是使用 R-78E5.0-1.0 或 TSR 1-2450 DC-DC 转换器,它们稍贵一些,但封装较低。
为了给 SMA 连接器腾出更多空间,我用锉刀去除了 PCB 前端的几毫米。根据用于计数操作的 3mm LED,您可能还需要在 PCB 上腾出一些空间。LED 引线必须尽可能平地弯曲。我发现最好将前面板放在 PCB 上,然后将其降低到外壳的插槽中。小心地将显示屏线和两条 SMA 电缆从安装螺柱上移开,这样当您将顶部向下拧紧时它们不会被夹住。

几天来(断断续续)我试图在第二个版本中找到一些问题,连接到 Bliley GPSDO。由于某种奇怪的原因,我无法让 NMEA 日志正常工作。事实证明,这是由于 GPSDO 到计数器板的跳线连接不良造成的。它不适合,所以它掉下来了,很难看到。不是那么难找到并且容易修复。

第二个问题更严重,因为它涉及计数器的日志记录。在我的一生中,我无法让串行监控工作,所以我尝试了一切。恼怒之下,我把设备从GPSDO上拿开,放在我的工作台上,用长电缆将10MHz和1PPS信号连接到设备上。我还用10秒的版本对计数器进行了编程,这使我可以更轻松地调试这个问题。当我用示波器追踪串行信号时,我注意到它没有到达RPi。这是RPi连接器上的一个焊点问题,很容易修复。然而,这并没有解决问题。来自计数器的数字RS-232信号是一个负向信号,它从未低于2V,这意味着GPIO引脚从未见过低电压。我测量了分压器中使用的两个电阻,我曾经为RPi从5V电平到3V3,但它们都正常。由于某种原因,信号被拉起了。然后,我用较小的值替换了串行1K2电阻器,但在它低于1V之前,必须降到100欧姆。甚至连把3K3电阻接地都没用,所以我试了又试,但运气不好。那时我开始怀疑RPi零点,当我用Trimble的那个替换它时,它开始工作了。即使交换SD卡也没什么区别,所以它与软件无关,而是RPi Zero上的一个糟糕的GPIO端口。很有趣,因为所有其他功能都起作用了。我可能已经摧毁了港口,但那将是第一次。我从一开始就与RPi合作,以前从未发生过这种情况。

我遇到的第三个问题是 WiFi 连接,它非常非常慢。例如,通过 PuTTY 登录后,有时需要一分钟左右才能收到提示。有时我根本没有得到任何提示,尽管 RPi 正在运行。我怀疑 WiFi 天线或至少 RPi 的那部分有问题。请记住,这就是我将 RPi Zero 从 GPSDO 外壳中取出的原因,我认为 10MHz 的噪声会是问题所在。它可能一直是一个糟糕的 RPi 零。总而言之,WiFi 在 GPSDO 的金属外壳内无论如何都无法工作,因此目前的方法更好。

我确认 GPIO-23 端口有缺陷。为了继续,我将跟踪切断到 GPIO-23 并将信号移动到 GPIO-27,它现在​​一切正常。
替换零进来了,在重新进行修改后,我安装了它,一切都按预期工作。

RPi Zero-W 问题

很长一段时间以来,我一直被 RPI 的远程连接 (PuTTY) 问题困扰着。连接速度极慢,有时会冻结。很长一段时间后,我开始研究这个问题,幸运的是,找到了解决方案。
以下是解决 RPi Zero-W 问题的步骤:

echo “IPQoS 0X00” | sudo tee -a /etc/ssh/ssh_config > /dev/null && echo “IPQoS 0X00” | sudo tee /etc/ssh/sshd_config > /dev/null

echo "UseDNS=no" | sudo tee -a /etc/ssh/sshd_config > /dev/null

运行这些命令后,您需要通过以下方式重新启动 SSH 服务:

sudo service ssh restart

或重置 RPI:

sudo reboot

关闭 PuTTY 窗口并重新启动另一个会话,或者当您重新启动时,等到 RPi 启动。

现在一切都应该正常且快速。

有了这个,我想我会称之为包装。目前没有什么我想做或需要做的。

包含所有文件的 Github 站点在这里: https://github.com/paulvee/GPSDO-Monitoring

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值