#PIC16F628A雕刻机控制板的上位机
##特性
* 直接支持大部分软件输出的Gerber文件格式,包括Eagle,Protel, Sprint-layout等。
* 不需要像我参考的themrleon项目,使用我的上位机时可以直接在PCB设计软件中导出gerber就可以直接供上位机使用,而不需要先导出图像然后再导入。
* 支持大部分的Gerber绘图命令。
* 将斜线,圆,焊盘等绘图对象转换成控制板能接受的命令。
* 支持仅使用一种画笔就能画出各种尺寸的直线。
* 支持Gerber文件中有负数坐标,上位机会进行适当运算消除负数。
##使用方法
###使用源码文件
正确安装Python和pyserial后就可以执行CncController.py,这样不限平台。
###使用cxFreeze预编译文件
当前仅提供windows执行文件
##软件界面说明
* 串口超时时间指发送命令到控制板直到PC收到答复之间的时间。
* 因为Python的列表框(用于显示收发数据)频繁更新时效率比较低,特别是数据量大时,如果你设定“需要保留条目”太多的话,会导致界面刷新速度比较慢,进而影响打印输出速度,除非需要调试,否则不建议设置大的“需要保留条目”。
##配置文件说明
* 软件使用ini配置文件保存配置。
* XAxisSpeed, XAxisMaxSpeed, YAxisSpeed, yAxisMaxSpeed, ZAxisSpeed: 三位正整数,分别设置初始速度和最大速度,控制板将根据设定的加速度从初始速度逐步加速到最大速度。值越小越快。
* SpeedAcceleration: 步进电机加速过程的加速度,数值越小加速越快。
* XStepsPerCm, YStepsPerCm: XY轴每CM分别要运行多少步。
* XBacklash, YBacklash: XY轴的回差补偿步数。
* zLiftSteps:1-255的正整数,在绘图时Z轴升起或下降的步数,数值越大升起后移动越不容易碰到纸张,数值越小绘图速度越快。
* PenDiameter: 笔尖直径,单位为毫米。
* ForceHole: 1/0,设置为1时,如果焊盘没有孔,则添加一个圆孔进去。
* MinimumHole: 正的浮点数,单位为毫米,如果过孔直径小于此值,则扩大为此值。
* OmitRegionCmd: 如果设置为1,则直接忽略在gerber文件中用G36/G37包围起来的绘图命令。(一般G36/G37包围起来的绘图命令组是用来画一些特殊形状的,有可能不是用于PCB的电气连接。)
* MinimumX, MinimumY:要求为正的浮点数,单位为微米,为了支持负数坐标而需要的两个参数,一旦存在小于此值的坐标,则所有坐标都加上一个适当的数值,以便所有的坐标都大于此两个设定值。
* ShiftX, ShiftY:浮点数,可正可负,单位为微米,有些设计软件输出的GERBER文件的生成图案离坐标原点太远,导致雕刻机行程不够或不方便处理,则可以提供这两个数值做为平移图案使用,所有X坐标都加上ShiftX,所有Y坐标都加上ShiftY。
* 如果同时设置了ShiftX/ShiftY和MinimumX/MinimumY,则软件是先平移整个图案,然后再适当处理确保图案坐标满足MinimumX/MinimumY要求。所以如果ShiftX/ShiftY设置为一个适当的负数,然后MinimumX/MinimumY设置为0.0,则可以将任意图案移动至原点。但是不建议这样做,MinimumX/MinimumY最好大于排版中所用到的最大线宽的一半,避免画线时越界。
##当前支持所有或不支持的Gerber特性和要求:
* (因精力有限,我选择实现大部分常用特性,而忽略一些不常用或在我这个项目中用不到的RS274X规范,其实大部分的电路板排版都能支持,不用太过担心)
* 每个绘图行X...Y...Z..必须单独成行,每个绘图行的X/Y/Z都不能省略,不能前缀有G命令和D命令。
* 焊盘不支持外圆内方。
* 仅支持直线插补模式G01,不支持圆弧插补G02/G03。
* 不支持黑白反相,不支持阴影上色。
* 不支持G36/G37区域模式。
* 不支持增量坐标方式,仅支持绝对坐标方式。
* 不支持aperture宏。
* 画线仅支持实线,不支持虚线和点划线。
##控制板模拟器说明
* 此上位机软件自带一个非常简单的模拟器,接受上位机发送的绘图命令,按照实际雕刻机一样的处理绘出图案,可以在实际输出至雕刻机之前看看最后的效果,如果效果不满意则不需要浪费时间真正输出到控制板。
* 如果要使用模拟器,请点击“打开模拟器”按钮,则打开另一个窗口,不要关闭此窗口,直接切换回来后可以按照正常的步骤一样的操作,之后所有将要发送到控制板的命令都会直接转发至模拟器,而不会再通过串口发送至控制板,模拟器接收到绘图命令后会在其界面上汇出图案(如果图案比较复杂,则比较慢,请耐心等候),如果图案比较小以致看不清楚或太大以致越界,则可以调整模拟器界面上的“X/Y宽度(mm)”值,请点击“全部清除”,然后重新启动绘图命令即可。
* 因为模拟器上的分辨率限制,绘图最小单位为一个像素,需要将微米单位圆整为像素点,所以和真实的图案也会有一些差别,比如线中间有一些间隙什么的,都是正常的,在实际控制板上输出时会被绘图笔填充。
* 模拟器画的每根线的两个端点都是方的,而实际画笔画出来的是圆的,这也是模拟器和真实机器的一个区别,如果笔记直径较小,则基本上看不出区别。
* 因为控制板性能和特性所限,上位机使用海量的水平线和垂直线组成所需要的任何图案,如果输出至模拟器时,因为绘图对象太多,加上python本身效率不高,所以速度会很慢,会有一段时间的界面“未响应”,稍等候即可,根据图案的大小和复杂程度,绘图时间可能从几十秒到几分钟甚至更长,特别是焊盘比较多的情况。
* 如果直接在模拟器绘出gerber文件中定义的图案,当然会很快,但是这样就不“仿真”了。如果只是想看gerber文件定义的图案,可以使用其他gerber viewer软件,搜索一下就有很多。
* 在不需要模拟器功能时,可以简单的将模拟器界面关闭,则接下来的命令都会直接通过串口发送至真实控制板。
##Sprint-layout注意事项:
* 对于单面板来说,Sprint-layout导出底层敷铜层的Gerber文件时不需要镜像输出。
* Sprint-layout默认使用左下角做为坐标原点,因此,在排版完成后建议适当调整电路板的宽度和高度,让图形尽量靠近左下角,这样输出的gerber文件更适合雕刻机使用(图案不会离设定的原点太远)。
* Sprint-layout 6.0遵循的gerber版本比较老,特别是不使用焊盘内孔标准,所以上位机需要选择“焊盘强制开孔”选项,则支持在圆焊盘开孔,但是还是无法支持椭圆焊盘,因为其椭圆焊盘就没有使用Gerber标准定义的椭圆焊盘指令,而是使用一小段直线代替,这样就无法支持直接开孔;其八角焊盘更奇怪,先定义一个圆焊盘,然后在外面再套一个八角形,而Gerber是直接支持多边形焊盘的!当然,即使画的时候不开孔,也可以直接后续用电钻钻透铜皮,就是对钻头磨损大一点。
* 估计还有不少不合标准的地方吧,不过一般业务DIY够用和可用。
##版本历史:
* v1.2 增加命令排序功能,减少绘图笔空跑,提高绘图速度。
* v1.1 配合控制板的单片机固件升级,更改软件接口,简化固件设计,将控制板做成无状态驱动器。最大的改变是将接口从微米修改为步数,软件消回差从控制板移动到上位机。
* v1.0 初始版本。
没有合适的资源?快使用搜索试试~ 我知道了~
喷墨打印机改单片机CNC雕刻机 软件.zip
共75个文件
jpg:21个
pdf:7个
py:4个
需积分: 49 14 下载量 155 浏览量
2019-09-04
19:59:22
上传
评论 9
收藏 12.75MB ZIP 举报
温馨提示
软件介绍: 使用喷墨打印机改造为单片机驱动,可以写字、笔式打印机,通过软件CncController_1_2_1来进行绘图等操作。DC电机加光栅条结构、加驱动板、DC电机驱动板电路图,制作JDM编程器,X轴步进电机齿轮组背面正面,Y轴支撑平台固定角铝、Z轴笔架固定特写、墨车固定和Z轴特写,扫描仪组件改装等内容。
资源推荐
资源详情
资源评论
收起资源包目录
PrinterCnc-master.zip (75个子文件)
PrinterCnc-master
Reference
JDM Programer
jdm programer.BMP 288KB
Multi PIC Programmer 5 Ver.2.mhtml 279KB
Modifications on Multi PIC Programmer 5v2.zip 129KB
JDM PIC编程器的原理及应用.pdf 185KB
jdm programer.lay6 76KB
DC电机驱动Protues工程
MotorControl.pdsprj.MICROSOF-48D842.Administrator.workspace 1KB
MotorControl.DO 126B
MotorControl.sts 3KB
MotorControl.log 188B
MotorControl.EDF 22KB
MotorControl.BMP 355KB
MotorControl.pdsprj 24KB
控制板LochMaster4工程
雕刻机控制板.LM4 959KB
雕刻机控制板.jpg 512KB
Datasheet
16f628a.pdf 2.71MB
EasyDriver_v44
EasyDriver_v44_BOM.xls 28KB
A3967-Datasheet.pdf 435KB
EasyDriver_v44.sch 259KB
EasyDriver_v44.brd 37KB
EasyDriver_v44_sch.pdf 24KB
EasyDriver_v44.png 68KB
EasyDriver_v44_brd.pdf 49KB
LICENSE 1KB
Tutorial
Tutorial 2 - How to do PCB.pdf 594KB
Tutorial 1 - How to Print Images
nelson.brd 256KB
Tutorial 1 - How to Print Images.pdf 616KB
nelson.bmp 4KB
nelson.gerber 80KB
nelson.gif 12KB
Software
readme.md 8KB
CncController.py 126KB
ScriptsAndTools
compilePyx.bat 62B
bind_cxfreeze.py 1KB
GUI
app_icon.ico 21KB
CncControllerGUI.vbp 733B
app_icon.png 9KB
CncController.frm 27KB
CncControllerGUI.vbw 97B
CncSimulator.frm 3KB
app_icon.gif 4KB
CncController.frx 304B
readme.txt 369B
pyxsetup.py 356B
make_exe_nuitka.bat 214B
sortcommands.pyd 28KB
sortcommands.pyx 2KB
CncSimulator.py 15KB
release
CncController_1.2.1.rar 4.52MB
CncController.ini 458B
Photos
JDM编程器.JPG 175KB
最终控制板.JPG 317KB
打印龙字.JPG 206KB
X轴步进电机齿轮组正面.JPG 217KB
滚轮特写.JPG 211KB
X轴步进电机齿轮组背面.JPG 257KB
控制板盒子.JPG 268KB
第一次尝试洞洞板.JPG 253KB
最终洞洞板背面.JPG 169KB
最终洞洞板(没EasyDriver).JPG 253KB
墨车固定和Z轴特写.JPG 247KB
Z轴笔架固定特写.JPG 210KB
DC电机加光栅条结构.JPG 101KB
上位机.JPG 113KB
整机正面.JPG 191KB
Y轴支撑平台固定角铝.JPG 215KB
DC电机驱动板电路图.JPG 146KB
DC电机驱动板.JPG 165KB
DC电机驱动板背面.JPG 198KB
扫描仪组件改装.JPG 209KB
README.md 4KB
Eagle
import_bmp_as_wire.ulp 40KB
Firmware
defineports.h 659B
Main.c 9KB
myPrinterCnc.X.production.hex 4KB
cmdlist.md 556B
共 75 条
- 1
资源评论
weixin_38744270
- 粉丝: 328
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功