雕刻机 STM32 数控系统的研究
2020-4-30 来源: 北方民族大学 作者: 吴富民,海莲,曹宇
摘要 :GRBL 是一款基于 Arduino 的开源雕刻机控制软件语言,俗称“数控 G 代码”。GRBL 具有运行效率高,成本低,所占内存小,操作指令简单易懂等优点。因此几乎所有 DIY 雕刻机和自制 CNC 控制系统都会使用 GRBL 语言作为基本的操作指令。STM32f103 作为最常见的 32 位微处理器 , 它拥有 64k ROM,32kRAM。有足够多的 GRBL 在 ARDUINO 上顺利运行,最初是在 32 KROM,2KRAM。实践证明,以 STM32 为雕刻机主控系统较 Arduino 具有操作简便、测试准确、性价比高等特点。
关键词 :雕刻机 ;STM32 微处理器 ;GRBL ;Arduino
0 引言
数控技术是数控机床控制系统中的关键 , 数控机床的蓬勃发展是国家实现工业自动化的基础。G 代码作为现在最常用的数控代码,在数控机床控制系统的搭建和自动化生产线的建设中起着重要的作用。数控机床的控制系统在未来的发展趋势是开源的及面向大众化、模式化、标准化的发展方向。对于数控机床控制系统未来发展趋势是否开源式,相关研究学者都有着自己的看法。但总的来说可移植性、互操作性、可扩展性、可互换性是数控系统未来发展最基本的特征。基于 STM32 芯片的雕刻机数控系统使用 C 程序实现数控系统功能的全软件式数控。
1 、数控系统背景
数控 GRBL 代码解释器是全软件式数控系统的核心。现在几乎所有的工厂中数控机床通常使用 G 代码来控制机床对工件的加工,如工件加工时的走刀、温控系统的开启、参考坐标系的选择等。G 代码能为控制系统能提供加工时需要的数据块。G 代码解释器的开放性、可移植性、易读性、高效性也是为什么说 G 代码能成为生产线自动化的基础。
雕刻机控制系统的核心是实时性,因为整个控制系统需要实时操作硬件(即步进电机、光源和散热器)。在所有的 CNC 系统中使用的实时操作系统由操作系统 + 实时反馈信息系统(负反馈)组成。为了能够实现开放式 CNC 数控系统对雕刻图形和雕刻速度等通用操作系统的要求,满足其实时性要求。
我们小组详细地讨论了雕刻机数控系统的总体架构 ;得出的结果是利用函数指针和 G 代码关键字函数表来控制雕刻加工。这样很不仅解决了 G 代码解释器词法解释中的关键字分解问题而且提高了系统整体的实时性和稳定性。除此之外我们还提出了按照功能对 G 代码的指令进行分组,借鉴标准 G 代码分组语法表来构建符合本系统的指令分组。这样能为数控 G 代码的语法检查中两条或两条以上指令不能同时出现在同一条 G 代码中提供了有益的参考。
2、 G 代码的特性
G 代码处理语言不像 Arduino 语言那样复杂也不像汇编语言那样可读性差,它的语言现象十分简单。考虑到控制系统的效率和实用性,本系统将词法分析和语法分析结合在一起。提高运行效率的同时完全不影响系统的适用性。在实际操作中,证明了该方法的实用性、有效性和可扩展性。一般的 G 代码表现形式为 :[Nnnnn]Gnn[X[±]nnnn.[john][y],[+nnnn.[john][with][+nnnn.[][]W+NNNbrother.[john][i][+nnnn.[john]〔j[±〕nnnn.[john][k+][nnnn.[john][d[+nnnn.nnn][Tnnn][Snnn][Mnn][Fnnnn] ;虽然这个表达式没有涵盖 G 代码的所有语言现象,但可以从表达式中得出以下结论。
(1)G 代码的一般表达式为 :关键字 + 数字 +( 空格 )+ 结束符 ;(2)G 代码的关键字并不多 , 主要有 N,G,X,Y,Z,W,I,J, K,R,M,S,T,F 等 , 在实际的过程中 , 机床制造商和用户可能对
关键字进行扩展 ;(3)不同的关键词对应的 G 代码的语法分析和词法分析有不同的要求。在实际控制系统中,预处理模块移除空白、注释和小写字母后,G 代码可写成 :小写关键字 + 数字。如x10 ;(x 正向移动 10)y-8;(y 反向移动 8) ……。在扫描每行 G代码数据的过程中,读取指令字符和对应的数值,字符的 ASCII值对应 G 代码关键字函数名在函数表中相应的位置,然后根据位置在 G 代码关键字函数表中找到相应的处理函数。基于字符的ASCII 码调用相应的处理函数来处理一一对应的指令,并将处理后的字符的数值发送给控制系统实现对电机的控制。在 32F2 中的 G1 处理读取 G ;根据 G 代码的 ASCII 值,可以在函数 G 代码关键字的函数表中分析对应的函数 ;调用分析 G1 来处理 G1(如读取值 1 并执行分组处理等),处理结束。
3 、结束语
基于雕刻机 STM32 数控系统的雕刻机控制系统未来发展一个十分具有前景的方向,STM32F1 有丰富的软硬件资源,具有很大的灵活性。该系统就是利用了 32 单片机的软硬件资源实现的,它采用 AD 绘图硬件,利用了现代操作系统的虚拟内存特性,可多任务同时运行特性以及 C 语言的可移植性和强大的表达功能 ,实现了对 G 代码各项功能进行详细解释,全部代码用标准的 C语言写成,具备良好的可读性、可移植性、开放性和跨平台特性。尽管该系统是在上位机下实现的,但它仍然具有良好的模块化特性,系统结构简单易懂,实用性强,运行速度快、雕刻效率高。
投稿箱:
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息