聚丰项目 > 基于RT-Thread的写字机运动控制系统

基于RT-Thread的写字机运动控制系统

基于RTthread的写字机控制系统,采用独立研发的运动控制系统,结合RTT的多线程,将运动控制分解,速度前馈、折线速度平滑优化。AB32VG1开发板作为UI交互和sd卡gc文件读取,采用串口将运动命令发送给STM32。STM32负责将串口接收到的G命令进行解析,运动计算、控制输出P合适的PWM频率和脉冲个数给4个电机。运动控制算法完全独立创作。 Halo项目是我9月初时候的一个自研3D打印机的固件,前期在工作中接触到Marlin(一款优秀的开源3D打印固件,提供了丰富的扩展功能,拥有完整成熟的生态),遂想自研一款基于国产芯片和操作系统的3D打印系统,能提供在咱国产的芯片中方便移植与运行,提供3D打印所需的所有功能,降低硬件成本和软件适配成本。 详细请阅读附件html

vshy vshy

分享
1 喜欢这个项目
团队介绍

vshy vshy

团队成员

Ryan 软件工程师

null lab null

李茂林 硬件工程师

分享
项目简介
基于RTthread的写字机控制系统,采用独立研发的运动控制系统,结合RTT的多线程,将运动控制分解,速度前馈、折线速度平滑优化。AB32VG1开发板作为UI交互和sd卡gc文件读取,采用串口将运动命令发送给STM32。STM32负责将串口接收到的G命令进行解析,运动计算、控制输出P合适的PWM频率和脉冲个数给4个电机。运动控制算法完全独立创作。 Halo项目是我9月初时候的一个自研3D打印机的固件,前期在工作中接触到Marlin(一款优秀的开源3D打印固件,提供了丰富的扩展功能,拥有完整成熟的生态),遂想自研一款基于国产芯片和操作系统的3D打印系统,能提供在咱国产的芯片中方便移植与运行,提供3D打印所需的所有功能,降低硬件成本和软件适配成本。 详细请阅读附件html
硬件说明

AB32V负责GUI和SD卡文件,STM32负责运动控制

最初设想是采用两块AB32的板子,一个负责GUI人机交互和SD卡文件读取与发送,一块负责接收Gcode命令,完成速度前馈、折角优化、加速处理等算法,实现完整的运动控制算法。但实际在AB32上跑控制时,发现浮点运算会导致异常的问题,同时打印日志都经常遇到栈溢出导致系统崩溃,因此将运动控制算法移植到STM32F4的板子上运行,控制效果良好,后期有时间将对比grbl与本算法方案的性能差异,增加grbl已实现的功能,继续优化本项目。

电路连接示意图.png

软件说明


image.png

STM32工程文件树



image.png

AB32文件树

工程代码:nicehuai/RT_halo_writer - 码云 - 开源中国 (gitee.com)

演示效果



image.png

gcode生成效果


附件

(0.21 MB)下载

评论区(0 )