APP下载

大幅面便携式打字机设计与研究

2018-12-13童小利金秋春

机电产品开发与创新 2018年6期
关键词:幅面流程图打印机

童小利,金秋春

(1.郑州航空工业管理学院 机电学院,河南 郑州 450046;2.郑州航空工业管理学院 计算机学院,河南 郑州 450046)

0 引言

目前国内外使用最多的打印机有针式打印机 (又称串行击打式打印机)、喷墨打印机、激光打印机及热敏打印机等[1],这些打印机区别在于打印头部件即实现打印文字或图片的方式和结构不一样,但他们有一个共同的结构进纸机构,正是这一结构的存在不仅使得打印的幅面受到了限制,而且还使得打印机的尺寸大不便于携带。市场上现有的便携式打印机是桌面打印机的缩小版,当然其打印的幅面也随之缩小。

本文着眼于设计一款尺寸小、便于携带,又不影响打印幅面的新型的打字机。该打字机摒弃了传统打印机的进纸机构,让纸固定不动,打字机在纸上自由行走并打字,从而达到缩小尺寸和大幅面打印的目的。

1 系统的组成

系统由STM32控制器,步进电机驱动模块、超声波传感器模块、打印笔模块以及电源模块组成。所有模块都通过以一个全向平台底盘连接在一起,该全向底盘由4个全向轮组成,并通过4个步进电机来驱动,打印笔放在全向平台的中心上,在X轴方向并列放置两个收发一体的超声波传感器1和超声波传感器2,用来检测打印笔Y轴的距离以及让打字机保持水平的位置,另一个传感器3放置在Y轴方向用来检测打印笔X轴的距离,打字机全向底盘结构设计如图1所示。

图1 打字机全向底盘结构设计Fig.1 The omnidirectional chassis of typewriter design

2 系统硬件设计

2.1 控制模块的设计

控制模块是打字机的核心部分,负责读取超声波传感器检测到的距离值,控制打字机的行走以及精确定位,并控制打印笔按打印内容打印。控制器采用意法半导体的STM32F103系列的STM32F103ZET6单片机,该系列微处理器工作频率为72MHz,内置高达128K字节的Flash存储器和20K字节的S R AM,具有丰富的通用I/O端口[2],在运算速度和存储容量上满足要求,丰富的外设也简化了系统的硬件设计[3]。

2.2 步进电机驱动电路的设计

步进电机采用两相四线混合式大扭矩42系列步进电机。步进电机驱动芯片采用A4988,A4988是一款完全的微步电动机驱动器,可以以全、半、1/4、1/8及1/16步进模式驱动两相步进电机,输出驱动性能可达35V及±2A,为系统步进电机提供了足够的驱动功率[4]。

步进电机驱动电路如图2所示,ENABLE端口接地,输入低电平时使能,电机转动。4个A4988的STEP引脚分别与 STM32的 PE0、PE1、PE2、PE3口相连,输入一个脉冲,即可驱动步进电动机产生微步,设置脉冲的频率,可控制步进电机旋转速度。4个A4988的DIR引脚分别与STM32 的 PE4、PE5、PE6、PE7 口相连,输入高电平时,步进电机顺时针旋转,输入低电平时,步进电机逆时针旋转。四个步进电机驱动芯片A4988的输出端1A与1B分别接步进电机同相的两端,输出端2A与2B分别接步进电机另一相的两端。MS1、MS2、MS3按照表1分别接高低电平来设置步进模式,从而选择不同的步距角和激励方式[4]。

图2 步进电机驱动电路Fig.2 Stepping motor drive circuit

表1 步进控制逻辑表Tab.1 Step control logic table

2.3 超声波测距接口电路的设计

KSl03超声波传感器带温度补偿功能,测量精度高,使用温度修正的测距命令,直接输出距离(单位为mm),近距离内最高精度达1mm;测量盲区最小至1cm,最大量程可达11m,基本无盲区[5]。

超声波测距接口电路如图3所示,MODE引脚悬空时,KS103工作于I2C模式,其中VCC连接+5V电源,GND连接电源地,SDA/TX是I2C通信的数据线分别与STM32的 PB6、PB7口相连。

