Indymill adapted frame and -Y-axes build instructions

In this post, you can see how I changed the original Indymill to more rigidity by using the original 1605 aluminium nut holders for the 1605 ball bearing screws of the Y axis, and how I made use of the BK12 and BF12 ball bearing blocks instead of the 3d printed parts like in the original build.

Yesterday 2021 05 22 I cut the aluminium profiles that are required for the frame of the Indymill.  My metalsaw is set at the perfect 90 degrees angle that you need for these aluminium extrusions
Today I put the frame parts together, based on the changes that I made to the ball screw holder block and to the screw bearings and -holders. And- overnight I spraypainted all metal parts red.  Used just what was lying around.
Left side, left is the Nema23 motor, and the BK12 bearing block is now connected to the engine plate with an ABS sideways printed connecting piece. ( I found the PETG printed parts I made earlier to break on the sleeve at the left when applying force, so I went for ABS and I printed it as you see here with supports to give strenghth for the bolts and nuts.) To the right, the aluminium nut holder is placed. This has been milled down and new screw holes were made in the holder and plate to connect it to the plate (see the text later in this post)
same treatment on the right hand side
Overview of the RH side with the end bearing and -block, connected to the front plate bearing holder. I milled additional holes in the bearing blocks (front L&R) to (re-) use the tapped M5 holes that are already in the red connecting plate

When building the frame, make sure that you do not initially screw anything tight.  Follow the steps that apply to any build:

  1. Make the footprint square by measuring either with a good 90 degrees angled measuring hook OR measure the diagonals against each other and make them alike.  Then, tighten all corner screws .
  2. Re-measure the footprint’s left against right length and also front/rear length. If there is any difference here,  a) take everything apart and b) make sure you have equal sizes for your build where this is required.  OR, if you have a non-standard build, make sure you build according to specs sizes. The, do 1. again.
  3. For a lineair rail: use a ruler that is specifically made for your type of rail  You can 3d print one or buy two aluminium ones.  ALWAYS use at least 2 rulers!  With the rulers in place at 20% from left and 20% from the right,  after you have installed the rail loosely with the screw in the nuts, tighten the screw a bit but not too stiff..  We will get back to these screws at a later stage.
  4. Put the connecting piece on the motor’s axle (8mm side) and tighten this well.  Preferably, use some loctite on the axle but don’t overdo it.  Be aware that you need to testfit the BK12 first.  make sure that the connecting piece almost touches the BK12’s nut!
  5. Put the stepper motor and the BK12 connector together, using the 3d printed thin NEMA23 adapter plate between motor and steel plate. Do not yet tighten this too much.
  6. Make an original aluminium 1605 nut holder block shorter to fit exactly.  See the picture.
  7. Fit the aluminium nut holder block including the entire assembly of the 600 mm long 1605 ball bearing screw on the machine, and superglue the block in the correct position.  Let it dry so it won/t come off. Demount verything except the steel sideplate and the glued aluminium nut holder.
  8. clamp the nut holder to the steel plate with a grip vice, just to make sure it all keeps together.
  9. Drill 3 new 4mm holes through the steel plate’s lower part ,  drill through the aluminium block as far as possible.  2 holes on the lower side and 1 just between 2 of the top 3 holes,  NOT where the existing hole of the aluminium nut holder block exists.
  10. Get the nut holder block loose, if it has not already come off.
  11. Tap M5 in the holes of the nut holder block.  You will have come through the big center hole (for the nut) with 2 holes, make sure this gets cleaned up on the inside.
  12. Drill the new holes in the sideplates with 5.5 mm drill (to give you mounting clearance)
  13. Place the sideplate on the 2 bearing blocks of the linear rail with 4 outer M3 x8 (or x10) screws.
  14. Put everything loosely together
  15. Mill an end baring block to fit the 1605 ‘s screw end at the front an mount this at the exact center of the small front plate.
  16. Now, connect your nema 23 engine to a motor steering device so you can test the setup.  First, turn the screw by hand and it should run smooth.
  17. Since you want to have an even height of the side plates, do not alter these unless it needs to be done on both sides equally.
  18. Your fixation point is the only non-movable position, at the rear of the frame.
  19. Move the carriage to the rear and now, see if you have slack on the M3 screws of the slide bearings AND on of the 3x M5 screw the rear of the aluminium nut holder. If so, first tighten the M3 screws.  Then tighten the M5 screws.  If not, loosen ALL of the linear rails screws ans move the rail a little. If this is possible, tighten the M3 screws of the linear rail’s bearing blocks.  Then, try to get as much clearance on the linear rail’s movement up/down as you can and tighten the 3x M5 screws of the nut holder block.
  20. Now, tighten 1 screw only of the linear rail, at the position above the nut holder.
  21. Move the carriage entirely forward position.
  22. Tighten the linear rail’s M3 screw that is exactly in position above the nut holder (of the ball bearing screw)
  23. Now, tighten all screws of the linear rail.
  24. You’re done!
  25. Check the other side and if the linear rail’s height differs from the other side,  the only thing to do is to start over again, where your slack is in the 5.5 mm holes of the steel plate’s screw holes for the  nut block.  If you play with this, and then adjust the linear rail’s height, you can get it all even.  At least’eventually I got mine right but it took some time.  Have fun!

