本文为版权内容,文章内容(包括但不限于文字、图片、声音、录像、图表、软件、程序)未经版权人书面许可,任何人不得引用、复制、转载、摘编或以其他任何方式非法使用。
Copyright material!
All material on this page is copyright of ZhangFeng(zjjszhangf@gmail.com) unless otherwise acknowledged. Duplication or sale of all or any part of it is not permitted.
作者:张锋 (zjjszhangf@gmail.com)
备注:由于是手机拍摄,部分画面稍嫌模糊;视频开始部分屏幕亮度看起来稍低是因拍摄需要,四周总共有450W的照明灯照明,视频尾部则为在正常100W白炽灯下的显示效果。
本文将通过实际的设计原理说明与制作过程讲解,为读者展示如何在业余条件下完成一个通用的VFD显示模块的设计与制作过程。由于相关的电路细节原理已经在前几期的文章中说明过了,所以此文的重点将放在如何在在业余条件下基由散件焊接制作出一个Arduino可驱动的通用VFD显示模块,取代通常所用的LED多数字模块,获得优异的显示效果。
制作特点
1、 使用大尺寸的优质VFD显示屏,屏幕包含9位带小数点、逗号及下指针的标准8字笔段结构字符,通用性强,可以取代大部分LED数字显示屏模块;
2、 使用无变压器的驱动电路,板上电路独立完交流灯丝电压与负高压驱动阳极与栅极,符合VFD屏驱动规范,显示效果优良无闪烁;
3、 全板采用全贴片零件制作,所有零件全部藏于显示屏下方机,实现了超薄外观;
4、 模块主设计使用单片机驱动方案,板上自带的单片机不仅可以完成各驱动功能,同时也具备了模块自检功能,可在无外部单片机驱动的情况下,自主完成自检显示;
5、 程序已经预写入单片机内,用户无需配备专用的写入器设备。模块制作容易,调试简单,仅需配备普通万用表即可,适合初级电子爱好者自制;
6、 公开源码的Arduino驱动程序,仅需添加几行应用代码即可实现显示,显示过程中不消耗单片机资源,简单易用;源码使用纯C语言编写,移植简单,完全可支持51、STM等单片机;
7、 所有接口引线全部通过插针引出,可选择单排针或双排针连接方式。模块与单片机的接口引线仅3根,节约单片机I/O口资源;
屏幕电气参数
由于没有找到官方说明文档,在参考同厂家近似尺寸屏幕规格的基础上,加上实际的测试,最后确定屏幕相关参数为:灯丝为交流驱动,驱动电压范围为2.8Vac~3.5Vac,推荐驱动电压为3.2Vac,灯丝典型电流130mA;阳极与栅极高压电压相同,推荐电压值为+24.0V,最大值为+28.0V;阳极与栅极截止电压相同,参考值为-4.5V。
从以上基本参数来看,此屏的驱动难度与前期的FUTABA 10-MT-20GY类似,如果使用5V电压供电,很容易驱动此规格的显示屏,相关技术细节这里就不再进行重复说明。
模块的焊接与组装
在模块的设计过程中,除插针及屏幕外,所选用的所有零件全部是贴片零件,主要还是考虑到贴片零件价格低廉,而且品质优异,可靠性高。同时照顾到实际的业余制作爱好者的制作水平有差异,其中的大部分电阻电容都选择了0805封装,三极管部分则选择了SOT-23封装,二极管选择了SOD123封装。这些封装尺寸均属于适中尺寸,也是业余爱好者由直插元件进入贴片元件世界所必须掌握的入门级的元件尺寸。
元件中集成电路部分主要是LQFP44封装的PT6312与SSOP20封装的STM8S103单片机,还可能包含可选的SOT23-5封装的LT1931负压转换芯片。电阻部分为0805封装的5%精度电阻,电阻编带背面都贴有实际阻值数据,实际电阻正面都印刷有对应的数值标记,如103则代表的是10*10^3=10K阻值的电阻,所以0805电阻可先拆包成单独元件,不会弄混;电容大部分为0805贴片电容,由于电容上没有对应标记,而且部分电容的尺寸也基本相同,所以最好等到需要焊接时才按焊接顺序拆开,而不建议一次性拆开,容易混在一起。还有一个大的黄色的电容是100uF的钽电容,特别注意电容上画有横线标记的一端代表的是正极,不要弄错,否则错误的级性通电后会立即损坏钽电容。元件内还包含一些二极管零件,为了便于区分二极管的型号,在元件的选型上选择了方型封装的二极管,这样的管子表面有对应的型号值,便于区分。
如果零件清点无误,即可开始准备进入焊接过程。在焊接前,先说明一下需要准备的基本工具。焊接这一套件一般推荐使用的是可调温的防静电电焊台配合一只小尺寸的烙铁头,本制作说明使用的是C型或CF型的马蹄烙铁头,尺寸选择直径2mm~3mm之间均可。热风枪是可选件,主要是方便快速焊接与拆焊。助焊剂一般推荐使用松香,它的优点是易购,效果好,而且使用无水酒精即可清洗,比较方便。如果是初学者焊接,焊锡推荐使用优质的有铅焊锡,最好是直径0.3-0.5mm左右的内带助焊剂的焊锡丝。有铅焊锡丝所需的焊接温度比较低,不容易造成PCB焊盘的损坏,也不容易损坏零件。当然,如果你有焊接经验,相关设备材料等齐全,则会极大地提高拆焊效率。同时象一些镊子之类的辅助件这里就不再一一列举说明。
先来看一下模块上的几个组成部分,模块上按照功能主要分成三个大部分,第一部分是电源部分,位于PCB左侧,主要由过流保护,供电防反接以及滤波电容组成;第二部分是单片机部分,位于PCB中间,左右两侧是配套的灯丝电压与高压生成部分;第三部分是PT6312组成的VFD驱动芯片部分;下面将分别按照以上分类逐块焊接调试对应模块。
焊接前推荐先使用高温茶色胶布将VFD安装过孔等部分先保护起来,避免这些过孔在焊接过程中被焊锡堵住。焊接时最好使用焊接台架将PCB夹住焊接,一般廉价的焊接台架都由焊接支架上的鳄鱼夹夹持PCB,为了防止鳄鱼夹损坏PCB的阻焊层,推荐使用热缩管先将鳄鱼夹齿口部分包起来或者在PCB夹持位置贴保护胶带。
首先焊接的是电源输入部分,先焊接输入排针。本模块设计了两组可选的又设计在一起的排针位,可以根据需要进行选择,这里使用的是单排6针连接方式,也 可根据实际需要选择2*3Pin双排针连接方式,或者使用两组单排针全焊接上所有插孔,同时提供兼容两种连接方式。排针属直插零件,比较好焊接,使用的也是基础的焊接技术:先将排针从PCB背面插到位,可以使用胶纸等简单固定,然后先使用烙铁头加热焊盘与插针的一侧,同时伸入焊锡丝到烙铁头与焊盘接触位的中间,待焊锡丝熔化后,随着焊锡的熔化,逐渐移动焊锡丝到焊盘的另一侧,待整个焊盘都有焊锡后,沿斜上45度方向移开烙铁头,并等待焊锡冷却凝固后即可。如果上锡过多,可清洁烙铁头后,沾一些松香助焊剂,然后再次熔化焊盘焊锡后移开烙铁,即可可带走部分多余焊锡。一般情况下建议焊接一次到位,不要对同一个焊点进行多次焊接。
接着需要焊接的是1206自恢复保险丝与SOT23-3封装的MOSFET。贴片保险丝在焊接前先使用烙铁沾锡给其中一个焊盘先上锡,然后在使用烙铁熔化此焊盘焊锡的同时,使用镊子将贴片保险丝移动到位,这样待焊锡冷却后,一只焊盘即焊接完毕。另外一只焊盘就可以使用烙铁加热焊盘,同时伸入焊锡丝的方法完成焊接。
对于SOT23-3的封装也是使用同样的技巧,先在中间引脚的焊盘上上锡,待焊锡溶解后,用镊子将零件摆放到位,然后移开烙铁,继续保持镊子固定零件,直 到焊锡冷却,最后再焊另外一侧的两只引脚。这些是基本的贴片零件焊接技巧,0805的电阻与电容也是采用同样的焊接技巧,一般情况下,只要训练几次即可掌握。
如果有热风枪,焊接速度会提高很多,一般的情况下,可以先将所有焊盘都预先上锡,然后使用热风枪吹熔对应焊盘的焊锡,待焊锡溶解后,用镊子将零件摆放到位,一次即可焊接完零件的所有引脚,而且与烙铁不同,热风枪也可以同时用于零件的拆焊,吹熔零件的所有焊盘后,用镊子或者吸盘直接取下零件即可。所以一般焊接贴片零件比较多的情况下,推荐配备一台热风枪以提高作业焊接效率。
电源部分还包含一颗大的黄色钽电容,再次提醒一下,电容方向不要焊接错了,否则加电后会立即损坏此电容。焊接完成后检查一下各焊接点,如果没有问题,可先用万用表测试电源输入引脚位置处看是否有短路的问题,如果没有,则可加电检测,正常情况下,加电后,可在钽电容两端检测到输入的电压。这部分电路比较简单,不需要调试。
电源部分没有问题后,接着焊接单片机部分,单片机是SSOP20封装的,引脚比较小,但是焊接起来的难度不会很高,不用担心。首先焊接前应该先检查单片机的引脚是否有弯曲的现象,有的话,先使用尖头镊子调整到正确位置。一般情况下,只要包装完好,极少出现单片机引脚歪斜的问题。然后使用茶色耐高温胶带先将单片机贴在PCB对应位置,请特别注意单片机的安装方向不要弄错了。在将胶带贴到PCB之前,先确保引脚与焊盘的完全对齐。由于是胶带粘贴,所以可以多次调整,直到完全对齐为止。确保对齐后就可以进入焊接过程。焊接时,建议先使用烙铁头带一些松香先给引脚部分上一些助焊接剂,实际也可以使用酒精松香溶液,不过一些茶色高温胶带在酒精的浸泡下,黏性会降低,容易脱落。上完助焊剂,可使用烙铁头带焊锡的方法,逐渐拖过所有焊盘,使焊盘都均匀上焊锡,也可以使用先将细焊锡丝摆在引脚上,然后使用烙铁逐渐熔化的方法进行焊接。这个过程中,必然会出现引脚焊锡粘连的情况,先不要去管它,待两面引脚都确定焊接完成后,再进行焊锡清理的工作。清理粘连焊锡的方法主要有两种,一种是对于少量的粘连焊锡,可先清洁烙铁头后,然后沾少量松香,重新熔化粘连部分的焊锡,然后向外移动烙铁头,即可带走多余的焊锡,对于粘连较多的情况,则推荐使用吸锡带吸走多余焊锡。应该特别注意的是,吸锡带在使用时,千万不要使用烙铁头压拖着吸锡带前进,容易损坏引脚与焊盘。清洁工作完成后,使用棉棒沾酒精清洗后,使用带灯放大镜仔细检查引脚情况,如无问题,可进入下一部焊接工作。
单片机部分的其他零件还包含单片机基础工作所需要的一些电容零件与排放在单片机右侧的灯丝及左侧的高压组件,先焊接单片机上方的一些电容零件以确保单片机可以正常工作,然后将灯丝与高压部分分开进行调试。
一般推荐先焊接右侧的灯丝部分电路,此部分电路主要由0805的电阻、电容以及Mosfet三极管组成,这些零件的焊接技巧请参考上文相关部分,这里就不再重复说明。灯丝驱动部分焊接完成后,可进行加电测试。加电后应用手摸一下4只Mosfet管有无明显发热,如果有,则应立即断电后进行检查。通常情况下,由于灯丝电压输出的是高频交流电,无法直接使用普通的万用表测量,一般推荐使用示波器观察。在没有示波器的业余条件下,可以将显示屏幕的灯丝通过公母杜邦插针连接到PCB的灯丝输出两端,通电后观察屏幕灯丝情况。正常情况下,如果灯丝电压输出正确,屏幕灯丝应处于在暗处显示微红的状态,此时表明灯丝工作正常。
完成灯丝部分的焊接工作后,即可焊接高压生成部分,高压生成部分包含一个可选的LT负压生成芯片,这里不使用此芯片,对应焊接位置空出不要焊接,而需要将此部分电路中的跳线的左侧短焊。这部分电路也是常规零件,需要特别注意的是由于双二极管BAV99也是SOT23封装,所以不要跟Mosfet弄混了,高压部分的电容对耐压是有要求的,应该选择耐压50V的电容。电感部分的焊接必须特别注意位置对齐,由于考虑到电感的通用性,PCB上布置的焊盘是3*3~5*5尺寸全兼容的电感焊盘,在使用底焊盘的电感时,必须注意焊接技巧,推荐使用烙铁焊接时将电感摆成45度角焊接,而且一定要确保电感的位置处于正中。业余情况下建议是焊接对应电感的两个侧面引线连出侧焊盘,这样比较好焊接。此部分电路应先焊接电感,焊完后用万用表测量一下电感两端,确保无短路后继续焊接其他零件。
焊接完成此部分电路后即可进行通电测试,同样建议将手指放在Mosfet上,以确保无过热问题。然后使用万用表测量输出电容两端的电压(新版的PCB上专门引出了一个-HV的测试焊盘,可直接测量),判断负高压是否正确输出,正常情况下,可测得20V以上的高压,输出电压应比较稳定,不应出现大幅摆动现象。
电压部分电路焊接完成后,即可焊接本模块的最后一部分,即VFD驱动芯片部分,这部分的主要零件就是的PT6312,这是一个LQFP44封装的集成电路,同样的原理,先按照正确的方向,使用茶色胶带将芯片贴到PCB上,对齐焊脚后再进行焊接。这里再提示一个技巧,就是在焊接引脚时,如果能够确保印刷板沿焊接烙铁头移动方向保持一定角度的倾斜,则在烙铁头拖焊过各引脚时,由于重力的作用,多余的焊锡会随着烙铁头一起移动,而不会停留在引脚之间,这样不容易造成引脚焊锡粘连,而且如果你使用的是侧面也带焊接面的C型烙铁头,还可以在烙铁头的侧面进行补锡,不需要将锡丝深入到引脚上。这一技巧需要实践一定次数才可以掌握。不过一旦掌握,焊接效率会有极大的提高。
下面提供的是PT6312引脚焊接完成后的图片,正确的焊接结果是引脚的正面、后侧面都有适量的焊锡与焊盘接触,方可确保焊接完美。
焊接完所有零件后,先不用焊接显示屏引脚,建议先进行通电自检测试。可将显示屏引脚插入焊接孔内,向下斜压屏幕,确保屏幕引脚与安装孔内壁紧密接触,然后可加电并进入自检模式。进入自检模式的判断原理是在上电后单片机会判断test引脚是否对地短接,如果经常需要自检功能,可在test插孔上焊接2.0的排针,并且配套2.0的短路帽。而在通常情况下,可简单使用导电的金属镊子简单短路test座,然后上电即可,自检过程中则不需要保持test插孔短接状态。自检过程将循环显示VFD的各个显示笔段、文字、亮度调整以及版本信息等,直至断电为止。自检功能在使用上非常方便,无论是在模块焊接调试阶段还是在成品应用阶段,都可以使用模块自检功能来判断模块的好坏。在模块自检过程中应尽量确保断开外部的数据连接,确保自检过程的正常进行。
在自检工作正常,板上无零件发热,即可确定板子焊接正常,现在在不焊接显示屏的情况下,可进入清洗过程。清洗过程的主要目的是洗掉板上的对于的松香及焊接残留物,通常使用无水酒精或洗板水清洁,业余条件下一般推荐使用无水酒精比较安全,可使用一次性茶杯配合一次性牙刷将板放入后进行刷洗。一般使用松香作为助焊剂的PCB分两次用酒精清洗即可确保清洁。这里先清洗一次,待酒精挥发后,即可正式焊上屏幕引脚。焊接完成后剪去多余引脚部分,再次进行自检测试,并确认无问题后,焊接工作即告完成。然后再使用干净的酒精对引脚部分的松香及全板电路再次进行清洗即可。对于包含VFD屏的模块应避免使用超声波清洗机进行清洗,以防灯丝断路。
模块的应用
模块制作完成后即可进入应用阶段,这里将使用外部Arduino模块进行试应用。首先可以先实测一下模块的耗电参数。在标准5V供电的情况下,视实际显示笔段的数量多少,本模块的正常工作电流范围大约为100mA~150mA,这一电量需求完全可以直接由Arduino主板直接供电。如果实际测试发现电流过高,则应仔细检查线路及所使用的零件质量。同时,当模块EN引脚为低电平时,模块将关闭灯丝电压与高压生成部分的电路,进入节电模式,此时PT6312内的数据依旧保存,单片机依旧正常工作,但模块的工作电流将降低为7mA左右。特别值得注意的是,当由节电模式切换回正常工作模式时,由于灯丝加热需要一段时间,所以屏幕不会立即恢复正常显示,而是有一个逐渐增亮的过程,大约1~2秒钟后才能够恢复正常亮度状态。在应用过程中,考虑到灯丝寿命,不建议在短时间内频繁开启与关闭灯丝电压。
模块数据连接线只有三根,分别是DIN、CLK、STB,其中DIN为数据线、CLK为时钟线、STB为锁存线,EN线可选,正常使用中一般只需要连接以上三根数据线即可。
配套的附录文件中已经包含了编写好的ARDUINO的相关代码,用户只需要使用2根电源与3根数据公母杜邦线与模块连接即可,默认程序定义的数据线连接到ARDUINO模块的PIN11、PIN12、PIN13,如需改变线路连接,在代码的最上方的宏定义位置处直接修改即可。
默认的源码应用库中包含高级应用函数与底层接口函数,用户可使用与printf("...")兼容的格式直接向屏幕输出显示数据,使用起来非常简单。例如想在屏幕上显示数字“12.89”,直接在main()内调用PT6312_printf("12.89");即可,也可以支持类似PT6312_printf("%04d-%02d", x, y);这样的变量型输出。默认的测试程序运行后将在VFD屏幕上显示一个带小数点的循环累加变换的一个变量的秒表效果。由于应用库直接使用纯C编写,代码简单易懂,可以很轻松地Port到其他单片机平台。
使用滤色片
为了改善VFD显示屏单调的绿色显示效果,专门为此模块定制了同尺寸的彩色滤色片,常用的是蓝色滤色片。安装滤色片的方法有很多,通常建议使用薄型的PET全透明双面胶带剪成小片贴于屏幕表面四角进行固定。经过滤色片的过滤,VFD显示的颜色由原先的亮绿色变了天空蓝,亮度衰减小,视觉上感觉更加舒适。与通常制作中使用的透明有色亚克力相比,使用滤色片的优点更多:如滤色片的成本低、厚度只有零点几毫米,不增加组件厚度,不仅可以提供颜色过滤效果,同时对屏幕的显示亮度无明显的衰减,而有色透明亚克力通常规格都有2mm或以上的厚度,成本也高,透光性较低,会显著降低屏幕亮度,实际无法与专用滤色片相比;
对于有条件的用户也可尝试使用其他颜色的滤色片,通常除了蓝色滤色片外,还有几种比较实用的滤色片颜色可以推荐,例如是酒红色滤色片滤成白色、黄绿色滤色片过滤成草绿色、暗粉色滤色片过滤成紫色、淡兰色过滤成蓝绿色,可根据实际需要进行选择。
设计外壳
实际对本制作有兴趣的读者,还可以考虑如何为此模块设计配套的外壳,不仅可以起到保护作用,也可使整个模块的外观更漂亮。本文配套的数据内提供了一个基础的亚克力外壳设计,外壳由上下面板以及左右与前后两侧的边板构成,这些零件可以在亚克力板上切割出零件后再使用M2的螺丝进行组合。设计文件为CorelDraw的CDR格式,可以直接发给亚克力店家进行激光切割。
制作总结
本制作是本人经过两个多月的努力,三个版本的改进后设计出的一个基于STM8及可选LT专用负压芯片驱动的通用VFD显示屏模块的电路,目前已经通过了全部基础测试,所有的性能都达到预期目标。新型电路的优点在于可在无变压器的情况下,可制作出尺寸小巧超薄的VFD应用模块,全板使用全表贴零件全可藏于显示屏下方,模块电能高效转换,数据接口简单易用,足以满足业余爱好者的应用需求。
希望电子爱好者在独立制作这一模块的过程中能够充分掌握贴片零件的业余焊接技巧,并在完成这一模块后,能够成功地应用到各自的领域,开发出属自己的精彩应用。本文相关软件、硬件资料及后期开发进度,请关注本人的电子DIY博客——http://vfdclock.jimdo.com。
全文完
关于V1.2套件备注事项
V1.2版本的PCB的一个改进是最表层文字只印刷了所有零件的名称,而没有印刷零件的摆放位置,主要是依据前几次制板的经验,考虑到文字部分的容易因厂家出现的印刷对位不准确而导致线条油墨被印刷到焊盘上,造成部分焊盘上锡不完全,易产生焊接问题,所以干脆取消了PLACE层的印刷输出。但是实际制作不受影响,因为本制作的零件构成并不复杂,而且套件内包含放大到A4尺寸的零件装配图,详细标注了零件在PCB上的安装位置、方向以及各零件的型号,建议在焊接时将此图摆放在适当位置方便对照参考。
外部插针为2.54间距规格,可选1*6Pin规格或2*3Pin规格,由于单排针太常见,大部分爱好者自己手头都有,所以默认套件内包含的是环保真金的2*3Pin一体成型双排针,如果需单排针连接的请自备插针。
本模块支持5V或3.3V电压驱动,如需制作成5V模块,请短接板上5V-Jmp跳线,如需制作成3V3模块,则保持5V-Jmp跳线开路即可,同时PT6312对应的振荡电阻需要根据工作电压的不同而焊接不同的电阻,其中5V工作条件下焊接51K电阻,3.3V工作条件下焊接33K电阻,这两种规格的电阻都包含在套件内。应当特别注意的是,默认模块的所有参数都是基于5V输入电压设计的,如想在3V3下稳定工作,请一定选择使用LT负压升压电路进行负压升压的套件,否则无法保证在3V3电压下屏幕的亮度。
在实际焊接前,可先在桌面上平铺一张白纸,将元件倒在白纸上,进行简单的分类,由于贴片零件尺寸比较小,很容易遗失,所以必须仔细检查。套件内的大部分零件都有标记,不易弄混。在没有焊接元件前,一般不建议要将所有元件直接从编带中预先拆出,特别是0805贴片电容都无标记。当然,如果不小心混在了一起,也不必过分担心,因为本套件内0805电容只使用到了三种规格,它们在高度与颜色上都有明显差异,很容易分辨出来:高度最低的为100nF电容,高的颜色亮棕色的为1uF/50V,高的暗棕色的为10uF/10V电容,很好区分。
焊接PCB最容易出现的问题就是初学者技术不佳,反复地焊接同一区域,造成的后果一般是PCB焊盘损坏,或因焊接温度过高损坏零件,这一问题的解决方法是更换恒温效果较好的电焊台,使用有铅焊锡在低温下焊接,有条件的推荐使用超低温焊锡,超低温焊锡中包含Sn、Pb、Bi、Cd等金属,可以在145℃甚至更低的温度下焊接,可大大避免出现焊接过热损坏的问题。
另一个常见的问题是集成电路部分的焊接未进行防静电处理,例如用手直接拿零件或者未使用专用的防静电烙铁进行焊接,对于这样的情况,推荐在焊接时,推荐使用零件吸盘或者防静电镊子拾取IC,对于无防静电保护的烙铁则建议先加热到焊接温度后直接拔除烙铁电源后再进行焊接。
ARDUINO驱动代码简单说明:
程序测试环境为Arduino UNO,用来驱动INRC09SS49T VFD显示模块;接上3根IO线到模块对应引脚,并且提供5V/3V3供电后,即可运行。默认的线路连接为:
DIN_PIN 连接到Arduino的11脚;
CLK_PIN 连接到Arduino的12脚;
STB_PIN 连接到Arduino的13脚;
程序运行后,正常情况下前1秒将在屏幕上全屏显示[1.2,3;4.5,6;7.8,9;];然后进行一个循环显示的秒表效果的计数过程,当小数点后进位后,下箭头指示将会向前循环移动一位;
默认使用的是慢速的IO版,如果切换为高速IO代码,数据传送速度会加快很多倍。具体代码参见程序的宏定义部分。
更多配套数据将在整理后继续上传...
Write a comment
pojen (Wednesday, 08 May 2013 22:49)
i am interested in your concept.
could you give me your source code for ST8S103F
my e-mail:pojen.2010@gmail.com
thanks