基于FPGA的喷墨打印机控制系统

2015-09-16 22:27高德洋侯立刚张志远
现代电子技术 2015年18期
关键词:步进电机

高德洋 侯立刚 张志远

摘 要: 提出一种基于FPGA的喷墨打印机控制系统,使用Altera公司的FPGA芯片EP1C6Q240C8作为控制核心,把喷墨打印机分为两部分研究,控制喷墨打印机喷墨的打印头与控制喷墨打印机走纸的步进电机,实现喷墨打印机打印头的喷墨与步进电机的走纸运动的联合控制。实验结果表明,该系统不但能实现对喷墨打印机的高精度控制,并且具有操作简单、可升级性强等特点。

关键词: FPGA; 喷墨打印机; 打印头; 步进电机

中图分类号: TN709?34 文献标识码: A 文章编号: 1004?373X(2015)18?0064?04

Abstract: A FPGA?based control system of inkjet printer is proposed, which takes FPGA chip EP1C6Q240C8 of Altera Corporation as the control core. The inkjet printer is divided into the printing head and the stepping motor to research. The former is used to control the inkjet of inkjet printer, and the latter is used to control the paper feeding of inkjet printer. The combined control of the two parts was realized. The experimental results show that the system can realize high precision control of the inkjet printer, and has the characteristics of easy operation and better upgradability.

Keywords: FPGA; inkjet printer; printing head; stepping motor

喷墨打印机摒弃了原始打印机的击打的工作方式,采用更为先进的微压控制技术与气泡喷墨控制技术,其无论在体积上、可操作性上、打印噪音的控制方面,较原始的打印机都有很大的突破,使用专用纸张时可以打印出与照片相媲美的图片。所以,研发喷墨打印机的控制系统,是制造自主知识产权的喷墨打印机的基础,也是制造以喷墨打印机作为输出部件的设备的重要基础。

现场可编程门阵列(Field Programmable Gate Array,FPGA)是在PAI,GAL等逻辑器件的基础上发展起来的。由于它具有集成度高、速度快、开发周期短、费用低、用户可定义功能及可重复编程和擦写等许多优点,其应用领域不断扩大。这些器件的灵活性和通用性使它们成为了研制和开发复杂数字系统的理想选择[1]。

在国内,对于喷墨打印机的打印头与电机联合控制的研究相对较少,而且大多数的控制核心芯片采用单片机,其速度、精度、开发周期、可操作性、可升级性等远不如FPGA,因此本文提出了一种基于FPGA的喷墨打印机控制系统,并且同时实现喷墨打印机的喷墨与走纸运动。

1 系统整体设计

如图1所示,本文将喷墨打印机的控制系统分为控制喷墨打印机喷墨的打印头与控制喷墨打印机走纸的步进电机,在FPGA的控制下,实现对喷墨打印机的打印头的喷墨与步进电机的机械运动的控制。喷墨打印机的工作共有3种模式:FPGA控制打印头喷墨;FPGA控制步进电机运动;FPGA对打印头和步进电机的联合控制。

1.1 FPGA控制打印头喷墨

1.1.1 打印头

喷墨技术主要分为微电压控制技术与气泡喷墨打印技术,本文采用的打印机头为气泡喷墨打印头,特点是打印头和墨盒集成在一起,喷头上集成喷嘴数量比微电压控制技术喷头上的喷嘴要多得多,喷嘴数量排列多,打印每一行的宽度也就宽,从而完成一页内容的时间就会短。因此气泡喷墨打印头在打印速度上要比微电压控制打印头快,对其进行控制系统的研究与搭建有重要的意义。

1.1.2 打印头的控制信号要求

打印头中共有7个主要控制信号[2] S1~S6,K,其中S4,S5,S6是需要差分的信号:

S1:使能信号EN,3.3 V TTL电平,低电平有效;

S2:辅助信号A, 3.3 V TTL电平,高电平有效;

S3:辅助信号B,3.3 V TTL电平,高电平有效;

S4:+(LVDS+ 信号高);

S4:-(LVDS- 信号低);

S5:+(LVDS+);

S5:-(LVDS-);

S6:+(LVDS+);

S6:-(LVDS-);

K:GND。

其中:使能信号S1为喷头的起始信号;S2,S3为辅助信号,分别对应数据信号S4、S5,S4比S2迟4个时钟周期,S5比S3迟4个时钟周期;S6为时钟信号,要求频率为28.5 MHz;K为GND信号,需要连接1 kΩ电阻并接地。

当满足打印头控制信号要求的前提下,数据信号S4,S5在辅助信号S2,S3有效后的528个周期里为低电平的部分,打印头进入工作状态[3]。

1.1.3 FPGA控制打印头喷墨的工作原理

