基于wifi的无线式3D打印机控制器和上位机APP应用界面的设计详解

RF/无线

1818人已加入

描述

3D打印属于快速成形技术的一种,是以数字模型文件为基础,运用塑料或粉末状金属等材料,通过逐层打印的方式来构造物体。近几年3D打印技术飞速发展,已广泛应用于航天、国防、医疗设备、教育及制造业。但目前的3D打印机大部分依然采用电脑连接进行操作打印,或者采用SD卡存储打印产品的数据进行打印,有时为用户使用带来极大不便。手机、平板电脑等移动设备终端已经成为了人们的生活必备品,这些产品都带有wifi无线传输功能。本文设计一种可以利用手机、平板等移动端安装app应用软件实现移动设备wifi无线控制3D打印机进行打印的控制器。通过移动端app软件进行打印对象的选择、传输及打印控制。有了wifi操作,3D打印机就不局限于在电脑上操作,方便了用户使用,节省了使用成本。本文重点阐述无线式3D打印机控制器和上位机APP应用界面的设计。

1 无线式3D打印机控制器设计方案

控制器的核心CPU选用ST公司的STM32F103VET6微控制器,控制系统主要完成接收WiFi模块传输的数据;读取SD卡内存放的3D模型数据文件;完成对步进电机的控制;挤出头和热床的温度控制;挤出头行程控制等。无线式3D打印机的控制系统总体框图如图1所示。

3D打印机

如图1所示,手机端的控制软件代替了电脑,通过手机上的wifi将打印数据和命令传输到3D打印机控制器进行打印控制,3D打印机控制器也会将挤出头及热床温度、打印机当前状态等信息传输到手机端进行显示,方便用户查看。3D打印机控制器通过wifi模块接收数据文件存储到SD卡中,打印数据存储完成后,当控制器接收到打印命令后就可以开始打印了。两路温度传感器经CPU片内A/D转换通道分别检测挤出头和热床的温度;CPU的两路数字信号输出分别控制挤出头和热床加热电路的NMOS功率开关管,结合温度传感器实现挤出头和热床温度的控制;四路步进电机驱动电路分别控制X、Y、Z这3个轴的步进电机以及挤出头的步进电机;三路行程开关定位X、Y、Z轴的原点和运动相对位移量。

2 系统硬件电路设计

2.1 wifi通信电路设计

本设计中选用的是ESP8266为主控芯片的wifi模块。ESP8266的wifi模块具有接口简单、价格低廉、高效的AT指令,开发更简单等特点。ESP8266芯片具有一个完整且自成体系的wifi网络解决方案,高度片内集成,包括天线开关、电源管理转换器,因此只需要极少的外部电路,且包括前端模块在内的整个电路所占PCB空间非常小,专为移动设备和物联网应用设计,可将用户的物理设备连接到wifi无线网络上,进行互联网或局域网通信。WiFi模块采用UART和控制器进行通信。STM32通过串口TX发送AT指令对wifi的工作模式、UART波特率、建立连接等相关参数进行设置。STM32的USART接收端口RX则接收wifi模块从移动端接收到数据和指令。这样,当移动端和3D打印终端建立无线连接后,就可以实现数据双向通信了。

2.2 步进电机驱动电路设计

对于小型打印机一般采用两相四线42系列的步进电机。STM32控制步进电机要借助于电机驱动电路,在3D打印机中一般采用A4988芯片作为步进电机驱动,但A4988芯片最大只有16细分,输出最大电流为2A。而TI公司的DRV8825步进电机驱动芯片最高可以达到32细分,驱动电流可以输出 2.5A,低至0.2欧的导通电阻,保证了芯片良好的散热性等优势。另外芯片还集成了快速响应的短路、过热、欠压及交叉传导保护功能电路,能够检测故障状况,并迅速切断H桥,从而为电机和驱动芯片提供保护。本设计选择DEV8825作为步进电机驱动芯片。图2为步进电机驱动电路和加热及温度检测电路与 STM32的接口。图2中P1为两相四线步进电机和DRV8825驱动电路的接口,芯片的STEP步进和DIR方向控制管脚连接到STM32的PC0和 PC1管脚进行控制。本设计中在驱动电路硬件设计时已经将细分设置为1/32,休眠、复位等都失能,这样可以节省STM32的GPIO端口,如果控制器芯片管脚够用,可以通过程序控制这些管脚进行更多功能的步进电机控制。

2.3 挤出头温度检测及加热电路设计

3D打印过程中挤出头和热床都需要保持相对恒定的温度,如果采用的是PLA打印材料一般将挤出头加热温度设置为175-200度,热床温度设置为40-60度。电路中温度检测采用MAX6675数字温度转换芯片将热敏电阻的温度转换为数字量由STM32读出。挤出头和热床温度可根据具体使用环境确定实际温度值,挤出头和热床温度检测和加热电路是相同的,这里以挤出头温度检测和加热电路说明其加热原理,电路如图2所示。

3D打印机

JP27为加热管的接线端子,连接直流发热芯,R41和D13组成指示灯电路,MOS管Q3导通时,指示灯D13亮,发热芯加热。U4为热敏电阻温度转换芯片,转换完成的温度数字量通过STM32的3个管脚根据MAX6675操作时序读出。STM32将读出的温度值和设定的温度值进行比较,形成反馈,采用 PID算法实现温度的恒定。

3 系统软件设计

3.1 手机端APP软件设计

移动端的应用程序主要实现3D打印文件的选择、确认、3D打印机状态显示以及wifi的连接等。应用程序采用Android编程,实现打印数据文件的读取,并控制wifi进行数据的传输,还能够设置3D打印机的打印头温度、热床温度,并且可以接收打印头和热床温度进行显示,以及所用材料类型及使用量信息进行显示。移动端应用程序主要页面设计如图3所示。

3D打印机

首先在应用程序首页选择要打印的STL文件,进入下一界面进行预览,预览确认后可以启动打印,在打印界面可以选择暂停,并能够显示当前打印机的速度、热床和挤出头温度等信息。

3. 2 主程序流程图

软件程序具有通信、数字信号的控制和数据读取与处理等功能,根据设计要求,软件程序流程图设计如图4所示:

3D打印机

首先,3D打印机终端对wifi、电机及加热等模块初始化完成后,开始等待移动端发出的打印命令。一旦移动端发出打印命令,接收端接收到命令后,开始接收数据,为节省时间,在接收打印数据的同时,对挤压头及热床进行预热。当检测到数据接收完成,温度等达到预设值后,启动打印,并将打印速率、挤压头及热床温度等信息实时回传到手机的应用软件上进行显示,直到打印完成。

4 结束语

随着3D打印机和手机、平板电脑等移动终端的普及,采用移动终端对3D打印机进行控制是未来3D打印机的发展方向。本文就实现3D打印机的无线打印,给出了具体实现原理及程序流程,采用STM32微控制器提高了处理速度,加热电路通过PID调节,保证了温度恒定,减少了断丝、粗细不均现象,提高了打印质量。经实际验证,能够实现手机等移动终端对3D打印机的控制,并且本设计提高了打印质量。无线打印,为用户使用3D打印机提供了方便。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分