你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用Ada:ARM Cortex-M CNC控制器

[复制链接]
点点&木木 发布时间:2019-3-9 14:04
本帖最后由 点点&木木 于 2019-4-13 11:02 编辑

介绍
我在一年多前就开始了这个项目。它应该是第一个Make with Ada项目,但它从硬件和软件方面变得最具挑战性。

1.jpg


CNC和Gcode
CNC代表计算机数字控制。它是多轴机床的自动控制,例如车床,铣床,激光切割机或3D打印机。
大多数CNC机床都是通过Gcode语言操作的。该语言提供了沿不同轴移动机床的命令。

以下是一些命令示例:
M17 ; Enable the motors
G28 ; Homing. Go to a known position, usually at the beginning of each axis
G00 X10.0 Y20.0 ; Fast positioning motion. Move to (X, Y) position
G01 X20.0 Y30.0 F50.0 ; Linear motion. Move to (X, Y) position at F speed (mm/sec)
G02/G03 X20.0 Y10.0 J-10.0 I0.0 ; Circular motion. Starting



上面的Gcode将生成此工具动作:
2.jpg

     大多数时候,机械师将使用软件从CAD设计文件生成Gcode。在我的例子中,我使用了Inkscape (矢量图形编辑器)和一个从图形生成Gcode 的插件。这是我在我的机器上使用的Gcode的一个例子:make_with_ada.gcode。



硬件
     为了实现精确的运动,CNC机床使用特殊类型的电动机:步进电机。使用适当的电子驱动器,每当驾驶员接收到一个步进信号时,步进电机就会旋转一个小的固定角度。
    电机的旋转运动通过导螺杆转换为线性运动。凭借电机和导螺杆两者的特性,我们可以确定移动一毫米所需的步数。然后,CNC控制器使用该信息将运动命令转换为要在每个电机上执行的精确步数。

3.jpg

       为了创建我自己的小型数控机床,我使用了旧DVD驱动器和软盘驱动器的微型步进电机。我将它们安装在其中一个DVD驱动器的外壳上。电机由Pololu的低压步进驱动器驱动,软件运行在STM32F4Discovery上。


4.jpg



5.png



软件
    我的CNC控制器受到Grlb 项目的极大启发。除了我的控制器在STM32F4(ARM Cortex-M4F)上运行并且Grbl在Arduino(AVR 8位)上运行这一事实外,主要区别在于使用Ada语言提供的任务和Ravenscar运行时。

嵌入式应用程序运行在3个任务中:
    Gcode解释器:此任务等待来自UART端口的Gcode命令,解析它们并将所有运动命令转换为绝对线性运动(运动块)。圆内被转换为将近似圆的线性运动列表。
    规划器:此任务将运动块作为输入,并将每个块分成多个段。段是具有恒定速度的运动块的一部分。通过设置块内每个段的速度,规划器可以创建加速和减速配置文件(如视频中所示)。
    步进器:这是一个周期性任务,将为电机产生步进信号。任务的频率取决于运动所需的进给速率和计划器计算的加速度曲线。频率越高意味着每秒步数越多,因此运动速度越高。
6.png
Gcode模拟器和机器接口
为了能够快速评估我的Gcode /Stepper算法并能够控制我的CNC机器,我开发了一个本机(Linux / Windows)应用程序。
7.jpg
   
     应用程序的中心部分显示了Gcode的模拟运动。左上方按钮矩阵提供CNC机床的手动控制,例如“向左移动”10 mm。左侧文本视图显示了要模拟/执行的Gcode。底部文本视图(此屏幕截图中的空白)显示了计算机发送给我们的消息。
     在微控制器中运行的Ada代码和在仿真工具中运行的代码是100%相同的。这非常容易地开发,测试和验证Gcode解释器,运动规划器和步进器算法。

代码--- ACNC-master.zip (2.29 MB, 下载次数: 61)
收藏 评论2 发布时间:2019-3-9 14:04

举报

2个回答
any012 回答时间:2019-3-11 08:56:04
感谢楼主分享这些有趣的项目。
duyi324 回答时间:2020-5-27 18:29:15
感谢分享,正准备做这方面的东西

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版