如图2所示,采用气泡喷墨打印头驱动板,其主要由Altera公司的FPGA芯片EQ1C6T144C8作为核心控制,AS芯片作为逻辑储存,一个AM26LV31I差分芯片和一个LVC14A信号传输芯片作为整个板子的输入的接收接口,一个AM26LV32I差分芯片和一个LVC14A信号传输芯片作为整个板子的输出接口、打印头的输入接口[4]。

气泡喷墨打印头驱动板需要的信号即为1.1.2节中提到的S1~S6,K信号,其中S4,S5作为输入信号来自于FPGA开发板中的EP1C6Q240C8芯片,S1,S2,S3,S6,K信号的逻辑通过USB Blaster下载到AS芯片中。

FPGA上的转接板是由一个AM26LV32I差分芯片和一个LVC14A信号传输芯片组成,其的作用是与打印头驱动板实现接口对接,使FPGA开发板中的EP1C6Q240C8芯片把驱动信号发送到打印头驱动板。其PCB原理图如图3所示。

FPGA开发板的EP1C6Q240C8芯片主要输出信号共有4个:cs_n,sck,mosi_s4,mosi_s5。其中:cs_n是整个系统的使能信号,低有效,当其有效时,整个系统开始工作;sck是气泡喷墨打印头驱动板的工作时钟信号,由于FPGA开发板提供的时钟为50 MHz,不满足气泡喷墨打印头驱动板的时钟工作要求,因此其由开发板的FPGA芯片EP1C6Q240C8调用IP核锁相环分倍频后得到;cs_n和sck这2个信号由FPGA开发板经过转接板的信号传输芯片LVC14A发送给气泡喷墨打印头驱动板的相对应的LVC14A芯片,再经过驱动板上的FPGA芯片EQLC6T144C8发送给打印头的接收端相对应的芯片LVC14A;

mosi_s4,mosi_s5即为1.1.2节中所描述的打印头喷墨的数据信号S4,S5,这2个信号由开发板的FPGA芯片EP1C6Q240C8经过转接板上的AM26LV32I芯片发送给打印头驱动板的AM26LV31I芯片,在气泡喷墨打印头驱动板的FPGA芯片EP1C6T144C8中经过移位寄存器后发送给打印头接收端的相对应芯片AM26LV32I。

1.2 FPGA控制步进电机运动

1.2.1 FPGA控制步进电机运动的工作原理

如图4所示,步进电机一般包括PUL,DR,FREE这3个主要输入控制信号和2个码盘输出信号。其中,PUL是步进电机运动需要的脉冲信号,其不仅决定了电机是否转动,而且其宽度也决定了电机转动的速度,其在不超过驱动器可接受的脉冲频率和电机响应频率脉冲的前提下越宽电机转动的速度越慢,反之越快[5];DR是步进电机的方向信号,其确定步进电机的转动方向;FREE是步进电机的脱机信号,当脱机信号FREE为低电平时,驱动器输出到电机的电流被切断,电机转子处于自由状态(脱机状态)。如果在驱动器不断电的情况下要求直接转动电机轴(手动方式),就可以将FREE信号置低,使电机脱机,进行手动操作或调节。

码盘经常以转速传感器的形式出现,其不但能检测电机的转动速度,也能有效地对电机定位;码盘一般设在电机的一端,使电机和码盘同步转动,这样便可以通过接收到码盘转动时所产生的2个脉冲信号来定位电机。

FPGA作为步进电机的信号源,其能提供较稳定的控制信号,但由于FPGA的标准电平为3.3 V?LVTTL,而步进电机的驱动电平为5 V,因此,需要在FPGA与电机驱动板、FPGA与码盘间加入电平转换芯片以保证电机的正常驱动与码盘的正常反馈[6]。

1.2.2 步进电机的精度的确认

码盘的两个输出信号SignalA,SignalB作为电机的定位信号,当电机转动时,码盘向FPGA发送SignalA,SignalB,其信号为相位相差90°的脉冲方波信号[7],如图5所示。

在FPGA内部把SignalA,SignalB信号的异或作为电机的定位信号,利用计数器与数码管直观的定位电机的实际位移[8]。由于电机带动打印机的走纸会存在一定的机械抖动误差;因此SignalA,SignalB会产生一些极小的脉冲误差信号,会影响电机的定位精度;因此需要对码盘的输出信号进行简单的信号滤波处理。

高频率时钟对低频率信号的采样处理即可较好地完成滤波,由于电机的脉冲频率约为1 kHz,码盘因与其保持同步运动,所以其输出的2个定位信号SignalA,SignalB的频率也为1 kHz,因此用相对高频50 MHz的时钟分别采样相对低频1 kHz的信号SignalA,SignalB,使两信号通过20 b的移位寄存器,当在移位寄存器中的SignalA,SignalB 20 b均为1或0的时候输出1或0,否则不输出并继续移位。对同样距离进行定位测试,并通过数码管观察其结果,电机位移精度如表1所示。

