The Indymill’s Z-axis uses a lead screw by design , and not a ballscrew as I would like. But- that will be changed later.
For now, the lead screw solution will be OK because I will first build the Indymill machine and use the 500 Watt DC engine I already have for my CNC3018 setup.
The leadscrew of the Indymill is an 8mm leadscrew with a brass nut mounted in a 3d printed part that is mounted on the vertical rear of the Z-plate.
And- the drive stepper motor is mounted hanging on a horizontal plate on top of the Z-plate.
The required motion is exchanged to the leadscrew with a pair of 8x10x22 treehed wheels that are coupled with a GT2-10 mm wide 200 mm long belt.
The change I made to the original setup is to use an original 8mm lead screw bearing on top, under the horizontal plate.
I did not particularly like the original setup with an 8mm bearing in a 3d printed holder, and an 8 mm lockup ring under and above this bearing.
I had to machine the pro-bearing to fit the Indymill’s mounting holes and get the threaded drive screw nicely centered.
To get the best possible CNC driver / firmware setup, in combination with the CAD and CAM programs that are required, I tested the following setups with the Indymill hardware:
1) Reprap 3.3 & the Duet2wifi. STL’s are made with OpenScad and then converted either online or with Estlcam to Gcode (.nc files). The Gcode is then uploaded via Duet webinterface and run on the local reprap driver board. Not chosen by me beacause it proved impossible to run a gcode stream online from the PC to the USB interface of the Duet2wifi board. It is, however, possible to attach a serial handwheel to the Duet2wifi and manually control the CNC setup. And dual axis squaring is also easily made possible. Actually, the Duet reprap CNC setup is very mature and customizable. I still have this setup as backup and by switching the connectors from the Indymill over, I can easily switch to this setup. Some advantages of this setup are a.o. the webinterface and the ease of having an automatic squaring gantry on the 2 Y axes with individual endstops. I also learned that Estlcam can generate Gcode that I can then send via the webinterface to the Indymill CNC machine which works very well. (I make my designs in Openscad and save this as .STL files. Estlcam can then convert these .stl files to .nc files…, using the machine configuration to get the code properly generated for the Indymill’s dimensions and hardware settings)
2) GRBL,Estlcam & Openscad,Marlin & GT2560 (A) board; This is also working out of the box and emulates a GRBL driver board. The main reason to NOT use this is the fact that the GT2560 board just has not got enough pins available onboard for things like a handwheel and other outputs for accessories. The second thing that prevents me from going this way is the fact that it proved impossible to have a functional LCD attached that shows things like position, speed, status et cetera.
3) Mach3, FreeCad & USB CNC ‘barebone’ . This is actually a very solid and reliable solution BUT I could not get it to do any way of squaring my dual Y axis setup. Still investigating this…
4) GRBL, Estlcam & Openscad & MKS DLCV2.1 board with TFT 3.5 “; Also for this setup: No option for squaring the dual Y axis setup. But- this is a very neat solution for smaller machines. or larger, if you use external drivers. The nice option of this setup is the 3.5 inch LCD that also comes preconfigured for CNC. I use this for my small 3018 CNC.
I also have an original USB Mach3 interface with a. o. a handwheel unit. This works very straight forward but needs a PC to keep a stream of Gcode commands running to the USB controller. I am not very fond of this solution since a little mishap will destroy your objects that is being carved. But- this appears to work very well for many people so I have set this up after I had the FLY-CDY-V2 with the reprap 3.3 and the Duet webinterface running, to get to know the differences. I must admit it works straight forward without any problem. I decided to have this setup available next to the GRBL Mega2560/GRBL shield solution. The thing that keeps me from the USB-CNC solution is primarily the fact that this setup cannot auto-square my dual Y axis gantry. The Mega 2560/GRBL shield solution does this squaring very well.
GRBL with MKS-DLCV2.1 and the TFT screen
And- the most in use hobbyist solution: The GRBL boards like the above shown setup from MKS. I have this running on my old 3018 CNC milling machine and it always works well. This particular setup utilizes the preconfigured KMS DLC 2.1 board and the preconfigured MKS TFT for CNC. All is very neat and since the drivers can be adde externally as well as interanlly, it is possible to drive real high currents if you want that. These boards don’t do sensorless homing and usually put the 2 Y steppers in serial. This means that you will never be sure that they are well aligned.
This is only the lower part of the newly built flightcase for the Indymill. It is 15cm high, 75 cm deep and 80 cm wide, all measured on the inside.
The top of the case is 22 cm high on the inside and it will get perspex windows at the front and top. Wheels will get mounted at the rear so the case can be moved standing upright.
The Indymill will be mounted in rubbers underneath and on the sides of the frame. The connectors to the electronics will be mounted in flightcase shells at the front. When all is positioned correctly and connected, the Indymill will be placed in my garage where I will use it in my large(r) shop.
With the 1.5 Kw spindle I intend to mill aluminium and brass, but mainly aluminium.
1st Job will be to machine ‘flat’ the 8mm aluminium plate I have bought some time ago for the heated bed of my Voron 3d printer. The plate is 310x310mm wide and was not entirely flat when I received it, due to the way it was stamped instead of saw’d. Now, I will be able to get it done right. I will use the boring head from my other mill to get this done. My other mill can only work with smaller objects, not anything as large like the Indymill can handle.
Just ordered me a new case for the Indymill’s electronics from Thomann.de.
The idea is to get everything mounted in the cases, and use the control case with the lid open. The control case gets connected to the Indymill case with multicables and – connectors. When not used, the cables get disconnected from the Indymill and from the control case and go in the Indymill’s case. The electronics controls will be mounted in the lower part of the control case and the connectors are placed on top of the control panel that gets mounted flush with the top rails of the bottom part of the controller’s flighcase. When closed, everything is neatly stored and can be transported damage-free.
I intend to store the controller case inside the Indymill case, but when moving it around the controller case will be separated from the Indymill case to prevent any possible damage to the mill.
It took a lot of time to get it all tuned, as the 3 axes act entirely different due to their different inertia. The weight that is carried is obviously higher for the Y- than for the X axis. And the 4 kilogram weighing spindle engine made it pretty difficult to get the Z axis tuned.
The resulting config file is provided in this post. Use this with caution, since every machine is different, and the used stepper motors, cabling, steppers and PSU all have influence on the CNC’s behaviour and thus on the config settings.
To have the original Mellow FLY TMC2209 drivers work with sensorless homing, set the underneath dip switch to ON
(Diag pin will then be connected). It took me some time to find out that this is different than other TMC2209 drivers, where the Diag pin is activated by jumper settings on the motherboard. No idea what happens when you use non-Fly TMC2209’s on the Fly board, but I expect this will not work for sensorless homing.
What I experience on the Y axis is that if you have real problems with homing or skipping steps, the steel Y carriage plates may bend and cause a non-square Y carriage that will never align any more. I repaired this but preventing is better.
Since this setup with sensorless homing never gave me good speed ratings, I disassembled this setup and continued with endstop setup. If you want to know how to setup sensorless homing with reprap, please look at my sensorless homing setup on my dual carriage 3d printer, where this works perfect!
This is my test setup for a 1.4 RAMPS shield on top of an Arduino Mega with TMC2209 drivers, optical endstops and individually homing of dual Yaxes PLUS an LCD that shows the exact XYZ locations anytime.
Firstly, I must admit that this option was initially NOT on my list bacause I felt this was a pure hobby-like option. BUT- as my requirements list grew and other options got less and less, I ordered a Ramps 1.6 shield and plugged one of my Mega2560 boards under it. Then- the search began to get a working fork of GRBL for arduino that both accomodated the Mega 2560 and my requirements list. On this list: GRBL, Squaring my gantry, LCD with useful data, Handwheel connection, Preconfigurable buttons on the handwheel (stop, define as zero, probe here, et cetera). The fork that does this all is: GRBL-Mega-edge. The last comment is of April, 2020 and the fork was updated last in 2019. But- it works straight out of the box and the documentation is very well maintained.
Since it works under the Arduino IDE and has its own library, I foresee little problems in the future. Everything is freely configurable and it might even be possible to put an Arduino Due in place of the Mega2560 in this setup, with some tweaking of pins and speeds. And- tweaking is required for the hardware as well. The Ramps boards were never designed for 24 Volts, so this needs to be taken care of. One might of course use 12 Volts and use external driver modules, but I intend to keep everything very small and make use of an external PSU, and a small handwheel-like box for the Mega2560, Ramps, drivers, LCD, buttons and handwheel knob. By the way: For getting my designs I already had from my 3d printer background towards the CNC I bought Estlcam (CAM program). This really does a great job at converting it to Gcode and sending it to my Grbl- Mega 2560/RAMPS setup.
Afterthoughts 2021-06-22: When connecting Estlcam to the Mega2560 and RAMPS1.6 shield, Estlcam can program the RAMPS / Mega2560 configuration, including dual X and Y axis. This works straight out of the box including endstops. Actually this is easier than first compiling GRBL on RAMPS with Arduino’s compiler. BUT- it seems that autosquaring does either not work or I did not install Estlcam’s options correctly since the endstops on the dual axis appear to function in parallel instead of indicvidually per axle.
24 Volts connecting is not possible on a RAMPS shield just like that. I removed D1 and powered the Mega2560 with a 9 Volts PSU, and the shield seperately with 24 Volts. For the Arduino DUE, dedicated RAMPS boards are already available (Smart ramps that compensates for the 3.3 volts in/out Voltage of the Arduino Due)!.
Another option for Estlcam is to program the Mega2560 without RAMPS shield and connect everything directly to the Mega2560 with jumpers. If this is done, Estlcam will do the bare programming of the Mega and Estlcam can steer almost everything. Since I bought a license for Estlcam I will, at a later stage, try this as well. SEE THIS POST
My main supplier of parts is Aliexpress, and I also buy a lot from Banggood.
At Aliexpress, I recently discovered a board that will interact with Mach3 and has onboard drivers for larger stepper motors like Nema23.
This board takes 24 Volts, has a USB connection to the PC, an SD card slot and 2 x MPEG/control connectors 15-pin/3-row.
I ordered me 1 of these boards to test it on my CNC mill:
Usb Cnc MDK2 4 Axis TB6560 Stepper motor Controller with Mpg Interface 100Khz Driver Breakout Board
I have this tested with Nema23, 24 Volts and the accompanying firm- and software.
It was quite some puzzling to get the drivers installed and I discovered I had to switch off the Windows 10 security feauture that prevents unsigned drivers to be installed. You can set this off via a procedure which restarts your PC via a series of keyclicks and restart options in the Windows menu. It can all be found on the Internet. After this, the board worked perfect.
I also bought a handwheel set, which has a male 15 pin VGA connector, as does the board. I ended up ordering me a female-to-female 15 pin VGA unit from Ale, will see if this works.
The other 15-pin connector (also male) can be used for simple switches to direct all axes up/down or forward/backwards. I will use this to make auto toggle swtches directly at the machine, next to the Nema steppers. I have some nice jogging handles that will fit perfect for this.
Also, I bought e a 4th axis unit hat will get connected to this boardon the Minimill.
So, after a long search I finally replaced my very old column drill for a small model column mill from Toolmania. I had the last one still available from this series.
The old drill -)
It is a model WBM-16LV with an indirect belt-driven spindle with a 750 watt vario motor. Even at low rpm there is still quite a bit of power on the motor.
This model is actually largely a standard model but with a more powerful motor, with a small LCD for the Z-movement of the 50mm Z-handle and with a wider bed.
The working space with this column router is: X:330mm , Y:140mm and Z:180mm
The spindle has MC2 inclusion with a pull/screw of 10mm. With this, at least a cutter, drill or head will never fall out.
In addition to buying tools, I always notice that you need at least the purchase value of your tools in consumables and additional tools. No different for the mini mill. The glass scales, collets, milling cutters, CNC conversion, gas spring, holders for the table, indexer and so on together cost much more than the cost of purchasing the column cutter.
I immediately replaced the standard 1-16mm rack and pinion drill chuck that came with it with a standard 1-13mm manual-open chuck. But really, I only work with the fixed spindle heads, collets, and the fixed sockets for both milling and drilling.
The associated stuff like an ER-25 collet holder with 15 collets, boring cutter MC2 and so on are from HBM.
The table has been adjusted for play on the X and Y axes.
The vertical column has also been adjusted for play, and screwed very tightly again.
Besides the conversion to CNC I have mounted 3 glass scales of respectively 170 (1x) and 370 (2x). Because my old display module didn’t work with the ordered glass channels I ordered and mounted a matching new module, this one works with an LCD.
For converting the column router to CNC, I have already prepared everything and ordered all the stuff I don’t have in stock.
The column router will be used mainly for milling keyways and occasionally some milling work on ball bearing housings and the like.
The column cutter will also be used for drilling and occasionally for aluminum milling, and then a CNC setup is useful. The CNC setup will be identical to my Indymill. It will have Nema23 stepper motors with 1:2 belt drive for X and Y and 1:3 drive for the Z axis. I am going to try to merge the handwheels with the gears and then reuse them so that it remains possible to operate manually. The electronics will again be wifi-based with Duet web-based controller and a cloned motherboard from Mellow (FLY) with 2209 stepper drivers.
The limit switches will be inductive: 2 pieces for X, 2 pieces for Y and 1 for Z-top.
The Z-min (or Zero) will be a probe module for the toolbit, which can be put in a fixed place on the table. It would be nice if the column could be electrically isolated from the spindle so you could really do the zero setting on your workpiece. I’m still going to figure that out.
For the Z axis, I ordered a 600mm long gas spring, with an operating stroke of 250 millimeters so the column can move more easily.