基于μC/OSⅡ的三维打印机任务间的通信技术

时间:2024-03-10 点赞:51636 浏览:106544 作者原创标记本站原创

本论文为操作系统方面硕士学位,关于基于μC/OSⅡ的三维打印机任务间的通信技术相关专科毕业论文开题报告,可用于操作系统论文写作研究的大学硕士与本科毕业论文开题报告范文和优秀学术职称论文参考文献资料下载。免费教你怎么写操作系统及嵌入式及控制系统方面论文范文。

摘 要: 简要介绍了三维打印机原理与控制系统,重点论述了采用μC/OS Ⅱ操作系统开发三维打印机中任务的划分及任务间的通信技术.将三维打印分为4个用户任务,分别是触摸屏操作任务,显示屏显示任务,数据生成任务,打印任务.凭借μC/OS Ⅱ灵活的任务间通信的能力,采用消息Mbox从数据生成任务中将打印数据传送给打印任务.在不同任务中,将暂时不需要工作的任务挂起,而将需要工作的任务恢复运行,圆满地实现了三维打印的快速、精确控制.


关键字:三维打印; μC/OS Ⅱ; 用户任务; 互相通信

中图分类号: TN915.934; TP311 文献标识码: A 文章编号: 1004373X(2013)23013603

Research on the tasks intermunicate technology of

the 3D printer based on the μC/OSⅡ

BI Hongyan, ZHAO Bo, WEI Tiantian, DING Hao

(Xi’an Jiaotong University, Xi’an 710049, China)

Abstract: The principle and control system of 3D printer is introduced. The tasks division and intermunication technology of the 3D printer based on μC/OS II is mainly discussed. The 3D printing was divided into four tasks: touchscreen operation task, LCD display task, data generate task and print out task. Rely on the agile tasks intermunicate ability of μC/OS II, the print data was sent from data generation task to print task by Mbox. In different tasks, the needed task is resumed and the unneeded tasks are hung up. In this way, the fast and accuracy control of 3D print is realized.

Keywords: 3D print; μC/OS II; user task; intermunicate

0 引 言

三维打印制造是近年来快速制造领域的热点技术之一,根据本小组的研究,采用μC/OSⅡ操作系统开发三维打印机,能够将打印机的各项工作分解为不同的任务,每个任务完成特定的一些工作,从程序模块的划分上,任务明确,层次清晰.其中关键是不同任务之间的同步与通信,凭借μC/OS Ⅱ系统灵活的任务间通信的能力[13],经过精心设计和调试,圆满地实现了任务间的通信.使各个任务协调一致、有条不紊的工作,实现了三维打印的快速、精确控制.

1.三维打印原理与控制系统简介

三维打印机的打印头固定在一个确定的高度上,打印的零件处在打印头下面的工作台上,对零件从最底层往上进行逐层打印,打印完一层,工作台下移一层,再打印零件的上一层.工作台上下移动称为[Z]向移动,由一个控制[Z]向运动的电机驱动,在打印一个零件时,有两个送丝电机,一个送粗丝,用于基础骨架打印,另一个送细丝,用于零件精细部分的打印[4].打印前在PC计算机上对零件进行三维打印的数据处理,将零件分为若干层,每层厚度为[Δh,]每层按照最优方向划分为若干紧密相邻的剖面线,打印机打印的就是这些剖面线.打印确定的一层时,打印头的运动是一个二维平面运动,每一条线的打印,都是由[X]方向的驱动电机和[Y]方向的驱动电机协同工作,完成一条线的打印.这样逐条线打印直到打印完本层的所有线条,就完成了本层的打印.这样,共需要[X]向、[Y]向、[Z]向3个电机及2个送丝电机共计5个电机的实时控制,才能实现三维打印.因此三维打印可以视为一个五轴联动系统.对其控制系统研究的结果是,采用目前ARM最新版本V7架构的ARM Cortex M3作为主控器的CPU是很好的一个选择.这里选用的就是基于ARM Cortex M3内核的由意法半导体出品的STM32F103VE6T,该MCU为32位,主频72 MHz,内含512 KB的FLASH闪存,可以存放多达512 KB的程序代码,有64 KB RAM,8个多功能定时器[5].片内其他资源丰富,其速度和资源能很好地满足三维打印机的控制要求.选用了5个通用定时器分别作为[X、][Y、][Z]方向运动电机和2个送丝电机的控制器,选用定时器T6作为每条线段打印的总时间定时器.在对几种嵌入式操作系统进行比较后,选用了实时性最好、代码量最小、功能强大的μC/OS Ⅱ系统.在Keil集成仿真平台上完成了软件与硬件系统的设计开发与调试.