表1 电机位移精度确认

如表1所示,在同样的距离下,当码盘信号没有经过滤波处理时,电机的定位位移相对较大,相同速度下每一次的定位也不够准确,而且由于电机转动的越快,其产生的脉冲误差越多,因此未滤波的时候,电机的转动速度严重影响电机的定位精度;当码盘信号经过滤波处理后,电机的位移明显减小,而且电机的转动速度不再影响电机的定位精度,定位效果准确。

1.3 FPGA对打印头和步进电机的联合控制

1.3.1 FPGA对打印头和步进电机联合控制的工作原理

系统分为4种状态:空闲状态;走纸状态;喷墨状态;喷墨走纸状态,如图6所示[9]。

1.3.2 FPGA对打印头和步进电机联合控制的quartus

上的实现[10]

图7中左边模块为数码管显示模块,右边模块为电机、打印机的顶层模块。在FPGA中设置一个工作控制输入信号spray_ctrlin,一个FREE控制输入信号FREE_ctrlin,当FREE_ctrlin生效时,电机进入脱机状态;当spray_ctrlin生效时FPGA产生PUL、DR信号并发送给电机,系统进入走纸状态,并将电机码盘的2个输出信号发送给FPGA,将经过滤波后的定位信号作为数码管的输入并对其计数,将计得的数作为电机运动的实际位移,再根据实际位移来触发打印头与电机内部的喷墨使能信号,当喷墨信号有效时打印头进入喷墨状态,整体系统进入喷墨走纸状态, 6位的7段数码管上也会实时显示出电机的实际位移。

2 实验结果与硬件实际连接

2.1 打印头与电机联合控制结果

图8为电机1先左右运动实现x轴走纸,并在指定好的位置实现打印头的单色喷墨,当走纸并喷墨完成第一行后,电机2上下运动实现y轴走纸,随后逆向重复一次x轴走纸单色喷墨。

图9为电机1、电机2同时运动实现x,y轴同时走纸,并在指定好的位置实现打印头的双色喷墨。

2.2 硬件实际连接

硬件实际连接如图10~图12所示。

3 结 语

本文通过对当前喷墨技术、打印技术的研究,在前人的理论基础上再创新,提出了对喷墨打印机的喷墨与电机的联合控制,在FPGA平台下搭建了喷墨打印机的控制系统。实验结果表明,该系统能够精确的实现对打印头的喷墨控制以及电机的走纸控制,且其操作简单,可升级性强。这对制造自主知识产权的喷墨打印机提供了坚实的基础,对当下热门的以喷墨打印机作为输出部件的设备制造提供了更多的可能。

参考文献

[1] 董盈钧,孔明,马忠祥.基于FPGA的打印机走纸控制系统[J].微型机与应用,2010,29(21):94?95.

[2] 马玉春,陆华.基于C语言的压电式喷墨打印机驱动程序设计[J].琼州学院学报,2011,18(2):11?12.

[3] 王彦,田丹丹,陈琼,等.基于FPGA的微型打印机驱动电路和程序设计[J].南华大学学报,2004,18(3):79?82.

[4] 廖强,文荣,夏洋,等.基于SoPC的宽幅喷墨打印机控制系统[J].计算机工程,2009,35(19):260?261.

[5] 陈兴文,刘燕.基于FPGA实现步进电机脉冲信号控制器设计[J].机械设计与制造,2006(2):86?87.

[6] 庞淑娟,倪受东.基于FPGA的步进电机速度控制器的设计[J].新技术新工艺,2008(4):32?33.

[7] 刘加峰,芦勤,郁苏娟,等.步进电机控制电路一种基于FPGA的实现[J].微计算机应用,2007,28(8):864?865.

[8] 安立宇,赵曙光,杜丘.基于FPGA的两相步进电机细分驱动器设计[J].仪表技术,2009(1):31?32.

[9] 粘朋雷,李国林,毛维平,等.基于FPGA与VHDL的微型打印机的驱动设计[J].现代电子技术,2010,33(24):72?73.

[10] 周润景,图雅,张丽敏.基于QuartusⅡ的FPGA/CPLD[M].北京:电子工业出版社,2007.

猜你喜欢
步进电机
一种可自动伸缩的嵌入式LED灯具设计
步进电机智能控制的设计与实现
工矿机车GK1F、GK1C柴油机调速控制
基于单片机的自动化立体车库控制系统设计
基于单片机的雷达伺服控制系统