可远程控制型嵌入式喷码机系统的设计与开发
2023-09-19郭坦罗晓曙
郭坦,罗晓曙
(广西师范大学电子工程学院,广西桂林 541000)
社会生活水平的快速提升使得人们对食用及医用产品的质量极为注重,在甄别日常用品的是否安全时,产品包装的各种标识尤为关键。为了使产品易于追溯,喷码机喷印技术在现代工业生产中充当着重要地位。更快、更好的喷印质量和更低的生产成本成为喷墨打印机系统发展的主要要求。目前市场上应用于流水线生产的喷码机体型较大,系统构造复杂,而且大多喷码机设备都是采用8/16 位单片机或ARM 单系统控制,其功能较单一[1-2]、喷印速度受限、出现问题时维修困难且维护成本高[3]。最主要的不足是,现有喷码机设备无法进行远程控制,在企业生产中每使用一台喷码机都需要配备人工实时进行操作,生产的智能化程度不够,增加了人力成本,不能更好地满足现代喷码机高效生产的需求[4]。
据调研,为促进国内喷码机制造技术的快速发展,实现企业生产制造智能化[5],近年来已有众多研究者投入喷码机的研发,诸如文献[6]中提出了一种基于ARM+CPLD 硬件平台的高解析嵌入式喷码机系统,依靠CPLD 实现对外围IO 的扩展,但该数控系统设计方法比较传统化,系统功能简单,扩展性受限;文献[7]中将嵌入式ARM9 技术应用在WINCE6.0系统中,通过采用独立供电方式,设计出一种抗电磁干扰的电源电路,该设计方法虽然有效避免了电磁干扰,但该方案需要用到36、12、5、3.3 V 至少四种不同电源进行供电,不但增加了功耗,同时增大了开发成本。笔者调研发现目前对具有远程控制的喷码机研发还鲜见报道,市场上也未见相关产品。因此研究提出了一种新型可远程控制的连续型小字符嵌入式喷码机系统。使用三星公司ARM9 系列的Exynos4412 主处理器,搭配下位机STM32F103RCT6为辅控制器,控制器扩展外围IO 设备,然后设计了ARM9 控制器运行操作系统实现远程控制。同时设计了电源电路,开发了喷头控制电路以及相位检测电路。在软件系统开发方面,搭建Ubuntu 编译环境,制定出高适配度的Linux 最小运行系统,最后搭建出可远程连接操控的Web 服务器boa[8],开发出可对喷码机系统进行远程控制的操控系统。实现了针对喷码机系统的智能动态控制要求,系统运行稳定,达到了智能控制的目的,具有广泛的应用前景[9]。
1 系统的总体架构
传统嵌入式系统设计过程中,通常采用“硬件优先”的原则,即先硬件后软件的系统设计模式[10]。小字符喷码机系统由硬件和软件两大部分组成。喷码机控制系统由主控制器搭配辅控制器共同组成。主控制器主要搭载运行系统,外连人机交互系统、摄像头模块、网络接口,并外设USB 接口。辅控制器连接墨路系统、旋转电机、升降电机以及传感器等。墨路系统又包含断墨模块、相位检测模块以及高压偏转模块。喷码机系统基本架构如图1 所示。
图1 喷码机系统基本架构
各模块儿功能简述如下:远程管理系统在网络通信条件下通过Web 服务器对喷码机系统进行IP访问,对喷码机进行远程控制,实现喷印等功能;当操作人员在喷码机旁时也可以通过喷码机系统自带的人机交互系统对喷码机进行操作和设置。摄像头与喷头同方向安置,当喷码机处于喷印状态时摄像头与喷头一并工作,自动开启录像功能,对喷印过程进行监测,便于后续喷印质量的检测。传感器实现自动调节喷头的目的,预先设定好喷印的角度和距离,传感器进行实时的检测,当喷印位移偏差大于设定数据时,系统根据传感器上传的实时数据自动调节喷头位置。旋转电机通过处理器反馈的信息对喷头进行相应的调整。通过USB 接口连接计算机,进行日常检修和维护等。断墨模块、相位检测模块以及高压偏转模块实现喷印功能。
2 喷码机系统硬件的设计
喷码机系统的硬件部分主要由电源管理电路、墨滴充电电路、相位检测电路以及高压偏转电路组成[11]。以Samsung ARM Cortex-A9 四核的Exynos 4412芯片作为主控制器,该芯片主频为1.4~1.6 GHz。4412 具有1080p 显示支技的HDMI 接口、ISP、USB 2.0 等所需的良好特性,且内建32 kB 数据/指令一级缓存,1 MB 的二级缓存[12],这些特性在设计喷码机系统时,对外围设备的连接控制和数据传输提供了极佳的硬件支持。芯片内部GPU 采用400MP 四核图形处理器,支持2D/3D 图形加速,因人机交互系统的高清触控屏上进行字符输入和控制时能得到较灵敏反馈,利用该特性开发喷码机的人机交互系统输入及打印输出效果较好。4412 芯片采用最新的32 nm HKMG 先进工艺制程。相比于旧款以及其他芯片45 nm 工艺,该款芯片功耗方面有了明显的降低,即使是四核同等芯片测试下的功耗也比双核的4210低了40%[13],喷码机长期待机状态下的耗能极低,很大程度上降低了企业生产成本。喷码机硬件系统总体框架如图2 所示。
图2 硬件系统的总体框架
2.1 电源电路的设计
该喷码机系统的电源电路采用模块化设计,由于喷码机需长时间运作或处于待机状态,系统工作的环境温度一般较高。为了提高电路的抗电磁干扰能力,降低系统功耗,增加设备集成度使设备体积小巧化智能化,设计出了如图3所示喷码机电源电路。
图3 喷码机电源电路
喷码机供电电路的设计流程:首先,喷码机系统接入220 V 交流电压,经过电源变压器T1 进行初级降压,生成两组大约40 V 的交流低压,再由二极管VD1-VD4 进行桥式整流。为了增强喷码机的稳定性,还需要加上两个47 μF 的电容形成滤波电路,一方面降低输出电压中的脉动成分,另一方面还能保留供电系统所需的直流成分,使输出电压成为比较平滑的直流电压[14]。该电源电路可以产生+24、+12、+5 以及-12 V 四个幅值的输出电压。使用三端稳压器W7812 和W7912 进行稳压输出的±12 V 电压为系统中各类放大器和数模转换器DAC0800 供电;+5 V 电压作为芯片供电电压;+24 V 电压供给交流振荡器作为高压偏转电路的输入电源。
2.2 墨路系统的硬件设计
连续型喷码机最为精密的部分属于墨路系统。墨路系统主要包含四个部分:墨水断墨、墨滴充电、相位检测、高压偏转。分别实现:使墨水流断成墨滴;对墨滴进行充电;对墨滴进行带电量的检测;使墨滴进行位移偏转。
2.2.1 墨滴充电电路的设计
墨滴充电电路的设计首先采用8 位精度的数模转换器DAC0800 将STM32 处理器传送的充电脉冲控制信号转换为模拟信号,利用对DAC 模块输送脉冲控制信号,DAC 模块产生控制充电的交流信号。具体电路设计如图4 所示。DAC0800 是一款高速电流输出型8 位数模转换芯片,其响应时间约为100 ms,相应IO 接口与CMOS、PMOS、TTL 等兼容。VR+输入信号由另一模数转换电路产生,通过STM32 处理器产生不同的数字量实现对充电控制信号的控制。模块DAC0800 选择12 V 电源供电,负极连接电源模块产生的-12 V电压,并与一个10 nF的电容相连至comp 电流互补端,防止输出电压突变。由于DAC0800 转换器输出的模拟交流信号无法直接被驱动执行,因此,在此基础上需外加一个高效低噪音运算放大器NE5534,NE5534 相比于传统TL083 放大器而言,具有更好的噪声性能、更高的外部驱动性能和更高的功率带宽,可以实现对DAC0800 输出的交流信号进行降噪和放大。在NE5534 的8 号输出端口接一个补偿电容降低自激,对输出控制信号进行优化。最终OUT 输出端的交流控制信号并入直流电源再经过放大电路调整为20~280 V 范围的可控墨滴充电电压。
图4 墨滴充电模块电路设计图
2.2.2 相位检测电路的设计
为了确保墨滴充电时刻与墨线分裂相同步,需要对墨滴进行带电量的相位检测。墨滴经过充电极板后是否带有相应所需电荷量,喷码机系统并不能对结果进行判断,此时需要加入墨滴电荷检测装置,该检测装置外观是一个较小的金属头,金属头后面连接信号线,金属头的横截面是光滑的铜芯。检测原理是利用静电感应定律,当墨滴飞过金属头检测极时,横截面就会产生感应电荷,通过信号线将静电感应生成的电荷量传输至CPU,系统通过CPU 的反馈信息自动调节充电极板的控制电压,进行充电量的自适应调整[15]。相位检测电路如图5 所示。
图5 相位检测模块电路设计图
具体地,为防止墨滴带电量突变对电路造成损坏,并联两个二极管D5 和D9,限制集成运放输入端的差模输入电压,不超过两个二极管的导通电压,起到反向输入保护的作用。当带电墨滴从相位检测金属头表面穿过时,金属头表面产生感应电荷,感应电荷量通过连接线传送给LF353 差分运算放大电路进行放大。为防止当输入信号频率升高而造成电容的容抗减小,降低信噪比,该设计在回路中接入电阻R73、R69和R66与微分电路串联,在反馈回路中接入电容C39和C37与微分电路并联,抑制了高频噪声,对相位进行了补偿,提高了电路的稳定性。最后信号经过六路施密特触发反相器74HC14,进行波形整型,使缓慢变化的信号转换为清晰、无颤动的规则变化的数字信号。规则变化的数字信号传至CPU 处理器进行逐级调整相位余裕,并不断进行充电测试,使每一级相位值都将得到对应的充电值。
2.2.3 高压偏转电路的设计
当墨滴经过断墨、充电、相位检测后,墨滴带有一定的电荷量,通过对墨滴外加一对高压偏转电场,控制墨滴的飞行路径和偏移位置。为方便通过软件程序对墨滴的落点位置自动调整,需要由控制电路的小信号对高压产生模块进行控制,打开或关闭高压的产生。根据该系统的设计要求,高压偏转电路的设计原理是通过外加电源电路产生的24 V 直流电压,经过555 交流振荡电路变为9 V 的交流电。同时为防止功率太小、驱动能力不足,设计时添加了OTL功率放大电路。在脉冲信号的控制下,经过升压器生成峰值为1 000 V 的交流电,最后通过10 倍高压整流模块,置换出墨滴进行偏转所需的10 000 V 偏转高压。偏转高压生成流程图及交流振荡电路和变压整流电路分别如图6-8 所示。
图6 高压生成流程图
图7 交流振荡及升压电路
图8 10倍压整流电路
3 喷码机系统软件的设计
喷码机系统软件的设计主要包含两大部分:根据功能所需对Linux 运行系统进行裁剪、配置和编译;设计了可远程控制的喷码机管理系统,并阐述了该系统的登录界面。
3.1 Linux运行系统的定制
为了降低功耗,避免CPU 资源的浪费,根据喷码机具体功能的需求,需要一系列的裁剪和配置,并编译出适配远程控制的喷码机Linux 操作系统。Linux系统编程是基于Linux 内核之上的应用程序的编程,通过系统函数和库函数调用Linux 的内核资源,进而实现喷码机系统具体业务逻辑和喷码机系统的数据处理以及喷印等功能[16]。通过配置工具menuconfig对喷码机系统的内核进行配置,打开喷码机系统所需的USB、串口UART、网卡、摄像头以及电机等相关驱动支持,并删除喷码机系统不需要的驱动功能。最后把编译生成的镜像文件移植到核心板供系统运行使用。
3.2 远程控制系统的设计
实现喷码机的远程控制是利用远程PC 端网页控制界面进行完成的,其主要包含Web 服务器的搭建和控制程序的设计两部分。
3.2.1 Web服务器的搭建
该设计用到的通信服务器为小型Web 服务器boa,该服务器支持CGI(Common Gateway Interface)外部应用扩展程序的编程,并适合于嵌入式系统的http 服务器,因具有小巧高效、源代码开放、低功耗且占用CPU 资源少等优点,常用来处理嵌入式系统的通信任务,能够为CGI 程序fork 出单独一个进程来执行相应的客户请求,适合在远程PC 端发送相应的控制指令。
通过CGI 编程编写外部扩展应用程序,使用HTML 编程编写网页控制界面,在Ubuntu12.04 系统中搭建Web 服务器boa,将搭建好的服务器boa 在编译环境中进行配置和编译,生成可执行程序boa,再将编译生成的可执行程序移植到文件系统中,使嵌入式喷码系统开机自动运行可进行远程通信的boa程序。然后在远程PC 端通过网页输入喷码系统的IP 地址,远程PC 端网页就会打开能对喷码系统进行控制的界面。Web 服务器运行流程如图9 所示。
图9 Web服务器搭建及工作流程图
3.2.2 喷码机控制程序的设计
该设计要实现对喷码机的远程控制需要用到CGI 编程,即通用网关界面,通过CGI 程序的运行可以使喷码机的应用程序在boa 网络服务器下运行。具体地,用户通过Web 浏览器对喷码机进行IP 访问,形成的HTTP 请求通过浏览器发送到Web服务器,Web 服务器守护进程接收到该请求后会创建一个CGI 的子进程,该子进程将CGI 请求的有关数据设置成环境变量,然后根据get 链接方式启动指定的CGI 处理程序从环境变量中读取数据,处理后经Web 服务器送回浏览器显示给用户[17]。CGI 应用程序可以由大多数的编程语言编写,如PERL(Practical Extraction and Report Language)、CC++、Java 和Visual Basic 等。该设计用C 语言进行CGI 程序的编写,主要完成了获取远程PC 端Web网页提交过来的对喷码机进行操作的数据指令,然后对服务器获取的数据指令进行解析,最后对喷码机系统的I/O 通信进行管理,并调用相关函数对喷码机进行控制和操作。图10 为喷码机控制程序的工作流程图。
图10 喷码机控制程序工作流程图
4 系统的测试
在远程PC 端网页对喷码机系统数据的输入和开始喷印控制进行测试。首先,将编写好的网页脚本程序index_web.html 和喷码机控制程序ink-jet.cgi移植到喷码机文件系统,再将文件系统烧录到喷码机系统中。编写的部分网页测试代码如下所示:
系统正常运行后,在远程PC 端浏览器中输入喷码机的IP 地址后,就会得到如图11 所示控制界面,先点击信息输入按钮,然后点击submit 按钮就可进入到一个待喷印信息输入的界面,然后再点击开始喷印,服务器端就会处理收到的信息,链接相应的CGI 程序,CGI 程序对表单提交的信息进行分析,最后CPU 调用ioctl 函数实现喷头喷印功能。
图11 Web远程网页控制界面简图
5 结束语
该研究简要介绍了基于双ARM 架构喷码机的优点以及嵌入式喷码机系统的软硬件要求,重点介绍了电源电路的设计以及墨路系统中的墨滴充电电路、相位检测电路和高压偏转电路的设计。同时设计出支持远程PC 端网页操作的喷码机系统,能够实现企业流水线智能化生产,同时为当今疫情环境下无接触居家远程办公提供了技术支持。后续,在设计的基础上仍可以对喷码机系统进一步完善,可以实现同时操控多台喷码机设备的远程控制系统。
该设计无论是在食品包装喷印还是电子设备的标识喷印,都有极好的应用前景,喷印高效,节省生产成本。同时在特殊环境下可以实现无接触、不停工远程喷印生产。