Hackaday.io上的树莓派项目-Nixie 'Display of Things'
收藏
分享
脑图
 Hackaday.io上的树莓派项目-Nixie 'Display of Things'
关于项目
项目描述:我们都爱一点复古, 和尼克斯管是高在真棒规模是老苏联俄罗斯技术, 我们仍然可以得到我们的手套, 使很酷的复古显示。Nixies 的趋势是时钟, 所以让我们不只是这样做 - 让我们这样做和许多其他的事情 - 如显示你的 Facebook 页面喜欢, 地震碎片计数, 目前的湿度, 你上个月在电子产品上的钱...Nixies 将显示数字,而 LCD 将显示显示的内容。Pi2 将运行节目,并充当 Web 服务器,为显示提供配置页面。在我看来,这一切都有点雄心勃勃,但让我们看看我能得到多少远这个项目。
项目图片
6 X IN-14
5 X 霓虹灯灯泡
1 X K155ID1
1 X HV 模块 v1 [PV 电子]
6 X IN-14 管细胞 v2
6 X 2x6 引脚头
6 X 2x6 引脚套接字
6 X MPSA92
1 X 树莓派2
1 X 阿达福伊特佩尔马 - 普罗托帽子
1 X 16x2 液晶显示器
11 X MPSA42
我已经做了几乎所有的原型设计和测试,我认为是可能的,以确保一切都将很好地工作在一起,所以我已经把我的注意力放在让电路设计在条板上布局。我从来没有决定一个特定的电子设计包,我的电路,从来没有做足够的值得投入很多钱购买一个。我最近使用了一个名为[Verodes] 的免费应用程序, 但这是基本的, 相对老的。对于这个项目,我已经转向尝试[Fritzing',我必须说,这是一个相当不错的应用程序。在设计器上有四个视图,按您可能预期要推进项目的顺序排列。它以"欢迎"选项卡开头[对于那些可能需要如何开始指导的人], "面包板"选项卡 [对于那些谁已经做了这个阶段的原型,并想要复制到弗里茨], 一个 '架构' 选项卡, 一个 'PCB' 选项卡 [在那里你可以安排你的组件连接,有弗里蒂德尝试自动路由], 最后有一个 '代码' 选项卡, 你可以写你的代码, 并直接上传到你的 Arduino 或 Picaxe 从弗里茨。
我用黑板对象在面包板编辑器中嘲笑了阿达夫鲁伊特Perma - Proto Pi HAT,并很快意识到我将能够适应这个板比我原来少得多。我确实怀疑我至少要在上面多堆叠一个板, 但似乎这需要更多的堆叠。
事实证明,堆叠的板很好地分为特定的角色。在堆的底部有 Perma-Proto HAT,其中包含 K155ID1 驱动器芯片。顶部头携带 5v、GND、3v3 和 GPIO 信号。底部两个接头按正确的顺序携带阴极引脚 0...9。
在下一个层次上,有用于多路复用的尼克斯和霓虹灯的高压晶体管。此级别 [左下角] 的附加接头为高压晶体管提供 170v 线路,以及 7 个多路复用阳极功率输出。
最后,在顶层有电源处理。12v 和 5v PSU 从这里为 Pi 和 HV 模块提供源。注意: 想想我可以看到这个错误, 我昨晚相当晚 - 毫不奇怪, 有错误!将验证所有这些板的连接, 在弗里茨和物理!此板在左上角有一个额外的母头,这是高压模块将插入的地方。板中心还有一个雄性头,它将连接到 12v 和 5v PSU。
还有霓虹灯和尼克斯人居住的地方。我要么使用功能区电缆,要么只使用一束电线将驱动程序堆栈连接到显示板。尚未决定哪个选项。
请注意,HV 模块、12v 和 5v PSU 以及 Nixie 板未显示在这些图片中,但会插入条板上的标题。
是时候咬紧牙关,继续这个项目的关键阶段:将树莓派的3.3v逻辑与170v电源连接在一起,以便在这个项目中首次正式驱动几个Nixie管。第一步是为高压模块和 Pi 供电,并测试万用表。为此,我使用我通常的12v PSU和下台到5v使用BP5275-50。
在面包板上的组件定位上有点头疼之后, 我设法获得足够的连接来测试四个 Nixies 。
轻微的问题, 我没有注意到, 直到想到电路的第二天 (而工作) 是, 我已经有线的K155ID1的 Vcc 到 5v, 而不是 3v3 。上帝知道会发生什么 - 可能是蓝烟。哦!这里是更正的原型...(从 5v 导轨移除跳线到 K155ID1,将跳线从 T-科布勒 3v3 添加到另一个电源轨,将跳线从 3v3 导轨添加到 K155ID1)。
我已经隐藏起来, 烧了午夜油, 以完成一个尼克斯地铁司机库, 我很满意。正如前面在测试尼克斯管库中提到的,我最终得到了组成库模型的三个类。它们被命名为"NixieTube","NixieDriver"和"NixieDisplay"。我希望写得足够好, 值得 "模型 -视图 - 控制 " 的概念。
我在每个类(现在)中都写了足够的篇,使其在这个特定的应用程序中可用,但我可以编写更多的函数,使库更加完整和灵活。NixieTube 和 NixieDriver 类都有 "runblock()" 函数和 "回调()" 函数指针。
运行块 ()
此函数名称的原因是,它必须在程序的生存期内尽可能频繁地调用,当调用它将"阻止"[睡眠]线程一次或多次,以计时各种操作。它会更新对象的状态,因此在 NixieTube 的情况下,它会将管状态设置为"开",等待一段时间,然后设置管状态"关闭"。我原本计划避免使用"阻塞"[睡眠呼叫]来支持"非阻塞"[不睡觉],在那里我会存储一个偏移量,以完成下一次需要执行特定操作的时间,并使用 if 语句来跟踪时间表。这原来是 CPU 占用(100% 在 CPU 内核上),功耗高,在 Linux 等线程操作系统上播放不好。我似乎太习惯了微控制器!另一方面,替代的"阻塞"方法通常使用 3.5% 的 CPU 内核。更高效、更友好。
回调() 函数指针
此 Drivier 库是专门"模型",不关心"视图"或"控制"详细信息。模型执行的所有操作都指示已发生操作,而这在一定程度上是"回调()"函数指针发挥作用的地方。我实现中的"回调()"函数模式是异步的,因此它也充当事件处理程序。对于我的测试(可能还有我在这个项目中的最终版本),我仅通过 NixieDriver 的 setOnCallback() 和 setOffCallback() 设置器函数分配一个函数。这已经足够我目前需要做的事情了,并且可以通过调用单独的函数来为"开"和"关"进行稍微优化,以节省不必要的轮询某些 GPIO 引脚。我们拭目以待。
驱动程序线程()
由于我已采取"阻塞"路由执行计时操作,因此库可能会导致应用程序的其他方面出现计时问题。为了解决此问题,我设计了库,以便 NixieDriver 的"runBlock()"函数在主应用程序的另一个线程上运行。线程创建和操作在 NixieDisplay 类中通过驱动程序线程() 和 startThread() 进行处理。
每个经常开发和实验像树莓派这样的板的人,都会有自己的工作方法。由于我更喜欢使用我的主PC显示器和键盘,我倾向于运行树莓派'无头'所有的时间,并远程访问它通过我的家庭局域网。如果你不知道我所说的无头,这意味着没有键盘,鼠标或显示器附加。此配置中所需的唯一连接是电源和网络。我使用 Windows 作为我主电脑上的首选操作系统,因此以下所有软件都特别基于 Windows。
关于这个项目,我意识到的一件事是,目前没有迹象表明值是负数。Nixies 的流行用途是制作时钟, 所以这种指标没有用。一个快速搜索发现我三个免费的尼克斯美女 - IN-19A,IN-19B和IN-19V。 IN-19V 将是最用于值指示的,因为它具有所有通用符号。其他是额外的科学指标, 我很想得到很多。这些都是视觉和尺寸兼容我的 IN-14 管。
我现在不确定现有的高压模块能否为额外的管子提供足够的电流。
我要使用的尼克斯驱动程序 IC 是 K155ID1, 这是 SN74141 的俄罗斯克隆。
使用良好的 ol ' Google, 我发现了很多旧的数据表, 帮助我找出 (希望!结合我在早期日志中完成的研究 [找出 Nixie 电路],我拼凑了一个电路来检查逻辑电平信号和高压开关。通过一些测试和修改从建议的原理图,如R24...R29最初显示为0R并更换了10M,我使用MPSA42、MPSA92、BP5275-50、K155ID1、小滤波器电容器、电阻器和跳线拼凑了一小块。 我使用 12v 电源, 5v 稳压器给了我一个 5v 逻辑电平信号, 这已经足够测试了。我在逻辑输入上测试了二进制数字的组合,并探究了"活"电压的适当高压阴极引脚。请注意,从 5v 稳压器到 T-科布勒 Plus 的一对跳线目前没有任何操作。我想给你看一张我相当繁忙的办公桌的视图 - 从左到右的显示器显示 K155ID1 数据表 [监视器 1],例如 Nixie 电路 [监视器 1],MPSA42 和 92 数据表 [监视器 2],最重要的是,来自汽车趋势 YouTube 频道 [监视器 3] 的"道路杀伤"插曲。办公桌上的关键物品从左到右:一品脱美味的真啤酒*,六个 IN-14 尼克斯,罗技 G15,面包板与测试电路,万用表,板与巧克力。
这些测试并不像尼克斯那样复杂。它最终是一个同时连接所有霓虹灯灯泡的过程,每个灯泡都有一个电阻器。这确保了灯泡不为电压而战,并防止任何可能的电阻过载。
很高兴看到所有的灯泡都工作...嗯。。。发光的霓虹灯善良。

评论

0 / 100
查看更多
1503881740
2020-08-28
710
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号