CN105564028B - 一种基于fpga技术的高速工业喷印控制系统与方法 - Google Patents
一种基于fpga技术的高速工业喷印控制系统与方法 Download PDFInfo
- Publication number
- CN105564028B CN105564028B CN201410557217.2A CN201410557217A CN105564028B CN 105564028 B CN105564028 B CN 105564028B CN 201410557217 A CN201410557217 A CN 201410557217A CN 105564028 B CN105564028 B CN 105564028B
- Authority
- CN
- China
- Prior art keywords
- module
- control
- data
- control module
- printing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000007639 printing Methods 0.000 title claims abstract description 176
- 238000000034 method Methods 0.000 title claims abstract description 67
- 239000007921 spray Substances 0.000 title claims abstract description 62
- 238000005516 engineering process Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 118
- 230000033001 locomotion Effects 0.000 claims abstract description 82
- 230000001133 acceleration Effects 0.000 claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000003860 storage Methods 0.000 claims description 28
- 230000009471 action Effects 0.000 claims description 19
- 230000006835 compression Effects 0.000 claims description 12
- 238000007906 compression Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000010304 firing Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000000926 separation method Methods 0.000 claims description 5
- 239000000758 substrate Substances 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000036461 convulsion Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000013139 quantization Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 6
- 238000009825 accumulation Methods 0.000 abstract 1
- 238000003672 processing method Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007641 inkjet printing Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003486 chemical etching Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003912 environmental pollution Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000011031 large-scale manufacturing process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007650 screen-printing Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Landscapes
- Ink Jet (AREA)
Abstract
本发明提供本发明一种基于FPGA技术的高速工业喷印控制系统与方法,具体应用于工业全印制电子领域。其集成图像处理、喷印控制与运动控制功能,实现全自动打印,替代目前喷印机系统首先在PC机上进行图像处理后再传输给喷印机控制系统进行喷印的传统处理方式,突破了传统喷印数据处理方式的速度瓶颈,支持超大数目喷头阵列,特别适用于工业卷对卷喷印工艺进行单程喷印。采用一种喷印控制方法协调调度功能子模块实现喷印功能,克服累积定位误差,进行柔性加减速运动控制保证墨滴喷射状态,其方法简单,提供较好的喷印精度。可以控制设备以接近最高理论速度喷印,极大地提高生产效率。
Description
技术领域
本发明涉及喷印设备控制系统及方法,具体地说是采用FPGA技术实现并应用于全印制电子领域的高速喷印控制系统及方法。
背景技术
全印制电子指在电子制造业行业中利用印制方法形成电子元器件和电路的一种技术,其中发展最快的是利用喷墨打印技术在印刷电路板(PCB)上喷印导电线路、抗蚀刻层、阻焊层或字符图形,代替传统丝网印刷、化学蚀刻方法,减少生产工序、材料和环境污染。目前全印制电子的喷印技术存在的一个主要问题是开发规模化生产用的先进喷印机的控制系统,特别是在卷对卷柔性喷印工艺中,它要比普通喷印机复杂,而且对数据处理能力、精度、速度和可靠性的要求更高。目前喷印机产品存在主要以下问题:
在控制系统实现技术与架构方面,目前产品都是采用PC机进行图像数据处理,将数据通过串行总线(或其他总线方式)传输给喷印机控制系统进行喷印,在工业环境下,采用边打印边传输的方式,抗干扰能力差,甚至传输线需要跟随喷头板运动增加了干扰因素,无法满足超大数目喷头阵列(1百以上)需海量、实时获取数据的要求。
目前仍有很多喷印控制系统采用微处理器来实现喷印过程,微处理器指令串行执行的特点决定了它在对喷头打印时序要求很高的系统中不是很适合,无法适应更高的喷头点火频率和打印数据吞吐速度。随着技术发展,也出现了基于FPGA和运动轴控制卡的控制系统,运动控制需要另外的PC机软件实现,增加了控制复杂度和成本,不利于高速喷印。
在运动控制和定位控制方面,喷印精度由运动控制状态和定位精度决定,墨滴在喷射时的状态与运动平稳度有关,同时落在基材上的位置和与喷头的运动速度有关,如果在喷射过程中运动不平稳,会造成喷成的直线粗细不均匀。这就需要对运动和喷头驱动脉冲的柔性控制,现有产品对此考虑较少。
在单程喷印和海量数据处理方面,目前绝大多数喷印机采用多程喷印扫描方式,由于喷头数目较少,喷头需沿基质进行横向和纵向运动才能喷印整个基质面。这样的复杂快速运动会造成供墨压力波动、产生不利的卫星墨滴和轨迹轨迹偏移、供墨管道与控制电路跟随运动结构复杂等弊端。只有增加喷头阵列数目进行单程喷印来提高效率,但增加喷头数目意味着增加控制的复杂度和数据吞吐量,因此在大规模印刷电路板喷印生产中容易出现喷印可靠性差、生产效率不高的问题。
发明内容
针对现有技术中存在的上述诸多不足,本发明的目的是一种基于FPGA技术的高速工业喷印控制系统,其集成图像处理、喷印控制与运动控制功能,实现全自动打印,替代目前喷印机系统首先在PC机上进行图像处理后再传输给喷印机控制系统进行喷印的传统处理方式,突破了传统喷印数据处理方式的速度瓶颈,支持超大数目喷头阵列,特别适用于工业卷对卷喷印工艺进行单程喷印。
本发明的另一目的是提供一种高速工业喷印控制方法,采用一种喷印控制方法协调调度功能子模块实现喷印功能,克服累积定位误差,进行柔性加减速运动控制保证墨滴喷射状态,其方法简单,提供较好的喷印精度。可以控制设备以接近最高理论速度喷印,极大地提高生产效率。
本发明为实现上述目的所采用的技术方案是:一种基于FPGA技术的高速工业喷印控制系统与方法,包括主控模块、运动控制模块、数据读取模块、图像处理模块、数据处理模块、光栅定位模块、海量信息存储模块、喷头时序模块、执行状态检测模块和CCD处理模块;其中,
主控模块,与上述各个模块连接,用于系统的初始化和调度控制;
数据读取模块:连接主控模块,读取主控模块发出的使能信号,并将存储状态发送给主控模块;连接图像处理模块,把要打印的图像压缩数据读取到图像处理模块中;
图像处理模模块:连接主控模块和海量信息存储模块,在主控模块的控制之下,对图像压缩数据进行解压缩,使之转换为需要的解压缩灰度数据;
海量信息存储模块:存储通过图像处理模块得到的解压缩灰度数据;连接主控模块,接收主控模块的存储使能命令,向主控模块反馈存储状态;
数据处理模块:读取海量信息存储模块中的解压缩灰度数据,进行数据处理与变换,使之能和打印机的喷头相适应,同时生产打印时所需要的控制信息和打印信息;
喷头时序模块:连接主控模块和数据处理模块;接收数据处理模块的打印信息,在主控模块的喷头控制及参数的控制下,产生点火信号,下载喷头数据,产生喷头数据时钟及同步信号;
运动控制模块,连接主控模块和光栅定位模块,接收主控模块的电机控制信号及参数,接收光栅定位模块的光栅脉冲,对伺服电机和步进电机实现柔性运动控制;
光栅定位模块:与外部光栅编码器相连,进行光栅信号处理和光栅分频,解析光栅信号,实现光栅脉冲计数编码,将光栅脉冲传送给主控模块和运动控制模块,为系统提供定位信息;
执行状态检测模块:判断各个模块的执行状态,并传送给主控模块;
CCD处理模块:接收外部CCD定位模块的信息,将定位信号传送给主控模块,通过主控模块控制电机寻找起始位置。
所述运动控制模块在系统初始化时,实现x方向运动动作和寻起始参考位动作;高速打印时,实现加速、匀速、减速的运动曲线;实现x方向低速移动;空闲时,实现自动清洗动作;低速运动中实现控制步进电机运动距离、自动寻起始位、寻零位。
所述数据读取模块包括相互连接的USB读取模块和存储控制模块,其中USB读取模块用于读取要打印的图像压缩数据,存储控制模块把要打印的图像压缩数据读取到图像处理模块中的码流读入模块。
所述图像处理模模块包括顺序连接的码流读入模块、熵解码解码模块、反量化、反Zig-Zag模块和IDCT模块,主控模块为码流读入模块提供码流读入使能,IDCT模块将解压缩灰度数据传输给海量信息存储模块。
所述海量信息存储模块作为其他模块之间数据传输的缓冲器。
所述数据处理模块包括顺序连接的数据转换模块、控制命令生成模块和打印信息、控制信息分离模块;其中,数据转换模块读取海量信息存储模块中的数据,受主控模块的转换使能控制;打印信息、控制信息分离模块将控制信息发送给主控模块,将打印信息发送给喷头时序模块。
一种基于FPGA技术的高速工业喷印控制方法,在非单程模式下,包括以下步骤:
当系统上电后各个模块都被复位,处于初始状态;
主控模块内部状态机开始从初始状态开始执行,首先检查USB是否有要打印的图像压缩数据,若有则接收数据,然后启动图像处理模块和数据处理模块,处理图片数据并生成一串控制指令;
启动伺服电机控制模块使喷头车前进一段距离后返回系统初始点,系统处于工作状态,检测外部使能喷印命令;
读取到外部使能喷印命令后,启动CCD定位模块和运动控制模块控制喷头车低速行进,寻找喷印参考点;
主控模块开始读取数据处理模块生成的第一个控制指令,从参考点开始计算,主控模块根据喷印起始点参数通过运动控制模块行进至打印位置,进入喷印过程;
在喷印过程中,主控模块每次读取一个喷印指令,启动喷头时序模块从数据处理模块中接收打印信息,同时启动伺服模块进入曲线运动,伺服模块根据一定的曲线控制小车的升速、匀速、降速运动;
在打印点火阶段,光栅定位模块根据光栅分频、抽点等参数对光栅计数,喷头时序模块读取一次点火的数据锁存至喷头寄存器中,并发出点火控制脉冲,实现了一次点火打印;
一行数据打印完成后,伺服电机控制模块控制电机进入降速阶段,同时步进模块根据参数控制在垂直方向上行进一定距离;小车降速停止后,执行状态检测模块,启动主控模块向数据处理模块发送动作完成命令,系统等待数据处理模块下次的命令;
在单程模式下,包括以下步骤:
当系统上电后各个模块都被复位,处于初始状态;
主控模块内部状态机开始从初始状态开始执行,首先检查USB是否有要打印的图像压缩数据,若有则接收数据,然后启动图像处理模块和数据处理模块,处理图片数据并生成批量控制指令;
检测外部使能喷印命令,同时检测是否有手动步进信号;
读取到外部的使能开始命令后,主控模块读取数据处理模块生成的控制指令,该控制指令已包含一次打印任务的所有参数,步进电机控制模块控制柔性基材匀速运动;
在喷印过程中,主控模块启动喷头时序模块实时读取喷印数据;
在打印点火阶段,光栅定位模块根据光栅分频、抽点等参数对光栅计数,喷头时序模块读取一次点火的数据锁存至喷头寄存器中,并发出点火控制脉冲,实现了一次点火打印;
一次打印任务完成后,步进电机降速停止,执行状态检测模块,启动主控模块向数据处理模块发送动作完成命令,系统等待数据处理模块下次的命令。
所述主控模块内部状态机的逻辑状态转换流程为:
系统上电后同步复位信号使主控模块复位,主控模块经过初始化动作后处于接收监听是否有USB数据状态;
主控模块监听到有USB数据传输时,启动图像处理模块模块,对传输的数据进行解码,处于解码状态;
当收到解码完成信号后,主控模块启动数据处理模块,对解码得到的数据进行数据出,处于数据处理状态;
当收到数据处理完成信号后,主控模块读取控制命令,解析相应的控制命令,提取出命令字和参数,处于解析命令状态;
进入执行命令状态:根据相应的串口命令顺序启动喷头时序模块、伺服电机控制模块、步进电机控制模块、串口发送信号、光栅模块初始化信号,主控模块给伺服电机控制模块与步进电机控制模块提供打印伺服电机与步进电机脉冲数、方向参数、给喷头时序模块提供打印起始位、数据量参数;
当动作执行完后各个模块进入了结果返回状态。
重新进入读取控制命令状态,以进行下次循环。
所述喷头车前进一段距离后返回系统初始点,即零点。
所述控制指令在数据处理模块中的控制命令生成模块中生成,再传输给打印信息、控制信息分离模块,把分离得到的23*8位的控制信息传输给主控模块模块。
所述主控模块模块接收23*8位的控制信息,根据协议进行分解,产生控制信号:读取数据量的大小size_dma_o,伺服电机运动距离step_sev_o,伺服电机运动方向dir_sev_o,伺服电机起始距离step_start_sev_o,步进电机运动距离step_step_o,步进电机运动方向dir_step_o,打印DPI和点火频率dpi_o;其中,伺服电机运动距离step_sev_o,伺服电机运动方向dir_sev_o,伺服电机起始距离step_start_sev_o传送给伺服电机控制模块;步进电机运动距离step_step_o,步进电机运动方向dir_step_o传送给步进电机控制模块;打印DPI和点火频率dpi_o传送给光栅定位模块;打印DPI和点火频率dpi_o,读取数据量的大小size_dma_o传送给喷头时序模块。
所述运动控制模块采用加减速柔性运动控制算法,具体为:
在三角函数加减速基础上构造加速度曲线a=amax sin(πt/Tm),其中amax为系统最大允许加速度,Tm为加速时间,0≤t≤Tm;
采用函数逼近的方法,获得上述加速度曲线的多项式近似表达式
对a(t)微分,得加加速度:
根据加速度、速度和位移的积分关系,可以得到加速阶段速度v(t)和运行长度s(t)的解析表达式:
针对控制系统实际采用的伺服电机,设置最大加速度amax和喷头最大运动速度vmax,获得喷头加减速控制曲线。
所述针对控制系统实际采用的伺服电机,设置最大加速度amax和喷头最大运动速度vmax,获得喷头加减速控制曲线,具体为:
步进电机控制模块将插补后的指数加减速速度控制曲线送入PWM模块,生成PWM脉冲对步进电机进行运动控制;
伺服电机控制模块采用基于多项式逼近三角函数的加减速方法生成伺服电机加减速控制曲线,并将插补后生成的多项式加减速控制曲线与光栅信号处理模块生成的位置信号综合,得到的偏差信号送入PID控制模块,再通过PWM模块生成伺服电机控制脉冲。
本发明具有以下优点及有益效果:
1突破传统方式局限、显著提高效率:替代目前喷印机系统首先在PC机上进行图像处理后再传输给喷印机控制系统进行喷印的传统处理方式,控制系统集成图像数据处理功能、运动控制功能、喷印控制功能于一体,实现全自动打印,突破了传统喷印数据处理方式的速度瓶颈,有效支持大数目喷头的数据处理,特别适用于工业卷对卷喷印工艺。
2控制系统结构简单、可靠性强:喷印及运动功能全部由FPGA技术实现,采用的模块化设计方案想可以为系统的设计和维护提供方便,具有高可靠性,另外也提高了系统的性能扩展性。
3定位精度高:定位系统采用光栅解码定位,以避免采用旋转编码器测量直线位移时,将圆周运动转换为直线运动时带来的误差,并通过隔行起始位重新设置方法来避免累积定位误差。并通过CCD定位模块控制喷头准确寻找起始位置。
4实现柔性加减速控制,有利于提高喷印效果:采用采用逼近三角函数的多项式对伺服电机速度实现加减速柔性控制,算法简单,速度平稳,使喷印墨滴有较好状态,保证喷印效果。
附图说明
图1为本发明的模块划分框图;
图2为非单程喷印控制流程图;
图3为单程喷印控制流程图;
图4为主控模块状态迁移图;
图5为定位累积误差解决示意图;
图6为本发明的控制流信息处理流程图;
图7为本发明的海量数据流信息处理流程图;
图8为本发明的加减速柔性控制实现示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
根据印刷电路板高速喷印流程和数据处理特点,本发明将FPGA控制系统划分为10个功能模块,各个模块之间采用一种逻辑控制机制协调配合实现高速高精喷印。为突破海量数据喷印时的速度瓶颈,控制系统集成图像数据处理功能实现全自动打印,为提高实际精度和速度稳定性,控制系统内部模块采用了一种加减速柔性运动控制方法。
根据图1,本发明的控制系统由主控模块、运动控制模块、数据读取模块、图像处理模块、数据处理模块、光栅定位模块、海量信息存储模块、喷头时序模块、执行状态检测模块和CCD处理模块组成,其模块间相互联系配合,喷头时序模块的输出信号与外部喷头相连,光栅定位模块输入信号与外部光栅编码器相连,运动控制模块输出信号与外部伺服和步进电机相连,CCD处理模块与外部的CCD定位模块相连。
主控模块:负责系统的初始化和调度控制。该模块主要实现逻辑控制过程,所以内部组合逻辑较多,会浪费很多逻辑资源,也会影响系统整体的工作速度,需要考虑优化系统的状态机,尽量满足所需的设计时序余量。
运动控制模块:实现柔性运动控制,包括伺服电机控制模块和步进电机控制模块,每个子模块都包括曲线控制部分和频率合成发生部分。系统初始化时,实现x方向运动动作和寻起始参考位动作;高速打印时,实现加速、匀速、减速的运动曲线;实现x方向低速移动;空闲时,实现自动清洗动作。低速运动中实现控制步进电机运动距离、自动寻起始位、寻零位等功能。
数据读取模块:控制JPEG格式图片压缩数据的传输,包括数据读取和存储器控制。这个模块主要完成的功能是通过USB把要打印图片的JPEG格式的压缩数据读取到FPGA当中,并存储到外置的SRAM当中。
图像处理模块模块:在主控模块的控制之下,对图像压缩数据进行解压缩,使之转换需要的灰度数据。
数据处理模块:数据处理模块主要是对解压缩后得到的灰度数据进行数据处理与变换,使之能和打印机的喷头相适应,同时生产打印时所需要的控制命令,以成功的完成打印过程。
光栅定位模块:光栅定位模块使喷印控制系统形成了一个闭环的控制机制,使喷印面的点均匀分布。它进行光栅信号处理和光栅分频,解析光栅信号,实现光栅脉冲计数编码,为系统提供定位信息。
存储模块:通过图像处理模块得到的解压缩灰度数据的数据量是惊人的,尤其是在大规模碰头打印的情况下。所以我们设置了一个海量信息存储模块,把得到的数据存储到里面,同时也可以作为其他过程的缓冲器和存储器。
喷头时序模块:产生点火信号,下载喷头数据,产生喷头数据时钟及同步信号。
执行状态检测模块:综合判断各功能模块的执行状态,并通知主控模块。
CCD处理模块:接收外部CCD地位模块的信息,并通过主控模块控制喷头精确寻找起始位置。
如图2所示,采用一种喷印控制方法,在非单程模式下:由主控模块进行统一协调,其具体控制过程如下:
A,当系统上电后各个模块都被复位,处于初始状态。
B,主控模块内部状态机开始从初始状态开始执行,首先检查USB是否有数据,若有则接收数据,然后启动图像处理模块和数据处理模块,将处理图片数据并生成一串控制指令。
C,启动伺服模块使喷头车前进一段距离后返回系统初始点(零点),系统处于工作状态,检测外部使能喷印命令,同时检测是否有手动步进或伺服信号。
D,读取到外部的使能开始命令后,启动CCD定位模块和运动控制模块控制喷头车低速行进,准确寻找喷印参考点。
E,主控模块开始读取数据处理模块生成的第一个控制指令,从参考点开始计算,主控模块根据喷印起始点参数通过运动控制模块行进至打印位置,进入喷印过程。
F,在喷印过程中,主控模块每次读取一个喷印指令,启动碰头时序模块从数据处理模块中接收打印信息,同时启动伺服模块进入曲线运动,伺服模块根据一定的曲线控制小车的升速、匀速、降速运动。
G,在打印点火阶段,光栅定位模块根据光栅分频、抽点等参数对光栅计数,喷头时序模块读取一次点火的数据锁存至喷头寄存器中,并发出点火控制脉冲,实现了一次点火打印。
H,一行数据打印完成后,伺服电机控制模块控制电机进入降速阶段,同时步进模块根据参数控制在垂直方向上行进一定距离。小车降速停止后,执行状态检测模块,启动主控模块向数据处理模块发送动作完成命令,系统等待数据处理模块下次的命令。
图3采用一种单程喷印控制方法,在单程模式下:喷头阵列的宽度等于基材宽度,不需要进行伺服运动而直接形成喷印流水线,其具体控制过程如下:
A,当系统上电后各个模块都被复位,处于初始状态。
B,主控模块内部状态机开始从初始状态开始执行,首先检查USB是否有数据,若有则接收数据,然后启动图像处理模块和数据处理模块,将处理图片数据并生成批量控制指令。
C,检测外部使能喷印命令,同时检测是否有手动步进信号。
D,读取到外部的使能开始命令后,主控模块读取数据处理模块生成的控制指令,该控制指令已包含一次打印任务的所有参数,步进电机控制模块控制柔性基材匀速运动。
E,在喷印过程中,主控模块启动喷头时序模块实时读取喷印数据。
F,在打印点火阶段,光栅定位模块根据光栅分频、抽点等参数对光栅计数,喷头时序模块读取一次点火的数据锁存至喷头寄存器中,并发出点火控制脉冲,实现了一次点火打印。
G,一次打印任务完成后,步进电机降速停止,执行状态检测模块,启动主控模块向数据处理模块发送动作完成命令,系统等待数据处理模块下次的命令。
图4所示为主控模块状态迁移图,其逻辑状态转换流程如下:
a.系统上电后同步复位信号(rst_n)使主控模块复位,主控模块经过初始化动作后处于接收监听是否有USB数据状态。
b.主控模块监听到有USB数据传输时,启动图像处理模块模块,对传输的数据进行解码,处于解码状态。
c.当收到解码完成信号后,主控模块启动数据处理模块,对解码得到的数据进行数据出,处于数据处理状态。
d.当收到数据处理完成信号后,主控模块读取控制命令,解析相应的控制命令,提取出命令字和参数,处于解析命令状态。
e.随后进入执行命令状态:根据相应的串口命令顺序启动喷头时序模块、伺服电机控制模块、步进电机控制模块、串口发送信号、光栅模块初始化信号等,其中给下级模块提供参数,如打印数据量、打印起始位、伺服数、步进数等参数。
f.当动作执行完后模块进入了结果返回状态
g.最后重新进入读取控制命令状态,以进行下次循环。
图5所示隔行零点设置初值方法示意图。所谓累积定位误差是指喷头车从零位启动后进行光栅计数后,在往复喷印阶段出现的每一个计数误差都会累积起来。所谓隔行零点设置初值方法是指x方向上喷印一行后,喷头车重新回到零点,光栅计数器清零,这样避免了每次返回时产生的光栅误差。但也会遇到这样的问题:由于电磁干扰,当喷头车在零点附近容易出现光栅值突变的情况,这样容易引起撞车。为了解决这种现象,光栅的初始值设置为某一个定值,而不为零,这样留有一定的光栅余量。
如图6所示为控制流信息处理流程,本发明的控制信息主要是在数据处理模块中的控制命令生成模块中生成。控制命令模块接收从图像处理模块处理完的数据,然后生成相应的控制命令。控制命令模块再把生成的数据传输给控制信息、打印信息分解模块,把分解得到的23*8位的控制信息传输给主控模块模块。主控模块就会接收23*8位的控制信息,根据我们所设计的协议进行分解,产生size_dma_o(读取数据量的大小),step_sev_o(伺服电机运动距离),dir_sev_o(伺服电机运动方向),step_start_sev_o(伺服电机起始距离),step_step_o(步进电机运动距离),dir_step_o(步进电机运动方向),dpi_o(打印DPI和点火频率)等控制信号,其中s step_sev_o(伺服电机运动距离),dir_sev_o(伺服电机运动方向),step_start_sev_o(伺服电机起始距离)控制信号传送给伺服电机控制模块,step_start_sev_o(伺服电机起始距离),step_step_o(步进电机运动距离)控制信号传送给步进电机控制模块,dpi_o控制信号传送给光栅定位模块,size_dma_o(读取数据量的大小),dir_sev_o(打印DPI和点火频率)传送给喷头时序模块。然后各个模块根据控制信息进行打印,各个模块完成之后产生完成信号,传送给主控模块,然后主控模块发送txd_en(返回信息使能)控制信号给控制信息、打印新分解模块口,又该模块进行处理并准备发送下一次的控制命令。
图7所示为数据流信息处理流程,本发明的打印信息主要通过USB进行传输。首先PC机的软件得到打印图片的JPEG格式的压缩数据,PC机通过USB2.0把压缩数据传输给的USB协议芯片,将USB2.0的串行信息转换成并行信息。然后当FPGA内部的USB读取模块收到USB协议芯片非空信号时,USB读取模块产生slrd_n时钟,从USB协议芯片读取打印信息,存储到内部的FIFO当中,当做第一级缓存。当FIFO当中存有数据的时候,USB读取模块发送读使能信号给SRAM控制信号,将FIFO中的数据读出,写到FPGA外部的两块SRAM当中,当做第二级缓存。当在对外部的两块SRAM进行读写数据的时候主要运营乒乓操作进行读写。当SRAM当中有数据的时候,发送可以读信号图像处理模块模块,对JPEG格式的压缩数据进行解压缩。然后通过海量存储器控制模块把解压缩得到的海量数据存储到外面的存储器当中。当存储器当中有数据的时候,数据处理于转换模块可以从中提取数据,进行数据处理和转换。最后把得到的数据给喷头时序模块,喷头按照打印信息进行打印。
本发明的加减速柔性运动控制算法如下:在三角函数加减速基础上构造加速度曲线a=amax sin(πt/Tm),其中amax为系统最大允许加速度,Tm为加速时间,0≤t≤Tm。由于在实时控制中直接计算sin(πt/Tm)并不容易,需要进行多项式展开。
采用函数逼近的方法,可以获得上述加速度曲线的多项式近似表达式对a(t)微分,得加加速度:加加速度连续有界,保证了喷头运动速度变迁过程中运动的平稳性。
根据加速度、速度和位移的积分关系,可以得到加速阶段速度v(t)和运行长度s(t)的解析表达式:
针对控制系统实际采用的伺服电机,设置最大加速度amax和喷头最大运动速度vmax,可以获得理想的喷头加减速控制曲线。
图8中的指数加减速曲线插补模块和多项式加减速曲线插补模块分别集成于步进电机控制模块和伺服电机控制模块。主控模块发送相应运动数据和控制命令给插补模块。指数加减速曲线插补模块对主控模块给定的运动数据进行插补,生成相应的加减速控制曲线。
步进电机控制模块将插补后的指数加减速速度控制曲线送入PWM模块,生成PWM脉冲对步进电机进行运动控制。
伺服电机控制模块采用上述基于多项式逼近三角函数的加减速方法生成伺服电机加减速控制曲线,并将插补后生成的多项式加减速控制曲线与光栅信号处理模块生成的位置信号综合,得到的偏差信号送入PID控制模块,再通过PWM模块生成伺服电机控制脉冲。
Claims (13)
1.一种基于FPGA技术的高速工业喷印控制系统,其特征在于,包括主控模块、运动控制模块、数据读取模块、图像处理模块、数据处理模块、光栅定位模块、海量信息存储模块、喷头时序模块、执行状态检测模块和CCD处理模块;其中,
主控模块,与上述其他模块连接,用于系统的初始化和调度控制;
数据读取模块:连接主控模块,读取主控模块发出的使能信号,并将存储状态发送给主控模块;连接图像处理模块,把要打印的图像压缩数据读取到图像处理模块中;
图像处理模块:连接主控模块和海量信息存储模块,在主控模块的控制之下,对图像压缩数据进行解压缩,使之转换为需要的解压缩灰度数据;
海量信息存储模块:存储通过图像处理模块得到的解压缩灰度数据;连接主控模块,接收主控模块存储的使能命令,向主控模块反馈存储状态;
数据处理模块:读取海量信息存储模块中的解压缩灰度数据,进行数据处理与变换,使之能和打印机的喷头相适应,同时生成打印时所需要的控制信息和打印信息;
喷头时序模块:连接主控模块和数据处理模块;接收数据处理模块的打印信息,在主控模块发出的喷头控制信号及参数的控制下,产生点火信号,下载喷头数据,产生喷头数据时钟及同步信号;
运动控制模块,连接主控模块和光栅定位模块,接收主控模块的电机控制信号及参数,接收光栅定位模块的光栅脉冲,对伺服电机和步进电机实现柔性运动控制;
光栅定位模块:与外部光栅编码器相连,进行光栅信号处理和光栅分频,解析光栅信号,实现光栅脉冲计数编码,将光栅脉冲传送给主控模块和运动控制模块,为系统提供定位信息;
执行状态检测模块:判断各个模块的执行状态,并传送给主控模块;
CCD处理模块:接收外部CCD定位模块的信息,生成定位信号并传送给主控模块,通过主控模块控制电机寻找起始位置。
2.根据权利要求1所述的一种基于FPGA技术的高速工业喷印控制系统,其特征在于,所述运动控制模块在系统初始化时,实现x方向运动动作和寻起始参考位动作;高速打印时,实现加速、匀速、减速的曲线运动动作;实现x方向低速移动;空闲时,实现自动清洗动作;低速运动中实现控制步进电机运动距离、自动寻起始位、寻零位。
3.根据权利要求1所述的一种基于FPGA技术的高速工业喷印控制系统,其特征在于,所述数据读取模块包括相互连接的USB读取模块和存储控制模块,其中USB读取模块用于读取要打印的图像压缩数据,存储控制模块把要打印的图像压缩数据读取到图像处理模块中的码流读入模块。
4.根据权利要求1所述的一种基于FPGA技术的高速工业喷印控制系统,其特征在于,所述图像处理模块包括顺序连接的码流读入模块、熵解码模块、反量化、反Zig-Zag模块和IDCT模块,主控模块为码流读入模块提供码流读入使能,IDCT模块将解压缩灰度数据传输给海量信息存储模块。
5.根据权利要求1所述的一种基于FPGA技术的高速工业喷印控制系统,其特征在于,所述海量信息存储模块作为其他模块之间数据传输的缓冲器。
6.根据权利要求1所述的一种基于FPGA技术的高速工业喷印控制系统,其特征在于,所述数据处理模块包括顺序连接的数据转换模块、控制命令生成模块和打印信息、控制信息分离模块;其中,数据转换模块读取海量信息存储模块中的数据,受主控模块的转换使能控制;打印信息、控制信息分离模块将控制信息发送给主控模块,将打印信息发送给喷头时序模块。
7.根据权利要求1所述的一种基于FPGA技术的高速工业喷印控制系统的控制方法,其特征在于,在非单程模式下,包括以下步骤:
当系统上电后各个模块都被复位,处于初始状态;
主控模块内部状态机开始从初始状态开始执行,首先检查USB是否有要打印的图像压缩数据,若有则接收数据,然后启动图像处理模块和数据处理模块,处理图片数据并生成一串控制指令;
启动伺服电机控制模块使喷头车前进一段距离后返回系统初始点,系统处于工作状态,检测外部使能喷印命令;
读取到外部使能喷印命令后,启动CCD定位模块和运动控制模块控制喷头车低速行进,寻找喷印参考点;
主控模块开始读取数据处理模块生成的第一个控制指令,从参考点开始计算,主控模块根据喷印起始点参数通过运动控制模块行进至打印位置,进入喷印过程;
在喷印过程中,主控模块每次读取一个喷印指令,启动喷头时序模块从数据处理模块中接收打印信息,同时启动伺服模块进入曲线运动,伺服模块根据一定的曲线控制喷头车的升速、匀速、降速运动;
在打印点火阶段,光栅定位模块根据光栅分频、抽点等参数对光栅计数,喷头时序模块读取一次点火的数据储存至喷头寄存器中,并发出点火控制脉冲,实现了一次点火打印;
一行数据打印完成后,伺服电机控制模块控制电机进入降速阶段,同时步进电机控制模块根据参数控制在垂直方向上行进一定距离;喷头车降速停止后,执行状态检测模块,启动主控模块向数据处理模块发送动作完成命令,系统等待数据处理模块下次的命令;
在单程模式下,包括以下步骤:
当系统上电后各个模块都被复位,处于初始状态;
主控模块内部状态机开始从初始状态开始执行,首先检查USB是否有要打印的图像压缩数据,若有则接收数据,然后启动图像处理模块和数据处理模块,处理图片数据并生成批量控制指令;
检测外部使能喷印命令,同时检测是否有手动步进信号;
读取到外部的使能开始命令后,主控模块读取数据处理模块生成的控制指令,该控制指令已包含一次打印任务的所有参数,步进电机控制模块控制柔性基材匀速运动;
在喷印过程中,主控模块启动喷头时序模块实时读取喷印数据;
在打印点火阶段,光栅定位模块根据光栅分频、抽点等参数对光栅计数,喷头时序模块读取一次点火的数据储存至喷头寄存器中,并发出点火控制脉冲,实现了一次点火打印;
一次打印任务完成后,步进电机降速停止,执行状态检测模块,启动主控模块向数据处理模块发送动作完成命令,系统等待数据处理模块下次的命令。
8.根据权利要求7所述的一种基于FPGA技术的高速工业喷印控制系统的控制方法,其特征在于,所述主控模块内部状态机的逻辑状态转换流程为:
系统上电后同步复位信号使主控模块复位,主控模块经过初始化动作后处于接收监听是否有USB数据状态;
主控模块监听到有USB数据传输时,启动图像处理模块模块,对传输的数据进行解码,处于解码状态;
当收到解码完成信号后,主控模块启动数据处理模块,对解码得到的数据进行数据处理,处于数据处理状态;
当收到数据处理完成信号后,主控模块读取控制命令,解析相应的控制命令,提取出命令字和参数,处于解析命令状态;
进入执行命令状态:根据相应的串口命令顺序启动喷头时序模块、伺服电机控制模块、步进电机控制模块、串口发送信号、光栅模块初始化信号,主控模块给伺服电机控制模块与步进电机控制模块提供打印伺服电机与步进电机脉冲数、方向参数、给喷头时序模块提供打印起始位、数据量参数;
当动作执行完后各个模块进入了结果返回状态;
重新进入读取控制命令状态,以进行下次循环。
9.根据权利要求7所述的一种基于FPGA技术的高速工业喷印控制系统的控制方法,其特征在于,所述喷头车前进一段距离后返回系统初始点,即零点。
10.根据权利要求7所述的一种基于FPGA技术的高速工业喷印控制系统的控制方法,其特征在于,所述控制指令在数据处理模块中的控制命令生成模块中生成,再传输给打印信息、控制信息分离模块,把分离得到的23*8位的控制信息传输给主控模块模块。
11.根据权利要求10所述的一种基于FPGA技术的高速工业喷印控制系统的控制方法,其特征在于,所述主控模块接收23*8位的控制信息,根据协议进行分解,产生控制信号:读取数据量的大小size_dma_o,伺服电机运动距离step_sev_o,伺服电机运动方向dir_sev_o,伺服电机起始距离step_start_sev_o,步进电机运动距离step_step_o,步进电机运动方向dir_step_o,打印DPI和点火频率dpi_o;其中,伺服电机运动距离step_sev_o,伺服电机运动方向dir_sev_o,伺服电机起始距离step_start_sev_o传送给伺服电机控制模块;步进电机运动距离step_step_o,步进电机运动方向dir_step_o传送给步进电机控制模块;打印DPI和点火频率dpi_o传送给光栅定位模块;打印DPI和点火频率dpi_o,读取数据量的大小size_dma_o传送给喷头时序模块。
12.根据权利要求7所述的一种基于FPGA技术的高速工业喷印控制系统的控制方法,其特征在于,所述运动控制模块采用加减速柔性运动控制算法,具体为:
在三角函数加减速基础上构造加速度曲线a=amaxsin(πt/Tm),其中amax为系统最大允许加速度,Tm为加速时间,0≤t≤Tm;
采用函数逼近的方法,获得上述加速度曲线的多项式近似表达式
对a(t)微分,得加加速度:
根据加速度、速度和位移的积分关系,可以得到加速阶段速度v(t)和运行长度s(t)的解析表达式:
针对控制系统实际采用的伺服电机,设置最大加速度amax和喷头最大运动速度vmax,获得喷头加减速控制曲线。
13.根据权利要求12所述的一种基于FPGA技术的高速工业喷印控制系统的控制方法,其特征在于,针对所述控制系统实际采用的伺服电机,设置最大加速度amax和喷头最大运动速度vmax,获得喷头加减速控制曲线,具体为:
步进电机控制模块将插补后的指数加减速速度控制曲线送入PWM模块,生成PWM脉冲对步进电机进行运动控制;
伺服电机控制模块采用基于多项式逼近三角函数的加减速方法生成伺服电机加减速控制曲线,并将插补后生成的多项式加减速控制曲线与光栅信号处理模块生成的位置信号综合,得到的偏差信号送入PID控制模块,再通过PWM模块生成伺服电机控制脉冲。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410557217.2A CN105564028B (zh) | 2014-10-20 | 2014-10-20 | 一种基于fpga技术的高速工业喷印控制系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410557217.2A CN105564028B (zh) | 2014-10-20 | 2014-10-20 | 一种基于fpga技术的高速工业喷印控制系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105564028A CN105564028A (zh) | 2016-05-11 |
CN105564028B true CN105564028B (zh) | 2017-07-21 |
Family
ID=55874912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410557217.2A Expired - Fee Related CN105564028B (zh) | 2014-10-20 | 2014-10-20 | 一种基于fpga技术的高速工业喷印控制系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105564028B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145457B (zh) * | 2017-04-25 | 2019-10-29 | 电子科技大学 | 基于片上ram提升多通道有效数据传输的装置及方法 |
CN107128068A (zh) * | 2017-06-28 | 2017-09-05 | 上海应用技术大学 | 一种fpga驱动电磁阀喷印系统及方法 |
US10432816B1 (en) | 2018-08-17 | 2019-10-01 | Hewlett-Packard Development Company, L.P. | Finishing line controllers to optimize the initialization of a printing device |
CN111016443B (zh) * | 2018-10-09 | 2021-05-11 | 上海宝信软件股份有限公司 | 点阵大小可控型喷头控制系统和方法 |
CN109484046B (zh) * | 2018-10-15 | 2020-08-11 | 广东宝莱特医用科技股份有限公司 | 一种打印控制方法、控制系统及打印设备 |
CN110949023B (zh) * | 2019-11-27 | 2021-11-09 | 深圳市汉森软件有限公司 | 光栅抖动误差校正方法、装置、打印设备及存储介质 |
CN113492591A (zh) * | 2020-03-19 | 2021-10-12 | 深圳市汉森软件有限公司 | 以图像采集装置为辅的打印方法、装置、设备及存储介质 |
CN111469558B (zh) * | 2020-03-31 | 2021-03-05 | 厦门汉印电子技术有限公司 | 多喷头控制系统及其控制方法 |
CN111493118B (zh) * | 2020-04-29 | 2022-04-22 | 智锐达仪器科技南通有限公司 | 一种用于喷码装置的喷码控制方法及相应的喷码装置 |
CN111845133A (zh) * | 2020-08-28 | 2020-10-30 | 烟台科思汇标识技术有限公司 | 一种可变内容的喷码方法及系统 |
CN112776492B (zh) * | 2020-12-31 | 2022-11-08 | 苏州工业园区鑫海胜电子有限公司 | 一种无物理光栅的打印方法 |
CN113442581B (zh) * | 2021-06-30 | 2022-10-14 | 厦门汉印电子技术有限公司 | 一种打印方法、装置、设备和存储介质 |
CN113752698B (zh) * | 2021-08-31 | 2022-07-12 | 华中科技大学 | 一种用于喷墨印刷的墨滴落点精度控制方法及系统 |
CN113978146B (zh) * | 2021-10-21 | 2024-02-02 | 东莞市启思达智能技术有限公司 | 一种基于双平台阻焊喷印机的喷印方法及系统 |
CN114330603A (zh) * | 2022-01-07 | 2022-04-12 | 昇捷丰标识科技(厦门)有限公司 | 基于fpga的喷码机控制系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7921046B2 (en) * | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
JP5140498B2 (ja) * | 2008-06-23 | 2013-02-06 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置及び画像形成装置 |
CN102555550B (zh) * | 2011-12-30 | 2014-04-16 | 浙江大学 | 一种基于多核处理器的高速印花机图像数据旋转处理系统及方法 |
CN103660640A (zh) * | 2012-09-24 | 2014-03-26 | 长沙八思量信息技术有限公司 | 采用fpga实现位运算的高速喷绘机控制系统 |
CN203157398U (zh) * | 2012-10-17 | 2013-08-28 | 东莞凯佳智芯电子科技有限公司 | 一种阵列式精密喷印设备的喷印控制系统 |
CN203876383U (zh) * | 2014-05-05 | 2014-10-15 | 上海古鳌电子科技股份有限公司 | 一种高速喷墨打印模块 |
-
2014
- 2014-10-20 CN CN201410557217.2A patent/CN105564028B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN105564028A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105564028B (zh) | 一种基于fpga技术的高速工业喷印控制系统与方法 | |
JP5974097B2 (ja) | 有遅延液体ジェット噴射 | |
CN105468310B (zh) | 一种喷码机的fpga控制系统及其控制方法 | |
JP2003305895A (ja) | 画像形成システム、記録装置及び記録制御方法 | |
CN109263280B (zh) | Onepass喷墨打印方法、装置、设备及存储介质 | |
KR100555268B1 (ko) | 기록 장치 및 기록 장치의 제어 방법 | |
WO2006049836A2 (en) | Tailoring image data packets to properties of print heads | |
CN1090093C (zh) | 喷墨打印机及其驱动方法 | |
CN104417062B (zh) | 一种控制打印套齐的方法及装置 | |
CN101376302B (zh) | 印刷系统中控制成像部件工作的装置及方法 | |
CN104476930A (zh) | 一种分布式大型数字喷墨印刷控制装置 | |
CN204774136U (zh) | 一种喷墨绘图机控制系统 | |
CN113442581B (zh) | 一种打印方法、装置、设备和存储介质 | |
CN114564157A (zh) | 一种数字喷墨打印机用soc架构 | |
CN111497249A (zh) | 一种3d打印机控制器及3d打印机控制方法 | |
CN102442088B (zh) | 喷墨打印机的打印头控制装置 | |
WO2001013328A1 (en) | Print engine control system | |
CN1163197A (zh) | 打印装置及其控制方法 | |
KR960015778B1 (ko) | 데이터처리방법 | |
CN114330603A (zh) | 基于fpga的喷码机控制系统及方法 | |
CN1769052A (zh) | 控制喷墨打印时间的装置及方法 | |
JP2006264274A (ja) | 圧縮データ解凍回路、圧縮データ解凍方法及び印刷装置 | |
CN115195127B (zh) | 彩色3d打印设备及其控制方法、系统、可读存储介质 | |
CN111427520B (zh) | 一种压电喷头高速喷印的喷印方法 | |
CN203689094U (zh) | 一种高速矢量绘图装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170721 |
|
CF01 | Termination of patent right due to non-payment of annual fee |