Things to bear in mind: You don’t want anything out of parallel like a linear rail that is uneven to the aluminium profile on which it is mounted or a ball bearing screw that gets under tension.  There is also another way to see what is happening while you are tweaking the hardware/frame: take the front bearing off and see what happens to the end of your ball bearing screw in the hole up front when you move the carriage.  It can tell you much about what is happening…  It should always stay perfectly centered but I’ve seen it up, down and all other directions.. -)

After making the base frame and the Y axes, the rest is more simple. Just get the 2040 pieces in place, I started with only the lower one. The put all in like the rails, the ball bearin screw bearings, the ball bearing screw, coupler between screw an motor, the stepper motor and the X axis is done.
After the X axis, the Z axis is placed in. First put the rear plate on the 4 linear rail sliders and mount the ball crew block of the X axis to the rear. Then, put the vertical short MGN12 rails on the rear Z plate. Then put the bearing for the leadscrew on the top plate’s undernetah.  Put the corner pieces on the top plate and mount it on top of the rear Z plate. Then, feed the threaded rod through the top bearing, mount the angine an d teethed wheels and feed the screw through the nut…  Are you still with me?
Top view to get it more visble: engine and leadscrew connected with teethed belt
I decided to put 3 connecting pieces between the frame’s left and right Y axes to maintain stability and rigidity. After I put these in, the frame was very square and stabele, but also heavier..)

 

Last time that you see the frame without any wire. Next I will get the endswitches on the farme, the spindle and all other parts that are required to get my Indymill up and running! BTW I mounted 4 heavy purpose rubber feet under the frame, just to prevent having any tordoial stress to the frame when I put the frame anywhere to be used.

And- I must say, this build goes quite well. The materials are OK, and the guideline from the build description was very good. Although I never use it anymore.  The build is quite self-explanatory once you start building the Indymill CNC machine.  I also cahnged quite some parts, and made alterations where I felt this would improve the machine to fit my purpose better.

 

Indymill adapted X-axis for more rigidity

2021-05-22

On top you see the X-axis, still without mounted linear rails but the 1605 screw is loosely mounted. The red connecting piece for the Z-axis is on the ball bearing nut. the black part on the left between the 2 lengths of 2040 aluminium extrusions is the (anti-) push/pull bearing block that holds an axial (up/down/left/right) and a radial (left/right) bearing but can not withstand any real big lateral force (L-R)

Under construction-still trying to find out how to do this.

I intend to use the same method as with the Y-axes so drop the 3d printed parts as much as possible and re-use the available bearing blocks and nut holder.

For the red nut holder I only need to make a flat extension plate to connect the nut holder to the Z-plate.

For the end bearing block BF12 to the right, this is no problem. I can mount it easily on the sideplate’s outside.

The push/pull bearing block BK12 is more difficult to re-use,  I will try and find a small enough connection block that is 3d printable to shape the BK12 in, and still fits in between the 2 horizontal aluminium profiles that shape the X-axis. It will be very tight so I might have to make something myself, possibly I will just mount the BK12 on a in-between piece of  2040 and first I can mill a hole in the center of the 2040 piece so the end of the 1605 ball bearing screw can gain access to the BK12… Or something like this, will try and report how it goes later!