图3 超声波测距接口电路Fig.3 Ultrasonic ranging interface circuit

2.4 打印笔驱动电路的设计

打印笔驱动电路如图4所示,通过STM32的PE8口的输出来控制打印笔动作。当PE8口输出高电平(+5V)时,三极管Q1导通,连接在打印笔上的电磁铁线圈通电,产生磁性吸合可动铁芯,从而带动打印笔伸出,实现打点功能。当PE8口输出低电平时,三极管Q1截止,电磁铁线圈断电,不能产生磁性吸合可动铁芯,在弹簧力的作用下,动铁芯、推杆带动打印笔缩回,不打点。

图4 打印笔驱动电路的设计Fig.4 Design of driving circuit for printing pen

3 系统软件的设计

上电后,对小车进行初始化,让小车走到起始位置,并保持车身与X轴平行的姿态。接着根据取模数据控制打印笔开始打印,一直到所有字符都打印完成结束。

3.1 小车初始化程序流程图

如图5所示,小车初始化程序主要是用来设定页边距,根据页边距设定小车的起始点,并控制小车走到该起始点和保持水平的姿态,这主要是通过小车定位程序来实现的。当小车到了设定的起始位并保持好水平姿态,则停止运动原地待命。

图5 小车初始化程序流程图Fig.5 Flow chart of car initialization program

3.2 小车定位程序流程图

小车定位程序的主要功能是借助超声波传感器,在一定精度范围内,实现小车保持水平姿态在平面内任意点的定位,为打印做好准备。小车定位程序流程图如图6所示,首先采集3个超声波传感器的值,利用传感器1和传感器2的差值来控制小车是否保持水平。然后利用传感器1和传感器2的平均值来与目标点的Y值的差值与精度相比较来控制小车在目标点的Y轴方向无偏差。接着利用传感器3与目标点的X值的差值与精度相比较来控制小车在目标点的X轴方向无偏差。

图6 小车定位程序流程图Fig.6 Flow chart of car positioning program

3.3 打印程序流程

首先是根据取模软件对要打印的内容进行一定大小的取模,从而得到一系列由十六进制数表示的点阵数据,用该点阵数据组成打印数组。取模软件采用PCtoLCD2002,取模时可采用逐行顺向取模方式,即从第一行开始向右每取8个点作为一个字节,如果最后不足8个点就补满8位,取模顺序是从高到低,即第一个点作为最高位。字节的每个位代表汉字的一个点,“0”代表没有点,“1”代表有点。

然后通过打印程序读取打印数组中的第一行的第一个打印数据,判断该打印数据的对应的二进制数的每一位是否为1,若为1则代表该位为需要打墨点,则单片机通过小车定位程序控制写字机器人走到该点的位置,并控制PE8口输出1,控制打印笔打点。为了提高打印速度,打印完第一行的所有的打印点,然后控制写字机器人按照“S”形路线反向返回,在返回的过程中又根据打印数据反向打印所有的打印点,打印流程图如图7所示。

图7 打印程序流程图Fig.7 Print program flow chart

图8 打字机打印的“郑州航院”字Typewriter printed "Zhengzhou hang yuan"

4 实验及结论

通过上位机的取模软件得到“郑州航院”32×32点阵的字模数组,并通过串口传输给打字机的控制器。将白纸平铺在有直角墙角(以两相互垂直的墙为参照物)的地面上,然后把小车放在白纸上,启动打字机电源开关,打印结果如图8所示。打印结果表明该打字机能按照要求正确打印,该字所占的幅面长宽尺寸为990×230mm,超过了常用的A4、A3幅面,打印幅面大,实现大幅面打印。此外该写字机外型尺寸长宽高为(275×275×140)mm,重 2.91kg ,尺寸小,重量轻便于携带。

猜你喜欢

幅面流程图打印机
另类3D打印机
打印机基板大型注塑模具设计
FDM型混色3D打印机的设计
图纸折叠探讨
B2幅面数字印刷机使用调查
宁海县村级权力清单36条
《天津医药》稿件处理流程图
《天津医药》稿件处理流程图
《天津医药》稿件处理流程图
省钱的A3+幅面打印机