Hello Guest it is December 07, 2019, 06:58:17 PM

Author Topic: Improvements to the CNC3040/3020 controller  (Read 6143 times)

0 Members and 1 Guest are viewing this topic.

Improvements to the CNC3040/3020 controller
« on: November 23, 2011, 07:39:46 AM »
G'day all. I joined recently, and this is my first post, hopefully in the most appropriate forum.  Let me start by introducing myself...

I'm a retired electronics engineer, with no previous experience in CNC machining. I did a little manual machining as prac work in my uni course (in the 60s), but nothing since then. So consider me a complete novice in machining! For an electronic (hobby) project I'm currently designing, I wanted to have more professional front & rear panel legends than my usual self-adhesive paper labels, so investigated engraving (the panels are black-painted aluminium). After a quick search on eBay, I decided that, rather than paying someone hundreds of $ to program and engrave my panels, I'd be better off putting those hundreds towards my own engraving machine! I was going to get a Chinese CNC3020 (about all I was prepared to pay), but spotted a bargain CNC3040T for the same price, and snapped it up.

As usual, 'Ya gets what ya pays for' - it arrived slightly damaged (inadequately packed), and the Hong Kong seller, who had only just started with this line of products (which is possibly why they made a mistake with the price) offered no support whatsoever. After repairing the slight damage, I started playing with the machine, using Mach3 (v3.042.040). I noticed a few problems with the design/construction of the control box, and set about fixing them. At the same time, I was coming to grips with G-code programming, having already 'mastered' BASIC, C and Assembly language as part of my previous work.

I looked around for a G-code quick-reference I could keep with the machine in the workshop, but didn't find one to my satisfaction. Those I found covered instructions that Mach3 didn't support, and missed some that Mach3 did support. So I wrote my own quick-reference! I've attached it as 'G-code_Quick-Reference(DF).pdf'. While I'm currently using Mach3, I know many people use EMC2 (it's free, after all!), so I've included in my QR instructions supported by Mach3 and/or EMC2. The QR is intended to be printed in colour, double-sided on A3 paper in booklet mode, so after laminating and folding it in half, you have a 4-page A4 booklet. [This and the other stuff I'm offering (below), are aimed primarily at CNC hobbyists like myself.]

My second contribution is details of a useful modification to the CNC3040 (and also CNC3020?) control box, so that the spindle motor can be turned on and off by the computer. The circuit diagram ('schematic' if you're American) is also attached, as 'Spindle_drive_mod.pdf'. Apart from the portion showing my additions, consider the rest of the diagram 'tentative'. The manufacturer has scrubbed all the semiconductor identifications off the devices, making it hard to know what each device is. Q1 in particular puzzled me, being connected in a strange way. The only thing that made sense from its connections was a current-sink as I've shown, but even that makes no sense with the parallel diodes clamping Q2's base to 1.2V. So I'm not at all sure what Q1 is doing.

Note that the added LED (if used) should be a low-current type (good brightness at 5–10mA). If you choose to omit the LED, change R19 to 680 ohms (instead of 150). I've also attached a block diagram of the CNC3040 control box (CNC3040T_block.pdf), for those interested (NB: this diagram is of the original box, before my modifications). One of the few things I did like about this box is that all the computer inputs are opto-isolated from the power circuits, so there's no need for an external isolation board between a PC and the CNC3040.

I've also done a number of other modifications to my machine, and made a few videos about them (including the spindle control mod), and placed them on YouTube:
http://youtu.be/AEHy52bu0vQ - mechanical mods to gantry to achieve full Z range over full X range (Part 1: 2 min 3 sec)
http://youtu.be/hVktje3Opqc - five mods (including safety issues!) to control box (Part 2: 6 min 39 sec)

Having finished all the mods, I wrote a short G-code program to test my understanding of circular arc programming, parameter setting and using, and sub-routine calling. It also tests program control of the spindle motor, with my control-box modification. This last video will be of little interest to experienced users, but was made more for people looking to buy a desktop machine, to show one of the many things it can do with very simple programming:
http://youtu.be/6uxyL7oGD_Y - a demo of the machine (and Mach3) running some G-code, with spindle on/off control (4 min 55 sec)

[All these videos were shot on a cheap 'point-and-shoot' (still) camera, using its internal microphone, so apologies for the low video and (especially) audio quality. :-(]

OK, that's enough blab for a first post. I'll let you absorb all this, and then later start picking other members' brains!

Regards, Daniel
(Gerroa, Australia)