2021-5-24: Found a possible solution with an adaption of the same  Nema23 to BK12 housing as is used for the Y axis. I am printing this fast with PLA on the Ender pro, will cut off some flesh of the NEMA23 top and bottom flange and will then fit this between the 2 lengths of 2040 extrusions and see how it works!  The screw holes will have to be saved, but 4cm in the center will be removed, some 4 mm wide om both top and bottom.

Today I made the last solution fit the X axis and got all related components to fit the X-axis.  During this I found that the left bottom ball bearing slider cannot move along the BK12 block..  So, I machined some material from this block’s side bottom.  That doesn’t hurt but it does impact my planning a bit.  And- during the process I destroyed a piece of the PETG BK12 holder that connects the BK12 bearing block to the stepper motor and the in-between side plate.  I already directly printed a new ABS part to replace the PETG and wished I had started with ABS like I dit with the Y-axes.  But- look at the bright side: Now all 3d printed parts will be ABS red: like the steel plates!

You must know that I elaborated quite a lot on how to print the Neam to BK12 couplers and fount that it is not good to print these withh the face to the Nema23 motor DOWN.  Instead- I printed them flat, with the side that faces the stepper motor to any side but down or up.  This gives great strength to the 2 pieces that carry the mounting holes for the BK12 bearing so they won’t break during use.

And I found that ABS in my case (both ABS red and PETG vblack are Sunlu products)    works better for this build because the PEG breaks under strain and ABS flexes a little but does nor break..

 

Indymill Z-axis with adapted lead screw bearing

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.

 

 

 

Indymill CNC Controller -the final choice- and WHY

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.

5) GRBL, Estlcam& Openscad & Mega2560 & RAMPS 1.6 shield. 

DUET2WIFI clone Mellow FLY-CDY-V2

 

MACH-3 with a generic USB-CNC converter

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.

RAMPS shield for Arduino UNO and Mega2560 (and DUE?)

Still to discoverESP-based CNC board 6-axis on Openbuilds is very promising!

Unpopulated Controller

My mini shop

One of the 2nd floor bedrooms was converted into my 3.5×2  meters mini in-house workshop… The garage is used for my larger machines like the lathes, milling- and welding machines, laser cutter et cetera…

Indymill CNC Nema23 with sensorless homing on Mellow Fly-CDY2

After configuring the reprap Mellow FLY-CDY-V2 motherboard for CNC including the webinterface and installing Mellow’s TMC2209 driver units I got  sensorless homing setup for the Indymill.

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.

GO TO THE INDYMILL & Reprap Driver POST 

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!

Indymill CNC with GRBL Mega256 RAMPS1.4 shield and LCD

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

 

 

MACH-3 integrated driver board USB-CNC-MDK2

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.

chicun

4

5

6

Toolmania WBM16LV Mill with X-Y-Z1 en Z2 reading

GO TO MY CNC CONVERSION PAGE

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.

Toolmania’s standard delivery of the WBM16LV, in use with a drill bit in the drill head supplied as standard and a piece of iron in the clamp
With the two screws you adjust the play. Not too tight and just loose enough to turn smoothly without play. Adjustment can always be done later, when needed.

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.

You can see nicely here the X-glass ruler, mounted in front of the X-slide. The X transducer is mounted on the Y slide.   On the left below the bed, you can see the Y-axis glass ruler mounted on the base of the mill. To its left (out of sight) is the Y transducer mounted with a bracket to the Y slide.

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.

The mill with the OLD display module

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.

Examples from others for my CNC conversion:

This will be pretty much my own solution, only I’m using 10mm base plate aluminum. And I’m going for Nema23 motors. The setup will otherwise be identical to this example for X and Y.
Dit wordt mijn Z-setup. Een gasveer om de druk op motor en spindle te verkleinen en een vlakke plaat op de top van de kolom met een rieaandrijving en de Nem23 motor. . Ik ga voor 1:3 (72 tands op de spindle en 24 tands M3 op de steppermotor.). Als het allemaal past komt het handwiel weer bovenop.
Voorbeeld van de basisplaten met 10mm aluminium.

GOTO the X axis CNC adapter

GOTO the Y axis CNC adapter

GOTO the Z axis CNC adapter

DOWNLOAD ALL MY CNC ADAPTER DESIGNS  as STL, .nc and  OpenScad!

error: Content is protected !!