标题 | 3D打印人机交互界面设计 |
范文 | 黄雨琦 孙潇萌 摘要:当今时代,科学技术发展迅速,虽然各种先进的自然人机交互产品陆续问世,但是人机交互技术仍处于研究发展阶段。由于触摸屏有着较强的人机交互功能,stm32f4开发板具有强大的外设功能。本课题依托江苏省三维打印装备与制造重点实验室,研究开发人机交互界面设计方案。本文主要介绍内容是设计并实现三维打印机的人机交互功能,同时设计出电机通用控制系统的人机交互界面文件。根据课题要求通过查阅资料与老师交流,明确设计流程。通过前期对开发板触摸屏,显示屏,sD卡的学习,采用Keil uVision5进行程序设计,经多次调试、修改,验证程序的可行性后再将硬件联结成系统,最后完善设计。设计的人机交互符合三维打印时的具体情况,界面友好、清晰,通过触摸屏可控制三维打印时电机的运转,达到了人机交互设计的要求。所设计的三维打印机的人机交互界面系统和电机通用控制人机交互系统实现了预期目标,验证了所提方案的正确性和可行性。 关键词:人机交互 界面设计 stm32f4开发板 一、绪论 (一)课题研究背景及现状 如今社会处在一个快速发展的阶段,随着一系列新技术的成熟和应用,人们的生活方式发生了快速而多样化的变化。近年来对人们影响最深远的核心技术群可以概括为新能源技术、新互联网技术以及新制造技术。而新的制造体系恰恰是连接人类社会基础形态与高度数字化的虚拟社会之前的桥梁。当前3D打印机中使用的控制器主要有ARM控制器和Arduino平台。其中Arduino是目前世界上在3D打印中应用最为广泛的开源平台,由于Ardulno简单的开发方式,提供了一个很好的平台结构,现在很多的MCU(ManagementControlunit)都可以应用在Arduino平台结构中,随着开源平台Arduino更好的发展,Arduino平台可以不受MCU限制,任何的MCU都可以应用到该平台中。除了这种开源简捷的平台外,开发者可以根据自己的需求选择处理器实现控制系统的开发,当前应用最为广泛的是ARM Cortex-M系列控制器,ARM系列的控制器具有丰富的外设和较高的工作频率,拥有兼容性好、高度集成、易于开发等优势,适用于一些要求较高实时性和计算速度的嵌入式应用场景,结合该控制器的特点,比较适合应用于3D打印。 (二)课题研究意义 根据2017年4月3D打印行业最权威咨询公司——沃勒斯合伙公司发布的第22份年度产业报告显示:“截止到2016年12月31日,全球3D打印行业(包括产品和服务在内)的行业总产值首次突破60亿美元大关,达到60 63亿美元,预计到2020年底将达到125亿美元。”3D打印颠覆了制造业体系具有良好的潜在市场需求,但是目前3D打印的普及仍有非常长的路要走,如果参照打印机的发展路径,虽然现在打印机的价格已经非常便宜,但并不是每个家庭都拥有一台打印机,这其中最大的原因是人们对打印文档的需求并不强烈。所以3D打印发展的最佳路徑应该是个人电脑,现在越来越多的家庭购买了电脑,不仅仅是其价格的降低还得益于使用成本的降低,由于电脑实现了自然的人机交互,而不是仅仅应用于各种程序的编写,使得电脑成为人们工作学习获取信息地关键工具所在。3D打印也是如此,目前3D打印的使用成本仍非常高,如果用户需要打印东西,必须首先了解3D打印的建模和相关开发软件的使用,还要把数据转换成3D打印机可以识别的形式,并且现在很多打印机使用并没有摆脱上位机的控制,这大大地增加了用户的使用难度。不难看出良好人机交互设计更有利于用户走进这一新型设备,实现其系统价值,因此3D打印的人机交互设计成为3D打印发展中的重要一笔也是急切需要解决的问题。 (三)课题研究内容 随着信息技术的快速发展,人机交互系统逐渐成为国内外信息领域的研究热点。在现实生活中,触摸屏因为使用的方便性、材质的坚固性得到广泛的运用,并逐渐成为公共场合重要的人机交流输入设备,可见触摸屏有非常广阔的发展前景。STM32F4开发板采用Cortex M4内核,运行频率可达168Mhz,凭借强大的处理功能得到广泛应用。 本课题主要致力于研究基于嵌入式系统的一种人机交互系统的设计。通过对STM32F4开发板的开发提供友好的用户界面,实现对3D打印系统的控制运提高成型系统使用的便捷性、增加用户界面的友好性。 课题研究主要分两部分,硬件的连接和软件的设计。硬件由三部分组成,以STM32F407ZGT6芯片为核心的处理器、开发板自带的触摸屏和将开发板与3D打印系统相连接的电机控制器,软件设计上,首先熟悉开发环境,然后对软件进行设计对LCD模块、触摸屏模块、电机控制模块进行编程,最后实现人机交互的功能。 二、硬件系统 本章节主要介绍在设计系统过程中包括STM32F4开发板与2.8寸TFT LCD模块基本内容。 (一)系统组成 整个硬件系统由以人机交互为主的TFLCD显示模块,控制整个交互界面的STM32F4开发板,和将3D打印系统与交互界面相连接的步进电机驱动器三部分组成。使用者通过TFLCD模块自带的触摸屏发出指令,触摸屏将相关参数发送给STM32F4开发板,开发板再向步进电机驱动器发出信号,控制步进电机运动,进而控制整个3D打印系统。 (二)sTM32F4开发板简介 STM32F4开发板基于Cortex-M4内核,主频达到168MHz,具有LCD接口,支持电阻电容触摸屏。主芯片采用STM32F407ZGT6.该芯片集成FPu和DSP指令,并具有192KB SRAM、1024KBFLASH,满足大容量数据存储需求,12个16位定时器、2+32位定时器、2+DMA控制器(共16个通道)、3+SPI、2个全双工12S、3个IIC、6个串口、2+USB(支持HOST/SLAVE)、2个CAN、3+12位ADC、2+12位DACI+SDIO接口、I+FSMC接口以及112个通用lo口等,支持外设的扩展。最多可提供6路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持LIN、支持调制解调器操作、智能卡协议和IrDA SIR ENDEC规范、具有DMA等。丰富的开发板资源满足了人机交互界面的设计需求。 (三)显示屏与开发板的连接 本次交互界面主屏幕采用TFT-LCD,即薄膜晶体管液晶显示器。TFT-LCD在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。该模块支持65K色显示,显示分辨率为320X240.接口为16位的80并口,自带电容式触摸屏。TFLCD模块采用2*17的2.54公排针与外部相连,采用16位的方式与外部连接,相比8位方式显示速度会更快,且TFTLCD模块的RST信号线是直接接到STM32F4的复位脚上,并不由软件控制,可以直接由硬件复位,这样可以省下来一个IO口。另外我们还需要一个背光控制线来控制TFTLCD的背光。所以,我们总共需要IO口数目为21个。 STM32F4开发板的主芯片STM32F407ZGT6.通过FSMC接口来控制LCD模块的显示。STM32F4的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存储器。由于外部SRAM的控制一般有:地址线(A0~A18)、数据线(如D0~D15)、写信号(WE)、读信号(OE)、片选信号(cs),如果SRAM支持字节控制,那么还有UB/LB信号。而TFTLCD的信号我们在18.1包括:RS、D0~D15、WR、RD、CS、RST和BL等,其中真正在操作LCD的时候需要用到的就只有RS、D0~D15、WR、RD和CS。其操作时序和SRAM的控制完全类似,所以我们可以将FSMC_NE4做片选,将TFLCD当作SRAM控制。 (四)开发板与电机驱动器之间的连接 本次设计采用的电机驱动器为雷塞DM5045电机驱动器,采用24-50V供电,适用于驱动电压24-50V,电流小于4.5A外径42~86mm的两相混合式步进电机。电机驱动器可由手动拨码开关设定输出电流,满足步进电机额定要求,电流大小以有效值和最大值标称,拨码开关组合,适用于驱动电流小于4.5A的两相混合式步进电机。驱动器细分设定是为了调整电机步距角度,主要调整驱动器面板上拨码开关的状态来设定16种细分模式。开发板可以通过I/O口由杜邦线将输出信号与电机驱动器相连接。 三、软件设计 本次设计旨在通过上位机用户程序编译软件,对开发板进行开发,利用开发板显示人机交互界面,并接受用户发出的信号同时对电机控制器发出信号,提高成型系统使用的便捷性、增加用户界面的友好性。本章对上位机的软件编程实现和程序的编写进行介绍。 (一)上位机的软件编程实现 本次设计以STM32F4固件库源程序为基础,采用Keil uVision5软件编程平台的c语言,以STM32F4采用ST-Link仿真器与USB接口将电脑与开发板相连,进行程序工程的创建和烧录,实现对开发板的开发。 (二)主程序设计 主程序中首先对SD卡初始化后利用FAT系统模块对文件打开SD卡目录,对图片显示初始化后,申请内存,利用LCD模块对储存在SD卡中的开机界面进行显示,最后能让用户能够通过触摸屏对电机进行控制。本小节分LcD显示模块,触摸屏模块,电机控制模块三个模块对主程序设计进行介绍。 1.LcD显示模块 对于交互界面而言,最重要的是要使用户明确视觉因素,为了凸显南京师范大学,开机画面图片选取了我校标志性建筑——敬文图书馆,并在图片上方上“3D打印”这样使用者一开机就会清楚,这是南京师范大学关于3D打印机控制的触摸显示屏。 JPG格式图片,是最常用的图像文件格式,同BMP格式不同,JPEG是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。因此我们选用JPG格式图片作为开机界面。 我们将符合LCD大小的开机界面图片放在SD卡的PICTURE中,对SD卡初始化,并使用FATFS来管理SD卡,打开SD卡目录下的PICTURE文件,读取图片信息申请内存空间并用开发板提供的解码库TjpgDec实现对JPG格式图片的解码。 对图片解码后即可通过LCD模块进行显示,LCD模块的使用首先要进行复位,因为TFTLCD模块的RST信号线是直接接到STM32F4的复位脚上,所以LCD的复位可以直接通过开发板硬件复位,然后通过设置坐标,写GRAM指令来实现对每一个点的处理,并以此为基础设计数字,字符,图片的显示。TFLCD基本使用流程图如图3-3所示。 2.触摸屏模块 本次设计采用的触摸屏为TFLCD模块自带的投射式电容触摸屏(交互电容类型),利用人体感应进行触点检测控制,不需要直接接触或只需要轻微接触,通过检测感应电流来定位触摸坐标,最多可支持五点触摸。该触摸屏在玻璃表面的横向和纵向的ITO电极的交叉处形成交互电容。交互电容的扫描方式就是扫描每个交叉处的电容变化,来判定触摸点的位置。当触摸的时候就会影响到相邻电极的耦合,从而改变交叉处的电容量。且电容触摸屏无需校准,采用电容触摸屏驱动芯片OTT2001A芯片来检测电容触摸并通过IIC接口输出数据,OTT2001A只需要经过简单的初始化就可以正常使用了。初始化流程如图3-4所示。 本次设计采用查询方式来判断触摸屏是否被按下,函数里使用了一个静态变量来提高效率,当无触摸的时候,尽量减少对CPU的占用,当有触摸的时候,又保证能迅速检测到,并根据横屏竖屏计算触摸屏的信息。 OTT2001A的输出坐标,默认是以:x坐标最大值是2700.Y坐标最大是的分辨率输出的,也就是输出范围为:x:0~2700.Y:0~1500;MCU在取到坐标后,必须根据LCD分辨率做一个换算,才能得到真实的LCD坐标 触摸屏程序的主要目的在于使得用户能够通过对屏幕触摸实现对电机控制函数得调用电机控制函数。得到触摸点得坐标后可以通过触摸点的不同范围,调用不同的电机运动函数 3.电机控制模块 快速成型系统采用的电机为步进电机,步进电机是一种开环控制电机,在自动控制系统中扮演着非常重要的角色,是其主要执行元件。开发板可以通过定时器产生脉冲信号和方向信号与电机控制器相连来控制步进电机的运动。 开发板利用定时器中断模式来产生脉冲信号,以x轴电机为例,采用TIM2定时器,首先要开启定时器时钟,通过查阅数据手册可得PA5可做TIM2-CHl通道。 首先对引脚进行初始化,采用推挽复用模式,通过设置ARR和PSC两个寄存器来设置脉冲周期,然后使能OHl通道并设置定时器为PWM输出模式,最后使能定时器,可修改TIM14-CCRl来改变输出脉冲的占空比,对程序烧录完成后即可从PA5引脚中用示波器看到脉冲信号。通过置位函数和清零函数来设置方向引脚的高低电平从而改变电机运动的方向。 四、总结与提升 本文基于stm32f4开发板进行三维打印人机交互研究,首先概述了该研究课题的研究背景和研究现状,然后全文围绕开发板的硬件连接和软件设计进行介绍,摆脱了上位机的控制,使得用户通过开发板触摸屏即可实现对快速成型系统进行操作,方便,简单,极大地降低了用户使用成本。 在前期的理论研究指导下,论文在人机交互实践设计上取得了一定的实践成果,但受到我们知识面广度和深度的局限,本研究课题同时存在许多不足之处,有待进一步的补充和完善,主要有以下几个方面:只是实现了对电机方向的控制,并没有实现对電机运行距离的精确控制。程序设计在交互方式的设计上略显生硬,没有实现更为自然的交互方式,界面的操作的人性化程度还不够。设计符合用户体验的应用,就要对界面的人机工程学进行仔细的研究。根据人机工程学的研究就可以使得我们的界面设计更加理性科学,从而提高界面的可用性和用户的满意度,而这方面的调研显然还不够,需要日后不断完善。 3D打印发展不到五十年,人机交互也在不断发展,使用户更自然地融入,接受,使用科技创新带来的成果,是人机交互的根本宗旨。总之,人机交互是个永远前进发展的课题,技术瓶颈逐一撑破,科学发展不断深化,更为进步的交互形式正在破茧而出。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。