只要400行代码就能自已实现一个绘图机原型固件,esp8266 + micropython 用3d打印机改的绘图机

开源供大家参考。

网上很多用marlin固,glrb固件的方案,我觉得用micropython写个原型机固件要容易点,果然400行就可以演示了。

方案:

esp8266 + micropython + 3d打印机

技术实现:

分了3个模块,

stepper.py 

实现42步进驱动 A4988 或者TMC2225,驱动dir/step/en. 

step(self, count)实现方向转动step,负值是反向,正值是挂电正向转step.

由于8266实际可用GPIO脚太少,只有6个可安全任意使用,其它脚会引起一些问题,比如使用GPIO15影响下载,运行后下载就状态不对了。

corexy.py

实现corexy的位置控制,

set_xy(self,ex,ey)驱动X,Y轴位置

set_z(sz,ez)驱动Z轴位置

注意这里Z轴是独立的,不是corexy的部件,原因是Z本身是独立的,如果是激光绘制,就没有Z轴步进的概念,只有一个控制信号。

可能将来会做一个激光雕刻的原型机。

draw_gcode.py

实现gcode绘制

draw_gcode_file(cxy,sz,gp,"3rect.svg.gcode")绘制指定的gcode.

由一个gcode_parse来解析gcode,支持最多4个参数。

def cxy_run_gcode_file(cxy,sz,gp,file_name) 

解析器单独运行,负责解析,然后调用cxy_run_xyz()驱动3轴运行。

def cxy_run_one_gcode(cxy,sz,gp,line):
    update,x,y,z= gp.parse_one_gcode(line)
    if update:
        return cxy_run_xyz(cxy,sz,x,y,z)  
    else :
        return x,y,z  

操作步骤:

1.用inkscape生成svg文件,也可以用其他

2.转换成gcode.zwork是0,提笔4mm.

3.上传gcode到8266 flash

4.手工调z轴到纸面zwork

5.运行程序指定gcode文件

代码放github供大家参考:https://github.com/chuanjinpang/esp8266_upy_plotter_controller_fireware

https://www.bilibili.com/video/bv1254y137xn

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值