桌面级3D打印机系统的设计与实现
3D打印机论文 STM32论文 μC/OS-III论文 WPF论文
论文详情
3D打印技术通常又被叫做增材制造技术。它一般采用逐层叠加的方法将耗材结合在一起。Charles Hull在1983年发明了以液态树脂为材料的3D打印技术。30多年过去了,3D打印技术取得了飞速的发展。3D打印机有很多种,根据其应用方向可分为工业级和桌面级。本文的研究内容为桌面级的3D打印机。目前市面上的3D打印机大多采用RAMPS、Sanguinololu、STB_Electronics、Gen7、RUMBA等几种开源的控制板。它们都支持一种开源的3D打印机控制系统Marlin。由于这几种开源的控制板的资源有限,对3D打印机的升级有一定的限制。因此,本文尝试着开发了一款基于STM32芯片的3D打印机控制系统。本文先从机械结构、电子器件、固件、G代码、分层软件、打印控制软件等几个方面对3D打印机的工作原理进行了深入的探究。然后又对开源的3D打印机控制系统Marlin主要的库模块进行了分析研究。最后设计出了一套基于STM32控制板和μC/OS-III嵌入式操作系统的3D打印机控制系统。本系统包括两部分,一部分是上位机系统,另一部分是下位机系统。上位机系统为3D打印机的操作界面。它是在WPF框架下用c#语言开发的。它可以将3D模型分层后的G-code文件通过串口发送到下位机并实现了一些的基本操作,如开始打印,暂停打印等基本功能。本文从WPF的特点、界面的实现、功能实现、线程的应用等几个方面详细的分析了上位机系统实现的过程。下位机的主控芯片为STM32处理器,运行环境为μC/OS-III嵌入式操作系统。下位机的主要功能为接收上位机发送过来的G-code,然后进一步解析指令,从而实现对步进电机、加热棒、led等外围器件的控制。本文从μC/OS-III、温度控制模块、限位开关模块、串行接口模块、命令解析模块、电机控制模块等方面对下位机的实现做了详细的介绍。文章的最后又详细的叙述了系统各个模块的调试过程。
摘要 | 第4-5页 |
Abstract | 第5页 |
1 引言 | 第9-11页 |
2 3D打印机的工作原理 | 第11-19页 |
2.1 整体框架与系统组成 | 第11页 |
2.2 机械结构 | 第11-13页 |
2.2.1 两种坐标系 | 第11-12页 |
2.2.2 挤出机 | 第12页 |
2.2.3 打印平台与限位开关 | 第12-13页 |
2.3 电子器件 | 第13-15页 |
2.3.1 微控制器 | 第13页 |
2.3.2 主板 | 第13页 |
2.3.3 步进电机驱动板 | 第13-14页 |
2.3.4 步进电机 | 第14页 |
2.3.5 外围器件 | 第14-15页 |
2.4 固件 | 第15页 |
2.5 G代码 | 第15-17页 |
2.5.1 简介 | 第15-16页 |
2.5.2 G代码在 3D打印机中的应用 | 第16-17页 |
2.6 分层软件 | 第17-18页 |
2.7 打印控制软件 | 第18-19页 |
3 开源固件Marlin分析 | 第19-26页 |
3.1 Marlin简介 | 第19页 |
3.2 Marlin的架构 | 第19-20页 |
3.3 SD lib | 第20-21页 |
3.4 Temperature lib | 第21-22页 |
3.4.1 测温 | 第21页 |
3.4.2 PID控制算法 | 第21-22页 |
3.5 Serial lib | 第22页 |
3.6 Stepper lib | 第22-25页 |
3.6.1 简介 | 第22页 |
3.6.2 bresenham算法在单轴控制上的应用 | 第22-23页 |
3.6.3 bresenham算法在多轴联动上的应用 | 第23-25页 |
3.7 Main lib | 第25页 |
3.8 Plan motion lib | 第25-26页 |
4 系统设计 | 第26-29页 |
4.1 系统分析 | 第26-28页 |
4.1.1 整体分析 | 第26-27页 |
4.1.2 上位机-打印控制软件需求分析 | 第27页 |
4.1.3 下位机需求分析 | 第27-28页 |
4.2 系统设计 | 第28-29页 |
5 上位机控制软件的实现 | 第29-35页 |
5.1 简介 | 第29页 |
5.2 WPF框架 | 第29-30页 |
5.3 界面实现 | 第30页 |
5.4 功能实现 | 第30-33页 |
5.4.1 系统初始化 | 第30-31页 |
5.4.2 文件操作 | 第31页 |
5.4.3 串行通信接口 | 第31-32页 |
5.4.4 回归原点 | 第32-33页 |
5.5 线程的应用 | 第33-35页 |
6 下位机系统实现 | 第35-51页 |
6.1μC/OSⅢ | 第35-38页 |
6.1.1 μC/OSⅢ的应用 | 第35-36页 |
6.1.2 存储管理 | 第36-37页 |
6.1.3 消息传递 | 第37页 |
6.1.4 任务同步 | 第37-38页 |
6.2 串行通信 | 第38-40页 |
6.2.1 简介 | 第38页 |
6.2.2 串行接口中断处理 | 第38-39页 |
6.2.3 串行接口通信协议 | 第39-40页 |
6.3 温度控制任务 | 第40-41页 |
6.4 命令处理任务-命令解析模块 | 第41-44页 |
6.4.1 简介 | 第41页 |
6.4.2 事件的生成 | 第41-42页 |
6.4.3 状态机的设计 | 第42页 |
6.4.4 初始态 | 第42-43页 |
6.4.5 G0、G1状态的实现 | 第43-44页 |
6.5 命令处理任务-电机控制模块 | 第44-47页 |
6.5.1 脉冲信号生成机制 | 第44页 |
6.5.2 轨迹控制 | 第44-45页 |
6.5.3 bresenham算法的应用 | 第45-46页 |
6.5.4 匀加速控制 | 第46页 |
6.5.5 终点检测 | 第46-47页 |
6.6 脱机打印的实现 | 第47-51页 |
6.6.1 简介 | 第47页 |
6.6.2 FatFs文件系统的特性 | 第47页 |
6.6.3 FatFs提供的应用接口 | 第47-48页 |
6.6.4 FatFs设备控制接口 | 第48页 |
6.6.5 FatFs文件系统的移植 | 第48-49页 |
6.6.6 用户界面的设计与实现 | 第49-51页 |
7 3D打印机的调试 | 第51-53页 |
7.1 打印前准备 | 第51页 |
7.2 限位开关测试 | 第51页 |
7.3 温度控制测试 | 第51-52页 |
7.4 送料测试 | 第52-53页 |
总结 | 第53-55页 |
参考文献 | 第55-56页 |
攻读硕士学位期间发表学术论文情况 | 第56-57页 |
致谢 | 第57页 |
论文购买
论文编号
ABS3699428,这篇论文共57页
会员购买按0.30元/页下载,共需支付
17.1。
不是会员,
注册会员!
会员更优惠
充值送钱!
直接购买按0.5元/页下载,共需要支付
28.5。
只需这篇论文,无需注册!
直接网上支付,方便快捷!
相关论文