2.三维打印任务划分

所有需要在打印之前就完成的工作,全部放在初始化部分完成,例如I/O口的初始化、串行通信初始化、LCD显示器初始化、打印控制所需的6个定时器的初始化、打印头初始位置确定、打印头预热、打印模式设置等.

打印过程中的工作划分为四个用户任务,具体内容见表1.

再加上两个系统任务——空闲任务OSIdleTask()和统计任务OSStatTask(),一共有6个任务在系统中运行.

3 三维打印任务间的通信 μC/OS Ⅱ任务间通信的方法有多种,这里采用消息Mbox进行数据传送,采用若干全局变量作为工作状态标志和任务握手信号.在初始化结束后,执行了操作系统启动函数OSStart()后,系统就开始了任务调度与管理.

任务1是触摸屏操作任务,其优先级最高.任务调度一开始,就会运行该任务.在该任务中对触摸屏进行两次数据读取,判断有没有屏幕操作,有屏幕操作的话,其位置在何处,是一个什么操作,再转向对应的程序进行处理.然后通过调用OSTaskSuspend(1)函数自行挂起.再次激活该任务是通过系统时钟节拍中断服务函数OSTickISR()[6],激活方法是在该函数中调用OSTaskResume(1)即可.这样在时钟节拍中断函数退出后,由于任务1优先级最高而得到运行.由于点击屏幕操作的时间通常大于100 ms,因此系统时钟节拍中断函数的频率设置为200次/s.这样的频率足以捕获每次触摸屏操作.并且能够满足三维打印任务调度的所有实时需求.

任务2是LCD显示任务,其优先级为次高,其激活与挂起的方法与任务1不同,而是在需要显示时,由需求的任务通过调用OSTaskResume(2)激活,显示字符送给显示器后,任务2通过调用OSTaskSuspend(2)函数自行挂起.

打印过程的程序框图如图1所示.

图1 采用μC/OS Ⅱ系统的三维打印程序框图

在任务3获得CPU的使用权时,在其中进行SD卡数据读取与数据处理,生成一条打印线的控制数据,生成的数据通过消息MboxPost()发出,然后任务3通过调用OSTaskSuspend(3)函数自行挂起.其后任务4获得CPU的使用权,在其中通过调用OboxPend()取得任务3所生成的那些数据,之后将这些数据送给控制各个电机运动的各个定时器,启动这些定时器开始工作,实际上就是启动了那些电机,从而启动了打印头的运动.然后通过调用OSTaskResume(3)函数将任务3恢复为就绪态,之后任务4通过调用OSTaskSuspend(4)函数自行挂起.而打印工作在几个定时器的控制下继续进行.同时任务3由于其较高的优先级,会获得CPU的使用权,从而进行下一个线段的数据生成.数据生成占用时间很短,数据生成后又通过OboxPost()发出.

然后任务3通过调用OSTaskSuspend(3)函数又自行挂起.这时任务3和任务4都处于挂起状态.此时本条线段的打印还在进行,系统运行空闲任务OSIdleTask()和统计任务OSStatTask().

直到本线段打印完成后,负责打印总时间的定时器T6定时时间到,程序执行会进入T6的中断服务程序.在该中断服务程序内,先停止各电机的运转,也就是停止打印头的运动和送丝运动.然后又开始下一条线段的打印.周而复始,直到打印完本层.再打印下一层.直到所有层打印完成.

4.结 语

凭借μC/OS Ⅱ系统强大的多任务调度与管理能力,通过任务间的通信,实现了多任务实时操作,数据生成工作与打印工作同时进行,实现了三维打印的快速精确控制,提高了CPU的工作效率.

注:本文通讯作者为赵博.

相关论文

你的维C够了吗

关于图表及比较好及信息技术方面的免费优秀学术论文范文,图表方面有关毕业论文格式模板,关于你的维C够了吗相关论文范文例文,对写作图表论。

健康长寿话维C等

本文是一篇维生素论文范文,关于维生素毕业论文,关于健康长寿话维C等相关毕业论文开题报告范文。适合维生素及作用及道德方面的的大学硕士和。

冲压模具三维图库详解

本论文是一篇模具设计类本科论文格式,关于冲压模具三维图库详解相关毕业论文格式模板范文。免费优秀的关于模具设计及模具制造及模具方面论。