B-5750辉光管时钟(一)

最近又开始折腾辉光管,简单记录一下

首先呢有辉光管就要有升压,而我不想升压模块上受制于人。假设我采用了一个升压模块,过了几年我想复刻一下,发现那个模块停产了,我还得改封装重做,就很恼火,所以想直接在板上集成,不要用模块。

而之前我一直在折腾MAX668的升压,折腾好久,668也换过了mos也换过了变压器也换过了,就是不出电压,至今仍未搞明白到底为啥。。。明明就这几个元件,请大佬也看过原理图和pcb了,就是不行,解决不了升压就没法进行后续的工作。

就在我以此为借口摸鱼逃避的时候,群里大佬目视逆向了淘宝上一款打磨了的升压模块。我当即根据手册画板,买了俩模块回来,直接搬板,很好能用。根据逆向测量的元件参数再焊一个,很好也能用,自此解决了升压模块的问题。不过逆向人家模块总感觉怪不道德的,就不说出具体主控型号了。

解决了升压,下一步是控制方式,以前画的板一直是用595加A42,这次改用HV5523,也是串转并,但是耐高压,可以直接连辉光管。主控用之前做外包项目淘汰的STM32G030。管子用针座插在顶板上,方便更换,其他元件在底板上,两块板之间用板对板连接器连接。第一版设计用的是手头现成的1.27间距2*4pin排针排母。

选型完成了接下来画板

————过程省略————

总之拿到板子之后开始写5523的驱动,此时发现给5523喂数据没有反应,脚位表也不太对,然后意识到没有指示灯都没法看运行状态,管座板上也没留测试点,看不了信号到底有没有发出来。而且升压芯片的使能没有引出,没法控制升压开关,有时候不需要点亮就只能关总电源。

遂重画改版,连接器改成专门的BTB连接器,增加了测试点和三个指示灯。

一通操作之后管子能亮了,但是脚位表不对。于是又开始试脚位表,折腾半天最后发现给5523数据的第一位是PIN32,然后我程序里又多了一个-1,为了解决之前的5523引脚从1开始的问题。去掉之后能够正常显示了。

接下来又出现了很诡异的问题,修改主程序中的延时时长会导致无法显示。在面向群友debug之后,认为应该是sprintf和strcpy有问题。由于其中一个缓存字符串的数组长度正好等于字符串长度,结尾没有地方放0来标记字符串结尾,从而导致strcpy的时候发生越界造成hardfault。更改缓存数组长度之后也解决了。

下一步是完成RX8025T的驱动程序,等下一次更新吧。